From 7be5cab81281eb8e2c64865e3695786c22800c39 Mon Sep 17 00:00:00 2001 From: wiz Date: Tue, 3 Sep 2019 21:29:14 +0900 Subject: [PATCH 01/45] More UI polish for Dark Mode * Tweak contrast of background linear gradient * Tweak background colors slightly darker * Tweak foreground colors slightly lighter * Tweak buy/sell buttons color slightly darker * Tweak chart axis line and label font colors --- .../src/main/java/bisq/desktop/theme-dark.css | 43 +++++++++++-------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/desktop/src/main/java/bisq/desktop/theme-dark.css b/desktop/src/main/java/bisq/desktop/theme-dark.css index e3b2b7bd864..d89fddce36b 100644 --- a/desktop/src/main/java/bisq/desktop/theme-dark.css +++ b/desktop/src/main/java/bisq/desktop/theme-dark.css @@ -1,12 +1,12 @@ .root { /* javafx main color palette */ - -fx-base: #222222; - -fx-background: #2e2e31; + -fx-base: #29292a; + -fx-background: #29292a; -fx-control-inner-background: #1d1d21; - -fx-dark-text-color: #dadada; - -fx-mid-text-color: #cacaca; - -fx-light-text-color: #bababa; - -fx-text-fill: #cfcfcf; + -fx-dark-text-color: #fcfcfc; + -fx-mid-text-color: #dadada; + -fx-light-text-color: #cacaca; + -fx-text-fill: #dadada; /* javafx elements */ -fx-accent: #25b135; @@ -20,8 +20,8 @@ /* bisq main colors */ -bs-color-primary: #25b135; -bs-color-primary-dark: #2ea33c; - -bs-text-color: #bfbfbf; - -bs-background-color: #2e2e31; + -bs-text-color: #dadada; + -bs-background-color: #29292a; -bs-background-gray: #1d1d21; -bs-content-background-gray: #242424; @@ -34,15 +34,15 @@ -bs-color-gray-4: #929293; -bs-color-gray-3: #7b7b7c; -bs-color-gray-2: #504f52; - -bs-color-gray-1: #2e2e31; + -bs-color-gray-1: #29292a; -bs-color-gray-0: #1d1d21; -bs-color-gray-dim: #aaaaaa; -bs-color-gray-ddd: #444444; -bs-color-gray-ccc: #7a7a7a; -bs-color-gray-bbb: #5a5a5a; - -bs-color-gray-aaa: #2e2e31; + -bs-color-gray-aaa: #29292a; -bs-color-gray-fafa: #0a0a0a; - -bs-color-gray-background: #2e2e31; + -bs-color-gray-background: #29292a; /* lesser used colors */ -bs-color-blue-5: #0a4576; @@ -71,20 +71,20 @@ -bs-rd-nav-background: #2ea33c; -bs-rd-nav-primary-background: #25b135; -bs-rd-nav-primary-border: #44a750; - -bs-rd-nav-border: #2e2e31; + -bs-rd-nav-border: #29292a; -bs-rd-nav-border-color: rgba(46, 46, 49, 0.31); -bs-rd-tab-border: #111; -bs-tab-content-area: #111; - -bs-content-pane-bg-top: #1d1d21; - -bs-content-pane-bg-bottom: #2e2e31; + -bs-content-pane-bg-top: #222226; + -bs-content-pane-bg-bottom: #29292a; -bs-scroll-pane-background: transparent; -bs-tab-content-area: transparent; -bs-viewport-background: transparent; - -bs-footer-pane-background: #2e2e31; + -bs-footer-pane-background: #29292a; -bs-footer-pane-text: #cfcecf; - -bs-footer-pane-line: #2e2e31; + -bs-footer-pane-line: #29292a; -bs-rd-font-balance: #bbbbbb; -bs-rd-font-dark-gray: #d4d4d4; @@ -209,6 +209,13 @@ -fx-border-color: -bs-color-gray-2; } +#sell-button, #sell-button-big { + -fx-background-color: #660000 !important; +} +#buy-button, #buy-button-big { + -fx-background-color: #006600 !important; +} + .wallet-seed-words { -fx-text-fill: -bs-color-gray-6; } @@ -227,12 +234,12 @@ -fx-border-color: transparent transparent transparent transparent; } #charts .axis, #price-chart .axis, #volume-chart .axis, #charts-dao .axis { - -fx-tick-label-fill: -bs-color-gray-dim; + -fx-tick-label-fill: rgba(255,255,255,0.7); } .chart-horizontal-grid-lines, .chart-vertical-grid-lines, .chart-horizontal-zero-line, .chart-vertical-zero-line, .axis-tick-mark, .axis-minor-tick-mark { - -fx-stroke: -bs-color-gray-0; + -fx-stroke: rgba(0,0,0,0.3); } /* scrollbars */ From bf69f51861aea02601f734024596e24c503247d9 Mon Sep 17 00:00:00 2001 From: wiz Date: Tue, 3 Sep 2019 21:32:53 +0900 Subject: [PATCH 02/45] Reduce size of chart axis font to fit Japanese string --- desktop/src/main/java/bisq/desktop/bisq.css | 1 + 1 file changed, 1 insertion(+) diff --git a/desktop/src/main/java/bisq/desktop/bisq.css b/desktop/src/main/java/bisq/desktop/bisq.css index b6f7790ede6..807716a2c48 100644 --- a/desktop/src/main/java/bisq/desktop/bisq.css +++ b/desktop/src/main/java/bisq/desktop/bisq.css @@ -1547,6 +1547,7 @@ textfield */ #charts .axis, #price-chart .axis, #volume-chart .axis, #charts-dao .axis { -fx-tick-label-fill: -bs-rd-font-lighter; -fx-tick-label-font-size: 0.769em; + -fx-font-size: 0.880em; } #charts .chart-plot-background, #charts-dao .chart-plot-background { From ec633f0c3771893b47956b8d05b17c6f3f1919c1 Mon Sep 17 00:00:00 2001 From: wiz Date: Tue, 3 Sep 2019 05:54:24 +0900 Subject: [PATCH 03/45] Fix CSS styling bug caused by using Text() instead of Label() --- .../desktop/components/ColoredDecimalPlacesWithZerosText.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/desktop/src/main/java/bisq/desktop/components/ColoredDecimalPlacesWithZerosText.java b/desktop/src/main/java/bisq/desktop/components/ColoredDecimalPlacesWithZerosText.java index c7b16da5385..6ce8eb71b13 100644 --- a/desktop/src/main/java/bisq/desktop/components/ColoredDecimalPlacesWithZerosText.java +++ b/desktop/src/main/java/bisq/desktop/components/ColoredDecimalPlacesWithZerosText.java @@ -33,13 +33,13 @@ public ColoredDecimalPlacesWithZerosText(String number, int numberOfZerosToColor super(); if (numberOfZerosToColorize <= 0) { - getChildren().addAll(new Text(number)); + getChildren().addAll(new Label(number)); } else if (number.contains(BSFormatter.RANGE_SEPARATOR)) { String[] splitNumber = number.split(BSFormatter.RANGE_SEPARATOR); Tuple2 numbers = getSplittedNumberNodes(splitNumber[0], numberOfZerosToColorize); getChildren().addAll(numbers.first, numbers.second); - getChildren().add(new Text(BSFormatter.RANGE_SEPARATOR)); + getChildren().add(new Label(BSFormatter.RANGE_SEPARATOR)); numbers = getSplittedNumberNodes(splitNumber[1], numberOfZerosToColorize); getChildren().addAll(numbers.first, numbers.second); From aae4977a95c1c0ef8e5a87c74d289fffe4770efb Mon Sep 17 00:00:00 2001 From: wiz Date: Tue, 3 Sep 2019 19:40:51 +0900 Subject: [PATCH 04/45] Don't paint vertical grid lines on charts --- desktop/src/main/java/bisq/desktop/bisq.css | 3 +++ desktop/src/main/java/bisq/desktop/theme-dark.css | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/desktop/src/main/java/bisq/desktop/bisq.css b/desktop/src/main/java/bisq/desktop/bisq.css index 807716a2c48..53723ba3548 100644 --- a/desktop/src/main/java/bisq/desktop/bisq.css +++ b/desktop/src/main/java/bisq/desktop/bisq.css @@ -1577,6 +1577,9 @@ textfield */ #charts .default-color1.chart-series-area-fill, #charts-dao .default-color0.chart-series-area-fill { -fx-fill: -bs-buy-transparent; } +.chart-vertical-grid-lines { + -fx-stroke: transparent; +} #charts .axis-label { -fx-font-size: 0.769em; diff --git a/desktop/src/main/java/bisq/desktop/theme-dark.css b/desktop/src/main/java/bisq/desktop/theme-dark.css index d89fddce36b..13d57d26ef4 100644 --- a/desktop/src/main/java/bisq/desktop/theme-dark.css +++ b/desktop/src/main/java/bisq/desktop/theme-dark.css @@ -236,7 +236,7 @@ #charts .axis, #price-chart .axis, #volume-chart .axis, #charts-dao .axis { -fx-tick-label-fill: rgba(255,255,255,0.7); } -.chart-horizontal-grid-lines, .chart-vertical-grid-lines, +.chart-horizontal-grid-lines, .chart-horizontal-zero-line, .chart-vertical-zero-line, .axis-tick-mark, .axis-minor-tick-mark { -fx-stroke: rgba(0,0,0,0.3); From 9af723f910a35d6099ae91f4212787ad3f77f95a Mon Sep 17 00:00:00 2001 From: chimp1984 Date: Fri, 6 Sep 2019 03:00:08 +0200 Subject: [PATCH 05/45] Remove not used fields --- .../main/dao/economy/dashboard/BsqDashboardView.java | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/desktop/src/main/java/bisq/desktop/main/dao/economy/dashboard/BsqDashboardView.java b/desktop/src/main/java/bisq/desktop/main/dao/economy/dashboard/BsqDashboardView.java index 0de2e7e6252..8263372bc13 100644 --- a/desktop/src/main/java/bisq/desktop/main/dao/economy/dashboard/BsqDashboardView.java +++ b/desktop/src/main/java/bisq/desktop/main/dao/economy/dashboard/BsqDashboardView.java @@ -23,7 +23,6 @@ import bisq.core.dao.DaoFacade; import bisq.core.dao.state.DaoStateListener; -import bisq.core.dao.state.DaoStateService; import bisq.core.dao.state.model.blockchain.Block; import bisq.core.dao.state.model.governance.IssuanceType; import bisq.core.locale.Res; @@ -32,7 +31,6 @@ import bisq.core.trade.statistics.TradeStatistics2; import bisq.core.trade.statistics.TradeStatisticsManager; import bisq.core.user.Preferences; -import bisq.core.util.BSFormatter; import bisq.core.util.BsqFormatter; import bisq.common.util.Tuple3; @@ -90,15 +88,12 @@ public class BsqDashboardView extends ActivatableView implements private final DaoFacade daoFacade; private final TradeStatisticsManager tradeStatisticsManager; private final PriceFeedService priceFeedService; - private final DaoStateService daoStateService; private final Preferences preferences; private final BsqFormatter bsqFormatter; - private final BSFormatter btcFormatter; private ChangeListener priceChangeListener; private AreaChart bsqPriceChart; - private XYChart.Series seriesBSQAdded, seriesBSQBurnt; private XYChart.Series seriesBSQPrice; private TextField marketCapTextField, availableAmountTextField; @@ -116,17 +111,13 @@ public class BsqDashboardView extends ActivatableView implements private BsqDashboardView(DaoFacade daoFacade, TradeStatisticsManager tradeStatisticsManager, PriceFeedService priceFeedService, - DaoStateService daoStateService, Preferences preferences, - BsqFormatter bsqFormatter, - BSFormatter btcFormatter) { + BsqFormatter bsqFormatter) { this.daoFacade = daoFacade; this.tradeStatisticsManager = tradeStatisticsManager; this.priceFeedService = priceFeedService; - this.daoStateService = daoStateService; this.preferences = preferences; this.bsqFormatter = bsqFormatter; - this.btcFormatter = btcFormatter; } @Override From 5d4f9afa715df1d784e5bfacd07b5c3aa0b88799 Mon Sep 17 00:00:00 2001 From: chimp1984 Date: Fri, 6 Sep 2019 04:43:30 +0200 Subject: [PATCH 06/45] Add 90 days average and median BSQ price --- .../main/java/bisq/common/util/MathUtils.java | 11 +++ .../main/java/bisq/core/offer/OfferUtil.java | 27 +++++- .../resources/i18n/displayStrings.properties | 2 + .../economy/dashboard/BsqDashboardView.java | 95 +++++++++++++++---- .../market/trades/TradesChartsViewModel.java | 13 +-- .../main/java/bisq/desktop/util/GUIUtil.java | 66 +++++++++++-- 6 files changed, 171 insertions(+), 43 deletions(-) diff --git a/common/src/main/java/bisq/common/util/MathUtils.java b/common/src/main/java/bisq/common/util/MathUtils.java index 56685137629..78b787843a5 100644 --- a/common/src/main/java/bisq/common/util/MathUtils.java +++ b/common/src/main/java/bisq/common/util/MathUtils.java @@ -92,4 +92,15 @@ public static double scaleDownByPowerOf10(long value, int exponent) { public static double exactMultiply(double value1, double value2) { return BigDecimal.valueOf(value1).multiply(BigDecimal.valueOf(value2)).doubleValue(); } + + public static Long getMedian(Long[] list) { + int middle = list.length / 2; + long median; + if (list.length % 2 == 1) { + median = list[middle]; + } else { + median = MathUtils.roundDoubleToLong((list[middle - 1] + list[middle]) / 2.0); + } + return median; + } } diff --git a/core/src/main/java/bisq/core/offer/OfferUtil.java b/core/src/main/java/bisq/core/offer/OfferUtil.java index 7d26b6cad39..24c4222c8d3 100644 --- a/core/src/main/java/bisq/core/offer/OfferUtil.java +++ b/core/src/main/java/bisq/core/offer/OfferUtil.java @@ -116,7 +116,9 @@ public static Coin getMakerFee(boolean isCurrencyForMakerFeeBtc, @Nullable Coin * @param amount * @return */ - public static boolean isCurrencyForMakerFeeBtc(Preferences preferences, BsqWalletService bsqWalletService, Coin amount) { + public static boolean isCurrencyForMakerFeeBtc(Preferences preferences, + BsqWalletService bsqWalletService, + Coin amount) { boolean payFeeInBtc = preferences.getPayFeeInBtc(); boolean bsqForFeeAvailable = isBsqForMakerFeeAvailable(bsqWalletService, amount); return payFeeInBtc || !bsqForFeeAvailable; @@ -152,7 +154,9 @@ public static Coin getTakerFee(boolean isCurrencyForTakerFeeBtc, @Nullable Coin } } - public static boolean isCurrencyForTakerFeeBtc(Preferences preferences, BsqWalletService bsqWalletService, Coin amount) { + public static boolean isCurrencyForTakerFeeBtc(Preferences preferences, + BsqWalletService bsqWalletService, + Coin amount) { boolean payFeeInBtc = preferences.getPayFeeInBtc(); boolean bsqForFeeAvailable = isBsqForTakerFeeAvailable(bsqWalletService, amount); return payFeeInBtc || !bsqForFeeAvailable; @@ -278,10 +282,21 @@ static Coin getAdjustedAmount(Coin amount, Price price, long maxTradeLimit, int public static Optional getFeeInUserFiatCurrency(Coin makerFee, boolean isCurrencyForMakerFeeBtc, Preferences preferences, PriceFeedService priceFeedService, BsqFormatter bsqFormatter) { - // We use the users currency derived from his selected country. - // We don't use the preferredTradeCurrency from preferences as that can be also set to an altcoin. String countryCode = preferences.getUserCountry().code; String userCurrencyCode = CurrencyUtil.getCurrencyByCountryCode(countryCode).getCode(); + return getFeeInUserFiatCurrency(makerFee, + isCurrencyForMakerFeeBtc, + userCurrencyCode, + priceFeedService, + bsqFormatter); + } + + public static Optional getFeeInUserFiatCurrency(Coin makerFee, boolean isCurrencyForMakerFeeBtc, + String userCurrencyCode, PriceFeedService priceFeedService, + BsqFormatter bsqFormatter) { + // We use the users currency derived from his selected country. + // We don't use the preferredTradeCurrency from preferences as that can be also set to an altcoin. + MarketPrice marketPrice = priceFeedService.getMarketPrice(userCurrencyCode); if (marketPrice != null && makerFee != null) { long marketPriceAsLong = MathUtils.roundDoubleToLong(MathUtils.scaleUpByPowerOf10(marketPrice.getPrice(), Fiat.SMALLEST_UNIT_EXPONENT)); @@ -306,7 +321,9 @@ public static Optional getFeeInUserFiatCurrency(Coin makerFee, boolean i } } - public static String getFeeWithFiatAmount(Coin makerFeeAsCoin, Optional optionalFeeInFiat, BSFormatter formatter) { + public static String getFeeWithFiatAmount(Coin makerFeeAsCoin, + Optional optionalFeeInFiat, + BSFormatter formatter) { String fee = makerFeeAsCoin != null ? formatter.formatCoinWithCode(makerFeeAsCoin) : Res.get("shared.na"); String feeInFiatAsString; if (optionalFeeInFiat != null && optionalFeeInFiat.isPresent()) { diff --git a/core/src/main/resources/i18n/displayStrings.properties b/core/src/main/resources/i18n/displayStrings.properties index c534f009849..1d134691339 100644 --- a/core/src/main/resources/i18n/displayStrings.properties +++ b/core/src/main/resources/i18n/displayStrings.properties @@ -2055,6 +2055,8 @@ dao.factsAndFigures.menuItem.transactions=BSQ Transactions dao.factsAndFigures.dashboard.marketPrice=Market data dao.factsAndFigures.dashboard.price=Latest BSQ/BTC trade price (in Bisq) +dao.factsAndFigures.dashboard.avgPrice90=90 days average BSQ/BTC trade price +dao.factsAndFigures.dashboard.medianPrice90=90 days median BSQ/BTC trade price dao.factsAndFigures.dashboard.marketCap=Market capitalisation (based on trade price) dao.factsAndFigures.dashboard.availableAmount=Total available BSQ diff --git a/desktop/src/main/java/bisq/desktop/main/dao/economy/dashboard/BsqDashboardView.java b/desktop/src/main/java/bisq/desktop/main/dao/economy/dashboard/BsqDashboardView.java index 8263372bc13..147ad3edd5a 100644 --- a/desktop/src/main/java/bisq/desktop/main/dao/economy/dashboard/BsqDashboardView.java +++ b/desktop/src/main/java/bisq/desktop/main/dao/economy/dashboard/BsqDashboardView.java @@ -20,12 +20,14 @@ import bisq.desktop.common.view.ActivatableView; import bisq.desktop.common.view.FxmlView; import bisq.desktop.util.FormBuilder; +import bisq.desktop.util.GUIUtil; import bisq.core.dao.DaoFacade; import bisq.core.dao.state.DaoStateListener; import bisq.core.dao.state.model.blockchain.Block; import bisq.core.dao.state.model.governance.IssuanceType; import bisq.core.locale.Res; +import bisq.core.monetary.Altcoin; import bisq.core.monetary.Price; import bisq.core.provider.price.PriceFeedService; import bisq.core.trade.statistics.TradeStatistics2; @@ -33,6 +35,8 @@ import bisq.core.user.Preferences; import bisq.core.util.BsqFormatter; +import bisq.common.util.MathUtils; +import bisq.common.util.Tuple2; import bisq.common.util.Tuple3; import org.bitcoinj.core.Coin; @@ -65,7 +69,12 @@ import java.time.temporal.TemporalAdjuster; import java.time.temporal.TemporalAdjusters; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Collections; import java.util.Comparator; +import java.util.Date; +import java.util.GregorianCalendar; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -76,9 +85,6 @@ import static bisq.desktop.util.FormBuilder.addTopLabelReadOnlyTextField; - -import java.sql.Date; - @FxmlView public class BsqDashboardView extends ActivatableView implements DaoStateListener { @@ -96,13 +102,13 @@ public class BsqDashboardView extends ActivatableView implements private AreaChart bsqPriceChart; private XYChart.Series seriesBSQPrice; - private TextField marketCapTextField, availableAmountTextField; + private TextField avgPrice90TextField, medianPrice90TextField, marketCapTextField, availableAmountTextField; private Label marketPriceLabel; private Coin availableAmount; - private int gridRow = 0; + /////////////////////////////////////////////////////////////////////////////////////////// // Constructor, lifecycle /////////////////////////////////////////////////////////////////////////////////////////// @@ -122,32 +128,37 @@ private BsqDashboardView(DaoFacade daoFacade, @Override public void initialize() { - ADJUSTERS.put(DAY, TemporalAdjusters.ofDateAdjuster(d -> d)); createKPIs(); createChart(); - priceChangeListener = (observable, oldValue, newValue) -> updatePrice(); + priceChangeListener = (observable, oldValue, newValue) -> { + updatePrice(); + updateAverageAndMedianPrice(); + }; } private void createKPIs() { - Tuple3 marketPriceBox = addLabelWithSubText(root, gridRow++, "0.004000 BSQ/BTC", "Latest BSQ/BTC trade price (in Bisq)"); marketPriceLabel = marketPriceBox.first; marketPriceLabel.getStyleClass().add("dao-kpi-big"); marketPriceBox.second.getStyleClass().add("dao-kpi-subtext"); + avgPrice90TextField = addTopLabelReadOnlyTextField(root, ++gridRow, + Res.get("dao.factsAndFigures.dashboard.avgPrice90")).second; + + medianPrice90TextField = addTopLabelReadOnlyTextField(root, gridRow, 1, + Res.get("dao.factsAndFigures.dashboard.medianPrice90")).second; + marketCapTextField = addTopLabelReadOnlyTextField(root, ++gridRow, Res.get("dao.factsAndFigures.dashboard.marketCap")).second; availableAmountTextField = FormBuilder.addTopLabelReadOnlyTextField(root, gridRow, 1, Res.get("dao.factsAndFigures.dashboard.availableAmount")).second; - } - @Override protected void activate() { daoFacade.addBsqStateListener(this); @@ -156,15 +167,16 @@ protected void activate() { updateWithBsqBlockChainData(); updatePrice(); updateChartData(); + updateAverageAndMedianPrice(); } - @Override protected void deactivate() { daoFacade.removeBsqStateListener(this); priceFeedService.updateCounterProperty().removeListener(priceChangeListener); } + /////////////////////////////////////////////////////////////////////////////////////////// // DaoStateListener /////////////////////////////////////////////////////////////////////////////////////////// @@ -227,8 +239,8 @@ public Number fromString(String string) { bsqPriceChart.setLegendVisible(false); bsqPriceChart.setAnimated(false); bsqPriceChart.setId("charts-dao"); - bsqPriceChart.setMinHeight(385); - bsqPriceChart.setPrefHeight(385); + bsqPriceChart.setMinHeight(335); + bsqPriceChart.setPrefHeight(bsqPriceChart.getMinHeight()); bsqPriceChart.setCreateSymbols(true); bsqPriceChart.setPadding(new Insets(0)); bsqPriceChart.getData().addAll(seriesBSQPrice); @@ -251,16 +263,16 @@ public Number fromString(String string) { } private void updateChartData() { - updateBSQPriceData(); + updateBsqPriceData(); } - private void updateBSQPriceData() { + private void updateBsqPriceData() { seriesBSQPrice.getData().clear(); Map> bsqPriceByDate = tradeStatisticsManager.getObservableTradeStatisticsSet().stream() .filter(e -> e.getCurrencyCode().equals("BSQ")) .sorted(Comparator.comparing(TradeStatistics2::getTradeDate)) - .collect(Collectors.groupingBy(item -> new Date(item.getTradeDate().getTime()).toLocalDate() + .collect(Collectors.groupingBy(item -> new java.sql.Date(item.getTradeDate().getTime()).toLocalDate() .with(ADJUSTERS.get(DAY)))); List> updatedBSQPrice = bsqPriceByDate.keySet().stream() @@ -312,5 +324,56 @@ private void updatePrice() { marketCapTextField.setText(Res.get("shared.na")); } } + + private void updateAverageAndMedianPrice() { + Date past90 = getPastDate(90); + List bsqTradePast90Days = tradeStatisticsManager.getObservableTradeStatisticsSet().stream() + .filter(e -> e.getCurrencyCode().equals("BSQ")) + .filter(e -> e.getTradeDate().after(past90)) + .collect(Collectors.toList()); + Tuple2 averageAndMedian = getAverageAndMedian(bsqTradePast90Days); + Coin oneBsq = Coin.valueOf(100); + + Price avgPrice = Price.valueOf("BSQ", averageAndMedian.first); + String avg = bsqFormatter.formatPrice(avgPrice); + String bsqInUsdAvg = GUIUtil.getBsqInUsd(avgPrice, oneBsq, priceFeedService, bsqFormatter); + avgPrice90TextField.setText(avg + " BSQ/BTC (" + "1 BSQ = " + bsqInUsdAvg + ")"); + + Price medianPrice = Price.valueOf("BSQ", averageAndMedian.second); + String median = bsqFormatter.formatPrice(medianPrice); + String bsqInUsdMedian = GUIUtil.getBsqInUsd(medianPrice, oneBsq, priceFeedService, bsqFormatter); + medianPrice90TextField.setText(median + " BSQ/BTC (" + "1 BSQ = " + bsqInUsdMedian + ")"); + } + + private Tuple2 getAverageAndMedian(List list) { + long accumulatedVolume = 0; + long accumulatedAmount = 0; + List tradePrices = new ArrayList<>(list.size()); + + for (TradeStatistics2 item : list) { + item.getTradeVolume(); + accumulatedVolume += item.getTradeVolume().getValue(); + accumulatedAmount += item.getTradeAmount().getValue(); + tradePrices.add(item.getTradePrice().getValue()); + } + Collections.sort(tradePrices); + list.sort(Comparator.comparingLong(o -> o.getTradeDate().getTime())); + + long averagePrice; + Long[] prices = new Long[tradePrices.size()]; + tradePrices.toArray(prices); + long medianPrice = MathUtils.getMedian(prices); + double accumulatedAmountAsDouble = MathUtils.scaleUpByPowerOf10((double) accumulatedAmount, Altcoin.SMALLEST_UNIT_EXPONENT); + averagePrice = MathUtils.roundDoubleToLong(accumulatedAmountAsDouble / (double) accumulatedVolume); + + return new Tuple2<>(averagePrice, medianPrice); + } + + private Date getPastDate(int days) { + Calendar cal = new GregorianCalendar(); + cal.setTime(new Date()); + cal.add(Calendar.DAY_OF_MONTH, -1 * days); + return cal.getTime(); + } } diff --git a/desktop/src/main/java/bisq/desktop/main/market/trades/TradesChartsViewModel.java b/desktop/src/main/java/bisq/desktop/main/market/trades/TradesChartsViewModel.java index c9da02597ec..3dfe37b9683 100644 --- a/desktop/src/main/java/bisq/desktop/main/market/trades/TradesChartsViewModel.java +++ b/desktop/src/main/java/bisq/desktop/main/market/trades/TradesChartsViewModel.java @@ -330,7 +330,7 @@ CandleData getCandleData(long tick, Set set) { long averagePrice; Long[] prices = new Long[tradePrices.size()]; tradePrices.toArray(prices); - long medianPrice = findMedian(prices); + long medianPrice = MathUtils.getMedian(prices); boolean isBullish; if (CurrencyUtil.isCryptoCurrency(getCurrencyCode())) { isBullish = close < open; @@ -350,17 +350,6 @@ CandleData getCandleData(long tick, Set set) { return new CandleData(tick, open, close, high, low, averagePrice, medianPrice, accumulatedAmount, accumulatedVolume, numTrades, isBullish, dateString); } - - Long findMedian(Long[] prices) { - int middle = prices.length / 2; - long median; - if (prices.length % 2 == 1) { - median = prices[middle]; - } else { - median = MathUtils.roundDoubleToLong((prices[middle - 1] + prices[middle]) / 2.0); - } - return median; - } Date roundToTick(Date time, TickUnit tickUnit) { ZonedDateTime zdt = time.toInstant().atZone(ZoneId.systemDefault()); diff --git a/desktop/src/main/java/bisq/desktop/util/GUIUtil.java b/desktop/src/main/java/bisq/desktop/util/GUIUtil.java index aa772f2c531..09d950369e4 100644 --- a/desktop/src/main/java/bisq/desktop/util/GUIUtil.java +++ b/desktop/src/main/java/bisq/desktop/util/GUIUtil.java @@ -31,10 +31,14 @@ import bisq.core.locale.CurrencyUtil; import bisq.core.locale.Res; import bisq.core.locale.TradeCurrency; +import bisq.core.monetary.Price; +import bisq.core.monetary.Volume; import bisq.core.payment.PaymentAccount; import bisq.core.payment.PaymentAccountList; import bisq.core.payment.payload.PaymentMethod; import bisq.core.provider.fee.FeeService; +import bisq.core.provider.price.MarketPrice; +import bisq.core.provider.price.PriceFeedService; import bisq.core.user.DontShowAgainLookup; import bisq.core.user.Preferences; import bisq.core.user.User; @@ -51,6 +55,7 @@ import bisq.common.storage.CorruptedDatabaseFilesHandler; import bisq.common.storage.FileUtil; import bisq.common.storage.Storage; +import bisq.common.util.MathUtils; import bisq.common.util.Tuple2; import bisq.common.util.Tuple3; import bisq.common.util.Utilities; @@ -59,6 +64,7 @@ import org.bitcoinj.core.Coin; import org.bitcoinj.core.TransactionConfidence; import org.bitcoinj.uri.BitcoinURI; +import org.bitcoinj.utils.Fiat; import org.bitcoinj.wallet.DeterministicSeed; import com.googlecode.jcsv.CSVStrategy; @@ -189,8 +195,12 @@ public static void showFeeInfoBeforeExecute(Runnable runnable) { } } - public static void exportAccounts(ArrayList accounts, String fileName, - Preferences preferences, Stage stage, PersistenceProtoResolver persistenceProtoResolver, CorruptedDatabaseFilesHandler corruptedDatabaseFilesHandler) { + public static void exportAccounts(ArrayList accounts, + String fileName, + Preferences preferences, + Stage stage, + PersistenceProtoResolver persistenceProtoResolver, + CorruptedDatabaseFilesHandler corruptedDatabaseFilesHandler) { if (!accounts.isEmpty()) { String directory = getDirectoryFromChooser(preferences, stage); if (directory != null && !directory.isEmpty()) { @@ -204,8 +214,12 @@ public static void exportAccounts(ArrayList accounts, String fil } } - public static void importAccounts(User user, String fileName, Preferences preferences, Stage stage, - PersistenceProtoResolver persistenceProtoResolver, CorruptedDatabaseFilesHandler corruptedDatabaseFilesHandler) { + public static void importAccounts(User user, + String fileName, + Preferences preferences, + Stage stage, + PersistenceProtoResolver persistenceProtoResolver, + CorruptedDatabaseFilesHandler corruptedDatabaseFilesHandler) { FileChooser fileChooser = new FileChooser(); File initDir = new File(preferences.getDirectoryChooserPath()); if (initDir.isDirectory()) { @@ -351,7 +365,8 @@ protected void updateItem(CurrencyListItem item, boolean empty) { }; } - public static Callback, ListCell> getCurrencyListItemCellFactory(String postFixSingle, String postFixMulti, + public static Callback, ListCell> getCurrencyListItemCellFactory(String postFixSingle, + String postFixMulti, Preferences preferences) { return p -> new ListCell<>() { @Override @@ -583,7 +598,9 @@ protected void updateItem(PaymentMethod method, boolean empty) { }; } - public static void updateConfidence(TransactionConfidence confidence, Tooltip tooltip, TxConfidenceIndicator txConfidenceIndicator) { + public static void updateConfidence(TransactionConfidence confidence, + Tooltip tooltip, + TxConfidenceIndicator txConfidenceIndicator) { if (confidence != null) { switch (confidence.getConfidenceType()) { case UNKNOWN: @@ -855,8 +872,13 @@ public static void removeChildrenFromGridPaneRows(GridPane gridPane, int start, } } - public static void showBsqFeeInfoPopup(Coin fee, Coin miningFee, Coin btcForIssuance, int txSize, BsqFormatter bsqFormatter, - BSFormatter btcFormatter, String type, + public static void showBsqFeeInfoPopup(Coin fee, + Coin miningFee, + Coin btcForIssuance, + int txSize, + BsqFormatter bsqFormatter, + BSFormatter btcFormatter, + String type, Runnable actionHandler) { String confirmationMessage; @@ -893,7 +915,11 @@ public static void showBsqFeeInfoPopup(Coin fee, Coin miningFee, int txSize, Bsq showBsqFeeInfoPopup(fee, miningFee, null, txSize, bsqFormatter, btcFormatter, type, actionHandler); } - public static void setFitToRowsForTableView(TableView tableView, int rowHeight, int headerHeight, int minNumRows, int maxNumRows) { + public static void setFitToRowsForTableView(TableView tableView, + int rowHeight, + int headerHeight, + int minNumRows, + int maxNumRows) { int size = tableView.getItems().size(); int minHeight = rowHeight * minNumRows + headerHeight; int maxHeight = rowHeight * maxNumRows + headerHeight; @@ -999,7 +1025,9 @@ public static ListCell getComboBoxButtonCell(String title, ComboBox co } @NotNull - public static ListCell getComboBoxButtonCell(String title, ComboBox comboBox, Boolean hideOriginalPrompt) { + public static ListCell getComboBoxButtonCell(String title, + ComboBox comboBox, + Boolean hideOriginalPrompt) { return new ListCell<>() { @Override protected void updateItem(T item, boolean empty) { @@ -1022,4 +1050,22 @@ public static void openTxInBsqBlockExplorer(String txId, Preferences preferences if (txId != null) GUIUtil.openWebPage(preferences.getBsqBlockChainExplorer().txUrl + txId, false); } + + public static String getBsqInUsd(Price bsqPrice, + Coin bsqAmount, + PriceFeedService priceFeedService, + BsqFormatter bsqFormatter) { + MarketPrice usdMarketPrice = priceFeedService.getMarketPrice("USD"); + if (usdMarketPrice == null) { + return Res.get("shared.na"); + } + long usdMarketPriceAsLong = MathUtils.roundDoubleToLong(MathUtils.scaleUpByPowerOf10(usdMarketPrice.getPrice(), + Fiat.SMALLEST_UNIT_EXPONENT)); + Price usdPrice = Price.valueOf("USD", usdMarketPriceAsLong); + String bsqAmountAsString = bsqFormatter.formatCoin(bsqAmount); + Volume bsqAmountAsVolume = Volume.parse(bsqAmountAsString, "BSQ"); + Coin requiredBtc = bsqPrice.getAmountByVolume(bsqAmountAsVolume); + Volume volumeByAmount = usdPrice.getVolumeByAmount(requiredBtc); + return bsqFormatter.formatVolumeWithCode(volumeByAmount); + } } From 93e6d86e9507ce33c1f6b8c941d38ea8dff5bd7a Mon Sep 17 00:00:00 2001 From: chimp1984 Date: Fri, 6 Sep 2019 11:33:34 +0200 Subject: [PATCH 07/45] Remove CapabilityRequiringPayload from AckMessage We do not have any old versions anymore which might not support AckMessages, so we can remove it. It might also fix issues that AckMessages are not sent as the capabilities are not known yet. --- p2p/src/main/java/bisq/network/p2p/AckMessage.java | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/p2p/src/main/java/bisq/network/p2p/AckMessage.java b/p2p/src/main/java/bisq/network/p2p/AckMessage.java index 97339c0d117..af1815e1031 100644 --- a/p2p/src/main/java/bisq/network/p2p/AckMessage.java +++ b/p2p/src/main/java/bisq/network/p2p/AckMessage.java @@ -17,11 +17,8 @@ package bisq.network.p2p; -import bisq.network.p2p.storage.payload.CapabilityRequiringPayload; import bisq.network.p2p.storage.payload.ExpirablePayload; -import bisq.common.app.Capabilities; -import bisq.common.app.Capability; import bisq.common.app.Version; import bisq.common.proto.ProtoUtil; import bisq.common.proto.network.NetworkEnvelope; @@ -42,7 +39,7 @@ @Value @Slf4j public final class AckMessage extends NetworkEnvelope implements MailboxMessage, PersistablePayload, - ExpirablePayload, CapabilityRequiringPayload { + ExpirablePayload { private final String uid; private final NodeAddress senderNodeAddress; @@ -148,11 +145,6 @@ public static AckMessage fromProto(protobuf.AckMessage proto, int messageVersion // API /////////////////////////////////////////////////////////////////////////////////////////// - @Override - public Capabilities getRequiredCapabilities() { - return new Capabilities(Capability.ACK_MSG); - } - @Override public long getTTL() { return TimeUnit.DAYS.toMillis(10); From 206c4bc6e19c38f5e80c627808f360b670d5c10e Mon Sep 17 00:00:00 2001 From: chimp1984 Date: Fri, 6 Sep 2019 11:49:07 +0200 Subject: [PATCH 08/45] Remove CapabilityRequiringPayload from AccountAgeWitness We do not have any old versions anymore which might not support AccountAgeWitness, so we can remove it. --- .../bisq/core/account/witness/AccountAgeWitness.java | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/core/src/main/java/bisq/core/account/witness/AccountAgeWitness.java b/core/src/main/java/bisq/core/account/witness/AccountAgeWitness.java index d3a29a03680..76afa35807a 100644 --- a/core/src/main/java/bisq/core/account/witness/AccountAgeWitness.java +++ b/core/src/main/java/bisq/core/account/witness/AccountAgeWitness.java @@ -18,13 +18,10 @@ package bisq.core.account.witness; import bisq.network.p2p.storage.P2PDataStorage; -import bisq.network.p2p.storage.payload.CapabilityRequiringPayload; import bisq.network.p2p.storage.payload.DateTolerantPayload; import bisq.network.p2p.storage.payload.LazyProcessedPayload; import bisq.network.p2p.storage.payload.PersistableNetworkPayload; -import bisq.common.app.Capabilities; -import bisq.common.app.Capability; import bisq.common.proto.persistable.PersistableEnvelope; import bisq.common.util.Utilities; @@ -43,7 +40,7 @@ // so only the newly added objects since the last release will be retrieved over the P2P network. @Slf4j @Value -public class AccountAgeWitness implements LazyProcessedPayload, PersistableNetworkPayload, PersistableEnvelope, DateTolerantPayload, CapabilityRequiringPayload { +public class AccountAgeWitness implements LazyProcessedPayload, PersistableNetworkPayload, PersistableEnvelope, DateTolerantPayload { private static final long TOLERANCE = TimeUnit.DAYS.toMillis(1); private final byte[] hash; // Ripemd160(Sha256(concatenated accountHash, signature and sigPubKey)); 20 bytes @@ -100,12 +97,6 @@ public boolean verifyHashSize() { return hash.length == 20; } - // Pre 0.6 version don't know the new message type and throw an error which leads to disconnecting the peer. - @Override - public Capabilities getRequiredCapabilities() { - return new Capabilities(Capability.ACCOUNT_AGE_WITNESS); - } - @Override public byte[] getHash() { return hash; From 7856722fa5437fbe1018bebd0bf1bd546708761b Mon Sep 17 00:00:00 2001 From: chimp1984 Date: Fri, 6 Sep 2019 11:49:21 +0200 Subject: [PATCH 09/45] Remove CapabilityRequiringPayload from TradeStatistics2 We do not have any old versions anymore which might not support TradeStatistics2, so we can remove it. --- .../bisq/core/trade/statistics/TradeStatistics2.java | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/core/src/main/java/bisq/core/trade/statistics/TradeStatistics2.java b/core/src/main/java/bisq/core/trade/statistics/TradeStatistics2.java index 10d143a0667..569b76cbf39 100644 --- a/core/src/main/java/bisq/core/trade/statistics/TradeStatistics2.java +++ b/core/src/main/java/bisq/core/trade/statistics/TradeStatistics2.java @@ -24,12 +24,9 @@ import bisq.core.offer.OfferPayload; import bisq.core.offer.OfferUtil; -import bisq.network.p2p.storage.payload.CapabilityRequiringPayload; import bisq.network.p2p.storage.payload.LazyProcessedPayload; import bisq.network.p2p.storage.payload.PersistableNetworkPayload; -import bisq.common.app.Capabilities; -import bisq.common.app.Capability; import bisq.common.crypto.Hash; import bisq.common.proto.persistable.PersistableEnvelope; import bisq.common.util.ExtraDataMapValidator; @@ -63,7 +60,7 @@ @Slf4j @Value -public final class TradeStatistics2 implements LazyProcessedPayload, PersistableNetworkPayload, PersistableEnvelope, CapabilityRequiringPayload { +public final class TradeStatistics2 implements LazyProcessedPayload, PersistableNetworkPayload, PersistableEnvelope { public static final String ARBITRATOR_ADDRESS = "arbAddr"; private final OfferPayload.Direction direction; @@ -213,11 +210,6 @@ public static TradeStatistics2 fromProto(protobuf.TradeStatistics2 proto) { // API /////////////////////////////////////////////////////////////////////////////////////////// - @Override - public Capabilities getRequiredCapabilities() { - return new Capabilities(Capability.TRADE_STATISTICS_2); - } - @Override public byte[] getHash() { return hash; From 9be4b7108846f528267d0106a2a8e0a5a88892c1 Mon Sep 17 00:00:00 2001 From: chimp1984 Date: Fri, 6 Sep 2019 11:49:33 +0200 Subject: [PATCH 10/45] Add comments --- .../network/messages/RepublishGovernanceDataRequest.java | 2 ++ .../main/java/bisq/core/dao/node/messages/GetBlocksRequest.java | 1 + .../bisq/core/dao/node/messages/NewBlockBroadcastMessage.java | 1 + 3 files changed, 4 insertions(+) diff --git a/core/src/main/java/bisq/core/dao/governance/blindvote/network/messages/RepublishGovernanceDataRequest.java b/core/src/main/java/bisq/core/dao/governance/blindvote/network/messages/RepublishGovernanceDataRequest.java index 78074faa8e4..258149a5fc5 100644 --- a/core/src/main/java/bisq/core/dao/governance/blindvote/network/messages/RepublishGovernanceDataRequest.java +++ b/core/src/main/java/bisq/core/dao/governance/blindvote/network/messages/RepublishGovernanceDataRequest.java @@ -28,6 +28,8 @@ import lombok.EqualsAndHashCode; import lombok.Getter; + +// This message is sent only to full DAO nodes @EqualsAndHashCode(callSuper = true) @Getter public final class RepublishGovernanceDataRequest extends NetworkEnvelope implements DirectMessage, CapabilityRequiringPayload { diff --git a/core/src/main/java/bisq/core/dao/node/messages/GetBlocksRequest.java b/core/src/main/java/bisq/core/dao/node/messages/GetBlocksRequest.java index c38de3a4490..081514982a9 100644 --- a/core/src/main/java/bisq/core/dao/node/messages/GetBlocksRequest.java +++ b/core/src/main/java/bisq/core/dao/node/messages/GetBlocksRequest.java @@ -36,6 +36,7 @@ import javax.annotation.Nullable; +// This message is sent only to full DAO nodes @EqualsAndHashCode(callSuper = true) @Getter @Slf4j diff --git a/core/src/main/java/bisq/core/dao/node/messages/NewBlockBroadcastMessage.java b/core/src/main/java/bisq/core/dao/node/messages/NewBlockBroadcastMessage.java index e5dbfefc900..b7b50c5fe33 100644 --- a/core/src/main/java/bisq/core/dao/node/messages/NewBlockBroadcastMessage.java +++ b/core/src/main/java/bisq/core/dao/node/messages/NewBlockBroadcastMessage.java @@ -30,6 +30,7 @@ import lombok.EqualsAndHashCode; import lombok.Getter; +// This message is sent only to lite DAO nodes (full nodes get block from their local bitcoind) @EqualsAndHashCode(callSuper = true) @Getter public final class NewBlockBroadcastMessage extends BroadcastMessage implements CapabilityRequiringPayload { From 3df57ad943eff37db9badc5cb70480093ae53b04 Mon Sep 17 00:00:00 2001 From: chimp1984 Date: Fri, 6 Sep 2019 12:22:13 +0200 Subject: [PATCH 11/45] Add Deprecated annotation to old Capabilities --- common/src/main/java/bisq/common/app/Capability.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/common/src/main/java/bisq/common/app/Capability.java b/common/src/main/java/bisq/common/app/Capability.java index 31ce6bd822f..bc2200796d0 100644 --- a/common/src/main/java/bisq/common/app/Capability.java +++ b/common/src/main/java/bisq/common/app/Capability.java @@ -23,14 +23,14 @@ // We don't use the Enum in any serialized data, as changes in the enum would break backwards compatibility. We use the ordinal integer instead. // Sequence in the enum must not be changed (append only). public enum Capability { - TRADE_STATISTICS, - TRADE_STATISTICS_2, - ACCOUNT_AGE_WITNESS, + @Deprecated TRADE_STATISTICS, // Not required anymore as no old clients out there not having that support + @Deprecated TRADE_STATISTICS_2, // Not required anymore as no old clients out there not having that support + @Deprecated ACCOUNT_AGE_WITNESS, // Not required anymore as no old clients out there not having that support SEED_NODE, DAO_FULL_NODE, PROPOSAL, BLIND_VOTE, - ACK_MSG, + @Deprecated ACK_MSG, // Not required anymore as no old clients out there not having that support RECEIVE_BSQ_BLOCK, DAO_STATE, BUNDLE_OF_ENVELOPES, From e5e49dc5bd6fa983a9f938ba5c3fb5e438d4671e Mon Sep 17 00:00:00 2001 From: Christoph Sturm Date: Fri, 6 Sep 2019 11:14:19 +0200 Subject: [PATCH 12/45] Don't build debug strings when debug is not enabled. --- .../bisq/network/p2p/network/NetworkNode.java | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/p2p/src/main/java/bisq/network/p2p/network/NetworkNode.java b/p2p/src/main/java/bisq/network/p2p/network/NetworkNode.java index ac1ff69256b..74adfaf3995 100644 --- a/p2p/src/main/java/bisq/network/p2p/network/NetworkNode.java +++ b/p2p/src/main/java/bisq/network/p2p/network/NetworkNode.java @@ -98,7 +98,8 @@ public abstract class NetworkNode implements MessageListener { public SettableFuture sendMessage(@NotNull NodeAddress peersNodeAddress, NetworkEnvelope networkEnvelope) { - log.debug("sendMessage: peersNodeAddress=" + peersNodeAddress + "\n\tmessage=" + Utilities.toTruncatedString(networkEnvelope)); + if (log.isDebugEnabled()) + log.debug("sendMessage: peersNodeAddress=" + peersNodeAddress + "\n\tmessage=" + Utilities.toTruncatedString(networkEnvelope)); checkNotNull(peersNodeAddress, "peerAddress must not be null"); Connection connection = getOutboundConnection(peersNodeAddress); @@ -123,11 +124,13 @@ public SettableFuture sendMessage(@NotNull NodeAddress peersNodeAddr try { // can take a while when using tor long startTs = System.currentTimeMillis(); - log.debug("Start create socket to peersNodeAddress {}", peersNodeAddress.getFullAddress()); + if (log.isDebugEnabled()) + log.debug("Start create socket to peersNodeAddress {}", peersNodeAddress.getFullAddress()); Socket socket = createSocket(peersNodeAddress); long duration = System.currentTimeMillis() - startTs; - log.debug("Socket creation to peersNodeAddress {} took {} ms", peersNodeAddress.getFullAddress(), - duration); + if (log.isDebugEnabled()) + log.debug("Socket creation to peersNodeAddress {} took {} ms", peersNodeAddress.getFullAddress(), + duration); if (duration > CREATE_SOCKET_TIMEOUT) throw new TimeoutException("A timeout occurred when creating a socket."); @@ -139,7 +142,8 @@ public SettableFuture sendMessage(@NotNull NodeAddress peersNodeAddr existingConnection = getOutboundConnection(peersNodeAddress); if (existingConnection != null) { - log.debug("We found in the meantime a connection for peersNodeAddress {}, " + + if (log.isDebugEnabled()) + log.debug("We found in the meantime a connection for peersNodeAddress {}, " + "so we use that for sending the message.\n" + "That can happen if Tor needs long for creating a new outbound connection.\n" + "We might have got a new inbound or outbound connection.", @@ -184,13 +188,14 @@ public void onError(Throwable throwable) { peersNodeAddress, networkProtoResolver); - log.debug("\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n" + - "NetworkNode created new outbound connection:" - + "\nmyNodeAddress=" + getNodeAddress() - + "\npeersNodeAddress=" + peersNodeAddress - + "\nuid=" + outboundConnection.getUid() - + "\nmessage=" + networkEnvelope - + "\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n"); + if (log.isDebugEnabled()) + log.debug("\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n" + + "NetworkNode created new outbound connection:" + + "\nmyNodeAddress=" + getNodeAddress() + + "\npeersNodeAddress=" + peersNodeAddress + + "\nuid=" + outboundConnection.getUid() + + "\nmessage=" + networkEnvelope + + "\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n"); // can take a while when using tor outboundConnection.sendMessage(networkEnvelope); From 3666ed2911ea3d850f8066425463532d01a395e9 Mon Sep 17 00:00:00 2001 From: Christoph Sturm Date: Fri, 6 Sep 2019 11:24:35 +0200 Subject: [PATCH 13/45] Don't build debug strings when debug is not enabled. --- .../bisq/network/p2p/network/Connection.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/p2p/src/main/java/bisq/network/p2p/network/Connection.java b/p2p/src/main/java/bisq/network/p2p/network/Connection.java index d3db7d72657..b6f49e7adbd 100644 --- a/p2p/src/main/java/bisq/network/p2p/network/Connection.java +++ b/p2p/src/main/java/bisq/network/p2p/network/Connection.java @@ -704,9 +704,10 @@ public void run() { long now = System.currentTimeMillis(); long elapsed = now - lastReadTimeStamp; if (elapsed < 10) { - log.debug("We got 2 network_messages received in less than 10 ms. We set the thread to sleep " + - "for 20 ms to avoid getting flooded by our peer. lastReadTimeStamp={}, now={}, elapsed={}", - lastReadTimeStamp, now, elapsed); + if (log.isDebugEnabled()) + log.debug("We got 2 network_messages received in less than 10 ms. We set the thread to sleep " + + "for 20 ms to avoid getting flooded by our peer. lastReadTimeStamp={}, now={}, elapsed={}", + lastReadTimeStamp, now, elapsed); Thread.sleep(20); } @@ -724,7 +725,8 @@ public void run() { NetworkEnvelope networkEnvelope = networkProtoResolver.fromProto(proto); lastReadTimeStamp = now; - log.debug("<< Received networkEnvelope of type: " + networkEnvelope.getClass().getSimpleName()); + if (log.isDebugEnabled()) + log.debug("<< Received networkEnvelope of type: " + networkEnvelope.getClass().getSimpleName()); int size = proto.getSerializedSize(); // We comment out that part as only debug and trace log level is used. For debugging purposes @@ -761,7 +763,8 @@ public void run() { boolean exceeds; if (networkEnvelope instanceof ExtendedDataSizePermission) { exceeds = size > MAX_PERMITTED_MESSAGE_SIZE; - log.debug("size={}; object={}", size, Utilities.toTruncatedString(proto, 100)); + if (log.isDebugEnabled()) + log.debug("size={}; object={}", size, Utilities.toTruncatedString(proto, 100)); } else { exceeds = size > PERMITTED_MESSAGE_SIZE; } @@ -819,7 +822,8 @@ && reportInvalidRequest(RuleViolation.WRONG_NETWORK_ID)) { if (networkEnvelope instanceof CloseConnectionMessage) { // If we get a CloseConnectionMessage we shut down - log.debug("CloseConnectionMessage received. Reason={}\n\t" + + if (log.isDebugEnabled()) + log.debug("CloseConnectionMessage received. Reason={}\n\t" + "connection={}", proto.getCloseConnectionMessage().getReason(), this); if (CloseConnectionReason.PEER_BANNED.name().equals(proto.getCloseConnectionMessage().getReason())) { log.warn("We got shut down because we are banned by the other peer. (InputHandler.run CloseConnectionMessage)"); From 372ff50b8b2b92e55a809d1087eeecb1411dd184 Mon Sep 17 00:00:00 2001 From: Christoph Sturm Date: Fri, 6 Sep 2019 11:57:15 +0200 Subject: [PATCH 14/45] Implement reviewer suggestions also in NetworkNode --- .../bisq/network/p2p/network/Connection.java | 19 +++++++------- .../bisq/network/p2p/network/NetworkNode.java | 25 +++++++++++-------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/p2p/src/main/java/bisq/network/p2p/network/Connection.java b/p2p/src/main/java/bisq/network/p2p/network/Connection.java index b6f49e7adbd..ebfd14e9a00 100644 --- a/p2p/src/main/java/bisq/network/p2p/network/Connection.java +++ b/p2p/src/main/java/bisq/network/p2p/network/Connection.java @@ -704,10 +704,9 @@ public void run() { long now = System.currentTimeMillis(); long elapsed = now - lastReadTimeStamp; if (elapsed < 10) { - if (log.isDebugEnabled()) - log.debug("We got 2 network_messages received in less than 10 ms. We set the thread to sleep " + - "for 20 ms to avoid getting flooded by our peer. lastReadTimeStamp={}, now={}, elapsed={}", - lastReadTimeStamp, now, elapsed); + log.debug("We got 2 network_messages received in less than 10 ms. We set the thread to sleep " + + "for 20 ms to avoid getting flooded by our peer. lastReadTimeStamp={}, now={}, elapsed={}", + lastReadTimeStamp, now, elapsed); Thread.sleep(20); } @@ -725,9 +724,7 @@ public void run() { NetworkEnvelope networkEnvelope = networkProtoResolver.fromProto(proto); lastReadTimeStamp = now; - if (log.isDebugEnabled()) - log.debug("<< Received networkEnvelope of type: " + networkEnvelope.getClass().getSimpleName()); - + log.debug("<< Received networkEnvelope of type: {}", networkEnvelope.getClass().getSimpleName()); int size = proto.getSerializedSize(); // We comment out that part as only debug and trace log level is used. For debugging purposes // we leave the code though. @@ -763,8 +760,9 @@ public void run() { boolean exceeds; if (networkEnvelope instanceof ExtendedDataSizePermission) { exceeds = size > MAX_PERMITTED_MESSAGE_SIZE; - if (log.isDebugEnabled()) + if (log.isDebugEnabled()) { log.debug("size={}; object={}", size, Utilities.toTruncatedString(proto, 100)); + } } else { exceeds = size > PERMITTED_MESSAGE_SIZE; } @@ -822,9 +820,10 @@ && reportInvalidRequest(RuleViolation.WRONG_NETWORK_ID)) { if (networkEnvelope instanceof CloseConnectionMessage) { // If we get a CloseConnectionMessage we shut down - if (log.isDebugEnabled()) + if (log.isDebugEnabled()) { log.debug("CloseConnectionMessage received. Reason={}\n\t" + - "connection={}", proto.getCloseConnectionMessage().getReason(), this); + "connection={}", proto.getCloseConnectionMessage().getReason(), this); + } if (CloseConnectionReason.PEER_BANNED.name().equals(proto.getCloseConnectionMessage().getReason())) { log.warn("We got shut down because we are banned by the other peer. (InputHandler.run CloseConnectionMessage)"); shutDown(CloseConnectionReason.PEER_BANNED); diff --git a/p2p/src/main/java/bisq/network/p2p/network/NetworkNode.java b/p2p/src/main/java/bisq/network/p2p/network/NetworkNode.java index 74adfaf3995..94262d8f7ff 100644 --- a/p2p/src/main/java/bisq/network/p2p/network/NetworkNode.java +++ b/p2p/src/main/java/bisq/network/p2p/network/NetworkNode.java @@ -98,8 +98,9 @@ public abstract class NetworkNode implements MessageListener { public SettableFuture sendMessage(@NotNull NodeAddress peersNodeAddress, NetworkEnvelope networkEnvelope) { - if (log.isDebugEnabled()) + if (log.isDebugEnabled()) { log.debug("sendMessage: peersNodeAddress=" + peersNodeAddress + "\n\tmessage=" + Utilities.toTruncatedString(networkEnvelope)); + } checkNotNull(peersNodeAddress, "peerAddress must not be null"); Connection connection = getOutboundConnection(peersNodeAddress); @@ -124,13 +125,15 @@ public SettableFuture sendMessage(@NotNull NodeAddress peersNodeAddr try { // can take a while when using tor long startTs = System.currentTimeMillis(); - if (log.isDebugEnabled()) + if (log.isDebugEnabled()) { log.debug("Start create socket to peersNodeAddress {}", peersNodeAddress.getFullAddress()); + } Socket socket = createSocket(peersNodeAddress); long duration = System.currentTimeMillis() - startTs; - if (log.isDebugEnabled()) + if (log.isDebugEnabled()) { log.debug("Socket creation to peersNodeAddress {} took {} ms", peersNodeAddress.getFullAddress(), duration); + } if (duration > CREATE_SOCKET_TIMEOUT) throw new TimeoutException("A timeout occurred when creating a socket."); @@ -142,12 +145,14 @@ public SettableFuture sendMessage(@NotNull NodeAddress peersNodeAddr existingConnection = getOutboundConnection(peersNodeAddress); if (existingConnection != null) { - if (log.isDebugEnabled()) + if (log.isDebugEnabled()) { log.debug("We found in the meantime a connection for peersNodeAddress {}, " + - "so we use that for sending the message.\n" + - "That can happen if Tor needs long for creating a new outbound connection.\n" + - "We might have got a new inbound or outbound connection.", - peersNodeAddress.getFullAddress()); + "so we use that for sending the message.\n" + + "That can happen if Tor needs long for creating a new outbound connection.\n" + + "We might have got a new inbound or outbound connection.", + peersNodeAddress.getFullAddress()); + + } try { socket.close(); } catch (Throwable throwable) { @@ -188,7 +193,7 @@ public void onError(Throwable throwable) { peersNodeAddress, networkProtoResolver); - if (log.isDebugEnabled()) + if (log.isDebugEnabled()) { log.debug("\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n" + "NetworkNode created new outbound connection:" + "\nmyNodeAddress=" + getNodeAddress() @@ -196,7 +201,7 @@ public void onError(Throwable throwable) { + "\nuid=" + outboundConnection.getUid() + "\nmessage=" + networkEnvelope + "\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n"); - + } // can take a while when using tor outboundConnection.sendMessage(networkEnvelope); return outboundConnection; From 69d70f386e38003975262bb06cdc330a81606a6b Mon Sep 17 00:00:00 2001 From: Florian Reimair Date: Fri, 6 Sep 2019 16:21:22 +0200 Subject: [PATCH 15/45] Revert non-changes --- .../main/java/bisq/core/offer/OfferUtil.java | 12 ++---- .../economy/dashboard/BsqDashboardView.java | 8 +++- .../main/java/bisq/desktop/util/GUIUtil.java | 42 +++++-------------- 3 files changed, 19 insertions(+), 43 deletions(-) diff --git a/core/src/main/java/bisq/core/offer/OfferUtil.java b/core/src/main/java/bisq/core/offer/OfferUtil.java index 24c4222c8d3..1e5f9b491f0 100644 --- a/core/src/main/java/bisq/core/offer/OfferUtil.java +++ b/core/src/main/java/bisq/core/offer/OfferUtil.java @@ -116,9 +116,7 @@ public static Coin getMakerFee(boolean isCurrencyForMakerFeeBtc, @Nullable Coin * @param amount * @return */ - public static boolean isCurrencyForMakerFeeBtc(Preferences preferences, - BsqWalletService bsqWalletService, - Coin amount) { + public static boolean isCurrencyForMakerFeeBtc(Preferences preferences, BsqWalletService bsqWalletService, Coin amount) { boolean payFeeInBtc = preferences.getPayFeeInBtc(); boolean bsqForFeeAvailable = isBsqForMakerFeeAvailable(bsqWalletService, amount); return payFeeInBtc || !bsqForFeeAvailable; @@ -154,9 +152,7 @@ public static Coin getTakerFee(boolean isCurrencyForTakerFeeBtc, @Nullable Coin } } - public static boolean isCurrencyForTakerFeeBtc(Preferences preferences, - BsqWalletService bsqWalletService, - Coin amount) { + public static boolean isCurrencyForTakerFeeBtc(Preferences preferences, BsqWalletService bsqWalletService, Coin amount) { boolean payFeeInBtc = preferences.getPayFeeInBtc(); boolean bsqForFeeAvailable = isBsqForTakerFeeAvailable(bsqWalletService, amount); return payFeeInBtc || !bsqForFeeAvailable; @@ -321,9 +317,7 @@ public static Optional getFeeInUserFiatCurrency(Coin makerFee, boolean i } } - public static String getFeeWithFiatAmount(Coin makerFeeAsCoin, - Optional optionalFeeInFiat, - BSFormatter formatter) { + public static String getFeeWithFiatAmount(Coin makerFeeAsCoin, Optional optionalFeeInFiat, BSFormatter formatter) { String fee = makerFeeAsCoin != null ? formatter.formatCoinWithCode(makerFeeAsCoin) : Res.get("shared.na"); String feeInFiatAsString; if (optionalFeeInFiat != null && optionalFeeInFiat.isPresent()) { diff --git a/desktop/src/main/java/bisq/desktop/main/dao/economy/dashboard/BsqDashboardView.java b/desktop/src/main/java/bisq/desktop/main/dao/economy/dashboard/BsqDashboardView.java index 147ad3edd5a..34b21b7cffd 100644 --- a/desktop/src/main/java/bisq/desktop/main/dao/economy/dashboard/BsqDashboardView.java +++ b/desktop/src/main/java/bisq/desktop/main/dao/economy/dashboard/BsqDashboardView.java @@ -106,8 +106,8 @@ public class BsqDashboardView extends ActivatableView implements private Label marketPriceLabel; private Coin availableAmount; - private int gridRow = 0; + private int gridRow = 0; /////////////////////////////////////////////////////////////////////////////////////////// // Constructor, lifecycle @@ -128,6 +128,7 @@ private BsqDashboardView(DaoFacade daoFacade, @Override public void initialize() { + ADJUSTERS.put(DAY, TemporalAdjusters.ofDateAdjuster(d -> d)); createKPIs(); @@ -140,6 +141,7 @@ public void initialize() { } private void createKPIs() { + Tuple3 marketPriceBox = addLabelWithSubText(root, gridRow++, "0.004000 BSQ/BTC", "Latest BSQ/BTC trade price (in Bisq)"); marketPriceLabel = marketPriceBox.first; marketPriceLabel.getStyleClass().add("dao-kpi-big"); @@ -157,8 +159,10 @@ private void createKPIs() { availableAmountTextField = FormBuilder.addTopLabelReadOnlyTextField(root, gridRow, 1, Res.get("dao.factsAndFigures.dashboard.availableAmount")).second; + } + @Override protected void activate() { daoFacade.addBsqStateListener(this); @@ -170,13 +174,13 @@ protected void activate() { updateAverageAndMedianPrice(); } + @Override protected void deactivate() { daoFacade.removeBsqStateListener(this); priceFeedService.updateCounterProperty().removeListener(priceChangeListener); } - /////////////////////////////////////////////////////////////////////////////////////////// // DaoStateListener /////////////////////////////////////////////////////////////////////////////////////////// diff --git a/desktop/src/main/java/bisq/desktop/util/GUIUtil.java b/desktop/src/main/java/bisq/desktop/util/GUIUtil.java index 09d950369e4..1afbc534333 100644 --- a/desktop/src/main/java/bisq/desktop/util/GUIUtil.java +++ b/desktop/src/main/java/bisq/desktop/util/GUIUtil.java @@ -195,12 +195,8 @@ public static void showFeeInfoBeforeExecute(Runnable runnable) { } } - public static void exportAccounts(ArrayList accounts, - String fileName, - Preferences preferences, - Stage stage, - PersistenceProtoResolver persistenceProtoResolver, - CorruptedDatabaseFilesHandler corruptedDatabaseFilesHandler) { + public static void exportAccounts(ArrayList accounts, String fileName, + Preferences preferences, Stage stage, PersistenceProtoResolver persistenceProtoResolver, CorruptedDatabaseFilesHandler corruptedDatabaseFilesHandler) { if (!accounts.isEmpty()) { String directory = getDirectoryFromChooser(preferences, stage); if (directory != null && !directory.isEmpty()) { @@ -214,12 +210,8 @@ public static void exportAccounts(ArrayList accounts, } } - public static void importAccounts(User user, - String fileName, - Preferences preferences, - Stage stage, - PersistenceProtoResolver persistenceProtoResolver, - CorruptedDatabaseFilesHandler corruptedDatabaseFilesHandler) { + public static void importAccounts(User user, String fileName, Preferences preferences, Stage stage, + PersistenceProtoResolver persistenceProtoResolver, CorruptedDatabaseFilesHandler corruptedDatabaseFilesHandler) { FileChooser fileChooser = new FileChooser(); File initDir = new File(preferences.getDirectoryChooserPath()); if (initDir.isDirectory()) { @@ -365,8 +357,7 @@ protected void updateItem(CurrencyListItem item, boolean empty) { }; } - public static Callback, ListCell> getCurrencyListItemCellFactory(String postFixSingle, - String postFixMulti, + public static Callback, ListCell> getCurrencyListItemCellFactory(String postFixSingle, String postFixMulti, Preferences preferences) { return p -> new ListCell<>() { @Override @@ -598,9 +589,7 @@ protected void updateItem(PaymentMethod method, boolean empty) { }; } - public static void updateConfidence(TransactionConfidence confidence, - Tooltip tooltip, - TxConfidenceIndicator txConfidenceIndicator) { + public static void updateConfidence(TransactionConfidence confidence, Tooltip tooltip, TxConfidenceIndicator txConfidenceIndicator) { if (confidence != null) { switch (confidence.getConfidenceType()) { case UNKNOWN: @@ -872,13 +861,8 @@ public static void removeChildrenFromGridPaneRows(GridPane gridPane, int start, } } - public static void showBsqFeeInfoPopup(Coin fee, - Coin miningFee, - Coin btcForIssuance, - int txSize, - BsqFormatter bsqFormatter, - BSFormatter btcFormatter, - String type, + public static void showBsqFeeInfoPopup(Coin fee, Coin miningFee, Coin btcForIssuance, int txSize, BsqFormatter bsqFormatter, + BSFormatter btcFormatter, String type, Runnable actionHandler) { String confirmationMessage; @@ -915,11 +899,7 @@ public static void showBsqFeeInfoPopup(Coin fee, Coin miningFee, int txSize, Bsq showBsqFeeInfoPopup(fee, miningFee, null, txSize, bsqFormatter, btcFormatter, type, actionHandler); } - public static void setFitToRowsForTableView(TableView tableView, - int rowHeight, - int headerHeight, - int minNumRows, - int maxNumRows) { + public static void setFitToRowsForTableView(TableView tableView, int rowHeight, int headerHeight, int minNumRows, int maxNumRows) { int size = tableView.getItems().size(); int minHeight = rowHeight * minNumRows + headerHeight; int maxHeight = rowHeight * maxNumRows + headerHeight; @@ -1025,9 +1005,7 @@ public static ListCell getComboBoxButtonCell(String title, ComboBox co } @NotNull - public static ListCell getComboBoxButtonCell(String title, - ComboBox comboBox, - Boolean hideOriginalPrompt) { + public static ListCell getComboBoxButtonCell(String title, ComboBox comboBox, Boolean hideOriginalPrompt) { return new ListCell<>() { @Override protected void updateItem(T item, boolean empty) { From 4d49697a28e9692672c32c51571ca381dd5da7ad Mon Sep 17 00:00:00 2001 From: Christoph Sturm Date: Fri, 6 Sep 2019 16:20:53 +0200 Subject: [PATCH 16/45] Only build string when its actually output --- .../main/java/bisq/network/p2p/storage/P2PDataStorage.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/p2p/src/main/java/bisq/network/p2p/storage/P2PDataStorage.java b/p2p/src/main/java/bisq/network/p2p/storage/P2PDataStorage.java index 6170d9efc11..ec8d4c28b62 100644 --- a/p2p/src/main/java/bisq/network/p2p/storage/P2PDataStorage.java +++ b/p2p/src/main/java/bisq/network/p2p/storage/P2PDataStorage.java @@ -49,7 +49,6 @@ import bisq.common.Timer; import bisq.common.UserThread; -import bisq.common.app.Log; import bisq.common.crypto.CryptoException; import bisq.common.crypto.Hash; import bisq.common.crypto.Sig; @@ -58,6 +57,7 @@ import bisq.common.proto.persistable.PersistablePayload; import bisq.common.proto.persistable.PersistedDataHost; import bisq.common.storage.Storage; +import bisq.common.util.Hex; import bisq.common.util.Tuple2; import bisq.common.util.Utilities; @@ -88,8 +88,6 @@ import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; -import org.slf4j.LoggerFactory; - import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.ToString; @@ -805,7 +803,7 @@ private Map getPurgedSequenceNumberMap(Map Date: Fri, 6 Sep 2019 17:27:31 +0200 Subject: [PATCH 17/45] Fix broken build because of removed Hex util in release branch --- p2p/src/main/java/bisq/network/p2p/storage/P2PDataStorage.java | 1 - 1 file changed, 1 deletion(-) diff --git a/p2p/src/main/java/bisq/network/p2p/storage/P2PDataStorage.java b/p2p/src/main/java/bisq/network/p2p/storage/P2PDataStorage.java index ec8d4c28b62..43f08945fcc 100644 --- a/p2p/src/main/java/bisq/network/p2p/storage/P2PDataStorage.java +++ b/p2p/src/main/java/bisq/network/p2p/storage/P2PDataStorage.java @@ -57,7 +57,6 @@ import bisq.common.proto.persistable.PersistablePayload; import bisq.common.proto.persistable.PersistedDataHost; import bisq.common.storage.Storage; -import bisq.common.util.Hex; import bisq.common.util.Tuple2; import bisq.common.util.Utilities; From fee097dadf04f883d262c64b10a5057719599ab7 Mon Sep 17 00:00:00 2001 From: chimp1984 Date: Sat, 7 Sep 2019 13:18:36 +0200 Subject: [PATCH 18/45] Add CapabilityRequiringPayload interface to BundleOfEnvelopes --- .../java/bisq/network/p2p/BundleOfEnvelopes.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/p2p/src/main/java/bisq/network/p2p/BundleOfEnvelopes.java b/p2p/src/main/java/bisq/network/p2p/BundleOfEnvelopes.java index 82338da2dfc..d4ff8f46a83 100644 --- a/p2p/src/main/java/bisq/network/p2p/BundleOfEnvelopes.java +++ b/p2p/src/main/java/bisq/network/p2p/BundleOfEnvelopes.java @@ -17,6 +17,10 @@ package bisq.network.p2p; +import bisq.network.p2p.storage.payload.CapabilityRequiringPayload; + +import bisq.common.app.Capabilities; +import bisq.common.app.Capability; import bisq.common.app.Version; import bisq.common.proto.ProtobufferException; import bisq.common.proto.network.NetworkEnvelope; @@ -32,7 +36,7 @@ @EqualsAndHashCode(callSuper = true) @Value -public final class BundleOfEnvelopes extends NetworkEnvelope implements ExtendedDataSizePermission { +public final class BundleOfEnvelopes extends NetworkEnvelope implements ExtendedDataSizePermission, CapabilityRequiringPayload { private final List envelopes; @@ -78,4 +82,13 @@ public static BundleOfEnvelopes fromProto(protobuf.BundleOfEnvelopes proto, Netw return new BundleOfEnvelopes(envelopes, messageVersion); } + + /////////////////////////////////////////////////////////////////////////////////////////// + // CapabilityRequiringPayload + /////////////////////////////////////////////////////////////////////////////////////////// + + @Override + public Capabilities getRequiredCapabilities() { + return new Capabilities(Capability.BUNDLE_OF_ENVELOPES); + } } From b210118821a38deeef32a51920863a38a500c70c Mon Sep 17 00:00:00 2001 From: chimp1984 Date: Sat, 7 Sep 2019 13:21:23 +0200 Subject: [PATCH 19/45] Set old DAO Capabilities Deprecated All nodes have DAO capabilities now so we can set those which are not optional (DAO_FULL_NODE, RECEIVE_BSQ_BLOCK) as deprecated and remove the CapabilityRequiringPayload interface from the relevant messages. To support non-DAO nodes in the future if needed we can use the existing options for deactivating the DAO. --- .../main/java/bisq/common/app/Capability.java | 19 +++++++++++-------- .../blindvote/storage/BlindVotePayload.java | 16 +--------------- .../storage/appendonly/ProposalPayload.java | 16 +--------------- .../storage/temp/TempProposalPayload.java | 15 +-------------- .../core/setup/CoreNetworkCapabilities.java | 10 ++++------ 5 files changed, 18 insertions(+), 58 deletions(-) diff --git a/common/src/main/java/bisq/common/app/Capability.java b/common/src/main/java/bisq/common/app/Capability.java index bc2200796d0..9dcc8ae989c 100644 --- a/common/src/main/java/bisq/common/app/Capability.java +++ b/common/src/main/java/bisq/common/app/Capability.java @@ -26,13 +26,16 @@ public enum Capability { @Deprecated TRADE_STATISTICS, // Not required anymore as no old clients out there not having that support @Deprecated TRADE_STATISTICS_2, // Not required anymore as no old clients out there not having that support @Deprecated ACCOUNT_AGE_WITNESS, // Not required anymore as no old clients out there not having that support - SEED_NODE, - DAO_FULL_NODE, - PROPOSAL, - BLIND_VOTE, + SEED_NODE, // Node is a seed node + DAO_FULL_NODE, // DAO full node can deliver BSQ blocks + @Deprecated PROPOSAL, // Not required anymore as no old clients out there not having that support + @Deprecated BLIND_VOTE, // Not required anymore as no old clients out there not having that support @Deprecated ACK_MSG, // Not required anymore as no old clients out there not having that support - RECEIVE_BSQ_BLOCK, - DAO_STATE, - BUNDLE_OF_ENVELOPES, - SIGNED_ACCOUNT_AGE_WITNESS + RECEIVE_BSQ_BLOCK, // Signaling that node which wants to receive BSQ blocks (DAO lite node) + @Deprecated DAO_STATE, // Not required anymore as no old clients out there not having that support + + //TODO can be set deprecated after v1.1.6 as we enforce update there + BUNDLE_OF_ENVELOPES, // Supports bundling of messages if many messages are sent in short interval + + SIGNED_ACCOUNT_AGE_WITNESS // Supports the signed account age witness feature } diff --git a/core/src/main/java/bisq/core/dao/governance/blindvote/storage/BlindVotePayload.java b/core/src/main/java/bisq/core/dao/governance/blindvote/storage/BlindVotePayload.java index cb3fc99e2a6..923bd4e043c 100644 --- a/core/src/main/java/bisq/core/dao/governance/blindvote/storage/BlindVotePayload.java +++ b/core/src/main/java/bisq/core/dao/governance/blindvote/storage/BlindVotePayload.java @@ -20,11 +20,8 @@ import bisq.core.dao.governance.ConsensusCritical; import bisq.core.dao.governance.blindvote.BlindVote; -import bisq.network.p2p.storage.payload.CapabilityRequiringPayload; import bisq.network.p2p.storage.payload.PersistableNetworkPayload; -import bisq.common.app.Capabilities; -import bisq.common.app.Capability; import bisq.common.crypto.Hash; import bisq.common.proto.persistable.PersistableEnvelope; import bisq.common.util.Utilities; @@ -46,8 +43,7 @@ @Slf4j @Getter @EqualsAndHashCode -public final class BlindVotePayload implements PersistableNetworkPayload, PersistableEnvelope, - CapabilityRequiringPayload, ConsensusCritical { +public final class BlindVotePayload implements PersistableNetworkPayload, PersistableEnvelope, ConsensusCritical { private final BlindVote blindVote; protected final byte[] hash; // 20 byte @@ -101,16 +97,6 @@ public byte[] getHash() { return hash; } - - /////////////////////////////////////////////////////////////////////////////////////////// - // CapabilityRequiringPayload - /////////////////////////////////////////////////////////////////////////////////////////// - - @Override - public Capabilities getRequiredCapabilities() { - return new Capabilities(Capability.BLIND_VOTE); - } - @Override public String toString() { return "BlindVotePayload{" + diff --git a/core/src/main/java/bisq/core/dao/governance/proposal/storage/appendonly/ProposalPayload.java b/core/src/main/java/bisq/core/dao/governance/proposal/storage/appendonly/ProposalPayload.java index a296525dd5e..04a4eaa71f5 100644 --- a/core/src/main/java/bisq/core/dao/governance/proposal/storage/appendonly/ProposalPayload.java +++ b/core/src/main/java/bisq/core/dao/governance/proposal/storage/appendonly/ProposalPayload.java @@ -20,11 +20,8 @@ import bisq.core.dao.governance.ConsensusCritical; import bisq.core.dao.state.model.governance.Proposal; -import bisq.network.p2p.storage.payload.CapabilityRequiringPayload; import bisq.network.p2p.storage.payload.PersistableNetworkPayload; -import bisq.common.app.Capabilities; -import bisq.common.app.Capability; import bisq.common.crypto.Hash; import bisq.common.proto.persistable.PersistableEnvelope; import bisq.common.util.Utilities; @@ -43,8 +40,7 @@ @Immutable @Slf4j @Value -public class ProposalPayload implements PersistableNetworkPayload, PersistableEnvelope, - CapabilityRequiringPayload, ConsensusCritical { +public class ProposalPayload implements PersistableNetworkPayload, PersistableEnvelope, ConsensusCritical { private final Proposal proposal; protected final byte[] hash; // 20 byte @@ -100,16 +96,6 @@ public byte[] getHash() { return hash; } - - /////////////////////////////////////////////////////////////////////////////////////////// - // CapabilityRequiringPayload - /////////////////////////////////////////////////////////////////////////////////////////// - - @Override - public Capabilities getRequiredCapabilities() { - return new Capabilities(Capability.PROPOSAL); - } - @Override public String toString() { return "ProposalPayload{" + diff --git a/core/src/main/java/bisq/core/dao/governance/proposal/storage/temp/TempProposalPayload.java b/core/src/main/java/bisq/core/dao/governance/proposal/storage/temp/TempProposalPayload.java index 4aaca00918c..6ea17a819d1 100644 --- a/core/src/main/java/bisq/core/dao/governance/proposal/storage/temp/TempProposalPayload.java +++ b/core/src/main/java/bisq/core/dao/governance/proposal/storage/temp/TempProposalPayload.java @@ -19,13 +19,10 @@ import bisq.core.dao.state.model.governance.Proposal; -import bisq.network.p2p.storage.payload.CapabilityRequiringPayload; import bisq.network.p2p.storage.payload.ExpirablePayload; import bisq.network.p2p.storage.payload.LazyProcessedPayload; import bisq.network.p2p.storage.payload.ProtectedStoragePayload; -import bisq.common.app.Capabilities; -import bisq.common.app.Capability; import bisq.common.crypto.Sig; import bisq.common.proto.persistable.PersistablePayload; import bisq.common.util.ExtraDataMapValidator; @@ -59,7 +56,7 @@ @EqualsAndHashCode @FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE) public class TempProposalPayload implements LazyProcessedPayload, ProtectedStoragePayload, - ExpirablePayload, CapabilityRequiringPayload, PersistablePayload { + ExpirablePayload, PersistablePayload { protected final Proposal proposal; protected final byte[] ownerPubKeyEncoded; @@ -122,16 +119,6 @@ public PublicKey getOwnerPubKey() { } - /////////////////////////////////////////////////////////////////////////////////////////// - // CapabilityRequiringPayload - /////////////////////////////////////////////////////////////////////////////////////////// - - @Override - public Capabilities getRequiredCapabilities() { - return new Capabilities(Capability.PROPOSAL); - } - - /////////////////////////////////////////////////////////////////////////////////////////// // ExpirablePayload /////////////////////////////////////////////////////////////////////////////////////////// diff --git a/core/src/main/java/bisq/core/setup/CoreNetworkCapabilities.java b/core/src/main/java/bisq/core/setup/CoreNetworkCapabilities.java index 24e78647535..691f1eecbae 100644 --- a/core/src/main/java/bisq/core/setup/CoreNetworkCapabilities.java +++ b/core/src/main/java/bisq/core/setup/CoreNetworkCapabilities.java @@ -33,16 +33,13 @@ public static void setSupportedCapabilities(BisqEnvironment bisqEnvironment) { Capability.TRADE_STATISTICS_2, Capability.ACCOUNT_AGE_WITNESS, Capability.ACK_MSG, + Capability.PROPOSAL, + Capability.BLIND_VOTE, + Capability.DAO_STATE, Capability.BUNDLE_OF_ENVELOPES ); if (BisqEnvironment.isDaoActivated(bisqEnvironment)) { - Capabilities.app.addAll( - Capability.PROPOSAL, - Capability.BLIND_VOTE, - Capability.DAO_STATE - ); - maybeApplyDaoFullMode(bisqEnvironment); } } @@ -58,6 +55,7 @@ public static void maybeApplyDaoFullMode(BisqEnvironment bisqEnvironment) { } else { // A lite node has the capability to receive bsq blocks. We do not want to send BSQ blocks to full nodes // as they ignore them anyway. + log.info("Set Capability.RECEIVE_BSQ_BLOCK"); Capabilities.app.addAll(Capability.RECEIVE_BSQ_BLOCK); } } From bb806cfbc3679737712108ba4703eccb3468b336 Mon Sep 17 00:00:00 2001 From: chimp1984 <54558767+chimp1984@users.noreply.github.com> Date: Mon, 9 Sep 2019 12:39:08 +0200 Subject: [PATCH 20/45] Add bsq price trend indicator (#3226) * Change text field for median to average 30 The average 30 days price is more relevant information than the small different between average and median price. To add a second tuple of both would be another option would overload the screen with not that relevant information. In a follow up commit we want to add an ip/down indication so see price trend. Fixes also handling of 0 values. * Apply reformat (no code change) * Add support for columnIndex * Add price trend indicator If average 30 days price is > av. 90 days price we show a green arrow up, otherwise a red arrow down. If same we don't show an arrow. * Fix dev test change Forgot to change back a small change to test directions... * Fix padding issues --- .../resources/i18n/displayStrings.properties | 2 +- desktop/src/main/java/bisq/desktop/bisq.css | 12 +- .../desktop/components/TextFieldWithIcon.java | 1 + .../economy/dashboard/BsqDashboardView.java | 73 ++- .../java/bisq/desktop/util/FormBuilder.java | 439 ++++++++++++++---- 5 files changed, 417 insertions(+), 110 deletions(-) diff --git a/core/src/main/resources/i18n/displayStrings.properties b/core/src/main/resources/i18n/displayStrings.properties index 1d134691339..fb06971842d 100644 --- a/core/src/main/resources/i18n/displayStrings.properties +++ b/core/src/main/resources/i18n/displayStrings.properties @@ -2056,7 +2056,7 @@ dao.factsAndFigures.menuItem.transactions=BSQ Transactions dao.factsAndFigures.dashboard.marketPrice=Market data dao.factsAndFigures.dashboard.price=Latest BSQ/BTC trade price (in Bisq) dao.factsAndFigures.dashboard.avgPrice90=90 days average BSQ/BTC trade price -dao.factsAndFigures.dashboard.medianPrice90=90 days median BSQ/BTC trade price +dao.factsAndFigures.dashboard.avgPrice30=30 days average BSQ/BTC trade price dao.factsAndFigures.dashboard.marketCap=Market capitalisation (based on trade price) dao.factsAndFigures.dashboard.availableAmount=Total available BSQ diff --git a/desktop/src/main/java/bisq/desktop/bisq.css b/desktop/src/main/java/bisq/desktop/bisq.css index 53723ba3548..2ee2cd1ed15 100644 --- a/desktop/src/main/java/bisq/desktop/bisq.css +++ b/desktop/src/main/java/bisq/desktop/bisq.css @@ -1298,7 +1298,7 @@ textfield */ #address-text-field:hover { -fx-text-fill: -bs-text-color; } - + /* Account setup */ #wizard-item-background-deactivated { -fx-body-color: linear-gradient(to bottom, -bs-content-background-gray, -bs-color-gray-aaa); @@ -1990,6 +1990,16 @@ textfield */ -fx-fill: -bs-rd-green; } +.price-trend-up { + -fx-text-fill: -bs-color-primary; + -fx-padding: 2 0 0 0; +} + +.price-trend-down { + -fx-text-fill: -bs-red; + -fx-padding: 2 0 0 0; +} + /******************************************************************************************************************** * * * Notifications * diff --git a/desktop/src/main/java/bisq/desktop/components/TextFieldWithIcon.java b/desktop/src/main/java/bisq/desktop/components/TextFieldWithIcon.java index 2b98efd7747..97e237c831c 100644 --- a/desktop/src/main/java/bisq/desktop/components/TextFieldWithIcon.java +++ b/desktop/src/main/java/bisq/desktop/components/TextFieldWithIcon.java @@ -38,6 +38,7 @@ public class TextFieldWithIcon extends AnchorPane { public static final Logger log = LoggerFactory.getLogger(TextFieldWithIcon.class); @Getter private final Label iconLabel; + @Getter private final TextField textField; private final Label dummyTextField; diff --git a/desktop/src/main/java/bisq/desktop/main/dao/economy/dashboard/BsqDashboardView.java b/desktop/src/main/java/bisq/desktop/main/dao/economy/dashboard/BsqDashboardView.java index 34b21b7cffd..0f55bd8c5ce 100644 --- a/desktop/src/main/java/bisq/desktop/main/dao/economy/dashboard/BsqDashboardView.java +++ b/desktop/src/main/java/bisq/desktop/main/dao/economy/dashboard/BsqDashboardView.java @@ -19,6 +19,7 @@ import bisq.desktop.common.view.ActivatableView; import bisq.desktop.common.view.FxmlView; +import bisq.desktop.components.TextFieldWithIcon; import bisq.desktop.util.FormBuilder; import bisq.desktop.util.GUIUtil; @@ -36,13 +37,14 @@ import bisq.core.util.BsqFormatter; import bisq.common.util.MathUtils; -import bisq.common.util.Tuple2; import bisq.common.util.Tuple3; import org.bitcoinj.core.Coin; import javax.inject.Inject; +import de.jensd.fx.fontawesome.AwesomeIcon; + import javafx.scene.chart.AreaChart; import javafx.scene.chart.NumberAxis; import javafx.scene.chart.XYChart; @@ -57,6 +59,8 @@ import javafx.beans.value.ChangeListener; +import javafx.collections.ObservableList; + import javafx.util.StringConverter; import java.time.LocalDate; @@ -83,6 +87,7 @@ import static bisq.desktop.util.FormBuilder.addLabelWithSubText; import static bisq.desktop.util.FormBuilder.addTopLabelReadOnlyTextField; +import static bisq.desktop.util.FormBuilder.addTopLabelTextFieldWithIcon; @FxmlView @@ -102,7 +107,8 @@ public class BsqDashboardView extends ActivatableView implements private AreaChart bsqPriceChart; private XYChart.Series seriesBSQPrice; - private TextField avgPrice90TextField, medianPrice90TextField, marketCapTextField, availableAmountTextField; + private TextField avgPrice90TextField, marketCapTextField, availableAmountTextField; + private TextFieldWithIcon avgPrice30TextField; private Label marketPriceLabel; private Coin availableAmount; @@ -136,13 +142,13 @@ public void initialize() { priceChangeListener = (observable, oldValue, newValue) -> { updatePrice(); - updateAverageAndMedianPrice(); + updateAveragePriceFields(); }; } private void createKPIs() { - Tuple3 marketPriceBox = addLabelWithSubText(root, gridRow++, "0.004000 BSQ/BTC", "Latest BSQ/BTC trade price (in Bisq)"); + Tuple3 marketPriceBox = addLabelWithSubText(root, gridRow++, "", ""); marketPriceLabel = marketPriceBox.first; marketPriceLabel.getStyleClass().add("dao-kpi-big"); @@ -151,15 +157,15 @@ private void createKPIs() { avgPrice90TextField = addTopLabelReadOnlyTextField(root, ++gridRow, Res.get("dao.factsAndFigures.dashboard.avgPrice90")).second; - medianPrice90TextField = addTopLabelReadOnlyTextField(root, gridRow, 1, - Res.get("dao.factsAndFigures.dashboard.medianPrice90")).second; + avgPrice30TextField = addTopLabelTextFieldWithIcon(root, gridRow, 1, + Res.get("dao.factsAndFigures.dashboard.avgPrice30"), -15).second; + AnchorPane.setRightAnchor(avgPrice30TextField.getIconLabel(), 10d); marketCapTextField = addTopLabelReadOnlyTextField(root, ++gridRow, Res.get("dao.factsAndFigures.dashboard.marketCap")).second; availableAmountTextField = FormBuilder.addTopLabelReadOnlyTextField(root, gridRow, 1, Res.get("dao.factsAndFigures.dashboard.availableAmount")).second; - } @@ -171,7 +177,7 @@ protected void activate() { updateWithBsqBlockChainData(); updatePrice(); updateChartData(); - updateAverageAndMedianPrice(); + updateAveragePriceFields(); } @@ -243,7 +249,7 @@ public Number fromString(String string) { bsqPriceChart.setLegendVisible(false); bsqPriceChart.setAnimated(false); bsqPriceChart.setId("charts-dao"); - bsqPriceChart.setMinHeight(335); + bsqPriceChart.setMinHeight(320); bsqPriceChart.setPrefHeight(bsqPriceChart.getMinHeight()); bsqPriceChart.setCreateSymbols(true); bsqPriceChart.setPadding(new Insets(0)); @@ -329,27 +335,45 @@ private void updatePrice() { } } - private void updateAverageAndMedianPrice() { - Date past90 = getPastDate(90); + private void updateAveragePriceFields() { + long average90 = updateAveragePriceField(avgPrice90TextField, 90); + long average30 = updateAveragePriceField(avgPrice30TextField.getTextField(), 30); + boolean trendUp = average30 > average90; + boolean trendDown = average30 < average90; + + Label iconLabel = avgPrice30TextField.getIconLabel(); + ObservableList styleClass = iconLabel.getStyleClass(); + if (trendUp) { + avgPrice30TextField.setVisible(true); + avgPrice30TextField.setIcon(AwesomeIcon.CIRCLE_ARROW_UP); + styleClass.remove("price-trend-down"); + styleClass.add("price-trend-up"); + } else if (trendDown) { + avgPrice30TextField.setVisible(true); + avgPrice30TextField.setIcon(AwesomeIcon.CIRCLE_ARROW_DOWN); + styleClass.remove("price-trend-up"); + styleClass.add("price-trend-down"); + } else { + iconLabel.setVisible(false); + } + } + + private long updateAveragePriceField(TextField textField, int days) { + Date past90 = getPastDate(days); List bsqTradePast90Days = tradeStatisticsManager.getObservableTradeStatisticsSet().stream() .filter(e -> e.getCurrencyCode().equals("BSQ")) .filter(e -> e.getTradeDate().after(past90)) .collect(Collectors.toList()); - Tuple2 averageAndMedian = getAverageAndMedian(bsqTradePast90Days); + long average = getAverage(bsqTradePast90Days); Coin oneBsq = Coin.valueOf(100); - - Price avgPrice = Price.valueOf("BSQ", averageAndMedian.first); + Price avgPrice = Price.valueOf("BSQ", average); String avg = bsqFormatter.formatPrice(avgPrice); - String bsqInUsdAvg = GUIUtil.getBsqInUsd(avgPrice, oneBsq, priceFeedService, bsqFormatter); - avgPrice90TextField.setText(avg + " BSQ/BTC (" + "1 BSQ = " + bsqInUsdAvg + ")"); - - Price medianPrice = Price.valueOf("BSQ", averageAndMedian.second); - String median = bsqFormatter.formatPrice(medianPrice); - String bsqInUsdMedian = GUIUtil.getBsqInUsd(medianPrice, oneBsq, priceFeedService, bsqFormatter); - medianPrice90TextField.setText(median + " BSQ/BTC (" + "1 BSQ = " + bsqInUsdMedian + ")"); + String bsqInUsdAvg = average > 0 ? GUIUtil.getBsqInUsd(avgPrice, oneBsq, priceFeedService, bsqFormatter) : Res.get("shared.na"); + textField.setText(avg + " BSQ/BTC (" + "1 BSQ = " + bsqInUsdAvg + ")"); + return average; } - private Tuple2 getAverageAndMedian(List list) { + private long getAverage(List list) { long accumulatedVolume = 0; long accumulatedAmount = 0; List tradePrices = new ArrayList<>(list.size()); @@ -366,11 +390,10 @@ private Tuple2 getAverageAndMedian(List list) { long averagePrice; Long[] prices = new Long[tradePrices.size()]; tradePrices.toArray(prices); - long medianPrice = MathUtils.getMedian(prices); double accumulatedAmountAsDouble = MathUtils.scaleUpByPowerOf10((double) accumulatedAmount, Altcoin.SMALLEST_UNIT_EXPONENT); - averagePrice = MathUtils.roundDoubleToLong(accumulatedAmountAsDouble / (double) accumulatedVolume); + averagePrice = accumulatedVolume > 0 ? MathUtils.roundDoubleToLong(accumulatedAmountAsDouble / (double) accumulatedVolume) : 0; - return new Tuple2<>(averagePrice, medianPrice); + return averagePrice; } private Date getPastDate(int days) { diff --git a/desktop/src/main/java/bisq/desktop/util/FormBuilder.java b/desktop/src/main/java/bisq/desktop/util/FormBuilder.java index eb986df318d..ab623d07e44 100644 --- a/desktop/src/main/java/bisq/desktop/util/FormBuilder.java +++ b/desktop/src/main/java/bisq/desktop/util/FormBuilder.java @@ -23,6 +23,7 @@ import bisq.desktop.components.AutoTooltipLabel; import bisq.desktop.components.AutoTooltipRadioButton; import bisq.desktop.components.AutoTooltipSlideToggleButton; +import bisq.desktop.components.AutocompleteComboBox; import bisq.desktop.components.BalanceTextField; import bisq.desktop.components.BisqTextArea; import bisq.desktop.components.BisqTextField; @@ -34,7 +35,6 @@ import bisq.desktop.components.InfoTextField; import bisq.desktop.components.InputTextField; import bisq.desktop.components.PasswordTextField; -import bisq.desktop.components.AutocompleteComboBox; import bisq.desktop.components.TextFieldWithCopyIcon; import bisq.desktop.components.TextFieldWithIcon; import bisq.desktop.components.TitledGroupBg; @@ -101,19 +101,32 @@ public static TitledGroupBg addTitledGroupBg(GridPane gridPane, int rowIndex, in return addTitledGroupBg(gridPane, rowIndex, rowSpan, title, 0); } - public static TitledGroupBg addTitledGroupBg(GridPane gridPane, int rowIndex, int columnIndex, int rowSpan, String title) { + public static TitledGroupBg addTitledGroupBg(GridPane gridPane, + int rowIndex, + int columnIndex, + int rowSpan, + String title) { TitledGroupBg titledGroupBg = addTitledGroupBg(gridPane, rowIndex, rowSpan, title, 0); GridPane.setColumnIndex(titledGroupBg, columnIndex); return titledGroupBg; } - public static TitledGroupBg addTitledGroupBg(GridPane gridPane, int rowIndex, int columnIndex, int rowSpan, String title, double top) { + public static TitledGroupBg addTitledGroupBg(GridPane gridPane, + int rowIndex, + int columnIndex, + int rowSpan, + String title, + double top) { TitledGroupBg titledGroupBg = addTitledGroupBg(gridPane, rowIndex, rowSpan, title, top); GridPane.setColumnIndex(titledGroupBg, columnIndex); return titledGroupBg; } - public static TitledGroupBg addTitledGroupBg(GridPane gridPane, int rowIndex, int rowSpan, String title, double top) { + public static TitledGroupBg addTitledGroupBg(GridPane gridPane, + int rowIndex, + int rowSpan, + String title, + double top) { TitledGroupBg titledGroupBg = new TitledGroupBg(); titledGroupBg.setText(title); titledGroupBg.prefWidthProperty().bind(gridPane.widthProperty()); @@ -145,11 +158,18 @@ public static Label addLabel(GridPane gridPane, int rowIndex, String title, doub // Label + Subtext /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple3 addLabelWithSubText(GridPane gridPane, int rowIndex, String title, String description) { + public static Tuple3 addLabelWithSubText(GridPane gridPane, + int rowIndex, + String title, + String description) { return addLabelWithSubText(gridPane, rowIndex, title, description, 0); } - public static Tuple3 addLabelWithSubText(GridPane gridPane, int rowIndex, String title, String description, double top) { + public static Tuple3 addLabelWithSubText(GridPane gridPane, + int rowIndex, + String title, + String description, + double top) { Label label = new AutoTooltipLabel(title); Label subText = new AutoTooltipLabel(description); @@ -200,37 +220,61 @@ public static Label addMultilineLabel(GridPane gridPane, int rowIndex, String te // Label + TextField /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple3 addTopLabelReadOnlyTextField(GridPane gridPane, int rowIndex, String title) { + public static Tuple3 addTopLabelReadOnlyTextField(GridPane gridPane, + int rowIndex, + String title) { return addTopLabelTextField(gridPane, rowIndex, title, "", -15); } - public static Tuple3 addTopLabelReadOnlyTextField(GridPane gridPane, int rowIndex, int columnIndex, String title) { + public static Tuple3 addTopLabelReadOnlyTextField(GridPane gridPane, + int rowIndex, + int columnIndex, + String title) { Tuple3 tuple = addTopLabelTextField(gridPane, rowIndex, title, "", -15); GridPane.setColumnIndex(tuple.third, columnIndex); return tuple; } - public static Tuple3 addTopLabelReadOnlyTextField(GridPane gridPane, int rowIndex, String title, double top) { + public static Tuple3 addTopLabelReadOnlyTextField(GridPane gridPane, + int rowIndex, + String title, + double top) { return addTopLabelTextField(gridPane, rowIndex, title, "", top - 15); } - public static Tuple3 addTopLabelReadOnlyTextField(GridPane gridPane, int rowIndex, String title, String value) { + public static Tuple3 addTopLabelReadOnlyTextField(GridPane gridPane, + int rowIndex, + String title, + String value) { return addTopLabelReadOnlyTextField(gridPane, rowIndex, title, value, 0); } - public static Tuple3 addTopLabelReadOnlyTextField(GridPane gridPane, int rowIndex, int columnIndex, String title, String value, double top) { + public static Tuple3 addTopLabelReadOnlyTextField(GridPane gridPane, + int rowIndex, + int columnIndex, + String title, + String value, + double top) { Tuple3 tuple = addTopLabelTextField(gridPane, rowIndex, title, value, top - 15); GridPane.setColumnIndex(tuple.third, columnIndex); return tuple; } - public static Tuple3 addTopLabelReadOnlyTextField(GridPane gridPane, int rowIndex, int columnIndex, String title, double top) { + public static Tuple3 addTopLabelReadOnlyTextField(GridPane gridPane, + int rowIndex, + int columnIndex, + String title, + double top) { Tuple3 tuple = addTopLabelTextField(gridPane, rowIndex, title, "", top - 15); GridPane.setColumnIndex(tuple.third, columnIndex); return tuple; } - public static Tuple3 addTopLabelReadOnlyTextField(GridPane gridPane, int rowIndex, String title, String value, double top) { + public static Tuple3 addTopLabelReadOnlyTextField(GridPane gridPane, + int rowIndex, + String title, + String value, + double top) { return addTopLabelTextField(gridPane, rowIndex, title, value, top - 15); } @@ -238,30 +282,50 @@ public static Tuple3 addTopLabelTextField(GridPane gridP return addTopLabelTextField(gridPane, rowIndex, title, "", 0); } - public static Tuple3 addCompactTopLabelTextField(GridPane gridPane, int rowIndex, String title, String value) { + public static Tuple3 addCompactTopLabelTextField(GridPane gridPane, + int rowIndex, + String title, + String value) { return addTopLabelTextField(gridPane, rowIndex, title, value, -Layout.FLOATING_LABEL_DISTANCE); } - public static Tuple3 addCompactTopLabelTextField(GridPane gridPane, int rowIndex, int colIndex, - String title, String value) { + public static Tuple3 addCompactTopLabelTextField(GridPane gridPane, + int rowIndex, + int colIndex, + String title, + String value) { final Tuple3 labelTextFieldVBoxTuple3 = addTopLabelTextField(gridPane, rowIndex, title, value, -Layout.FLOATING_LABEL_DISTANCE); GridPane.setColumnIndex(labelTextFieldVBoxTuple3.third, colIndex); return labelTextFieldVBoxTuple3; } - public static Tuple3 addCompactTopLabelTextField(GridPane gridPane, int rowIndex, String title, String value, double top) { + public static Tuple3 addCompactTopLabelTextField(GridPane gridPane, + int rowIndex, + String title, + String value, + double top) { return addTopLabelTextField(gridPane, rowIndex, title, value, top - Layout.FLOATING_LABEL_DISTANCE); } - public static Tuple3 addTopLabelTextField(GridPane gridPane, int rowIndex, String title, String value) { + public static Tuple3 addTopLabelTextField(GridPane gridPane, + int rowIndex, + String title, + String value) { return addTopLabelTextField(gridPane, rowIndex, title, value, 0); } - public static Tuple3 addTopLabelTextField(GridPane gridPane, int rowIndex, String title, double top) { + public static Tuple3 addTopLabelTextField(GridPane gridPane, + int rowIndex, + String title, + double top) { return addTopLabelTextField(gridPane, rowIndex, title, "", top); } - public static Tuple3 addTopLabelTextField(GridPane gridPane, int rowIndex, String title, String value, double top) { + public static Tuple3 addTopLabelTextField(GridPane gridPane, + int rowIndex, + String title, + String value, + double top) { TextField textField = new BisqTextField(value); textField.setEditable(false); textField.setFocusTraversable(false); @@ -278,11 +342,18 @@ public static Tuple3 addTopLabelTextField(GridPane gridP // Confirmation Fields /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple2 addConfirmationLabelLabel(GridPane gridPane, int rowIndex, String title1, String title2) { + public static Tuple2 addConfirmationLabelLabel(GridPane gridPane, + int rowIndex, + String title1, + String title2) { return addConfirmationLabelLabel(gridPane, rowIndex, title1, title2, 0); } - public static Tuple2 addConfirmationLabelLabel(GridPane gridPane, int rowIndex, String title1, String title2, double top) { + public static Tuple2 addConfirmationLabelLabel(GridPane gridPane, + int rowIndex, + String title1, + String title2, + double top) { Label label1 = addLabel(gridPane, rowIndex, title1); label1.getStyleClass().add("confirmation-label"); Label label2 = addLabel(gridPane, rowIndex, title2); @@ -295,7 +366,11 @@ public static Tuple2 addConfirmationLabelLabel(GridPane gridPane, return new Tuple2<>(label1, label2); } - public static Tuple2 addConfirmationLabelTextArea(GridPane gridPane, int rowIndex, String title1, String title2, double top) { + public static Tuple2 addConfirmationLabelTextArea(GridPane gridPane, + int rowIndex, + String title1, + String title2, + double top) { Label label = addLabel(gridPane, rowIndex, title1); label.getStyleClass().add("confirmation-label"); @@ -315,14 +390,24 @@ public static Tuple2 addConfirmationLabelTextArea(GridPane grid // Label + TextFieldWithIcon /////////////////////////////////////////////////////////////////////////////////////////// + public static Tuple2 addTopLabelTextFieldWithIcon(GridPane gridPane, + int rowIndex, + String title, + double top) { + return addTopLabelTextFieldWithIcon(gridPane, rowIndex, 0, title, top); + } - public static Tuple2 addTopLabelTextFieldWithIcon(GridPane gridPane, int rowIndex, String title, double top) { + public static Tuple2 addTopLabelTextFieldWithIcon(GridPane gridPane, + int rowIndex, + int columnIndex, + String title, + double top) { TextFieldWithIcon textFieldWithIcon = new TextFieldWithIcon(); textFieldWithIcon.setMouseTransparent(true); textFieldWithIcon.setFocusTraversable(false); - return new Tuple2<>(addTopLabelWithVBox(gridPane, rowIndex, title, textFieldWithIcon, top).first, textFieldWithIcon); + return new Tuple2<>(addTopLabelWithVBox(gridPane, rowIndex, columnIndex, title, textFieldWithIcon, top).first, textFieldWithIcon); } @@ -335,7 +420,11 @@ public static HyperlinkWithIcon addHyperlinkWithIcon(GridPane gridPane, int rowI return addHyperlinkWithIcon(gridPane, rowIndex, title, url, 0); } - public static HyperlinkWithIcon addHyperlinkWithIcon(GridPane gridPane, int rowIndex, String title, String url, double top) { + public static HyperlinkWithIcon addHyperlinkWithIcon(GridPane gridPane, + int rowIndex, + String title, + String url, + double top) { HyperlinkWithIcon hyperlinkWithIcon = new HyperlinkWithIcon(title, MaterialDesignIcon.LINK); hyperlinkWithIcon.setOnAction(e -> GUIUtil.openWebPage(url)); GridPane.setRowIndex(hyperlinkWithIcon, rowIndex); @@ -432,23 +521,41 @@ public static TextArea addTextArea(GridPane gridPane, int rowIndex, String promp // Label + TextArea /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple2 addCompactTopLabelTextArea(GridPane gridPane, int rowIndex, String title, String prompt) { + public static Tuple2 addCompactTopLabelTextArea(GridPane gridPane, + int rowIndex, + String title, + String prompt) { return addTopLabelTextArea(gridPane, rowIndex, title, prompt, -Layout.FLOATING_LABEL_DISTANCE); } - public static Tuple2 addCompactTopLabelTextArea(GridPane gridPane, int rowIndex, int colIndex, String title, String prompt) { + public static Tuple2 addCompactTopLabelTextArea(GridPane gridPane, + int rowIndex, + int colIndex, + String title, + String prompt) { return addTopLabelTextArea(gridPane, rowIndex, colIndex, title, prompt, -Layout.FLOATING_LABEL_DISTANCE); } - public static Tuple2 addTopLabelTextArea(GridPane gridPane, int rowIndex, String title, String prompt) { + public static Tuple2 addTopLabelTextArea(GridPane gridPane, + int rowIndex, + String title, + String prompt) { return addTopLabelTextArea(gridPane, rowIndex, title, prompt, 0); } - public static Tuple2 addTopLabelTextArea(GridPane gridPane, int rowIndex, int colIndex, String title, String prompt) { + public static Tuple2 addTopLabelTextArea(GridPane gridPane, + int rowIndex, + int colIndex, + String title, + String prompt) { return addTopLabelTextArea(gridPane, rowIndex, colIndex, title, prompt, 0); } - public static Tuple2 addTopLabelTextArea(GridPane gridPane, int rowIndex, String title, String prompt, double top) { + public static Tuple2 addTopLabelTextArea(GridPane gridPane, + int rowIndex, + String title, + String prompt, + double top) { return addTopLabelTextArea(gridPane, rowIndex, 0, title, prompt, top); } @@ -471,7 +578,10 @@ public static Tuple2 addTopLabelTextArea(GridPane gridPane, int // Label + DatePicker /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple2 addTopLabelDatePicker(GridPane gridPane, int rowIndex, String title, double top) { + public static Tuple2 addTopLabelDatePicker(GridPane gridPane, + int rowIndex, + String title, + double top) { DatePicker datePicker = new JFXDatePicker(); final Tuple2 topLabelWithVBox = addTopLabelWithVBox(gridPane, rowIndex, title, datePicker, top); @@ -485,11 +595,18 @@ public static Tuple2 addTopLabelDatePicker(GridPane gridPane, /////////////////////////////////////////////////////////////////////////////////////////// @SuppressWarnings("UnusedReturnValue") - public static Tuple2 addLabelTxIdTextField(GridPane gridPane, int rowIndex, String title, String value) { + public static Tuple2 addLabelTxIdTextField(GridPane gridPane, + int rowIndex, + String title, + String value) { return addLabelTxIdTextField(gridPane, rowIndex, title, value, 0); } - public static Tuple2 addLabelTxIdTextField(GridPane gridPane, int rowIndex, String title, String value, double top) { + public static Tuple2 addLabelTxIdTextField(GridPane gridPane, + int rowIndex, + String title, + String value, + double top) { Label label = addLabel(gridPane, rowIndex, title, top); label.getStyleClass().add("confirmation-label"); GridPane.setHalignment(label, HPos.LEFT); @@ -530,18 +647,26 @@ public static InputTextField addInputTextField(GridPane gridPane, int rowIndex, // Label + InputTextField /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple2 addTopLabelInputTextField(GridPane gridPane, int rowIndex, String title) { + public static Tuple2 addTopLabelInputTextField(GridPane gridPane, + int rowIndex, + String title) { return addTopLabelInputTextField(gridPane, rowIndex, title, 0); } - public static Tuple2 addTopLabelInputTextField(GridPane gridPane, int rowIndex, String title, double top) { + public static Tuple2 addTopLabelInputTextField(GridPane gridPane, + int rowIndex, + String title, + double top) { final Tuple3 topLabelWithVBox = addTopLabelInputTextFieldWithVBox(gridPane, rowIndex, title, top); return new Tuple2<>(topLabelWithVBox.first, topLabelWithVBox.second); } - public static Tuple3 addTopLabelInputTextFieldWithVBox(GridPane gridPane, int rowIndex, String title, double top) { + public static Tuple3 addTopLabelInputTextFieldWithVBox(GridPane gridPane, + int rowIndex, + String title, + double top) { InputTextField inputTextField = new InputTextField(); @@ -555,11 +680,16 @@ public static Tuple3 addTopLabelInputTextFieldWithV // Label + InfoInputTextField /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple2 addTopLabelInfoInputTextField(GridPane gridPane, int rowIndex, String title) { + public static Tuple2 addTopLabelInfoInputTextField(GridPane gridPane, + int rowIndex, + String title) { return addTopLabelInfoInputTextField(gridPane, rowIndex, title, 0); } - public static Tuple2 addTopLabelInfoInputTextField(GridPane gridPane, int rowIndex, String title, double top) { + public static Tuple2 addTopLabelInfoInputTextField(GridPane gridPane, + int rowIndex, + String title, + double top) { InfoInputTextField inputTextField = new InfoInputTextField(); @@ -594,7 +724,10 @@ public static PasswordTextField addPasswordTextField(GridPane gridPane, int rowI // Label + InputTextField + CheckBox /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple3 addTopLabelInputTextFieldSlideToggleButton(GridPane gridPane, int rowIndex, String title, String toggleButtonTitle) { + public static Tuple3 addTopLabelInputTextFieldSlideToggleButton(GridPane gridPane, + int rowIndex, + String title, + String toggleButtonTitle) { InputTextField inputTextField = new InputTextField(); ToggleButton toggleButton = new JFXToggleButton(); @@ -613,7 +746,10 @@ public static Tuple3 addTopLabelInputTextFi // Label + InputTextField + Button /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple3 addTopLabelInputTextFieldButton(GridPane gridPane, int rowIndex, String title, String buttonTitle) { + public static Tuple3 addTopLabelInputTextFieldButton(GridPane gridPane, + int rowIndex, + String title, + String buttonTitle) { InputTextField inputTextField = new InputTextField(); Button button = new AutoTooltipButton(buttonTitle); button.setDefaultButton(true); @@ -633,11 +769,18 @@ public static Tuple3 addTopLabelInputTextFieldBut // Label + TextField + Button /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple3 addTopLabelTextFieldButton(GridPane gridPane, int rowIndex, String title, String buttonTitle) { + public static Tuple3 addTopLabelTextFieldButton(GridPane gridPane, + int rowIndex, + String title, + String buttonTitle) { return addTopLabelTextFieldButton(gridPane, rowIndex, title, buttonTitle, 0); } - public static Tuple3 addTopLabelTextFieldButton(GridPane gridPane, int rowIndex, String title, String buttonTitle, double top) { + public static Tuple3 addTopLabelTextFieldButton(GridPane gridPane, + int rowIndex, + String title, + String buttonTitle, + double top) { TextField textField = new BisqTextField(); textField.setEditable(false); @@ -661,7 +804,10 @@ public static Tuple3 addTopLabelTextFieldButton(GridPa // Label + InputTextField + Label + InputTextField /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple2 addInputTextFieldInputTextField(GridPane gridPane, int rowIndex, String title1, String title2) { + public static Tuple2 addInputTextFieldInputTextField(GridPane gridPane, + int rowIndex, + String title1, + String title2) { InputTextField inputTextField1 = new InputTextField(); inputTextField1.setPromptText(title1); @@ -686,7 +832,10 @@ public static Tuple2 addInputTextFieldInputTextF // Label + TextField + Label + TextField /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple4 addCompactTopLabelTextFieldTopLabelTextField(GridPane gridPane, int rowIndex, String title1, String title2) { + public static Tuple4 addCompactTopLabelTextFieldTopLabelTextField(GridPane gridPane, + int rowIndex, + String title1, + String title2) { TextField textField1 = new BisqTextField(); textField1.setEditable(false); textField1.setMouseTransparent(true); @@ -715,11 +864,18 @@ public static Tuple4 addCompactTopLabelTextF // Button + CheckBox /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple2 addButtonCheckBox(GridPane gridPane, int rowIndex, String buttonTitle, String checkBoxTitle) { + public static Tuple2 addButtonCheckBox(GridPane gridPane, + int rowIndex, + String buttonTitle, + String checkBoxTitle) { return addButtonCheckBox(gridPane, rowIndex, buttonTitle, checkBoxTitle, 0); } - public static Tuple2 addButtonCheckBox(GridPane gridPane, int rowIndex, String buttonTitle, String checkBoxTitle, double top) { + public static Tuple2 addButtonCheckBox(GridPane gridPane, + int rowIndex, + String buttonTitle, + String checkBoxTitle, + double top) { Button button = new AutoTooltipButton(buttonTitle); button.setDefaultButton(true); CheckBox checkBox = new AutoTooltipCheckBox(checkBoxTitle); @@ -748,7 +904,11 @@ public static CheckBox addCheckBox(GridPane gridPane, int rowIndex, String check return addCheckBox(gridPane, rowIndex, 0, checkBoxTitle, 0); } - public static CheckBox addCheckBox(GridPane gridPane, int rowIndex, int colIndex, String checkBoxTitle, double top) { + public static CheckBox addCheckBox(GridPane gridPane, + int rowIndex, + int colIndex, + String checkBoxTitle, + double top) { CheckBox checkBox = new AutoTooltipCheckBox(checkBoxTitle); GridPane.setMargin(checkBox, new Insets(top, 0, 0, 0)); GridPane.setRowIndex(checkBox, rowIndex); @@ -886,7 +1046,11 @@ public static ComboBox addComboBox(GridPane gridPane, int rowIndex, int t // Label + ComboBox /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple2> addTopLabelComboBox(GridPane gridPane, int rowIndex, String title, String prompt, int top) { + public static Tuple2> addTopLabelComboBox(GridPane gridPane, + int rowIndex, + String title, + String prompt, + int top) { final Tuple3> tuple3 = addTopLabelComboBox(title, prompt, 0); final VBox vBox = tuple3.first; @@ -917,7 +1081,8 @@ public static Tuple3> addTopLabelAutoco return addTopLabelAutocompleteComboBox(title, 0); } - public static Tuple3> addTopLabelAutocompleteComboBox(String title, int top) { + public static Tuple3> addTopLabelAutocompleteComboBox(String title, + int top) { Label label = getTopLabel(title); VBox vBox = getTopLabelVBox(top); @@ -944,15 +1109,26 @@ private static Label getTopLabel(String title) { return label; } + public static Tuple2 addTopLabelWithVBox(GridPane gridPane, + int rowIndex, + String title, + Node node, + double top) { + return addTopLabelWithVBox(gridPane, rowIndex, 0, title, node, top); + } + @NotNull - public static Tuple2 addTopLabelWithVBox(GridPane gridPane, int rowIndex, - String title, Node node, + public static Tuple2 addTopLabelWithVBox(GridPane gridPane, + int rowIndex, + int columnIndex, + String title, + Node node, double top) { final Tuple2 topLabelWithVBox = getTopLabelWithVBox(title, node); VBox vBox = topLabelWithVBox.second; GridPane.setRowIndex(vBox, rowIndex); - GridPane.setColumnIndex(vBox, 0); + GridPane.setColumnIndex(vBox, columnIndex); GridPane.setMargin(vBox, new Insets(top + Layout.FLOATING_LABEL_DISTANCE, 0, 0, 0)); gridPane.getChildren().add(vBox); @@ -1002,7 +1178,10 @@ public static ComboBox addComboBox(GridPane gridPane, int rowIndex, Strin // Label + AutocompleteComboBox /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple2> addLabelAutocompleteComboBox(GridPane gridPane, int rowIndex, String title, double top) { + public static Tuple2> addLabelAutocompleteComboBox(GridPane gridPane, + int rowIndex, + String title, + double top) { AutocompleteComboBox comboBox = new AutocompleteComboBox<>(); final Tuple2 labelVBoxTuple2 = addTopLabelWithVBox(gridPane, rowIndex, title, comboBox, top); return new Tuple2<>(labelVBoxTuple2.first, comboBox); @@ -1013,11 +1192,16 @@ public static Tuple2> addLabelAutocompleteComboBox(GridPa // Label + ComboBox + ComboBox /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple3, ComboBox> addTopLabelComboBoxComboBox(GridPane gridPane, int rowIndex, String title) { + public static Tuple3, ComboBox> addTopLabelComboBoxComboBox(GridPane gridPane, + int rowIndex, + String title) { return addTopLabelComboBoxComboBox(gridPane, rowIndex, title, 0); } - public static Tuple3, ComboBox> addTopLabelComboBoxComboBox(GridPane gridPane, int rowIndex, String title, double top) { + public static Tuple3, ComboBox> addTopLabelComboBoxComboBox(GridPane gridPane, + int rowIndex, + String title, + double top) { HBox hBox = new HBox(); hBox.setSpacing(10); @@ -1147,11 +1331,18 @@ public static Tuple3, TextField> addLabelComboBoxLabel(Gr // Label + TxIdTextField /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple2 addLabelTxIdTextField(GridPane gridPane, int rowIndex, int columnIndex, String title) { + public static Tuple2 addLabelTxIdTextField(GridPane gridPane, + int rowIndex, + int columnIndex, + String title) { return addLabelTxIdTextField(gridPane, rowIndex, columnIndex, title, 0); } - public static Tuple2 addLabelTxIdTextField(GridPane gridPane, int rowIndex, int columnIndex, String title, double top) { + public static Tuple2 addLabelTxIdTextField(GridPane gridPane, + int rowIndex, + int columnIndex, + String title, + double top) { Label label = addLabel(gridPane, rowIndex, title, top); TxIdTextField txIdTextField = new TxIdTextField(); @@ -1164,7 +1355,10 @@ public static Tuple2 addLabelTxIdTextField(GridPane gridPa } - public static Tuple3 addTopLabelTxIdTextField(GridPane gridPane, int rowIndex, String title, double top) { + public static Tuple3 addTopLabelTxIdTextField(GridPane gridPane, + int rowIndex, + String title, + double top) { TxIdTextField textField = new TxIdTextField(); textField.setFocusTraversable(false); @@ -1181,31 +1375,58 @@ public static Tuple3 addTopLabelTxIdTextField(GridPa // Label + TextFieldWithCopyIcon /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple2 addCompactTopLabelTextFieldWithCopyIcon(GridPane gridPane, int rowIndex, String title, String value) { + public static Tuple2 addCompactTopLabelTextFieldWithCopyIcon(GridPane gridPane, + int rowIndex, + String title, + String value) { return addTopLabelTextFieldWithCopyIcon(gridPane, rowIndex, title, value, -Layout.FLOATING_LABEL_DISTANCE); } - public static Tuple2 addCompactTopLabelTextFieldWithCopyIcon(GridPane gridPane, int rowIndex, int colIndex, String title, String value, double top) { + public static Tuple2 addCompactTopLabelTextFieldWithCopyIcon(GridPane gridPane, + int rowIndex, + int colIndex, + String title, + String value, + double top) { return addTopLabelTextFieldWithCopyIcon(gridPane, rowIndex, colIndex, title, value, top - Layout.FLOATING_LABEL_DISTANCE); } - public static Tuple2 addCompactTopLabelTextFieldWithCopyIcon(GridPane gridPane, int rowIndex, int colIndex, String title) { + public static Tuple2 addCompactTopLabelTextFieldWithCopyIcon(GridPane gridPane, + int rowIndex, + int colIndex, + String title) { return addTopLabelTextFieldWithCopyIcon(gridPane, rowIndex, colIndex, title, "", -Layout.FLOATING_LABEL_DISTANCE); } - public static Tuple2 addCompactTopLabelTextFieldWithCopyIcon(GridPane gridPane, int rowIndex, int colIndex, String title, String value) { + public static Tuple2 addCompactTopLabelTextFieldWithCopyIcon(GridPane gridPane, + int rowIndex, + int colIndex, + String title, + String value) { return addTopLabelTextFieldWithCopyIcon(gridPane, rowIndex, colIndex, title, value, -Layout.FLOATING_LABEL_DISTANCE); } - public static Tuple2 addTopLabelTextFieldWithCopyIcon(GridPane gridPane, int rowIndex, String title, String value) { + public static Tuple2 addTopLabelTextFieldWithCopyIcon(GridPane gridPane, + int rowIndex, + String title, + String value) { return addTopLabelTextFieldWithCopyIcon(gridPane, rowIndex, title, value, 0); } - public static Tuple2 addTopLabelTextFieldWithCopyIcon(GridPane gridPane, int rowIndex, String title, String value, double top) { + public static Tuple2 addTopLabelTextFieldWithCopyIcon(GridPane gridPane, + int rowIndex, + String title, + String value, + double top) { return addTopLabelTextFieldWithCopyIcon(gridPane, rowIndex, title, value, top, null); } - public static Tuple2 addTopLabelTextFieldWithCopyIcon(GridPane gridPane, int rowIndex, String title, String value, double top, String styleClass) { + public static Tuple2 addTopLabelTextFieldWithCopyIcon(GridPane gridPane, + int rowIndex, + String title, + String value, + double top, + String styleClass) { TextFieldWithCopyIcon textFieldWithCopyIcon = new TextFieldWithCopyIcon(styleClass); textFieldWithCopyIcon.setText(value); @@ -1214,7 +1435,12 @@ public static Tuple2 addTopLabelTextFieldWithCopyI return new Tuple2<>(topLabelWithVBox.first, textFieldWithCopyIcon); } - public static Tuple2 addTopLabelTextFieldWithCopyIcon(GridPane gridPane, int rowIndex, int colIndex, String title, String value, double top) { + public static Tuple2 addTopLabelTextFieldWithCopyIcon(GridPane gridPane, + int rowIndex, + int colIndex, + String title, + String value, + double top) { TextFieldWithCopyIcon textFieldWithCopyIcon = new TextFieldWithCopyIcon(); textFieldWithCopyIcon.setText(value); @@ -1226,11 +1452,18 @@ public static Tuple2 addTopLabelTextFieldWithCopyI return new Tuple2<>(topLabelWithVBox.first, textFieldWithCopyIcon); } - public static Tuple2 addConfirmationLabelTextFieldWithCopyIcon(GridPane gridPane, int rowIndex, String title, String value) { + public static Tuple2 addConfirmationLabelTextFieldWithCopyIcon(GridPane gridPane, + int rowIndex, + String title, + String value) { return addConfirmationLabelTextFieldWithCopyIcon(gridPane, rowIndex, title, value, 0); } - public static Tuple2 addConfirmationLabelTextFieldWithCopyIcon(GridPane gridPane, int rowIndex, String title, String value, double top) { + public static Tuple2 addConfirmationLabelTextFieldWithCopyIcon(GridPane gridPane, + int rowIndex, + String title, + String value, + double top) { Label label = addLabel(gridPane, rowIndex, title, top); label.getStyleClass().add("confirmation-label"); GridPane.setHalignment(label, HPos.LEFT); @@ -1285,8 +1518,11 @@ public static FundsTextField addFundsTextfield(GridPane gridPane, int rowIndex, // Label + InfoTextField /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple3 addTopLabelInfoTextField(GridPane gridPane, int rowIndex, String labelText, - String fieldText, double top) { + public static Tuple3 addTopLabelInfoTextField(GridPane gridPane, + int rowIndex, + String labelText, + String fieldText, + double top) { InfoTextField infoTextField = new InfoTextField(); infoTextField.setText(fieldText); @@ -1299,11 +1535,16 @@ public static Tuple3 addTopLabelInfoTextField(GridPa // Label + BsqAddressTextField /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple3 addLabelBsqAddressTextField(GridPane gridPane, int rowIndex, String title) { + public static Tuple3 addLabelBsqAddressTextField(GridPane gridPane, + int rowIndex, + String title) { return addLabelBsqAddressTextField(gridPane, rowIndex, title, 0); } - public static Tuple3 addLabelBsqAddressTextField(GridPane gridPane, int rowIndex, String title, double top) { + public static Tuple3 addLabelBsqAddressTextField(GridPane gridPane, + int rowIndex, + String title, + double top) { BsqAddressTextField addressTextField = new BsqAddressTextField(); addressTextField.setFocusTraversable(false); @@ -1334,11 +1575,18 @@ public static BalanceTextField addBalanceTextField(GridPane gridPane, int rowInd // Label + Button /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple2 addTopLabelButton(GridPane gridPane, int rowIndex, String labelText, String buttonTitle) { + public static Tuple2 addTopLabelButton(GridPane gridPane, + int rowIndex, + String labelText, + String buttonTitle) { return addTopLabelButton(gridPane, rowIndex, labelText, buttonTitle, 0); } - public static Tuple2 addTopLabelButton(GridPane gridPane, int rowIndex, String labelText, String buttonTitle, double top) { + public static Tuple2 addTopLabelButton(GridPane gridPane, + int rowIndex, + String labelText, + String buttonTitle, + double top) { Button button = new AutoTooltipButton(buttonTitle); button.setDefaultButton(true); @@ -1347,7 +1595,11 @@ public static Tuple2 addTopLabelButton(GridPane gridPane, int row return new Tuple2<>(topLabelWithVBox.first, button); } - public static Tuple2 addConfirmationLabelButton(GridPane gridPane, int rowIndex, String labelText, String buttonTitle, double top) { + public static Tuple2 addConfirmationLabelButton(GridPane gridPane, + int rowIndex, + String labelText, + String buttonTitle, + double top) { Label label = addLabel(gridPane, rowIndex, labelText); label.getStyleClass().add("confirmation-label"); @@ -1370,7 +1622,12 @@ public static Tuple2 addConfirmationLabelButton(GridPane gridPane // Label + Button + Button /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple3 addTopLabel2Buttons(GridPane gridPane, int rowIndex, String labelText, String title1, String title2, double top) { + public static Tuple3 addTopLabel2Buttons(GridPane gridPane, + int rowIndex, + String labelText, + String title1, + String title2, + double top) { HBox hBox = new HBox(); hBox.setSpacing(10); @@ -1571,7 +1828,8 @@ public static Tuple4 addButtonBusyAnimationL public static Tuple4 addButtonBusyAnimationLabel(GridPane gridPane, int rowIndex, - int colIndex, String buttonTitle, + int colIndex, + String buttonTitle, double top) { HBox hBox = new HBox(); hBox.setSpacing(10); @@ -1671,11 +1929,16 @@ public static Tuple2 getTradeInputBox(Pane amountValueBox, String d // Label + List /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple3, VBox> addTopLabelListView(GridPane gridPane, int rowIndex, String title) { + public static Tuple3, VBox> addTopLabelListView(GridPane gridPane, + int rowIndex, + String title) { return addTopLabelListView(gridPane, rowIndex, title, 0); } - public static Tuple3, VBox> addTopLabelListView(GridPane gridPane, int rowIndex, String title, double top) { + public static Tuple3, VBox> addTopLabelListView(GridPane gridPane, + int rowIndex, + String title, + double top) { ListView listView = new ListView<>(); final Tuple2 topLabelWithVBox = addTopLabelWithVBox(gridPane, rowIndex, title, listView, top); @@ -1686,7 +1949,10 @@ public static Tuple3, VBox> addTopLabelListView(GridPane // Label + FlowPane /////////////////////////////////////////////////////////////////////////////////////////// - public static Tuple2 addTopLabelFlowPane(GridPane gridPane, int rowIndex, String title, double top) { + public static Tuple2 addTopLabelFlowPane(GridPane gridPane, + int rowIndex, + String title, + double top) { FlowPane flowPane = new FlowPane(); flowPane.setPadding(new Insets(10, 10, 10, 10)); flowPane.setVgap(10); @@ -1785,7 +2051,10 @@ public static TableView addTableViewWithHeader(GridPane gridPane, int row return addTableViewWithHeader(gridPane, rowIndex, headerText, 0, null); } - public static TableView addTableViewWithHeader(GridPane gridPane, int rowIndex, String headerText, String groupStyle) { + public static TableView addTableViewWithHeader(GridPane gridPane, + int rowIndex, + String headerText, + String groupStyle) { return addTableViewWithHeader(gridPane, rowIndex, headerText, 0, groupStyle); } @@ -1793,7 +2062,11 @@ public static TableView addTableViewWithHeader(GridPane gridPane, int row return addTableViewWithHeader(gridPane, rowIndex, headerText, top, null); } - public static TableView addTableViewWithHeader(GridPane gridPane, int rowIndex, String headerText, int top, String groupStyle) { + public static TableView addTableViewWithHeader(GridPane gridPane, + int rowIndex, + String headerText, + int top, + String groupStyle) { TitledGroupBg titledGroupBg = addTitledGroupBg(gridPane, rowIndex, 1, headerText, top); if (groupStyle != null) titledGroupBg.getStyleClass().add(groupStyle); From d55114e019fda469266dab50f63916289b2e71cb Mon Sep 17 00:00:00 2001 From: chimp1984 <54558767+chimp1984@users.noreply.github.com> Date: Mon, 9 Sep 2019 20:51:57 +0200 Subject: [PATCH 21/45] Add mediation support (#3221) * Refactoring: Move arbitration package inside dispute package * Use abstract base class DisputeResolver for arbitrator * Refactoring: Move mediator to mediator package. * Let Mediator inherit DisputeResolver. * Do not use protobuf inheritance - Do not use protobuf inheritance for Arbitrator and Mediator as it would break backward compatibility (and protobuf inheritance sucks anyway) * Refactoring: Move ArbitratorModule to parent package * Refactoring: Rename ArbitratorModule to DisputeModule * Add mediators to Filter * Add mediators to filter window * Use abstract DisputeResolverService as base class for ArbitratorService - Add common base class for ArbitratorService and MediatorService * Fix test * Use abstract DisputeResolverManager as base class for ArbitratorManager - Add common base class for ArbitratorManager and MediatorManager * Refactor: Move arbitratorregistration package inside register pkg * Refactor: Rename arbitratorregistration package to arbitrator * Add registration view for mediator - With cmd+D one can open the mediator regisration in account screen. For arbitrator its cmd+R * Separate pub key list for mediator (no new keys added yet) * Set new pubkeys for mediator registration - Before release set new keys from maintainer who manages keys * Set disputes @Nullable. Add null checks * Remove pre v0.9 handling for supported arbitrators from offer - We changed handling of arbitrator selection with v0.9 so the supported arbitrators in the offer is not used anymore. As we enforced v1.2 a while back for trading we can be sure no pre v0.9 clients are used anymore and we can remove the optional code part. * Remove supported arbitrators info in offer details window - As we do not use supported arbitraors in offer anymore since v0.9 we can remove that. * Remove check for matching arbitrator languages As we do not use the supported arbitratos from offer since v0.9 we can remove that check. * Remove not used classes * Remove checks for arbitrator and mediator in offer We do not use those fields anymore. We still need to keep the fields not nullable as old clients have the check still. * Add check if sig of proto object is not empty We got in dev testing sometimes an empty protobuf Alert. Might be caused from protobuf copatibility issues during development but not 100% clear. As it causes an exception and corrupted user db file we prefer to set it to null. * Remove TakerSelectMediator This is not used anymore. Currently we would get an exception in the trade but with follow up changes we will fix that... Mediator handling and selection will be done the same way like arbitrator. The current mediator handling was a relict from earlier partial support for mediators which never got completed. As still a null check is in place we need to ensure backward compatibility. * Set arbitratorNodeAddresses and mediatorNodeAddresses to deprecated We do not use arbitratorNodeAddresses and mediatorNodeAddresses anymore but as there is a null check we still need to keep the field ans set it to an empty arrayList. * Make ArbitratorSelection generic. Add MEDIATOR_ADDRESS We want to use the same selection algorithm for mediators as for arbitrators, so we make ArbitratorSelection generic. We add MEDIATOR_ADDRESS as extraMap entry to TradeStatistics2 to be able to track number of trades with specific mediators. ExtraMap is used to add new data to existing protobuf definitions which is supported also by not updated clients. Adding a new protobuf field would only be supported by new clients. As mediator support is a new feature we could add a new field but to keep it in the same style like arbitrator we prefer to use the map here as well. * Refactor: Rename ArbitratorSelection to DisputeResolverSelection * Add mediator to OfferAvailabilityResponse and mediatorNodeAddress to OpenOffer WIP for supporting mediator selection the same way like arbitrators. * Make arbitrator not nullable We can ensure that all users are post v0.9 so we can remove the nullable support. * Add selectedMediator to OfferAvailabilityModel Remove nullable support in ProcessOfferAvailabilityResponse as we can ensure all clients are post v0.9 * Refactor: Rename method * Add todo for using more generic keys for display strings * Refactor: Rename method * Fix wrong handling of registeredMediator Fix copy/paste error * Add mediatorNodeAddress to trade * Handle nullable mediator in ProcessOfferAvailabilityResponse We do not get the mediator set from old clients but we expect a not null value so we use the DisputeResolverSelection in case it is null. We need to pass mediatorManager and tradeStatisticsManager to the OfferAvailabilityModel. * Change log level, cleanup * Revert changes in OfferPayload due backward compatibility issues Because of backward compatibility issues we needed to revert the removal of arbitratorNodeAddresses and mediatorNodeAddresses. The signature check for the offer would fail as an old client would send a not-empty list but new clients would have had an empty list, so the hash would be different and the sig check fail and we would not accept that offer. That is the reason why we still need to support those data even it is not used anymore. This is one of the more tricky cases for backward compatibility issues. This version now is tested between new and old clients and trade and disputes work. * Add checks if any mediator is available * Cleanup classes * Fix test * Add mediator DisputeStates Add isMediationDispute to Dispute class. If a dispute opening gets requested we check if state is DisputeState.NO_DISPUTE and the open mediation. If state is DisputeState.MEDIATION_REQUESTED we open arbitration. * Cleanup; support isMediationDispute * Handle mediator data in Dispute domain - Add getConflictResolverNodeAddress method to Dispute to resolve arbitrator or mediator address based on isMediationDispute flag. - Rename arbitratorPubKeyRing to conflictResolverPubKeyRing in Dispute. We cannot rename arbitratorPubKeyRing in the protobuf definition as it would break backward compatibility. * Add support for mediation in dispute domain - Add isMediationDispute method to ChatSession - Add isMediationDispute method to DisputeCommunicationMessage - Add isMediationDispute to dispute id - Refactor findDispute method - Add null checks - Cleanups * Remove impossible case Reserved and locked funds are used for offers and trades only. * Fix typos * Handle mediator and arbitrator strings - Work in progress of adjusting correct terms. - Cleanups * Refactor: Rename arbitrator package to disputeresolvers * Refactor: Rename ArbitratorDisputeView classes to DisputeResolverView * Add support for close ticket from mediator (WIP) In mediator case we do not create any transaction but only send the dispute result which contains the mediators recommended payout distribution. At teh traders we set the disputeState in the trade to closed. This will be used in the next commits to update the trade so that the traders get displayed the recommended payout and get asked if they agree to that. * Refactoring: Rename class Rename MessageDeliveryFailedException to DisputeMessageDeliveryFailedException * Refactoring: Move dispute classes to dispute package * Refactoring: Move Attachment class to dispute package * Refactoring: Move package one level up Move bisq.core.dispute.arbitration.messages to bisq.core.dispute.messages * Add todo comment * Use ARBITRATION instead of DISPUTE * Make DisputeManager abstract base class for ArbitrationDisputeManager WIP for separating DisputeManager to ArbitrationDisputeManager and MediationDisputeManager * Add MediationDisputeManager * Add MediationDisputeManager and ArbitrationDisputeManager to test * Add mediationDisputeManager to relevant classes There are some cases where arbitrationDisputeManager only is used. Those are usually related to the payout tx. As mediators do not do a payout we don't need it there. * Add TradersArbitrationDisputeView and TradersMediationDisputeView WIP for separating TraderDisputeView * Refactor: Rename class * Refactor: Rename support.tab.support to support.tab.mediation.support I am aware that committing non default translation files is not recommended, but I think in that case it helps to avoid to show errors for developers who use non-english locale. The changes will be overwritten by transifex once it gets synced... * Add DisputeView as common base class Further refactor separation of diff. dispute views * Refactor: Rename package * Refactor: Rename DisputesView to SupportView * Refactor: Rename package * Add MediationDisputeManager to CorePersistedDataHost * Add MediationDisputeList as db file, refactor DisputeList WIP for making Dispute domain more generic. We want to separate arbitration and mediation clearly. * Further refactoring to split mediation and arbitration * Further refactoring to split mediation and arbitration Move methods used for arbitration only to ArbitrationDisputeManager * Refactor: Rename package Rename bisq.core.dispute to bisq.core.support No other changes in that commit. We want to improve the data structure with the trader chat. Support will be the top level. Then dispute containing arbitration and mediation. Next to dispute will be trader chat. bisq.core.support bisq.core.support.dispute.arbitration bisq.core.support.dispute.mediation bisq.core.support.traderchat (not happy with name for that yet) * Refactor: Move dispute domain classes into isq.core.support.dispute package * Refactor: Move classes Move bisq.core.chat.ChatSession to bisq.core.support.ChatSession Move bisq.core.chat.ChatManager to bisq.core.support.ChatManager Move bisq.core.trade.TradeChatSession to bisq.core.support.traderchat.TradeChatSession * Refactor: Move DisputeCommunicationMessage * Refactor: Rename DisputeCommunicationMessage to ChatMessage * Add comments * Refactor: Move class * Refactor: Rename class * Refactor: Rename addDisputeCommunicationMessage and strings and variables Rename disputeCommunicationMessage to chatMessage * Refactor: Rename method * Refactor: Rename methods and strings * Add ArbitrationChatMessage and DisputeChatMessage * Refactor: Rename class * Move ChatMessage.Type to SupportType Add to all supportMessages the SupportType so that we can filter in our chatSessions the messages we are interested in. * Refactor: Move classed to new package * Refactor: Rename package * Refactor: Move classed to new package * Refactor: Move classed to new package * Refactor: Rename classes * Refactor: Rename package * Refactor: Rename classes * Refactor: Rename classes * Remove empty DisputeModule * Refactor: Rename classes * Refactor SupportManager domain (WIP) * Refactor SupportSession domain (WIP) * Remove methods from SupportSession * Dont expose p2pService in SupportManager * Remove supportType in SupportSession * Remove supportSession from getPeerNodeAddress method * Remove isBuyer from supportSession * Move creation of ChatMessage to SupportManager * Remove isMediationDispute fielf in ChatMessage * Remove chatMessage.isMediationDispute() * Refactor: Rename trade.getCommunicationMessages() * Move creation of ChatMessage to Chat * Refactor: Rename class * Refactor: Move ChatView class * Refactor: Move PriceFeedComboBoxItem class to shared package * Refactor: Use 'public abstract' instead of 'abstract public' * Refactor: Use 'protected abstract' instead of 'abstract protected' * Add traderChatManager.onAllServicesInitialized() to BisqSetup * Remove unused param * Refactor: Rename addChatMessage to addAndPersistChatMessage * Fix missing check at ack msg handling Various WIP refactorings/improvements * Remove addAndPersistChatMessage from SupportSession * Remove disputeManager from DisputeSession * Fix missing getConcreteDisputeChatSession impl. * Refactor: Rename package * Refactor: Rename classes Avoid trader as it might confuse with trader chat. As for mediation/arbitration the agent (mediator/arbitrator) are acting a bit like a server we use the client terminology for the traders. * Refactor: Move classes to new package * Fix missing protobuf data - Add missing SupportType to protobuf - Remove is_mediation_dispute from Dispute protobuf definition - Add getAgentNodeAddress method - Var. other refactorings, cleanups * Clone list at persisting to avoid ConcurrentModificationException * Fix order of SupportType Old clients fall back to enum at slot 0. * Add getDisputeState_StartedByPeer template method * Add trade protocol tasks for mediation result tx signing and msg sending * Complete protocol tasks for mediation * Refactor: Remove unneeded SuppressWarnings type: "WeakerAccess" * Complete mediation result protocol Works now all but not much tested.... * Add activation date and capability We need to make sure that not updated users cannot cause problems once mediation is supported. We would get mixed cases where one has a mediation ticket and the not updated user an arbitration ticket. To avoid that we set an activation date with about 10 days from release. Until that date mediation is not supported. Additionally we use OfferRestrictions.REQUIRE_UPDATE_DATE for hiding offers from users how have not updated (we use the fact that mediator and arbitrator has been same in old version, in new version they are different). An old client cannot take an offer from a new maker as he does not has set the new MEDIATION capability. He will get an null value as AvailabilityResult as he has not the new entry MISSING_MANDATORY_CAPABILITY. We will also use the min version for trading in the filter, so that not updated users get a popup telling them to update and they see all offers deactivated. * Various fixes * Remove code part which does not make sense (anymore) Maybe in older versions there was use of openDisputes and closedDisputes but now it does not make sense anymore and arbitrator never gets 4 cases opened if offline. * Add check of balance is > 0 * Only close trade if payout tx is set * Add missing check if arbitrator and mediator are available * Fix wrong key * Improve handling of checks and popup display For create and take offer we check certain conditions and show a popup if not met. This commit moves that to GuiUtils. * Rename any occurrance of DisputeResolver to DisputeAgent * Fix handling of mediatorPubKeyRing * Remove disputeSummaryWindow.evidence fields * Add missing persistence for MediationResultState * Fix tests * Make text more compact to not exceed space * Refactor NotificationGroup * Improve text, add dev testing feature for popups * Improve text * Renamed a key and assigned a new text * Fix states * Do not set errorMessage Do not set errorMessage if both peers have opened a dispute and agent was not online * Remove logs used for dev testing * Fix getMedian method with empty list * Add new methods and tests Add fromCommaSeparatedOrdinals and toCommaSeparatedOrdinals to convert from string representations (used for handling backward compatibility with mediation release). Add check if int >= 0 to fromIntList * Move error log outside of delayed call * Add capabilities entry to extraDataMap in offer The previous implementation did not work for supporting updates and hiding offers from not updated clients. We use now the capabilities converted to a string list and put it into the extraDataMap. If a use with old persisted offers updates his offers gets converted to add the capabilities. Updated clients will ignore offers without the mediation capability set in the offer. * Rename non sync protobuf definitions As Christoph Sturm pointed out we can rename protobuf entries. Only index number must not be changed. * Fix UI state when arbitration has started Only set mediation state if we are not in arbitration state. * Remove restriction * Fix typo; remove errorMessage If both have opened a dispute and agent was not online we dont treat it as error. * Improve text * Store full address for localhost dev testing The arbitrator/mediator selection is based on statistics of usage of agents in past trades. We put the first 4 chars into the trade statistics, but for localhost that would be same vale for 2 diff nodes. * Remove errorMessage If both have opened a dispute and agent was not online we dont treat it as error. * Improve text * Keep accept or reject button enabled after accept - If peer never accepts the trader who has accepted first can change to reject to open a arbitration dispute. We could improve that by adding a new state to open arbitration directly and show a diff. button text and popup. But I think for now thats ok as well.... * Cleanups (no functional change) - remove unused params - remove not used code - reformat - clean up comments - fix log levels - remove redundant annotations * Update core/src/main/resources/i18n/displayStrings.properties Co-Authored-By: Steve Jain * Update core/src/main/resources/i18n/displayStrings.properties Co-Authored-By: Steve Jain * Update core/src/main/resources/i18n/displayStrings.properties Co-Authored-By: Steve Jain * Update core/src/main/resources/i18n/displayStrings.properties Co-Authored-By: Steve Jain * Update core/src/main/resources/i18n/displayStrings.properties Co-Authored-By: Steve Jain * Update core/src/main/resources/i18n/displayStrings.properties Co-Authored-By: Steve Jain * Update core/src/main/resources/i18n/displayStrings.properties Co-Authored-By: Steve Jain * Update core/src/main/resources/i18n/displayStrings.properties Co-Authored-By: Steve Jain * Update core/src/main/resources/i18n/displayStrings.properties Co-Authored-By: Steve Jain * Update core/src/main/resources/i18n/displayStrings.properties Co-Authored-By: Steve Jain * Improve text * Auto fill remaining amount in custom payout If mediator or arbitrator are doing a custom payout, we auto-fill counterpart field with remaining amount, so he does not need to calculate. --- .idea/codeStyles/codeStyleConfig.xml | 1 + .../java/bisq/common/app/Capabilities.java | 50 +- .../main/java/bisq/common/app/Capability.java | 6 +- .../src/main/java/bisq/common/app/DevEnv.java | 1 - .../java/bisq/common/taskrunner/Task.java | 2 +- .../main/java/bisq/common/util/MathUtils.java | 6 +- common/src/main/proto/pb.proto | 96 +- .../bisq/common/app/CapabilitiesTest.java | 50 +- core/src/main/java/bisq/core/CoreModule.java | 6 - .../account/sign/SignedWitnessService.java | 18 +- core/src/main/java/bisq/core/alert/Alert.java | 8 +- .../java/bisq/core/app/BisqExecutable.java | 4 +- .../main/java/bisq/core/app/BisqSetup.java | 42 +- .../app/misc/ExecutableForAppWithP2p.java | 2 +- .../core/app/misc/ModuleForAppWithP2p.java | 6 - .../core/arbitration/ArbitratorManager.java | 375 ------- .../core/arbitration/ArbitratorService.java | 123 --- .../core/arbitration/DisputeChatSession.java | 177 ---- .../bisq/core/arbitration/DisputeManager.java | 929 ------------------ .../core/btc/wallet/TradeWalletService.java | 121 ++- .../main/java/bisq/core/chat/ChatManager.java | 219 ----- .../main/java/bisq/core/chat/ChatSession.java | 66 -- .../dao/governance/bond/BondRepository.java | 6 +- .../main/java/bisq/core/dao/node/BsqNode.java | 2 +- .../main/java/bisq/core/filter/Filter.java | 20 +- .../alerts/DisputeMsgEvents.java | 28 +- .../bisq/core/offer/AvailabilityResult.java | 3 +- core/src/main/java/bisq/core/offer/Offer.java | 11 +- .../bisq/core/offer/OfferBookService.java | 32 +- .../java/bisq/core/offer/OfferPayload.java | 18 +- .../bisq/core/offer/OfferRestrictions.java | 28 +- .../main/java/bisq/core/offer/OfferUtil.java | 26 +- .../main/java/bisq/core/offer/OpenOffer.java | 23 +- .../bisq/core/offer/OpenOfferManager.java | 212 +++- ...ection.java => DisputeAgentSelection.java} | 58 +- .../availability/OfferAvailabilityModel.java | 21 +- .../ProcessOfferAvailabilityResponse.java | 51 +- .../messages/OfferAvailabilityRequest.java | 2 + .../messages/OfferAvailabilityResponse.java | 25 +- .../offer/placeoffer/PlaceOfferModel.java | 2 +- .../placeoffer/tasks/CreateMakerFeeTx.java | 8 +- .../offer/placeoffer/tasks/ValidateOffer.java | 2 - .../CountryBasedPaymentAccountPayload.java | 4 +- .../payload/PaymentAccountPayload.java | 4 +- .../presentation/CorePresentationModule.java | 2 +- .../presentation/DisputePresentation.java | 49 - .../SupportTicketsPresentation.java | 78 ++ .../java/bisq/core/proto/ProtoDevUtil.java | 2 +- .../network/CoreNetworkProtoResolver.java | 24 +- .../CorePersistenceProtoResolver.java | 11 +- .../core/setup/CoreNetworkCapabilities.java | 5 +- .../core/setup/CorePersistedDataHost.java | 6 +- .../bisq/core/support/SupportManager.java | 320 ++++++ .../bisq/core/support/SupportSession.java | 56 ++ .../SupportType.java} | 24 +- .../dispute}/Attachment.java | 2 +- .../dispute}/Dispute.java | 55 +- .../dispute}/DisputeAlreadyOpenException.java | 2 +- .../dispute}/DisputeList.java | 52 +- .../support/dispute/DisputeListService.java | 190 ++++ .../core/support/dispute/DisputeManager.java | 701 +++++++++++++ ...isputeMessageDeliveryFailedException.java} | 6 +- .../dispute}/DisputeResult.java | 18 +- .../core/support/dispute/DisputeSession.java | 79 ++ .../support/dispute/agent/DisputeAgent.java | 113 +++ .../dispute/agent/DisputeAgentManager.java | 338 +++++++ .../dispute/agent/DisputeAgentService.java | 121 +++ .../arbitration/ArbitrationDisputeList.java | 83 ++ .../ArbitrationDisputeListService.java | 48 + .../arbitration/ArbitrationManager.java | 390 ++++++++ .../arbitration/ArbitrationSession.java | 33 + .../dispute}/arbitration/BuyerDataItem.java | 3 +- .../arbitration/arbitrator}/Arbitrator.java | 82 +- .../arbitrator/ArbitratorManager.java | 103 ++ .../arbitrator/ArbitratorService.java | 61 ++ .../messages/ArbitrationMessage.java | 27 + .../PeerPublishedDisputePayoutTxMessage.java | 27 +- .../mediation/MediationDisputeList.java | 82 ++ .../MediationDisputeListService.java | 48 + .../dispute/mediation/MediationManager.java | 251 +++++ .../mediation/MediationResultState.java | 46 + .../dispute/mediation/MediationSession.java | 33 + .../dispute/mediation/mediator}/Mediator.java | 68 +- .../mediation/mediator/MediatorManager.java | 101 ++ .../mediation/mediator/MediatorService.java | 66 ++ .../dispute/messages/DisputeMessage.java | 28 + .../messages/DisputeResultMessage.java | 23 +- .../messages/OpenNewDisputeMessage.java | 23 +- .../messages/PeerOpenedDisputeMessage.java | 23 +- .../messages/ChatMessage.java} | 149 +-- .../messages/SupportMessage.java} | 13 +- .../support/traderchat/TradeChatSession.java | 73 ++ .../support/traderchat/TraderChatManager.java | 187 ++++ .../bisq/core/trade/BuyerAsMakerTrade.java | 15 +- .../bisq/core/trade/BuyerAsTakerTrade.java | 15 +- .../main/java/bisq/core/trade/BuyerTrade.java | 24 +- .../main/java/bisq/core/trade/Contract.java | 25 + .../bisq/core/trade/SellerAsMakerTrade.java | 4 +- .../bisq/core/trade/SellerAsTakerTrade.java | 15 +- .../java/bisq/core/trade/SellerTrade.java | 24 +- core/src/main/java/bisq/core/trade/Trade.java | 134 +-- .../bisq/core/trade/TradeChatSession.java | 214 ---- .../java/bisq/core/trade/TradeManager.java | 30 +- .../MediatedPayoutTxPublishedMessage.java | 91 ++ .../MediatedPayoutTxSignatureMessage.java | 99 ++ .../trade/messages/PayDepositRequest.java | 4 +- .../protocol/ArbitratorSelectionRule.java | 51 - .../trade/protocol/BuyerAsMakerProtocol.java | 13 +- .../trade/protocol/BuyerAsTakerProtocol.java | 8 +- .../trade/protocol/MediatorSelectionRule.java | 53 - .../core/trade/protocol/ProcessModel.java | 23 +- .../trade/protocol/SellerAsMakerProtocol.java | 11 +- .../trade/protocol/SellerAsTakerProtocol.java | 6 +- .../core/trade/protocol/TradeProtocol.java | 125 ++- .../bisq/core/trade/protocol/TradingPeer.java | 6 + .../trade/protocol/tasks/ApplyFilter.java | 2 +- .../protocol/tasks/BroadcastPayoutTx.java | 85 ++ .../tasks/PublishTradeStatistics.java | 12 +- .../tasks/SendPayoutTxPublishedMessage.java | 98 ++ .../protocol/tasks/SetupPayoutTxListener.java | 124 +++ .../tasks/VerifyPeersAccountAgeWitness.java | 2 +- .../BuyerProcessPayoutTxPublishedMessage.java | 2 +- ...CounterCurrencyTransferStartedMessage.java | 2 +- .../buyer/BuyerSetupPayoutTxListener.java | 85 +- .../BuyerAsMakerCreatesAndSignsDepositTx.java | 4 +- .../BuyerAsMakerSignPayoutTx.java | 9 +- .../BuyerAsTakerCreatesDepositTxInputs.java | 2 +- .../BuyerAsTakerSignAndPublishDepositTx.java | 4 +- .../maker/MakerCreateAndSignContract.java | 2 +- ...MakerProcessDepositTxPublishedMessage.java | 2 +- .../maker/MakerProcessPayDepositRequest.java | 38 +- .../MakerSendPublishDepositTxRequest.java | 2 +- .../maker/MakerSetupDepositTxListener.java | 2 +- .../tasks/maker/MakerVerifyTakerAccount.java | 2 +- .../maker/MakerVerifyTakerFeePayment.java | 2 +- .../BroadcastMediatedPayoutTx.java} | 29 +- .../mediation/FinalizeMediatedPayoutTx.java | 121 +++ ...ProcessMediatedPayoutSignatureMessage.java | 61 ++ ...ocessMediatedPayoutTxPublishedMessage.java | 77 ++ .../SendMediatedPayoutSignatureMessage.java | 101 ++ .../SendMediatedPayoutTxPublishedMessage.java | 85 ++ .../SetupMediatedPayoutTxListener.java | 54 + .../tasks/mediation/SignMediatedPayoutTx.java | 110 +++ .../tasks/seller/SellerBroadcastPayoutTx.java | 53 +- ...CounterCurrencyTransferStartedMessage.java | 2 +- .../SellerSendPayoutTxPublishedMessage.java | 93 +- .../seller/SellerSignAndFinalizePayoutTx.java | 2 +- .../seller/SellerVerifiesPeersAccountAge.java | 2 +- ...SellerAsMakerCreatesAndSignsDepositTx.java | 4 +- .../SellerAsTakerCreatesDepositTxInputs.java | 2 +- .../SellerAsTakerSignAndPublishDepositTx.java | 4 +- .../tasks/taker/CreateTakerFeeTx.java | 8 +- .../TakerProcessPublishDepositTxRequest.java | 2 +- .../tasks/taker/TakerPublishFeeTx.java | 2 +- .../tasks/taker/TakerSelectMediator.java | 65 -- .../TakerSendDepositTxPublishedMessage.java | 2 +- .../taker/TakerSendPayDepositRequest.java | 3 +- .../taker/TakerVerifyAndSignContract.java | 2 +- .../tasks/taker/TakerVerifyMakerAccount.java | 2 +- .../taker/TakerVerifyMakerFeePayment.java | 2 +- .../trade/statistics/TradeStatistics2.java | 1 + core/src/main/java/bisq/core/user/User.java | 12 +- .../main/java/bisq/core/user/UserPayload.java | 6 +- .../resources/i18n/displayStrings.properties | 260 +++-- .../i18n/displayStrings_de.properties | 4 +- .../i18n/displayStrings_el.properties | 4 +- .../i18n/displayStrings_es.properties | 4 +- .../i18n/displayStrings_fa.properties | 4 +- .../i18n/displayStrings_fr.properties | 4 +- .../i18n/displayStrings_ja.properties | 4 +- .../i18n/displayStrings_pt.properties | 4 +- .../i18n/displayStrings_ru.properties | 4 +- .../i18n/displayStrings_th.properties | 4 +- .../i18n/displayStrings_vi.properties | 4 +- .../i18n/displayStrings_zh.properties | 4 +- .../sign/SignedWitnessServiceTest.java | 8 +- .../arbitration/ArbitratorManagerTest.java | 23 +- .../bisq/core/arbitration/ArbitratorTest.java | 2 + .../core/arbitration/BuyerDataItemTest.java | 1 + .../bisq/core/arbitration/MediatorTest.java | 2 + .../bisq/core/offer/OpenOfferManagerTest.java | 9 +- .../availability/ArbitratorSelectionTest.java | 18 +- .../core/user/UserPayloadModelVOTest.java | 20 +- .../GeneralAccountNumberForm.java | 2 +- .../paymentmethods/PaymentMethodForm.java | 6 +- .../main/java/bisq/desktop/main/MainView.java | 13 +- .../java/bisq/desktop/main/MainViewModel.java | 18 +- .../desktop/main/account/AccountView.java | 46 +- .../AgentRegistrationView.java} | 50 +- .../AgentRegistrationViewModel.java} | 114 +-- .../ArbitratorRegistrationView.fxml | 2 +- .../ArbitratorRegistrationView.java | 45 + .../ArbitratorRegistrationViewModel.java | 71 ++ .../mediator/MediatorRegistrationView.fxml | 27 + .../mediator/MediatorRegistrationView.java | 45 + .../MediatorRegistrationViewModel.java | 67 ++ .../main/dao/bonding/BondingViewUtils.java | 8 +- .../dao/governance/make/MakeProposalView.java | 8 +- .../main/dao/wallet/send/BsqSendView.java | 8 +- .../bisq/desktop/main/debug/DebugView.java | 2 - .../desktop/main/disputes/DisputesView.java | 166 ---- .../desktop/main/funds/locked/LockedView.java | 2 - .../main/funds/reserved/ReservedView.java | 2 - .../TransactionAwareTradableFactory.java | 10 +- .../transactions/TransactionAwareTrade.java | 12 +- .../transactions/TransactionsListItem.java | 2 +- .../funds/transactions/TransactionsView.java | 4 +- .../main/funds/withdrawal/WithdrawalView.java | 4 +- .../bisq/desktop/main/offer/BuyOfferView.java | 19 +- .../main/offer/MutableOfferDataModel.java | 23 +- .../desktop/main/offer/MutableOfferView.java | 34 +- .../main/offer/MutableOfferViewModel.java | 26 +- .../bisq/desktop/main/offer/OfferView.java | 49 +- .../desktop/main/offer/SellOfferView.java | 19 +- .../createoffer/CreateOfferDataModel.java | 7 +- .../createoffer/CreateOfferViewModel.java | 29 +- .../main/offer/offerbook/OfferBookView.java | 62 +- .../offer/offerbook/OfferBookViewModel.java | 16 +- .../offer/takeoffer/TakeOfferDataModel.java | 38 +- .../main/offer/takeoffer/TakeOfferView.java | 34 +- .../offer/takeoffer/TakeOfferViewModel.java | 12 - .../overlays/notifications/Notification.java | 4 + .../notifications/NotificationCenter.java | 80 +- .../main/overlays/windows/ContractWindow.java | 34 +- .../windows/DisputeSummaryWindow.java | 202 ++-- .../overlays/windows/EmptyWalletWindow.java | 4 +- .../main/overlays/windows/FilterWindow.java | 12 +- .../windows/ManualPayoutTxWindow.java | 4 +- .../overlays/windows/OfferDetailsWindow.java | 17 +- .../overlays/windows/TradeDetailsWindow.java | 28 +- ...UnlockDisputeAgentRegistrationWindow.java} | 6 +- .../closedtrades/ClosedTradesViewModel.java | 10 +- .../editoffer/EditOfferDataModel.java | 7 +- .../editoffer/EditOfferViewModel.java | 29 +- .../portfolio/openoffer/OpenOffersView.java | 24 +- .../openoffer/OpenOffersViewModel.java | 5 +- .../portfolio/pendingtrades/BuyerSubView.java | 5 + .../pendingtrades/PendingTradesDataModel.java | 328 ++++--- .../pendingtrades/PendingTradesView.java | 63 +- .../pendingtrades/SellerSubView.java | 7 +- .../pendingtrades/TradeStepInfo.java | 196 ++++ .../portfolio/pendingtrades/TradeSubView.java | 80 +- .../pendingtrades/steps/TradeStepView.java | 422 +++++--- .../steps/buyer/BuyerStep1View.java | 5 +- .../steps/buyer/BuyerStep2View.java | 37 +- .../steps/buyer/BuyerStep3View.java | 8 +- .../steps/buyer/BuyerStep4View.java | 43 +- .../steps/seller/SellerStep1View.java | 5 +- .../steps/seller/SellerStep2View.java | 5 +- .../steps/seller/SellerStep3View.java | 23 +- .../presentation/MarketPricePresentation.java | 3 +- .../preferences/PreferencesViewModel.java | 6 +- .../{Chat/Chat.java => shared/ChatView.java} | 202 ++-- .../{ => shared}/PriceFeedComboBoxItem.java | 2 +- .../SupportView.fxml} | 5 +- .../desktop/main/support/SupportView.java | 227 +++++ .../dispute/DisputeView.java} | 101 +- .../dispute/agent/DisputeAgentView.java} | 54 +- .../agent/arbitration/ArbitratorView.fxml} | 3 +- .../agent/arbitration/ArbitratorView.java | 78 ++ .../agent/mediation/MediatorView.fxml} | 3 +- .../dispute/agent/mediation/MediatorView.java | 78 ++ .../dispute/client/DisputeClientView.java | 58 ++ .../arbitration/ArbitrationClientView.fxml | 29 + .../arbitration/ArbitrationClientView.java | 70 ++ .../client/mediation/MediationClientView.fxml | 28 + .../client/mediation/MediationClientView.java | 70 ++ .../main/java/bisq/desktop/util/GUIUtil.java | 103 +- .../java/bisq/desktop/GuiceSetupTest.java | 18 + .../TransactionAwareTradableFactoryTest.java | 6 +- .../TransactionAwareTradeTest.java | 12 +- .../createoffer/CreateOfferDataModelTest.java | 2 +- .../createoffer/CreateOfferViewModelTest.java | 9 +- .../offerbook/OfferBookViewModelTest.java | 34 +- .../editoffer/EditOfferDataModelTest.java | 2 +- .../preferences/PreferencesViewModelTest.java | 6 +- .../metric/P2PSeedNodeSnapshotBase.java | 6 +- .../network/p2p/AckMessageSourceType.java | 4 +- .../bisq/network/p2p/BootstrapListener.java | 2 +- .../bisq/network/p2p/network/NetworkNode.java | 4 +- .../storage/persistence/MapStoreService.java | 4 +- .../p2p/storage/persistence/StoreService.java | 4 +- 282 files changed, 9184 insertions(+), 4828 deletions(-) delete mode 100644 core/src/main/java/bisq/core/arbitration/ArbitratorManager.java delete mode 100644 core/src/main/java/bisq/core/arbitration/ArbitratorService.java delete mode 100644 core/src/main/java/bisq/core/arbitration/DisputeChatSession.java delete mode 100644 core/src/main/java/bisq/core/arbitration/DisputeManager.java delete mode 100644 core/src/main/java/bisq/core/chat/ChatManager.java delete mode 100644 core/src/main/java/bisq/core/chat/ChatSession.java rename core/src/main/java/bisq/core/offer/availability/{ArbitratorSelection.java => DisputeAgentSelection.java} (50%) delete mode 100644 core/src/main/java/bisq/core/presentation/DisputePresentation.java create mode 100644 core/src/main/java/bisq/core/presentation/SupportTicketsPresentation.java create mode 100644 core/src/main/java/bisq/core/support/SupportManager.java create mode 100644 core/src/main/java/bisq/core/support/SupportSession.java rename core/src/main/java/bisq/core/{arbitration/ArbitratorModule.java => support/SupportType.java} (57%) rename core/src/main/java/bisq/core/{arbitration => support/dispute}/Attachment.java (97%) rename core/src/main/java/bisq/core/{arbitration => support/dispute}/Dispute.java (89%) rename core/src/main/java/bisq/core/{arbitration => support/dispute}/DisputeAlreadyOpenException.java (95%) rename core/src/main/java/bisq/core/{arbitration => support/dispute}/DisputeList.java (59%) create mode 100644 core/src/main/java/bisq/core/support/dispute/DisputeListService.java create mode 100644 core/src/main/java/bisq/core/support/dispute/DisputeManager.java rename core/src/main/java/bisq/core/{arbitration/MessageDeliveryFailedException.java => support/dispute/DisputeMessageDeliveryFailedException.java} (81%) rename core/src/main/java/bisq/core/{arbitration => support/dispute}/DisputeResult.java (91%) create mode 100644 core/src/main/java/bisq/core/support/dispute/DisputeSession.java create mode 100644 core/src/main/java/bisq/core/support/dispute/agent/DisputeAgent.java create mode 100644 core/src/main/java/bisq/core/support/dispute/agent/DisputeAgentManager.java create mode 100644 core/src/main/java/bisq/core/support/dispute/agent/DisputeAgentService.java create mode 100644 core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationDisputeList.java create mode 100644 core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationDisputeListService.java create mode 100644 core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationManager.java create mode 100644 core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationSession.java rename core/src/main/java/bisq/core/{ => support/dispute}/arbitration/BuyerDataItem.java (94%) rename core/src/main/java/bisq/core/{arbitration => support/dispute/arbitration/arbitrator}/Arbitrator.java (59%) create mode 100644 core/src/main/java/bisq/core/support/dispute/arbitration/arbitrator/ArbitratorManager.java create mode 100644 core/src/main/java/bisq/core/support/dispute/arbitration/arbitrator/ArbitratorService.java create mode 100644 core/src/main/java/bisq/core/support/dispute/arbitration/messages/ArbitrationMessage.java rename core/src/main/java/bisq/core/{ => support/dispute}/arbitration/messages/PeerPublishedDisputePayoutTxMessage.java (78%) create mode 100644 core/src/main/java/bisq/core/support/dispute/mediation/MediationDisputeList.java create mode 100644 core/src/main/java/bisq/core/support/dispute/mediation/MediationDisputeListService.java create mode 100644 core/src/main/java/bisq/core/support/dispute/mediation/MediationManager.java create mode 100644 core/src/main/java/bisq/core/support/dispute/mediation/MediationResultState.java create mode 100644 core/src/main/java/bisq/core/support/dispute/mediation/MediationSession.java rename core/src/main/java/bisq/core/{arbitration => support/dispute/mediation/mediator}/Mediator.java (63%) create mode 100644 core/src/main/java/bisq/core/support/dispute/mediation/mediator/MediatorManager.java create mode 100644 core/src/main/java/bisq/core/support/dispute/mediation/mediator/MediatorService.java create mode 100644 core/src/main/java/bisq/core/support/dispute/messages/DisputeMessage.java rename core/src/main/java/bisq/core/{arbitration => support/dispute}/messages/DisputeResultMessage.java (80%) rename core/src/main/java/bisq/core/{arbitration => support/dispute}/messages/OpenNewDisputeMessage.java (81%) rename core/src/main/java/bisq/core/{arbitration => support/dispute}/messages/PeerOpenedDisputeMessage.java (80%) rename core/src/main/java/bisq/core/{arbitration/messages/DisputeCommunicationMessage.java => support/messages/ChatMessage.java} (72%) rename core/src/main/java/bisq/core/{arbitration/messages/DisputeMessage.java => support/messages/SupportMessage.java} (73%) create mode 100644 core/src/main/java/bisq/core/support/traderchat/TradeChatSession.java create mode 100644 core/src/main/java/bisq/core/support/traderchat/TraderChatManager.java delete mode 100644 core/src/main/java/bisq/core/trade/TradeChatSession.java create mode 100644 core/src/main/java/bisq/core/trade/messages/MediatedPayoutTxPublishedMessage.java create mode 100644 core/src/main/java/bisq/core/trade/messages/MediatedPayoutTxSignatureMessage.java delete mode 100644 core/src/main/java/bisq/core/trade/protocol/ArbitratorSelectionRule.java delete mode 100644 core/src/main/java/bisq/core/trade/protocol/MediatorSelectionRule.java create mode 100644 core/src/main/java/bisq/core/trade/protocol/tasks/BroadcastPayoutTx.java create mode 100644 core/src/main/java/bisq/core/trade/protocol/tasks/SendPayoutTxPublishedMessage.java create mode 100644 core/src/main/java/bisq/core/trade/protocol/tasks/SetupPayoutTxListener.java rename core/src/main/java/bisq/core/trade/protocol/tasks/{maker/MakerVerifyArbitratorSelection.java => mediation/BroadcastMediatedPayoutTx.java} (54%) create mode 100644 core/src/main/java/bisq/core/trade/protocol/tasks/mediation/FinalizeMediatedPayoutTx.java create mode 100644 core/src/main/java/bisq/core/trade/protocol/tasks/mediation/ProcessMediatedPayoutSignatureMessage.java create mode 100644 core/src/main/java/bisq/core/trade/protocol/tasks/mediation/ProcessMediatedPayoutTxPublishedMessage.java create mode 100644 core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SendMediatedPayoutSignatureMessage.java create mode 100644 core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SendMediatedPayoutTxPublishedMessage.java create mode 100644 core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SetupMediatedPayoutTxListener.java create mode 100644 core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SignMediatedPayoutTx.java delete mode 100644 core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerSelectMediator.java rename desktop/src/main/java/bisq/desktop/main/account/{arbitratorregistration/ArbitratorRegistrationView.java => register/AgentRegistrationView.java} (84%) rename desktop/src/main/java/bisq/desktop/main/account/{arbitratorregistration/ArbitratorRegistrationViewModel.java => register/AgentRegistrationViewModel.java} (55%) rename desktop/src/main/java/bisq/desktop/main/account/{arbitratorregistration => register/arbitrator}/ArbitratorRegistrationView.fxml (89%) create mode 100644 desktop/src/main/java/bisq/desktop/main/account/register/arbitrator/ArbitratorRegistrationView.java create mode 100644 desktop/src/main/java/bisq/desktop/main/account/register/arbitrator/ArbitratorRegistrationViewModel.java create mode 100644 desktop/src/main/java/bisq/desktop/main/account/register/mediator/MediatorRegistrationView.fxml create mode 100644 desktop/src/main/java/bisq/desktop/main/account/register/mediator/MediatorRegistrationView.java create mode 100644 desktop/src/main/java/bisq/desktop/main/account/register/mediator/MediatorRegistrationViewModel.java delete mode 100644 desktop/src/main/java/bisq/desktop/main/disputes/DisputesView.java rename desktop/src/main/java/bisq/desktop/main/overlays/windows/{UnlockArbitrationRegistrationWindow.java => UnlockDisputeAgentRegistrationWindow.java} (94%) create mode 100644 desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeStepInfo.java rename desktop/src/main/java/bisq/desktop/main/{Chat/Chat.java => shared/ChatView.java} (80%) rename desktop/src/main/java/bisq/desktop/main/{ => shared}/PriceFeedComboBoxItem.java (97%) rename desktop/src/main/java/bisq/desktop/main/{disputes/DisputesView.fxml => support/SupportView.fxml} (83%) create mode 100644 desktop/src/main/java/bisq/desktop/main/support/SupportView.java rename desktop/src/main/java/bisq/desktop/main/{disputes/trader/TraderDisputeView.java => support/dispute/DisputeView.java} (92%) rename desktop/src/main/java/bisq/desktop/main/{disputes/arbitrator/ArbitratorDisputeView.java => support/dispute/agent/DisputeAgentView.java} (63%) rename desktop/src/main/java/bisq/desktop/main/{disputes/trader/TraderDisputeView.fxml => support/dispute/agent/arbitration/ArbitratorView.fxml} (90%) create mode 100644 desktop/src/main/java/bisq/desktop/main/support/dispute/agent/arbitration/ArbitratorView.java rename desktop/src/main/java/bisq/desktop/main/{disputes/arbitrator/ArbitratorDisputeView.fxml => support/dispute/agent/mediation/MediatorView.fxml} (90%) create mode 100644 desktop/src/main/java/bisq/desktop/main/support/dispute/agent/mediation/MediatorView.java create mode 100644 desktop/src/main/java/bisq/desktop/main/support/dispute/client/DisputeClientView.java create mode 100644 desktop/src/main/java/bisq/desktop/main/support/dispute/client/arbitration/ArbitrationClientView.fxml create mode 100644 desktop/src/main/java/bisq/desktop/main/support/dispute/client/arbitration/ArbitrationClientView.java create mode 100644 desktop/src/main/java/bisq/desktop/main/support/dispute/client/mediation/MediationClientView.fxml create mode 100644 desktop/src/main/java/bisq/desktop/main/support/dispute/client/mediation/MediationClientView.java diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml index 79ee123c2b2..6e6eec11483 100644 --- a/.idea/codeStyles/codeStyleConfig.xml +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -1,5 +1,6 @@ \ No newline at end of file diff --git a/common/src/main/java/bisq/common/app/Capabilities.java b/common/src/main/java/bisq/common/app/Capabilities.java index d87af5cd648..7af63477c0a 100644 --- a/common/src/main/java/bisq/common/app/Capabilities.java +++ b/common/src/main/java/bisq/common/app/Capabilities.java @@ -17,10 +17,14 @@ package bisq.common.app; +import com.google.common.base.Joiner; + import java.util.Arrays; import java.util.Collection; +import java.util.Comparator; import java.util.HashSet; import java.util.List; +import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; @@ -43,7 +47,7 @@ public class Capabilities { // Defines which most recent capability any node need to support. // This helps to clean network from very old inactive but still running nodes. - private static final Capability mandatoryCapability = Capability.DAO_STATE; + private static final Capability MANDATORY_CAPABILITY = Capability.DAO_STATE; protected final Set capabilities = new HashSet<>(); @@ -101,7 +105,7 @@ public boolean isEmpty() { * @return int list of Capability ordinals */ public static List toIntList(Capabilities capabilities) { - return capabilities.capabilities.stream().map(capability -> capability.ordinal()).sorted().collect(Collectors.toList()); + return capabilities.capabilities.stream().map(Enum::ordinal).sorted().collect(Collectors.toList()); } /** @@ -113,11 +117,46 @@ public static List toIntList(Capabilities capabilities) { public static Capabilities fromIntList(List capabilities) { return new Capabilities(capabilities.stream() .filter(integer -> integer < Capability.values().length) + .filter(integer -> integer >= 0) .map(integer -> Capability.values()[integer]) .collect(Collectors.toSet())); } + /** + * + * @param list Comma separated list of Capability ordinals. + * @return Capabilities + */ + public static Capabilities fromStringList(String list) { + if (list == null || list.isEmpty()) + return new Capabilities(); + + List entries = List.of(list.replace(" ", "").split(",")); + List capabilitiesList = entries.stream() + .map(c -> { + try { + return Integer.parseInt(c); + } catch (Throwable e) { + return null; + } + }) + .filter(Objects::nonNull) + .collect(Collectors.toList()); + return Capabilities.fromIntList(capabilitiesList); + } + + /** + * @return Converts capabilities to list of ordinals as comma separated strings + */ + public String toStringList() { + return Joiner.on(", ").join(Capabilities.toIntList(this)); + } + public static boolean hasMandatoryCapability(Capabilities capabilities) { + return hasMandatoryCapability(capabilities, MANDATORY_CAPABILITY); + } + + public static boolean hasMandatoryCapability(Capabilities capabilities, Capability mandatoryCapability) { return capabilities.capabilities.stream().anyMatch(c -> c == mandatoryCapability); } @@ -126,6 +165,13 @@ public String toString() { return Arrays.toString(Capabilities.toIntList(this).toArray()); } + public String prettyPrint() { + return capabilities.stream() + .sorted(Comparator.comparingInt(Enum::ordinal)) + .map(e -> e.name() + " [" + e.ordinal() + "]") + .collect(Collectors.joining(", ")); + } + public int size() { return capabilities.size(); } diff --git a/common/src/main/java/bisq/common/app/Capability.java b/common/src/main/java/bisq/common/app/Capability.java index 9dcc8ae989c..8d18736f7b9 100644 --- a/common/src/main/java/bisq/common/app/Capability.java +++ b/common/src/main/java/bisq/common/app/Capability.java @@ -20,7 +20,8 @@ // We can define here special features the client is supporting. // Useful for updates to new versions where a new data type would break backwards compatibility or to // limit a node to certain behaviour and roles like the seed nodes. -// We don't use the Enum in any serialized data, as changes in the enum would break backwards compatibility. We use the ordinal integer instead. +// We don't use the Enum in any serialized data, as changes in the enum would break backwards compatibility. +// We use the ordinal integer instead. // Sequence in the enum must not be changed (append only). public enum Capability { @Deprecated TRADE_STATISTICS, // Not required anymore as no old clients out there not having that support @@ -37,5 +38,6 @@ public enum Capability { //TODO can be set deprecated after v1.1.6 as we enforce update there BUNDLE_OF_ENVELOPES, // Supports bundling of messages if many messages are sent in short interval - SIGNED_ACCOUNT_AGE_WITNESS // Supports the signed account age witness feature + SIGNED_ACCOUNT_AGE_WITNESS, // Supports the signed account age witness feature + MEDIATION // Supports mediation feature } diff --git a/common/src/main/java/bisq/common/app/DevEnv.java b/common/src/main/java/bisq/common/app/DevEnv.java index 14429b7a3bb..5cf6132cf9f 100644 --- a/common/src/main/java/bisq/common/app/DevEnv.java +++ b/common/src/main/java/bisq/common/app/DevEnv.java @@ -41,7 +41,6 @@ public static void setup(Injector injector) { // If set to true we ignore several UI behavior like confirmation popups as well dummy accounts are created and // offers are filled with default values. Intended to make dev testing faster. - @SuppressWarnings("PointlessBooleanExpression") private static boolean devMode = false; public static boolean isDevMode() { diff --git a/common/src/main/java/bisq/common/taskrunner/Task.java b/common/src/main/java/bisq/common/taskrunner/Task.java index 98aad1d93ce..e6fce415507 100644 --- a/common/src/main/java/bisq/common/taskrunner/Task.java +++ b/common/src/main/java/bisq/common/taskrunner/Task.java @@ -35,7 +35,7 @@ public Task(TaskRunner taskHandler, T model) { this.model = model; } - abstract protected void run(); + protected abstract void run(); protected void runInterceptHook() { if (getClass() == taskToIntercept) diff --git a/common/src/main/java/bisq/common/util/MathUtils.java b/common/src/main/java/bisq/common/util/MathUtils.java index 78b787843a5..cb3a32a9c71 100644 --- a/common/src/main/java/bisq/common/util/MathUtils.java +++ b/common/src/main/java/bisq/common/util/MathUtils.java @@ -93,7 +93,11 @@ public static double exactMultiply(double value1, double value2) { return BigDecimal.valueOf(value1).multiply(BigDecimal.valueOf(value2)).doubleValue(); } - public static Long getMedian(Long[] list) { + public static long getMedian(Long[] list) { + if (list.length == 0) { + return 0L; + } + int middle = list.length / 2; long median; if (list.length % 2 == 1) { diff --git a/common/src/main/proto/pb.proto b/common/src/main/proto/pb.proto index 7742774b490..503d0d9e024 100644 --- a/common/src/main/proto/pb.proto +++ b/common/src/main/proto/pb.proto @@ -44,7 +44,7 @@ message NetworkEnvelope { OpenNewDisputeMessage open_new_dispute_message = 22; PeerOpenedDisputeMessage peer_opened_dispute_message = 23; - DisputeCommunicationMessage dispute_communication_message = 24; + ChatMessage chat_message = 24; DisputeResultMessage dispute_result_message = 25; PeerPublishedDisputePayoutTxMessage peer_published_dispute_payout_tx_message = 26; @@ -68,6 +68,8 @@ message NetworkEnvelope { GetBlindVoteStateHashesResponse get_blind_vote_state_hashes_response = 42; BundleOfEnvelopes bundle_of_envelopes = 43; + MediatedPayoutTxSignatureMessage mediated_payout_tx_signature_message = 44; + MediatedPayoutTxPublishedMessage mediated_payout_tx_published_message = 45; } } @@ -141,6 +143,7 @@ message OfferAvailabilityResponse { repeated int32 supported_capabilities = 3; string uid = 4; NodeAddress arbitrator = 5; + NodeAddress mediator = 6; } message RefreshOfferMessage { @@ -267,26 +270,43 @@ message PayoutTxPublishedMessage { string uid = 4; } +message MediatedPayoutTxPublishedMessage { + string trade_id = 1; + bytes payout_tx = 2; + NodeAddress sender_node_address = 3; + string uid = 4; +} + +message MediatedPayoutTxSignatureMessage { + string uid = 1; + bytes tx_signature = 2; + string trade_id = 3; + NodeAddress sender_node_address = 4; +} + // dispute +enum SupportType { + ARBITRATION = 0; + MEDIATION = 1; + TRADE = 2; +} + message OpenNewDisputeMessage { Dispute dispute = 1; NodeAddress sender_node_address = 2; string uid = 3; + SupportType type = 4; } message PeerOpenedDisputeMessage { Dispute dispute = 1; NodeAddress sender_node_address = 2; string uid = 3; + SupportType type = 4; } -message DisputeCommunicationMessage { - enum Type { - MEDIATION = 0; - ARBITRATION = 1; - TRADE = 2; - } +message ChatMessage { int64 date = 1; string trade_id = 2; int32 trader_id = 3; @@ -301,7 +321,7 @@ message DisputeCommunicationMessage { string send_message_error = 12; bool acknowledged = 13; string ack_error = 14; - Type type = 15; + SupportType type = 15; bool was_displayed = 16; } @@ -309,6 +329,7 @@ message DisputeResultMessage { string uid = 1; DisputeResult dispute_result = 2; NodeAddress sender_node_address = 3; + SupportType type = 4; } message PeerPublishedDisputePayoutTxMessage { @@ -316,9 +337,9 @@ message PeerPublishedDisputePayoutTxMessage { bytes transaction = 2; string trade_id = 3; NodeAddress sender_node_address = 4; + SupportType type = 5; } - message PrivateNotificationMessage { string uid = 1; NodeAddress sender_node_address = 2; @@ -546,6 +567,7 @@ message Filter { bool disable_dao = 14; string disable_dao_below_version = 15; string disable_trade_below_version = 16; + repeated string mediators = 17; } // not used anymore from v0.6 on. But leave it for receiving TradeStatistics objects from older @@ -614,8 +636,8 @@ message OfferPayload { int64 min_amount = 10; string base_currency_code = 11; string counter_currency_code = 12; - repeated NodeAddress arbitrator_node_addresses = 13; - repeated NodeAddress mediator_node_addresses = 14; + repeated NodeAddress arbitrator_node_addresses = 13 [deprecated = true]; // not used anymore but still required as old clients check for nonNull + repeated NodeAddress mediator_node_addresses = 14 [deprecated = true]; // not used anymore but still required as old clients check for nonNull string payment_method_id = 15; string maker_payment_account_id = 16; string offer_fee_payment_tx_id = 17; @@ -680,9 +702,9 @@ message Dispute { string contract_as_json = 15; string maker_contract_signature = 16; string taker_contract_signature = 17; - PubKeyRing arbitrator_pub_key_ring = 18; + PubKeyRing agent_pub_key_ring = 18; bool is_support_ticket = 19; - repeated DisputeCommunicationMessage dispute_communication_messages = 20; + repeated ChatMessage chat_message = 20; bool is_closed = 21; DisputeResult dispute_result = 22; string dispute_payout_tx_id = 23; @@ -719,7 +741,7 @@ message DisputeResult { bool id_verification = 6; bool screen_cast = 7; string summary_notes = 8; - DisputeCommunicationMessage dispute_communication_message = 9; + ChatMessage chat_message = 9; bytes arbitrator_signature = 10; int64 buyer_payout_amount = 11; int64 seller_payout_amount = 12; @@ -770,6 +792,7 @@ enum AvailabilityResult { NO_ARBITRATORS = 6; NO_MEDIATORS = 7; USER_IGNORED = 8; + MISSING_MANDATORY_CAPABILITY = 9; } /////////////////////////////////////////////////////////////////////////////////////////// @@ -1009,7 +1032,7 @@ message PersistableEnvelope { TradableList tradable_list = 6; TradeStatisticsList trade_statistics_list = 7 [deprecated = true]; // Was used in pre v0.6.0 version. Not used anymore. - DisputeList dispute_list = 8; + ArbitrationDisputeList arbitration_dispute_list = 8; PreferencesPayload preferences_payload = 9; UserPayload user_payload = 10; @@ -1039,6 +1062,7 @@ message PersistableEnvelope { MyProofOfBurnList my_proof_of_burn_list = 26; UnconfirmedBsqChangeOutputList unconfirmed_bsq_change_output_list = 27; SignedWitnessStore signed_witness_store = 28; + MediationDisputeList mediation_dispute_list = 29; } } @@ -1162,6 +1186,7 @@ message OpenOffer { Offer offer = 1; State state = 2; NodeAddress arbitrator_node_address = 3; + NodeAddress mediator_node_address = 4; } message Tradable { @@ -1224,9 +1249,12 @@ message Trade { enum DisputeState { PB_ERROR_DISPUTE_STATE = 0; NO_DISPUTE = 1; - DISPUTE_REQUESTED = 2; - DISPUTE_STARTED_BY_PEER = 3; - DISPUTE_CLOSED = 4; + DISPUTE_REQUESTED = 2; // arbitration We use the enum name for resolving enums so it cannot be renamed + DISPUTE_STARTED_BY_PEER = 3; // arbitration We use the enum name for resolving enums so it cannot be renamed + DISPUTE_CLOSED = 4; // arbitration We use the enum name for resolving enums so it cannot be renamed + MEDIATION_REQUESTED = 5; + MEDIATION_STARTED_BY_PEER = 6; + MEDIATION_CLOSED = 7; } enum TradePeriodState { @@ -1264,7 +1292,8 @@ message Trade { PubKeyRing arbitrator_pub_key_ring = 26; PubKeyRing mediator_pub_key_ring = 27; string counter_currency_tx_id = 28; - repeated DisputeCommunicationMessage communication_messages = 29; + repeated ChatMessage chat_message = 29; + MediationResultState mediation_result_state = 30; } message BuyerAsMakerTrade { @@ -1301,6 +1330,9 @@ message ProcessModel { bytes my_multi_sig_pub_key = 15; NodeAddress temp_trading_peer_node_address = 16; string payment_started_message_state = 17; + bytes mediated_payout_tx_signature = 18; + int64 buyer_payout_amount_from_mediation = 19; + int64 seller_payout_amount_from_mediation = 20; } message TradingPeer { @@ -1318,16 +1350,40 @@ message TradingPeer { bytes account_age_witness_nonce = 12; bytes account_age_witness_signature = 13; int64 current_date = 14; + bytes mediated_payout_tx_signature = 15; } /////////////////////////////////////////////////////////////////////////////////////////// // Dispute /////////////////////////////////////////////////////////////////////////////////////////// -message DisputeList { +message ArbitrationDisputeList { repeated Dispute dispute = 1; } +message MediationDisputeList { + repeated Dispute dispute = 1; +} + +enum MediationResultState { + PB_ERROR_MEDIATION_RESULT = 0; + UNDEFINED_MEDIATION_RESULT = 1; + MEDIATION_RESULT_ACCEPTED = 2; + MEDIATION_RESULT_REJECTED = 3; + SIG_MSG_SENT = 4; + SIG_MSG_ARRIVED = 5; + SIG_MSG_IN_MAILBOX = 6; + SIG_MSG_SEND_FAILED = 7; + RECEIVED_SIG_MSG = 8; + PAYOUT_TX_PUBLISHED = 9; + PAYOUT_TX_PUBLISHED_MSG_SENT = 10; + PAYOUT_TX_PUBLISHED_MSG_ARRIVED = 11; + PAYOUT_TX_PUBLISHED_MSG_IN_MAILBOX = 12; + PAYOUT_TX_PUBLISHED_MSG_SEND_FAILED = 13; + RECEIVED_PAYOUT_TX_PUBLISHED_MSG = 14; + PAYOUT_TX_SEEN_IN_NETWORK = 15; +} + /////////////////////////////////////////////////////////////////////////////////////////// // Preferences /////////////////////////////////////////////////////////////////////////////////////////// diff --git a/common/src/test/java/bisq/common/app/CapabilitiesTest.java b/common/src/test/java/bisq/common/app/CapabilitiesTest.java index d0166e130c6..735fc899eaf 100644 --- a/common/src/test/java/bisq/common/app/CapabilitiesTest.java +++ b/common/src/test/java/bisq/common/app/CapabilitiesTest.java @@ -17,11 +17,16 @@ package bisq.common.app; +import java.util.Arrays; +import java.util.Collections; import java.util.HashSet; import org.junit.Test; -import static bisq.common.app.Capability.*; +import static bisq.common.app.Capability.SEED_NODE; +import static bisq.common.app.Capability.TRADE_STATISTICS; +import static bisq.common.app.Capability.TRADE_STATISTICS_2; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -60,4 +65,47 @@ public void testMultiMatch() { assertTrue(DUT.containsAll(new Capabilities(TRADE_STATISTICS, TRADE_STATISTICS_2))); assertFalse(DUT.containsAll(new Capabilities(SEED_NODE, TRADE_STATISTICS_2))); } + + @Test + public void testToIntList() { + assertEquals(Collections.emptyList(), Capabilities.toIntList(new Capabilities())); + assertEquals(Collections.singletonList(12), Capabilities.toIntList(new Capabilities(Capability.MEDIATION))); + assertEquals(Arrays.asList(6, 12), Capabilities.toIntList(new Capabilities(Capability.MEDIATION, Capability.BLIND_VOTE))); + } + + @Test + public void testFromIntList() { + assertEquals(new Capabilities(), Capabilities.fromIntList(Collections.emptyList())); + assertEquals(new Capabilities(Capability.MEDIATION), Capabilities.fromIntList(Collections.singletonList(12))); + assertEquals(new Capabilities(Capability.BLIND_VOTE, Capability.MEDIATION), Capabilities.fromIntList(Arrays.asList(6, 12))); + + assertEquals(new Capabilities(), Capabilities.fromIntList(Collections.singletonList(-1))); + assertEquals(new Capabilities(), Capabilities.fromIntList(Collections.singletonList(99))); + assertEquals(new Capabilities(Capability.MEDIATION), Capabilities.fromIntList(Arrays.asList(-6, 12))); + assertEquals(new Capabilities(Capability.MEDIATION), Capabilities.fromIntList(Arrays.asList(12, 99))); + } + + @Test + public void testToStringList() { + assertEquals("", new Capabilities().toStringList()); + assertEquals("12", new Capabilities(Capability.MEDIATION).toStringList()); + assertEquals("6, 12", new Capabilities(Capability.BLIND_VOTE, Capability.MEDIATION).toStringList()); + // capabilities gets sorted, independent of our order + assertEquals("6, 12", new Capabilities(Capability.MEDIATION, Capability.BLIND_VOTE).toStringList()); + } + + @Test + public void testFromStringList() { + assertEquals(new Capabilities(), Capabilities.fromStringList(null)); + assertEquals(new Capabilities(), Capabilities.fromStringList("")); + assertEquals(new Capabilities(Capability.MEDIATION), Capabilities.fromStringList("12")); + assertEquals(new Capabilities(Capability.BLIND_VOTE, Capability.MEDIATION), Capabilities.fromStringList("6,12")); + assertEquals(new Capabilities(Capability.BLIND_VOTE, Capability.MEDIATION), Capabilities.fromStringList("12, 6")); + assertEquals(new Capabilities(), Capabilities.fromStringList("a")); + assertEquals(new Capabilities(), Capabilities.fromStringList("99")); + assertEquals(new Capabilities(), Capabilities.fromStringList("-1")); + assertEquals(new Capabilities(Capability.MEDIATION), Capabilities.fromStringList("12, a")); + assertEquals(new Capabilities(Capability.MEDIATION), Capabilities.fromStringList("12, 99")); + assertEquals(new Capabilities(Capability.MEDIATION), Capabilities.fromStringList("a,12, 99")); + } } diff --git a/core/src/main/java/bisq/core/CoreModule.java b/core/src/main/java/bisq/core/CoreModule.java index b73c25dd2cf..3e5812bbe3f 100644 --- a/core/src/main/java/bisq/core/CoreModule.java +++ b/core/src/main/java/bisq/core/CoreModule.java @@ -20,7 +20,6 @@ import bisq.core.alert.AlertModule; import bisq.core.app.AppOptionKeys; import bisq.core.app.BisqEnvironment; -import bisq.core.arbitration.ArbitratorModule; import bisq.core.btc.BitcoinModule; import bisq.core.dao.DaoModule; import bisq.core.filter.FilterModule; @@ -90,7 +89,6 @@ protected void configure() { // ordering is used for shut down sequence install(tradeModule()); install(encryptionServiceModule()); - install(arbitratorModule()); install(offerModule()); install(p2pModule()); install(bitcoinModule()); @@ -109,10 +107,6 @@ private EncryptionServiceModule encryptionServiceModule() { return new EncryptionServiceModule(environment); } - private ArbitratorModule arbitratorModule() { - return new ArbitratorModule(environment); - } - private AlertModule alertModule() { return new AlertModule(environment); } diff --git a/core/src/main/java/bisq/core/account/sign/SignedWitnessService.java b/core/src/main/java/bisq/core/account/sign/SignedWitnessService.java index 0c9f6d49c69..ef87a6e35f1 100644 --- a/core/src/main/java/bisq/core/account/sign/SignedWitnessService.java +++ b/core/src/main/java/bisq/core/account/sign/SignedWitnessService.java @@ -19,14 +19,14 @@ import bisq.core.account.witness.AccountAgeWitness; import bisq.core.account.witness.AccountAgeWitnessService; -import bisq.core.arbitration.ArbitratorManager; -import bisq.core.arbitration.BuyerDataItem; -import bisq.core.arbitration.Dispute; -import bisq.core.arbitration.DisputeManager; -import bisq.core.arbitration.DisputeResult; import bisq.core.payment.ChargeBackRisk; import bisq.core.payment.payload.PaymentAccountPayload; import bisq.core.payment.payload.PaymentMethod; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.DisputeResult; +import bisq.core.support.dispute.arbitration.ArbitrationManager; +import bisq.core.support.dispute.arbitration.BuyerDataItem; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; import bisq.network.p2p.P2PService; import bisq.network.p2p.storage.P2PDataStorage; @@ -75,7 +75,7 @@ public class SignedWitnessService { private final P2PService p2PService; private final AccountAgeWitnessService accountAgeWitnessService; private final ArbitratorManager arbitratorManager; - private final DisputeManager disputeManager; + private final ArbitrationManager arbitrationManager; private final ChargeBackRisk chargeBackRisk; private final Map signedWitnessMap = new HashMap<>(); @@ -92,13 +92,13 @@ public SignedWitnessService(KeyRing keyRing, ArbitratorManager arbitratorManager, SignedWitnessStorageService signedWitnessStorageService, AppendOnlyDataStoreService appendOnlyDataStoreService, - DisputeManager disputeManager, + ArbitrationManager arbitrationManager, ChargeBackRisk chargeBackRisk) { this.keyRing = keyRing; this.p2PService = p2PService; this.accountAgeWitnessService = accountAgeWitnessService; this.arbitratorManager = arbitratorManager; - this.disputeManager = disputeManager; + this.arbitrationManager = arbitrationManager; this.chargeBackRisk = chargeBackRisk; // We need to add that early (before onAllServicesInitialized) as it will be used at startup. @@ -333,7 +333,7 @@ private void publishSignedWitness(SignedWitness signedWitness) { // Arbitrator signing public List getBuyerPaymentAccounts(long safeDate, PaymentMethod paymentMethod) { - return disputeManager.getDisputesAsObservableList().stream() + return arbitrationManager.getDisputesAsObservableList().stream() .filter(dispute -> dispute.getContract().getPaymentMethodId().equals(paymentMethod.getId())) .filter(this::hasChargebackRisk) .filter(this::isBuyerWinner) diff --git a/core/src/main/java/bisq/core/alert/Alert.java b/core/src/main/java/bisq/core/alert/Alert.java index ea063c4e6f5..080c8272517 100644 --- a/core/src/main/java/bisq/core/alert/Alert.java +++ b/core/src/main/java/bisq/core/alert/Alert.java @@ -99,7 +99,7 @@ public Alert(String message, public protobuf.StoragePayload toProtoMessage() { checkNotNull(ownerPubKeyBytes, "storagePublicKeyBytes must not be null"); checkNotNull(signatureAsBase64, "signatureAsBase64 must not be null"); - final protobuf.Alert.Builder builder = protobuf.Alert.newBuilder() + protobuf.Alert.Builder builder = protobuf.Alert.newBuilder() .setMessage(message) .setIsUpdateInfo(isUpdateInfo) .setVersion(version) @@ -109,7 +109,13 @@ public protobuf.StoragePayload toProtoMessage() { return protobuf.StoragePayload.newBuilder().setAlert(builder).build(); } + @Nullable public static Alert fromProto(protobuf.Alert proto) { + // We got in dev testing sometimes an empty protobuf Alert. Not clear why that happened but as it causes an + // exception and corrupted user db file we prefer to set it to null. + if (proto.getSignatureAsBase64().isEmpty()) + return null; + return new Alert(proto.getMessage(), proto.getIsUpdateInfo(), proto.getVersion(), diff --git a/core/src/main/java/bisq/core/app/BisqExecutable.java b/core/src/main/java/bisq/core/app/BisqExecutable.java index e704af407f3..f5935a54067 100644 --- a/core/src/main/java/bisq/core/app/BisqExecutable.java +++ b/core/src/main/java/bisq/core/app/BisqExecutable.java @@ -17,7 +17,6 @@ package bisq.core.app; -import bisq.core.arbitration.ArbitratorManager; import bisq.core.btc.BtcOptionKeys; import bisq.core.btc.setup.RegTestHost; import bisq.core.btc.setup.WalletsSetup; @@ -29,6 +28,7 @@ import bisq.core.offer.OpenOfferManager; import bisq.core.setup.CorePersistedDataHost; import bisq.core.setup.CoreSetup; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; import bisq.core.trade.TradeManager; import bisq.network.NetworkOptionKeys; @@ -242,11 +242,11 @@ protected void setupPersistedDataHosts(Injector injector) { try { PersistedDataHost.apply(CorePersistedDataHost.getPersistedDataHosts(injector)); } catch (Throwable t) { + log.error("Error at PersistedDataHost.apply: {}", t.toString(), t); // If we are in dev mode we want to get the exception if some db files are corrupted // We need to delay it as the stage is not created yet and so popups would not be shown. if (DevEnv.isDevMode()) UserThread.runAfter(() -> { - log.error("Error at PersistedDataHost.apply: {}", t.toString()); throw t; }, 2); } diff --git a/core/src/main/java/bisq/core/app/BisqSetup.java b/core/src/main/java/bisq/core/app/BisqSetup.java index 44e0d15245f..a77eafa8768 100644 --- a/core/src/main/java/bisq/core/app/BisqSetup.java +++ b/core/src/main/java/bisq/core/app/BisqSetup.java @@ -23,8 +23,6 @@ import bisq.core.alert.AlertManager; import bisq.core.alert.PrivateNotificationManager; import bisq.core.alert.PrivateNotificationPayload; -import bisq.core.arbitration.ArbitratorManager; -import bisq.core.arbitration.DisputeManager; import bisq.core.btc.Balances; import bisq.core.btc.model.AddressEntry; import bisq.core.btc.setup.WalletsSetup; @@ -47,6 +45,11 @@ import bisq.core.payment.TradeLimits; import bisq.core.provider.fee.FeeService; import bisq.core.provider.price.PriceFeedService; +import bisq.core.support.dispute.arbitration.ArbitrationManager; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; +import bisq.core.support.dispute.mediation.MediationManager; +import bisq.core.support.dispute.mediation.mediator.MediatorManager; +import bisq.core.support.traderchat.TraderChatManager; import bisq.core.trade.TradeManager; import bisq.core.trade.statistics.AssetTradeActivityCheck; import bisq.core.trade.statistics.TradeStatisticsManager; @@ -127,10 +130,13 @@ public interface BisqSetupCompleteListener { private final Balances balances; private final PriceFeedService priceFeedService; private final ArbitratorManager arbitratorManager; + private final MediatorManager mediatorManager; private final P2PService p2PService; private final TradeManager tradeManager; private final OpenOfferManager openOfferManager; - private final DisputeManager disputeManager; + private final ArbitrationManager arbitrationManager; + private final MediationManager mediationManager; + private final TraderChatManager traderChatManager; private final Preferences preferences; private final User user; private final AlertManager alertManager; @@ -206,10 +212,13 @@ public BisqSetup(P2PNetworkSetup p2PNetworkSetup, Balances balances, PriceFeedService priceFeedService, ArbitratorManager arbitratorManager, + MediatorManager mediatorManager, P2PService p2PService, TradeManager tradeManager, OpenOfferManager openOfferManager, - DisputeManager disputeManager, + ArbitrationManager arbitrationManager, + MediationManager mediationManager, + TraderChatManager traderChatManager, Preferences preferences, User user, AlertManager alertManager, @@ -247,10 +256,13 @@ public BisqSetup(P2PNetworkSetup p2PNetworkSetup, this.balances = balances; this.priceFeedService = priceFeedService; this.arbitratorManager = arbitratorManager; + this.mediatorManager = mediatorManager; this.p2PService = p2PService; this.tradeManager = tradeManager; this.openOfferManager = openOfferManager; - this.disputeManager = disputeManager; + this.arbitrationManager = arbitrationManager; + this.mediationManager = mediationManager; + this.traderChatManager = traderChatManager; this.preferences = preferences; this.user = user; this.alertManager = alertManager; @@ -586,12 +598,15 @@ private void checkForLockedUpFunds() { .filter(e -> tradeManager.getSetOfAllTradeIds().contains(e.getOfferId()) && e.getContext() == AddressEntry.Context.MULTI_SIG) .forEach(e -> { - final Coin balance = e.getCoinLockedInMultiSig(); - final String message = Res.get("popup.warning.lockedUpFunds", - formatter.formatCoinWithCode(balance), e.getAddressString(), e.getOfferId()); - log.warn(message); - if (lockedUpFundsHandler != null) - lockedUpFundsHandler.accept(message); + Coin balance = e.getCoinLockedInMultiSig(); + if (balance.isPositive()) { + String message = Res.get("popup.warning.lockedUpFunds", + formatter.formatCoinWithCode(balance), e.getAddressString(), e.getOfferId()); + log.warn(message); + if (lockedUpFundsHandler != null) { + lockedUpFundsHandler.accept(message); + } + } }); } @@ -614,7 +629,9 @@ private void initDomainServices() { tradeLimits.onAllServicesInitialized(); - disputeManager.onAllServicesInitialized(); + arbitrationManager.onAllServicesInitialized(); + mediationManager.onAllServicesInitialized(); + traderChatManager.onAllServicesInitialized(); tradeManager.onAllServicesInitialized(); @@ -626,6 +643,7 @@ private void initDomainServices() { balances.onAllServicesInitialized(); arbitratorManager.onAllServicesInitialized(); + mediatorManager.onAllServicesInitialized(); alertManager.alertMessageProperty().addListener((observable, oldValue, newValue) -> displayAlertIfPresent(newValue, false)); diff --git a/core/src/main/java/bisq/core/app/misc/ExecutableForAppWithP2p.java b/core/src/main/java/bisq/core/app/misc/ExecutableForAppWithP2p.java index 55e41da3827..5959b7ee894 100644 --- a/core/src/main/java/bisq/core/app/misc/ExecutableForAppWithP2p.java +++ b/core/src/main/java/bisq/core/app/misc/ExecutableForAppWithP2p.java @@ -20,11 +20,11 @@ import bisq.core.app.AppOptionKeys; import bisq.core.app.BisqEnvironment; import bisq.core.app.BisqExecutable; -import bisq.core.arbitration.ArbitratorManager; import bisq.core.btc.setup.WalletsSetup; import bisq.core.btc.wallet.BsqWalletService; import bisq.core.btc.wallet.BtcWalletService; import bisq.core.offer.OpenOfferManager; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; import bisq.network.p2p.P2PService; diff --git a/core/src/main/java/bisq/core/app/misc/ModuleForAppWithP2p.java b/core/src/main/java/bisq/core/app/misc/ModuleForAppWithP2p.java index 517107e3119..bf9050f2716 100644 --- a/core/src/main/java/bisq/core/app/misc/ModuleForAppWithP2p.java +++ b/core/src/main/java/bisq/core/app/misc/ModuleForAppWithP2p.java @@ -21,7 +21,6 @@ import bisq.core.app.AppOptionKeys; import bisq.core.app.BisqEnvironment; import bisq.core.app.TorSetup; -import bisq.core.arbitration.ArbitratorModule; import bisq.core.btc.BitcoinModule; import bisq.core.dao.DaoModule; import bisq.core.filter.FilterModule; @@ -98,7 +97,6 @@ protected void configure() { // ordering is used for shut down sequence install(tradeModule()); install(encryptionServiceModule()); - install(arbitratorModule()); install(offerModule()); install(p2pModule()); install(bitcoinModule()); @@ -121,10 +119,6 @@ protected EncryptionServiceModule encryptionServiceModule() { return new EncryptionServiceModule(environment); } - protected ArbitratorModule arbitratorModule() { - return new ArbitratorModule(environment); - } - protected AlertModule alertModule() { return new AlertModule(environment); } diff --git a/core/src/main/java/bisq/core/arbitration/ArbitratorManager.java b/core/src/main/java/bisq/core/arbitration/ArbitratorManager.java deleted file mode 100644 index f9809d6c489..00000000000 --- a/core/src/main/java/bisq/core/arbitration/ArbitratorManager.java +++ /dev/null @@ -1,375 +0,0 @@ -/* - * This file is part of Bisq. - * - * Bisq is free software: you can redistribute it and/or modify it - * under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or (at - * your option) any later version. - * - * Bisq is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public - * License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Bisq. If not, see . - */ - -package bisq.core.arbitration; - -import bisq.core.app.AppOptionKeys; -import bisq.core.filter.FilterManager; -import bisq.core.user.Preferences; -import bisq.core.user.User; - -import bisq.network.p2p.BootstrapListener; -import bisq.network.p2p.NodeAddress; -import bisq.network.p2p.P2PService; -import bisq.network.p2p.storage.HashMapChangedListener; -import bisq.network.p2p.storage.payload.ProtectedStorageEntry; - -import bisq.common.Timer; -import bisq.common.UserThread; -import bisq.common.app.DevEnv; -import bisq.common.crypto.KeyRing; -import bisq.common.handlers.ErrorMessageHandler; -import bisq.common.handlers.ResultHandler; -import bisq.common.util.Utilities; - -import org.bitcoinj.core.ECKey; -import org.bitcoinj.core.Utils; - -import com.google.inject.Inject; -import com.google.inject.name.Named; - -import javafx.collections.FXCollections; -import javafx.collections.ObservableMap; - -import java.security.PublicKey; -import java.security.SignatureException; - -import java.math.BigInteger; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.concurrent.TimeUnit; -import java.util.function.Function; -import java.util.stream.Collectors; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.jetbrains.annotations.NotNull; - -import javax.annotation.Nullable; - -import static org.bitcoinj.core.Utils.HEX; - -public class ArbitratorManager { - private static final Logger log = LoggerFactory.getLogger(ArbitratorManager.class); - - /////////////////////////////////////////////////////////////////////////////////////////// - // Static - /////////////////////////////////////////////////////////////////////////////////////////// - - private static final long REPUBLISH_MILLIS = Arbitrator.TTL / 2; - private static final long RETRY_REPUBLISH_SEC = 5; - private static final long REPEATED_REPUBLISH_AT_STARTUP_SEC = 60; - - private final List publicKeys; - - /////////////////////////////////////////////////////////////////////////////////////////// - // Instance fields - /////////////////////////////////////////////////////////////////////////////////////////// - - private final KeyRing keyRing; - private final ArbitratorService arbitratorService; - private final User user; - private final Preferences preferences; - private final FilterManager filterManager; - private final ObservableMap arbitratorsObservableMap = FXCollections.observableHashMap(); - private List persistedAcceptedArbitrators; - private Timer republishArbitratorTimer, retryRepublishArbitratorTimer; - - - /////////////////////////////////////////////////////////////////////////////////////////// - // Constructor - /////////////////////////////////////////////////////////////////////////////////////////// - - @Inject - public ArbitratorManager(KeyRing keyRing, - ArbitratorService arbitratorService, - User user, - Preferences preferences, - FilterManager filterManager, - @Named(AppOptionKeys.USE_DEV_PRIVILEGE_KEYS) boolean useDevPrivilegeKeys) { - this.keyRing = keyRing; - this.arbitratorService = arbitratorService; - this.user = user; - this.preferences = preferences; - this.filterManager = filterManager; - publicKeys = useDevPrivilegeKeys ? - Collections.unmodifiableList(Collections.singletonList(DevEnv.DEV_PRIVILEGE_PUB_KEY)) : - Collections.unmodifiableList(Arrays.asList( - "0365c6af94681dbee69de1851f98d4684063bf5c2d64b1c73ed5d90434f375a054", - "031c502a60f9dbdb5ae5e438a79819e4e1f417211dd537ac12c9bc23246534c4bd", - "02c1e5a242387b6d5319ce27246cea6edaaf51c3550591b528d2578a4753c56c2c", - "025c319faf7067d9299590dd6c97fe7e56cd4dac61205ccee1cd1fc390142390a2", - "038f6e24c2bfe5d51d0a290f20a9a657c270b94ef2b9c12cd15ca3725fa798fc55", - "0255256ff7fb615278c4544a9bbd3f5298b903b8a011cd7889be19b6b1c45cbefe", - "024a3a37289f08c910fbd925ebc72b946f33feaeff451a4738ee82037b4cda2e95", - "02a88b75e9f0f8afba1467ab26799dcc38fd7a6468fb2795444b425eb43e2c10bd", - "02349a51512c1c04c67118386f4d27d768c5195a83247c150a4b722d161722ba81", - "03f718a2e0dc672c7cdec0113e72c3322efc70412bb95870750d25c32cd98de17d", - "028ff47ee2c56e66313928975c58fa4f1b19a0f81f3a96c4e9c9c3c6768075509e", - "02b517c0cbc3a49548f448ddf004ed695c5a1c52ec110be1bfd65fa0ca0761c94b", - "03df837a3a0f3d858e82f3356b71d1285327f101f7c10b404abed2abc1c94e7169", - "0203a90fb2ab698e524a5286f317a183a84327b8f8c3f7fa4a98fec9e1cefd6b72", - "023c99cc073b851c892d8c43329ca3beb5d2213ee87111af49884e3ce66cbd5ba5" - )); - } - - public void shutDown() { - stopRepublishArbitratorTimer(); - stopRetryRepublishArbitratorTimer(); - } - - - /////////////////////////////////////////////////////////////////////////////////////////// - // API - /////////////////////////////////////////////////////////////////////////////////////////// - - public void onAllServicesInitialized() { - arbitratorService.addHashSetChangedListener(new HashMapChangedListener() { - @Override - public void onAdded(ProtectedStorageEntry data) { - if (data.getProtectedStoragePayload() instanceof Arbitrator) - updateArbitratorMap(); - } - - @Override - public void onRemoved(ProtectedStorageEntry data) { - if (data.getProtectedStoragePayload() instanceof Arbitrator) { - updateArbitratorMap(); - final Arbitrator arbitrator = (Arbitrator) data.getProtectedStoragePayload(); - user.removeAcceptedArbitrator(arbitrator); - user.removeAcceptedMediator(getMediator(arbitrator)); - } - } - }); - - persistedAcceptedArbitrators = new ArrayList<>(user.getAcceptedArbitrators()); - user.clearAcceptedArbitrators(); - - // TODO we mirror arbitrator data for mediator as long we have not impl. it in the UI - user.clearAcceptedMediators(); - - if (user.getRegisteredArbitrator() != null) { - P2PService p2PService = arbitratorService.getP2PService(); - if (p2PService.isBootstrapped()) - startRepublishArbitrator(); - else - p2PService.addP2PServiceListener(new BootstrapListener() { - @Override - public void onUpdatedDataReceived() { - startRepublishArbitrator(); - } - }); - } - - filterManager.filterProperty().addListener((observable, oldValue, newValue) -> updateArbitratorMap()); - - updateArbitratorMap(); - } - - private void startRepublishArbitrator() { - if (republishArbitratorTimer == null) { - republishArbitratorTimer = UserThread.runPeriodically(this::republishArbitrator, REPUBLISH_MILLIS, TimeUnit.MILLISECONDS); - UserThread.runAfter(this::republishArbitrator, REPEATED_REPUBLISH_AT_STARTUP_SEC); - republishArbitrator(); - } - } - - public void updateArbitratorMap() { - Map map = arbitratorService.getArbitrators(); - arbitratorsObservableMap.clear(); - Map filtered = map.values().stream() - .filter(e -> { - final String pubKeyAsHex = Utils.HEX.encode(e.getRegistrationPubKey()); - final boolean isInPublicKeyInList = isPublicKeyInList(pubKeyAsHex); - if (!isInPublicKeyInList) { - if (DevEnv.DEV_PRIVILEGE_PUB_KEY.equals(pubKeyAsHex)) - log.info("We got the DEV_PRIVILEGE_PUB_KEY in our list of publicKeys. RegistrationPubKey={}, nodeAddress={}", - Utilities.bytesAsHexString(e.getRegistrationPubKey()), - e.getNodeAddress().getFullAddress()); - else - log.warn("We got an arbitrator which is not in our list of publicKeys. RegistrationPubKey={}, nodeAddress={}", - Utilities.bytesAsHexString(e.getRegistrationPubKey()), - e.getNodeAddress().getFullAddress()); - } - final boolean isSigValid = verifySignature(e.getPubKeyRing().getSignaturePubKey(), - e.getRegistrationPubKey(), - e.getRegistrationSignature()); - if (!isSigValid) - log.warn("Sig check for arbitrator failed. Arbitrator=", e.toString()); - - return isInPublicKeyInList && isSigValid; - }) - .collect(Collectors.toMap(Arbitrator::getNodeAddress, Function.identity())); - - arbitratorsObservableMap.putAll(filtered); - arbitratorsObservableMap.values().stream() - .filter(persistedAcceptedArbitrators::contains) - .forEach(a -> { - user.addAcceptedArbitrator(a); - user.addAcceptedMediator(getMediator(a) - ); - }); - - // We keep the domain with storing the arbitrators in user as it might be still useful for mediators - arbitratorsObservableMap.values().forEach(a -> { - user.addAcceptedArbitrator(a); - user.addAcceptedMediator(getMediator(a) - ); - }); - - log.info("Available arbitrators: {}", arbitratorsObservableMap.keySet()); - } - - // TODO we mirror arbitrator data for mediator as long we have not impl. it in the UI - @NotNull - public static Mediator getMediator(Arbitrator arbitrator) { - return new Mediator(arbitrator.getNodeAddress(), - arbitrator.getPubKeyRing(), - arbitrator.getLanguageCodes(), - arbitrator.getRegistrationDate(), - arbitrator.getRegistrationPubKey(), - arbitrator.getRegistrationSignature(), - arbitrator.getEmailAddress(), - null, - arbitrator.getExtraDataMap()); - } - - public void addArbitrator(Arbitrator arbitrator, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { - user.setRegisteredArbitrator(arbitrator); - arbitratorsObservableMap.put(arbitrator.getNodeAddress(), arbitrator); - arbitratorService.addArbitrator(arbitrator, - () -> { - log.debug("Arbitrator successfully saved in P2P network"); - resultHandler.handleResult(); - - if (arbitratorsObservableMap.size() > 0) - UserThread.runAfter(this::updateArbitratorMap, 100, TimeUnit.MILLISECONDS); - }, - errorMessageHandler::handleErrorMessage); - } - - public void removeArbitrator(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { - Arbitrator registeredArbitrator = user.getRegisteredArbitrator(); - if (registeredArbitrator != null) { - user.setRegisteredArbitrator(null); - arbitratorsObservableMap.remove(registeredArbitrator.getNodeAddress()); - arbitratorService.removeArbitrator(registeredArbitrator, - () -> { - log.debug("Arbitrator successfully removed from P2P network"); - resultHandler.handleResult(); - }, - errorMessageHandler::handleErrorMessage); - } - } - - public ObservableMap getArbitratorsObservableMap() { - return arbitratorsObservableMap; - } - - // A private key is handed over to selected arbitrators for registration. - // An invited arbitrator will sign at registration his storageSignaturePubKey with that private key and attach the signature and pubKey to his data. - // Other users will check the signature with the list of public keys hardcoded in the app. - public String signStorageSignaturePubKey(ECKey key) { - String keyToSignAsHex = Utils.HEX.encode(keyRing.getPubKeyRing().getSignaturePubKey().getEncoded()); - return key.signMessage(keyToSignAsHex); - } - - @Nullable - public ECKey getRegistrationKey(String privKeyBigIntString) { - try { - return ECKey.fromPrivate(new BigInteger(1, HEX.decode(privKeyBigIntString))); - } catch (Throwable t) { - return null; - } - } - - public boolean isPublicKeyInList(String pubKeyAsHex) { - return publicKeys.contains(pubKeyAsHex); - } - - public boolean isArbitratorAvailableForLanguage(String languageCode) { - return arbitratorsObservableMap.values().stream().anyMatch(arbitrator -> - arbitrator.getLanguageCodes().stream().anyMatch(lc -> lc.equals(languageCode))); - } - - public List getArbitratorLanguages(List nodeAddresses) { - return arbitratorsObservableMap.values().stream() - .filter(arbitrator -> nodeAddresses.stream().anyMatch(nodeAddress -> nodeAddress.equals(arbitrator.getNodeAddress()))) - .flatMap(arbitrator -> arbitrator.getLanguageCodes().stream()) - .distinct() - .collect(Collectors.toList()); - } - - /////////////////////////////////////////////////////////////////////////////////////////// - // Private - /////////////////////////////////////////////////////////////////////////////////////////// - - private void republishArbitrator() { - Arbitrator registeredArbitrator = user.getRegisteredArbitrator(); - if (registeredArbitrator != null) { - addArbitrator(registeredArbitrator, - this::updateArbitratorMap, - errorMessage -> { - if (retryRepublishArbitratorTimer == null) - retryRepublishArbitratorTimer = UserThread.runPeriodically(() -> { - stopRetryRepublishArbitratorTimer(); - republishArbitrator(); - }, RETRY_REPUBLISH_SEC); - } - ); - } - } - - private boolean verifySignature(PublicKey storageSignaturePubKey, byte[] registrationPubKey, String signature) { - String keyToSignAsHex = Utils.HEX.encode(storageSignaturePubKey.getEncoded()); - try { - ECKey key = ECKey.fromPublicOnly(registrationPubKey); - key.verifyMessage(keyToSignAsHex, signature); - return true; - } catch (SignatureException e) { - log.warn("verifySignature failed"); - return false; - } - } - - - private void stopRetryRepublishArbitratorTimer() { - if (retryRepublishArbitratorTimer != null) { - retryRepublishArbitratorTimer.stop(); - retryRepublishArbitratorTimer = null; - } - } - - private void stopRepublishArbitratorTimer() { - if (republishArbitratorTimer != null) { - republishArbitratorTimer.stop(); - republishArbitratorTimer = null; - } - } - - public Optional getArbitratorByNodeAddress(NodeAddress nodeAddress) { - return arbitratorsObservableMap.containsKey(nodeAddress) ? - Optional.of(arbitratorsObservableMap.get(nodeAddress)) : - Optional.empty(); - } -} diff --git a/core/src/main/java/bisq/core/arbitration/ArbitratorService.java b/core/src/main/java/bisq/core/arbitration/ArbitratorService.java deleted file mode 100644 index 8e781cc5c10..00000000000 --- a/core/src/main/java/bisq/core/arbitration/ArbitratorService.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * This file is part of Bisq. - * - * Bisq is free software: you can redistribute it and/or modify it - * under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or (at - * your option) any later version. - * - * Bisq is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public - * License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Bisq. If not, see . - */ - -package bisq.core.arbitration; - -import bisq.core.app.BisqEnvironment; -import bisq.core.filter.FilterManager; - -import bisq.network.p2p.NodeAddress; -import bisq.network.p2p.P2PService; -import bisq.network.p2p.storage.HashMapChangedListener; - -import bisq.common.app.DevEnv; -import bisq.common.handlers.ErrorMessageHandler; -import bisq.common.handlers.ResultHandler; -import bisq.common.util.Utilities; - -import javax.inject.Inject; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Used to store arbitrators profile and load map of arbitrators - */ -public class ArbitratorService { - private static final Logger log = LoggerFactory.getLogger(ArbitratorService.class); - - private final P2PService p2PService; - private final FilterManager filterManager; - - interface ArbitratorMapResultHandler { - void handleResult(Map arbitratorsMap); - } - - - /////////////////////////////////////////////////////////////////////////////////////////// - // Constructor - /////////////////////////////////////////////////////////////////////////////////////////// - - @Inject - public ArbitratorService(P2PService p2PService, FilterManager filterManager) { - this.p2PService = p2PService; - this.filterManager = filterManager; - } - - public void addHashSetChangedListener(HashMapChangedListener hashMapChangedListener) { - p2PService.addHashSetChangedListener(hashMapChangedListener); - } - - public void addArbitrator(Arbitrator arbitrator, final ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { - log.debug("addArbitrator arbitrator.hashCode() " + arbitrator.hashCode()); - if (!BisqEnvironment.getBaseCurrencyNetwork().isMainnet() || - !Utilities.encodeToHex(arbitrator.getRegistrationPubKey()).equals(DevEnv.DEV_PRIVILEGE_PUB_KEY)) { - boolean result = p2PService.addProtectedStorageEntry(arbitrator, true); - if (result) { - log.trace("Add arbitrator to network was successful. Arbitrator.hashCode() = " + arbitrator.hashCode()); - resultHandler.handleResult(); - } else { - errorMessageHandler.handleErrorMessage("Add arbitrator failed"); - } - } else { - log.error("Attempt to publish dev arbitrator on mainnet."); - errorMessageHandler.handleErrorMessage("Add arbitrator failed. Attempt to publish dev arbitrator on mainnet."); - } - } - - public void removeArbitrator(Arbitrator arbitrator, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { - log.debug("removeArbitrator arbitrator.hashCode() " + arbitrator.hashCode()); - if (p2PService.removeData(arbitrator, true)) { - log.trace("Remove arbitrator from network was successful. Arbitrator.hashCode() = " + arbitrator.hashCode()); - resultHandler.handleResult(); - } else { - errorMessageHandler.handleErrorMessage("Remove arbitrator failed"); - } - } - - P2PService getP2PService() { - return p2PService; - } - - public Map getArbitrators() { - final List bannedArbitrators = filterManager.getFilter() != null ? filterManager.getFilter().getArbitrators() : null; - if (bannedArbitrators != null) - log.warn("bannedArbitrators=" + bannedArbitrators); - Set arbitratorSet = p2PService.getDataMap().values().stream() - .filter(data -> data.getProtectedStoragePayload() instanceof Arbitrator) - .map(data -> (Arbitrator) data.getProtectedStoragePayload()) - .filter(a -> bannedArbitrators == null || - !bannedArbitrators.contains(a.getNodeAddress().getFullAddress())) - .collect(Collectors.toSet()); - - Map map = new HashMap<>(); - for (Arbitrator arbitrator : arbitratorSet) { - NodeAddress arbitratorNodeAddress = arbitrator.getNodeAddress(); - if (!map.containsKey(arbitratorNodeAddress)) - map.put(arbitratorNodeAddress, arbitrator); - else - log.warn("arbitratorAddress already exist in arbitrator map. Seems an arbitrator object is already registered with the same address."); - } - return map; - } -} diff --git a/core/src/main/java/bisq/core/arbitration/DisputeChatSession.java b/core/src/main/java/bisq/core/arbitration/DisputeChatSession.java deleted file mode 100644 index 1f5d7213377..00000000000 --- a/core/src/main/java/bisq/core/arbitration/DisputeChatSession.java +++ /dev/null @@ -1,177 +0,0 @@ -/* - * This file is part of Bisq. - * - * Bisq is free software: you can redistribute it and/or modify it - * under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or (at - * your option) any later version. - * - * Bisq is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public - * License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Bisq. If not, see . - */ - -package bisq.core.arbitration; - -import bisq.core.arbitration.messages.DisputeCommunicationMessage; -import bisq.core.arbitration.messages.DisputeMessage; -import bisq.core.arbitration.messages.DisputeResultMessage; -import bisq.core.arbitration.messages.OpenNewDisputeMessage; -import bisq.core.arbitration.messages.PeerOpenedDisputeMessage; -import bisq.core.arbitration.messages.PeerPublishedDisputePayoutTxMessage; -import bisq.core.chat.ChatSession; - -import bisq.network.p2p.NodeAddress; - -import bisq.common.crypto.PubKeyRing; - -import javafx.collections.FXCollections; -import javafx.collections.ObservableList; - -import java.util.List; -import java.util.Optional; -import java.util.stream.Collectors; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.annotation.Nullable; - -public class DisputeChatSession extends ChatSession { - private static final Logger log = LoggerFactory.getLogger(DisputeChatSession.class); - - @Nullable - private Dispute dispute; - private DisputeManager disputeManager; - - public DisputeChatSession(@Nullable Dispute dispute, - DisputeManager disputeManager) { - super(DisputeCommunicationMessage.Type.ARBITRATION); - this.dispute = dispute; - this.disputeManager = disputeManager; - } - - /////////////////////////////////////////////////////////////////////////////////////////// - // Dependent on selected dispute - /////////////////////////////////////////////////////////////////////////////////////////// - - @Override - public boolean isClient() { - return dispute != null && disputeManager.isTrader(dispute); - } - - @Override - public String getTradeId() { - return dispute != null ? dispute.getTradeId() : ""; - } - - @Override - public PubKeyRing getClientPubKeyRing() { - // Get pubkeyring of trader. Arbitrator is considered server for the chat session - return dispute != null ? dispute.getTraderPubKeyRing() : null; - } - - @Override - public void addDisputeCommunicationMessage(DisputeCommunicationMessage message) { - if (dispute != null && (isClient() || (!isClient() && !message.isSystemMessage()))) - dispute.addDisputeCommunicationMessage(message); - } - - @Override - public void persist() { - disputeManager.getDisputes().persist(); - } - - @Override - public ObservableList getDisputeCommunicationMessages() { - return dispute != null ? dispute.getDisputeCommunicationMessages() : FXCollections.observableArrayList(); - } - - @Override - public boolean chatIsOpen() { - return dispute != null && !dispute.isClosed(); - } - - - /////////////////////////////////////////////////////////////////////////////////////////// - // Not dependent on selected dispute - /////////////////////////////////////////////////////////////////////////////////////////// - - @Nullable - @Override - public NodeAddress getPeerNodeAddress(DisputeCommunicationMessage message) { - Optional disputeOptional = disputeManager.findDispute(message.getTradeId(), message.getTraderId()); - if (!disputeOptional.isPresent()) { - log.warn("Could not find dispute for tradeId = {} traderId = {}", - message.getTradeId(), message.getTraderId()); - return null; - } - return disputeManager.getNodeAddressPubKeyRingTuple(disputeOptional.get()).first; - } - - @Nullable - @Override - public PubKeyRing getPeerPubKeyRing(DisputeCommunicationMessage message) { - Optional disputeOptional = disputeManager.findDispute(message.getTradeId(), message.getTraderId()); - if (!disputeOptional.isPresent()) { - log.warn("Could not find dispute for tradeId = {} traderId = {}", - message.getTradeId(), message.getTraderId()); - return null; - } - - return disputeManager.getNodeAddressPubKeyRingTuple(disputeOptional.get()).second; - } - - @Override - public void dispatchMessage(DisputeMessage message) { - log.info("Received {} with tradeId {} and uid {}", - message.getClass().getSimpleName(), message.getTradeId(), message.getUid()); - - if (message instanceof OpenNewDisputeMessage) { - disputeManager.onOpenNewDisputeMessage((OpenNewDisputeMessage) message); - } else if (message instanceof PeerOpenedDisputeMessage) { - disputeManager.onPeerOpenedDisputeMessage((PeerOpenedDisputeMessage) message); - } else if (message instanceof DisputeCommunicationMessage) { - if (((DisputeCommunicationMessage) message).getType() != DisputeCommunicationMessage.Type.ARBITRATION) { - log.debug("Ignore non dispute type communication message"); - return; - } - disputeManager.getChatManager().onDisputeDirectMessage((DisputeCommunicationMessage) message); - } else if (message instanceof DisputeResultMessage) { - disputeManager.onDisputeResultMessage((DisputeResultMessage) message); - } else if (message instanceof PeerPublishedDisputePayoutTxMessage) { - disputeManager.onDisputedPayoutTxMessage((PeerPublishedDisputePayoutTxMessage) message); - } else { - log.warn("Unsupported message at dispatchMessage.\nmessage=" + message); - } - } - - @Override - public List getChatMessages() { - return disputeManager.getDisputes().getList().stream() - .flatMap(dispute -> dispute.getDisputeCommunicationMessages().stream()) - .collect(Collectors.toList()); - } - - @Override - public boolean channelOpen(DisputeCommunicationMessage message) { - return disputeManager.findDispute(message.getTradeId(), message.getTraderId()).isPresent(); - } - - @Override - public void storeDisputeCommunicationMessage(DisputeCommunicationMessage message) { - Optional disputeOptional = disputeManager.findDispute(message.getTradeId(), message.getTraderId()); - if (disputeOptional.isPresent()) { - if (disputeOptional.get().getDisputeCommunicationMessages().stream().noneMatch(m -> m.getUid().equals(message.getUid()))) { - disputeOptional.get().addDisputeCommunicationMessage(message); - } else { - log.warn("We got a disputeCommunicationMessage what we have already stored. UId = {} TradeId = {}", - message.getUid(), message.getTradeId()); - } - } - } -} diff --git a/core/src/main/java/bisq/core/arbitration/DisputeManager.java b/core/src/main/java/bisq/core/arbitration/DisputeManager.java deleted file mode 100644 index ddb7f1cb7c7..00000000000 --- a/core/src/main/java/bisq/core/arbitration/DisputeManager.java +++ /dev/null @@ -1,929 +0,0 @@ -/* - * This file is part of Bisq. - * - * Bisq is free software: you can redistribute it and/or modify it - * under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or (at - * your option) any later version. - * - * Bisq is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public - * License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Bisq. If not, see . - */ - -package bisq.core.arbitration; - -import bisq.core.arbitration.messages.DisputeCommunicationMessage; -import bisq.core.arbitration.messages.DisputeResultMessage; -import bisq.core.arbitration.messages.OpenNewDisputeMessage; -import bisq.core.arbitration.messages.PeerOpenedDisputeMessage; -import bisq.core.arbitration.messages.PeerPublishedDisputePayoutTxMessage; -import bisq.core.btc.exceptions.TransactionVerificationException; -import bisq.core.btc.exceptions.TxBroadcastException; -import bisq.core.btc.exceptions.WalletException; -import bisq.core.btc.setup.WalletsSetup; -import bisq.core.btc.wallet.BtcWalletService; -import bisq.core.btc.wallet.TradeWalletService; -import bisq.core.btc.wallet.TxBroadcaster; -import bisq.core.chat.ChatManager; -import bisq.core.locale.Res; -import bisq.core.offer.OpenOffer; -import bisq.core.offer.OpenOfferManager; -import bisq.core.trade.Contract; -import bisq.core.trade.Tradable; -import bisq.core.trade.Trade; -import bisq.core.trade.TradeManager; -import bisq.core.trade.closed.ClosedTradableManager; - -import bisq.network.p2p.BootstrapListener; -import bisq.network.p2p.NodeAddress; -import bisq.network.p2p.P2PService; -import bisq.network.p2p.SendMailboxMessageListener; - -import bisq.common.Timer; -import bisq.common.UserThread; -import bisq.common.app.Version; -import bisq.common.crypto.KeyRing; -import bisq.common.crypto.PubKeyRing; -import bisq.common.handlers.FaultHandler; -import bisq.common.handlers.ResultHandler; -import bisq.common.proto.persistable.PersistedDataHost; -import bisq.common.storage.Storage; -import bisq.common.util.Tuple2; - -import org.bitcoinj.core.AddressFormatException; -import org.bitcoinj.core.Transaction; -import org.bitcoinj.crypto.DeterministicKey; - -import com.google.inject.Inject; - -import org.fxmisc.easybind.EasyBind; -import org.fxmisc.easybind.Subscription; - -import javafx.beans.property.IntegerProperty; -import javafx.beans.property.SimpleIntegerProperty; - -import javafx.collections.ListChangeListener; -import javafx.collections.ObservableList; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.UUID; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import lombok.Getter; - -import javax.annotation.Nullable; - -public class DisputeManager implements PersistedDataHost { - private static final Logger log = LoggerFactory.getLogger(DisputeManager.class); - - private final TradeWalletService tradeWalletService; - private final BtcWalletService walletService; - private final WalletsSetup walletsSetup; - private final TradeManager tradeManager; - private final ClosedTradableManager closedTradableManager; - private final OpenOfferManager openOfferManager; - private final P2PService p2PService; - private final KeyRing keyRing; - private final Storage disputeStorage; - @Getter - private DisputeList disputes; - private final String disputeInfo; - private final Map openDisputes; - private final Map closedDisputes; - private final Map delayMsgMap = new HashMap<>(); - - private final Map disputeIsClosedSubscriptionsMap = new HashMap<>(); - @Getter - private final IntegerProperty numOpenDisputes = new SimpleIntegerProperty(); - @Getter - private final ChatManager chatManager; - - /////////////////////////////////////////////////////////////////////////////////////////// - // Constructor - /////////////////////////////////////////////////////////////////////////////////////////// - - @Inject - public DisputeManager(P2PService p2PService, - TradeWalletService tradeWalletService, - BtcWalletService walletService, - WalletsSetup walletsSetup, - TradeManager tradeManager, - ClosedTradableManager closedTradableManager, - OpenOfferManager openOfferManager, - KeyRing keyRing, - Storage storage) { - this.p2PService = p2PService; - this.tradeWalletService = tradeWalletService; - this.walletService = walletService; - this.walletsSetup = walletsSetup; - this.tradeManager = tradeManager; - this.closedTradableManager = closedTradableManager; - this.openOfferManager = openOfferManager; - this.keyRing = keyRing; - - chatManager = new ChatManager(p2PService, walletsSetup); - chatManager.setChatSession(new DisputeChatSession(null, this)); - - disputeStorage = storage; - - openDisputes = new HashMap<>(); - closedDisputes = new HashMap<>(); - - disputeInfo = Res.get("support.initialInfo"); - } - - - /////////////////////////////////////////////////////////////////////////////////////////// - // API - /////////////////////////////////////////////////////////////////////////////////////////// - - @Override - public void readPersisted() { - disputes = new DisputeList(disputeStorage); - disputes.readPersisted(); - disputes.stream().forEach(dispute -> dispute.setStorage(disputeStorage)); - } - - public void onAllServicesInitialized() { - chatManager.onAllServicesInitialized(); - p2PService.addP2PServiceListener(new BootstrapListener() { - @Override - public void onUpdatedDataReceived() { - chatManager.tryApplyMessages(); - } - }); - - walletsSetup.downloadPercentageProperty().addListener((observable, oldValue, newValue) -> { - if (walletsSetup.isDownloadComplete()) - chatManager.tryApplyMessages(); - }); - - walletsSetup.numPeersProperty().addListener((observable, oldValue, newValue) -> { - if (walletsSetup.hasSufficientPeersForBroadcast()) - chatManager.tryApplyMessages(); - }); - - chatManager.tryApplyMessages(); - - cleanupDisputes(); - - disputes.getList().addListener((ListChangeListener) change -> { - change.next(); - onDisputesChangeListener(change.getAddedSubList(), change.getRemoved()); - }); - onDisputesChangeListener(disputes.getList(), null); - } - - private void onDisputesChangeListener(List addedList, - @Nullable List removedList) { - if (removedList != null) { - removedList.forEach(dispute -> { - String id = dispute.getId(); - if (disputeIsClosedSubscriptionsMap.containsKey(id)) { - disputeIsClosedSubscriptionsMap.get(id).unsubscribe(); - disputeIsClosedSubscriptionsMap.remove(id); - } - }); - } - addedList.forEach(dispute -> { - String id = dispute.getId(); - Subscription disputeStateSubscription = EasyBind.subscribe(dispute.isClosedProperty(), - isClosed -> { - // We get the event before the list gets updated, so we execute on next frame - UserThread.execute(() -> { - int openDisputes = disputes.getList().stream() - .filter(e -> !e.isClosed()) - .collect(Collectors.toList()).size(); - numOpenDisputes.set(openDisputes); - }); - }); - disputeIsClosedSubscriptionsMap.put(id, disputeStateSubscription); - }); - } - - public void cleanupDisputes() { - disputes.stream().forEach(dispute -> { - dispute.setStorage(disputeStorage); - if (dispute.isClosed()) - closedDisputes.put(dispute.getTradeId(), dispute); - else - openDisputes.put(dispute.getTradeId(), dispute); - }); - - // If we have duplicate disputes we close the second one (might happen if both traders opened a dispute and arbitrator - // was offline, so could not forward msg to other peer, then the arbitrator might have 4 disputes open for 1 trade) - openDisputes.forEach((key, openDispute) -> { - if (closedDisputes.containsKey(key)) { - final Dispute closedDispute = closedDisputes.get(key); - // We need to check if is from the same peer, we don't want to close the peers dispute - if (closedDispute.getTraderId() == openDispute.getTraderId()) { - openDispute.setIsClosed(true); - tradeManager.closeDisputedTrade(openDispute.getTradeId()); - } - } - }); - } - - public void sendOpenNewDisputeMessage(Dispute dispute, boolean reOpen, ResultHandler resultHandler, FaultHandler faultHandler) { - if (!disputes.contains(dispute)) { - final Optional storedDisputeOptional = findDispute(dispute.getTradeId(), dispute.getTraderId()); - if (!storedDisputeOptional.isPresent() || reOpen) { - String sysMsg = dispute.isSupportTicket() ? - Res.get("support.youOpenedTicket", disputeInfo, Version.VERSION) - : Res.get("support.youOpenedDispute", disputeInfo, Version.VERSION); - - DisputeCommunicationMessage disputeCommunicationMessage = new DisputeCommunicationMessage( - chatManager.getChatSession().getType(), - dispute.getTradeId(), - keyRing.getPubKeyRing().hashCode(), - false, - Res.get("support.systemMsg", sysMsg), - p2PService.getAddress() - ); - disputeCommunicationMessage.setSystemMessage(true); - dispute.addDisputeCommunicationMessage(disputeCommunicationMessage); - if (!reOpen) { - disputes.add(dispute); - } - - NodeAddress peersNodeAddress = dispute.getContract().getArbitratorNodeAddress(); - OpenNewDisputeMessage openNewDisputeMessage = new OpenNewDisputeMessage(dispute, p2PService.getAddress(), - UUID.randomUUID().toString()); - log.info("Send {} to peer {}. tradeId={}, openNewDisputeMessage.uid={}, " + - "disputeCommunicationMessage.uid={}", - openNewDisputeMessage.getClass().getSimpleName(), peersNodeAddress, - openNewDisputeMessage.getTradeId(), openNewDisputeMessage.getUid(), - disputeCommunicationMessage.getUid()); - p2PService.sendEncryptedMailboxMessage(peersNodeAddress, - dispute.getArbitratorPubKeyRing(), - openNewDisputeMessage, - new SendMailboxMessageListener() { - @Override - public void onArrived() { - log.info("{} arrived at peer {}. tradeId={}, openNewDisputeMessage.uid={}, " + - "disputeCommunicationMessage.uid={}", - openNewDisputeMessage.getClass().getSimpleName(), peersNodeAddress, - openNewDisputeMessage.getTradeId(), openNewDisputeMessage.getUid(), - disputeCommunicationMessage.getUid()); - - // We use the disputeCommunicationMessage wrapped inside the openNewDisputeMessage for - // the state, as that is displayed to the user and we only persist that msg - disputeCommunicationMessage.setArrived(true); - disputes.persist(); - resultHandler.handleResult(); - } - - @Override - public void onStoredInMailbox() { - log.info("{} stored in mailbox for peer {}. tradeId={}, openNewDisputeMessage.uid={}, " + - "disputeCommunicationMessage.uid={}", - openNewDisputeMessage.getClass().getSimpleName(), peersNodeAddress, - openNewDisputeMessage.getTradeId(), openNewDisputeMessage.getUid(), - disputeCommunicationMessage.getUid()); - - // We use the disputeCommunicationMessage wrapped inside the openNewDisputeMessage for - // the state, as that is displayed to the user and we only persist that msg - disputeCommunicationMessage.setStoredInMailbox(true); - disputes.persist(); - resultHandler.handleResult(); - } - - @Override - public void onFault(String errorMessage) { - log.error("{} failed: Peer {}. tradeId={}, openNewDisputeMessage.uid={}, " + - "disputeCommunicationMessage.uid={}, errorMessage={}", - openNewDisputeMessage.getClass().getSimpleName(), peersNodeAddress, - openNewDisputeMessage.getTradeId(), openNewDisputeMessage.getUid(), - disputeCommunicationMessage.getUid(), errorMessage); - - // We use the disputeCommunicationMessage wrapped inside the openNewDisputeMessage for - // the state, as that is displayed to the user and we only persist that msg - disputeCommunicationMessage.setSendMessageError(errorMessage); - disputes.persist(); - faultHandler.handleFault("Sending dispute message failed: " + - errorMessage, new MessageDeliveryFailedException()); - } - } - ); - } else { - final String msg = "We got a dispute already open for that trade and trading peer.\n" + - "TradeId = " + dispute.getTradeId(); - log.warn(msg); - faultHandler.handleFault(msg, new DisputeAlreadyOpenException()); - } - } else { - final String msg = "We got a dispute msg what we have already stored. TradeId = " + dispute.getTradeId(); - log.warn(msg); - faultHandler.handleFault(msg, new DisputeAlreadyOpenException()); - } - } - - // arbitrator sends that to trading peer when he received openDispute request - private String sendPeerOpenedDisputeMessage(Dispute disputeFromOpener, - Contract contractFromOpener, - PubKeyRing pubKeyRing) { - Dispute dispute = new Dispute( - disputeStorage, - disputeFromOpener.getTradeId(), - pubKeyRing.hashCode(), - !disputeFromOpener.isDisputeOpenerIsBuyer(), - !disputeFromOpener.isDisputeOpenerIsMaker(), - pubKeyRing, - disputeFromOpener.getTradeDate().getTime(), - contractFromOpener, - disputeFromOpener.getContractHash(), - disputeFromOpener.getDepositTxSerialized(), - disputeFromOpener.getPayoutTxSerialized(), - disputeFromOpener.getDepositTxId(), - disputeFromOpener.getPayoutTxId(), - disputeFromOpener.getContractAsJson(), - disputeFromOpener.getMakerContractSignature(), - disputeFromOpener.getTakerContractSignature(), - disputeFromOpener.getArbitratorPubKeyRing(), - disputeFromOpener.isSupportTicket() - ); - final Optional storedDisputeOptional = findDispute(dispute.getTradeId(), dispute.getTraderId()); - if (!storedDisputeOptional.isPresent()) { - String sysMsg = dispute.isSupportTicket() ? - Res.get("support.peerOpenedTicket", disputeInfo) - : Res.get("support.peerOpenedDispute", disputeInfo); - DisputeCommunicationMessage disputeCommunicationMessage = new DisputeCommunicationMessage( - chatManager.getChatSession().getType(), - dispute.getTradeId(), - keyRing.getPubKeyRing().hashCode(), - false, - Res.get("support.systemMsg", sysMsg), - p2PService.getAddress() - ); - disputeCommunicationMessage.setSystemMessage(true); - dispute.addDisputeCommunicationMessage(disputeCommunicationMessage); - disputes.add(dispute); - - // we mirrored dispute already! - Contract contract = dispute.getContract(); - PubKeyRing peersPubKeyRing = dispute.isDisputeOpenerIsBuyer() ? contract.getBuyerPubKeyRing() : contract.getSellerPubKeyRing(); - NodeAddress peersNodeAddress = dispute.isDisputeOpenerIsBuyer() ? contract.getBuyerNodeAddress() : contract.getSellerNodeAddress(); - PeerOpenedDisputeMessage peerOpenedDisputeMessage = new PeerOpenedDisputeMessage(dispute, - p2PService.getAddress(), - UUID.randomUUID().toString()); - log.info("Send {} to peer {}. tradeId={}, peerOpenedDisputeMessage.uid={}, " + - "disputeCommunicationMessage.uid={}", - peerOpenedDisputeMessage.getClass().getSimpleName(), peersNodeAddress, - peerOpenedDisputeMessage.getTradeId(), peerOpenedDisputeMessage.getUid(), - disputeCommunicationMessage.getUid()); - p2PService.sendEncryptedMailboxMessage(peersNodeAddress, - peersPubKeyRing, - peerOpenedDisputeMessage, - new SendMailboxMessageListener() { - @Override - public void onArrived() { - log.info("{} arrived at peer {}. tradeId={}, peerOpenedDisputeMessage.uid={}, " + - "disputeCommunicationMessage.uid={}", - peerOpenedDisputeMessage.getClass().getSimpleName(), peersNodeAddress, - peerOpenedDisputeMessage.getTradeId(), peerOpenedDisputeMessage.getUid(), - disputeCommunicationMessage.getUid()); - - // We use the disputeCommunicationMessage wrapped inside the peerOpenedDisputeMessage for - // the state, as that is displayed to the user and we only persist that msg - disputeCommunicationMessage.setArrived(true); - disputes.persist(); - } - - @Override - public void onStoredInMailbox() { - log.info("{} stored in mailbox for peer {}. tradeId={}, peerOpenedDisputeMessage.uid={}, " + - "disputeCommunicationMessage.uid={}", - peerOpenedDisputeMessage.getClass().getSimpleName(), peersNodeAddress, - peerOpenedDisputeMessage.getTradeId(), peerOpenedDisputeMessage.getUid(), - disputeCommunicationMessage.getUid()); - - // We use the disputeCommunicationMessage wrapped inside the peerOpenedDisputeMessage for - // the state, as that is displayed to the user and we only persist that msg - disputeCommunicationMessage.setStoredInMailbox(true); - disputes.persist(); - } - - @Override - public void onFault(String errorMessage) { - log.error("{} failed: Peer {}. tradeId={}, peerOpenedDisputeMessage.uid={}, " + - "disputeCommunicationMessage.uid={}, errorMessage={}", - peerOpenedDisputeMessage.getClass().getSimpleName(), peersNodeAddress, - peerOpenedDisputeMessage.getTradeId(), peerOpenedDisputeMessage.getUid(), - disputeCommunicationMessage.getUid(), errorMessage); - - // We use the disputeCommunicationMessage wrapped inside the peerOpenedDisputeMessage for - // the state, as that is displayed to the user and we only persist that msg - disputeCommunicationMessage.setSendMessageError(errorMessage); - disputes.persist(); - } - } - ); - return null; - } else { - String msg = "We got a dispute already open for that trade and trading peer.\n" + - "TradeId = " + dispute.getTradeId(); - log.warn(msg); - return msg; - } - } - - // arbitrator send result to trader - public void sendDisputeResultMessage(DisputeResult disputeResult, Dispute dispute, String text) { - DisputeCommunicationMessage disputeCommunicationMessage = new DisputeCommunicationMessage( - chatManager.getChatSession().getType(), - dispute.getTradeId(), - dispute.getTraderPubKeyRing().hashCode(), - false, - text, - p2PService.getAddress() - ); - - dispute.addDisputeCommunicationMessage(disputeCommunicationMessage); - disputeResult.setDisputeCommunicationMessage(disputeCommunicationMessage); - - NodeAddress peersNodeAddress; - Contract contract = dispute.getContract(); - if (contract.getBuyerPubKeyRing().equals(dispute.getTraderPubKeyRing())) - peersNodeAddress = contract.getBuyerNodeAddress(); - else - peersNodeAddress = contract.getSellerNodeAddress(); - DisputeResultMessage disputeResultMessage = new DisputeResultMessage(disputeResult, p2PService.getAddress(), - UUID.randomUUID().toString()); - log.info("Send {} to peer {}. tradeId={}, disputeResultMessage.uid={}, disputeCommunicationMessage.uid={}", - disputeResultMessage.getClass().getSimpleName(), peersNodeAddress, disputeResultMessage.getTradeId(), - disputeResultMessage.getUid(), disputeCommunicationMessage.getUid()); - p2PService.sendEncryptedMailboxMessage(peersNodeAddress, - dispute.getTraderPubKeyRing(), - disputeResultMessage, - new SendMailboxMessageListener() { - @Override - public void onArrived() { - log.info("{} arrived at peer {}. tradeId={}, disputeResultMessage.uid={}, " + - "disputeCommunicationMessage.uid={}", - disputeResultMessage.getClass().getSimpleName(), peersNodeAddress, - disputeResultMessage.getTradeId(), disputeResultMessage.getUid(), - disputeCommunicationMessage.getUid()); - - // We use the disputeCommunicationMessage wrapped inside the disputeResultMessage for - // the state, as that is displayed to the user and we only persist that msg - disputeCommunicationMessage.setArrived(true); - disputes.persist(); - } - - @Override - public void onStoredInMailbox() { - log.info("{} stored in mailbox for peer {}. tradeId={}, disputeResultMessage.uid={}, " + - "disputeCommunicationMessage.uid={}", - disputeResultMessage.getClass().getSimpleName(), peersNodeAddress, - disputeResultMessage.getTradeId(), disputeResultMessage.getUid(), - disputeCommunicationMessage.getUid()); - - // We use the disputeCommunicationMessage wrapped inside the disputeResultMessage for - // the state, as that is displayed to the user and we only persist that msg - disputeCommunicationMessage.setStoredInMailbox(true); - disputes.persist(); - } - - @Override - public void onFault(String errorMessage) { - log.error("{} failed: Peer {}. tradeId={}, disputeResultMessage.uid={}, " + - "disputeCommunicationMessage.uid={}, errorMessage={}", - disputeResultMessage.getClass().getSimpleName(), peersNodeAddress, - disputeResultMessage.getTradeId(), disputeResultMessage.getUid(), - disputeCommunicationMessage.getUid(), errorMessage); - - // We use the disputeCommunicationMessage wrapped inside the disputeResultMessage for - // the state, as that is displayed to the user and we only persist that msg - disputeCommunicationMessage.setSendMessageError(errorMessage); - disputes.persist(); - } - } - ); - } - - // winner (or buyer in case of 50/50) sends tx to other peer - private void sendPeerPublishedPayoutTxMessage(Transaction transaction, Dispute dispute, Contract contract) { - PubKeyRing peersPubKeyRing = dispute.isDisputeOpenerIsBuyer() ? contract.getSellerPubKeyRing() : contract.getBuyerPubKeyRing(); - NodeAddress peersNodeAddress = dispute.isDisputeOpenerIsBuyer() ? contract.getSellerNodeAddress() : contract.getBuyerNodeAddress(); - log.trace("sendPeerPublishedPayoutTxMessage to peerAddress " + peersNodeAddress); - final PeerPublishedDisputePayoutTxMessage message = new PeerPublishedDisputePayoutTxMessage(transaction.bitcoinSerialize(), - dispute.getTradeId(), - p2PService.getAddress(), - UUID.randomUUID().toString()); - log.info("Send {} to peer {}. tradeId={}, uid={}", - message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); - p2PService.sendEncryptedMailboxMessage(peersNodeAddress, - peersPubKeyRing, - message, - new SendMailboxMessageListener() { - @Override - public void onArrived() { - log.info("{} arrived at peer {}. tradeId={}, uid={}", - message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); - } - - @Override - public void onStoredInMailbox() { - log.info("{} stored in mailbox for peer {}. tradeId={}, uid={}", - message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); - } - - @Override - public void onFault(String errorMessage) { - log.error("{} failed: Peer {}. tradeId={}, uid={}, errorMessage={}", - message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid(), errorMessage); - } - } - ); - } - - /////////////////////////////////////////////////////////////////////////////////////////// - // Incoming message - /////////////////////////////////////////////////////////////////////////////////////////// - - // arbitrator receives that from trader who opens dispute - public void onOpenNewDisputeMessage(OpenNewDisputeMessage openNewDisputeMessage) { - String errorMessage; - Dispute dispute = openNewDisputeMessage.getDispute(); - Contract contractFromOpener = dispute.getContract(); - PubKeyRing peersPubKeyRing = dispute.isDisputeOpenerIsBuyer() ? contractFromOpener.getSellerPubKeyRing() : contractFromOpener.getBuyerPubKeyRing(); - if (isArbitrator(dispute)) { - if (!disputes.contains(dispute)) { - final Optional storedDisputeOptional = findDispute(dispute.getTradeId(), dispute.getTraderId()); - if (!storedDisputeOptional.isPresent()) { - dispute.setStorage(disputeStorage); - disputes.add(dispute); - errorMessage = sendPeerOpenedDisputeMessage(dispute, contractFromOpener, peersPubKeyRing); - } else { - errorMessage = "We got a dispute already open for that trade and trading peer.\n" + - "TradeId = " + dispute.getTradeId(); - log.warn(errorMessage); - } - } else { - errorMessage = "We got a dispute msg what we have already stored. TradeId = " + dispute.getTradeId(); - log.warn(errorMessage); - } - } else { - errorMessage = "Trader received openNewDisputeMessage. That must never happen."; - log.error(errorMessage); - } - - // We use the DisputeCommunicationMessage not the openNewDisputeMessage for the ACK - ObservableList messages = openNewDisputeMessage.getDispute().getDisputeCommunicationMessages(); - if (!messages.isEmpty()) { - DisputeCommunicationMessage msg = messages.get(0); - PubKeyRing sendersPubKeyRing = dispute.isDisputeOpenerIsBuyer() ? contractFromOpener.getBuyerPubKeyRing() : contractFromOpener.getSellerPubKeyRing(); - chatManager.sendAckMessage(msg, sendersPubKeyRing, errorMessage == null, errorMessage); - } - } - - // not dispute requester receives that from arbitrator - public void onPeerOpenedDisputeMessage(PeerOpenedDisputeMessage peerOpenedDisputeMessage) { - String errorMessage; - Dispute dispute = peerOpenedDisputeMessage.getDispute(); - if (!isArbitrator(dispute)) { - if (!disputes.contains(dispute)) { - final Optional storedDisputeOptional = findDispute(dispute.getTradeId(), dispute.getTraderId()); - if (!storedDisputeOptional.isPresent()) { - dispute.setStorage(disputeStorage); - disputes.add(dispute); - Optional tradeOptional = tradeManager.getTradeById(dispute.getTradeId()); - tradeOptional.ifPresent(trade -> trade.setDisputeState(Trade.DisputeState.DISPUTE_STARTED_BY_PEER)); - errorMessage = null; - } else { - errorMessage = "We got a dispute already open for that trade and trading peer.\n" + - "TradeId = " + dispute.getTradeId(); - log.warn(errorMessage); - } - } else { - errorMessage = "We got a dispute msg what we have already stored. TradeId = " + dispute.getTradeId(); - log.warn(errorMessage); - } - } else { - errorMessage = "Arbitrator received peerOpenedDisputeMessage. That must never happen."; - log.error(errorMessage); - } - - // We use the DisputeCommunicationMessage not the peerOpenedDisputeMessage for the ACK - ObservableList messages = peerOpenedDisputeMessage.getDispute().getDisputeCommunicationMessages(); - if (!messages.isEmpty()) { - DisputeCommunicationMessage msg = messages.get(0); - chatManager.sendAckMessage(msg, dispute.getArbitratorPubKeyRing(), errorMessage == null, errorMessage); - } - - chatManager.sendAckMessage(peerOpenedDisputeMessage, dispute.getArbitratorPubKeyRing(), errorMessage == null, errorMessage); - } - - // We get that message at both peers. The dispute object is in context of the trader - public void onDisputeResultMessage(DisputeResultMessage disputeResultMessage) { - String errorMessage = null; - boolean success = false; - PubKeyRing arbitratorsPubKeyRing = null; - DisputeResult disputeResult = disputeResultMessage.getDisputeResult(); - - if (isArbitrator(disputeResult)) { - log.error("Arbitrator received disputeResultMessage. That must never happen."); - return; - } - - final String tradeId = disputeResult.getTradeId(); - Optional disputeOptional = findDispute(tradeId, disputeResult.getTraderId()); - final String uid = disputeResultMessage.getUid(); - if (!disputeOptional.isPresent()) { - log.debug("We got a dispute result msg but we don't have a matching dispute. " + - "That might happen when we get the disputeResultMessage before the dispute was created. " + - "We try again after 2 sec. to apply the disputeResultMessage. TradeId = " + tradeId); - if (!delayMsgMap.containsKey(uid)) { - // We delay2 sec. to be sure the comm. msg gets added first - Timer timer = UserThread.runAfter(() -> onDisputeResultMessage(disputeResultMessage), 2); - delayMsgMap.put(uid, timer); - } else { - log.warn("We got a dispute result msg after we already repeated to apply the message after a delay. " + - "That should never happen. TradeId = " + tradeId); - } - return; - } - Dispute dispute = disputeOptional.get(); - try { - cleanupRetryMap(uid); - arbitratorsPubKeyRing = dispute.getArbitratorPubKeyRing(); - DisputeCommunicationMessage disputeCommunicationMessage = disputeResult.getDisputeCommunicationMessage(); - if (!dispute.getDisputeCommunicationMessages().contains(disputeCommunicationMessage)) - dispute.addDisputeCommunicationMessage(disputeCommunicationMessage); - else if (disputeCommunicationMessage != null) - log.warn("We got a dispute mail msg what we have already stored. TradeId = " + disputeCommunicationMessage.getTradeId()); - - dispute.setIsClosed(true); - - if (dispute.disputeResultProperty().get() != null) - log.warn("We got already a dispute result. That should only happen if a dispute needs to be closed " + - "again because the first close did not succeed. TradeId = " + tradeId); - - dispute.setDisputeResult(disputeResult); - - // We need to avoid publishing the tx from both traders as it would create problems with zero confirmation withdrawals - // There would be different transactions if both sign and publish (signers: once buyer+arb, once seller+arb) - // The tx publisher is the winner or in case both get 50% the buyer, as the buyer has more inventive to publish the tx as he receives - // more BTC as he has deposited - final Contract contract = dispute.getContract(); - - boolean isBuyer = keyRing.getPubKeyRing().equals(contract.getBuyerPubKeyRing()); - DisputeResult.Winner publisher = disputeResult.getWinner(); - - // Sometimes the user who receives the trade amount is never online, so we might want to - // let the loser publish the tx. When the winner comes online he gets his funds as it was published by the other peer. - // Default isLoserPublisher is set to false - if (disputeResult.isLoserPublisher()) { - // we invert the logic - if (publisher == DisputeResult.Winner.BUYER) - publisher = DisputeResult.Winner.SELLER; - else if (publisher == DisputeResult.Winner.SELLER) - publisher = DisputeResult.Winner.BUYER; - } - - if ((isBuyer && publisher == DisputeResult.Winner.BUYER) - || (!isBuyer && publisher == DisputeResult.Winner.SELLER)) { - - final Optional tradeOptional = tradeManager.getTradeById(tradeId); - Transaction payoutTx = null; - if (tradeOptional.isPresent()) { - payoutTx = tradeOptional.get().getPayoutTx(); - } else { - final Optional tradableOptional = closedTradableManager.getTradableById(tradeId); - if (tradableOptional.isPresent() && tradableOptional.get() instanceof Trade) { - payoutTx = ((Trade) tradableOptional.get()).getPayoutTx(); - } - } - - if (payoutTx == null) { - if (dispute.getDepositTxSerialized() != null) { - byte[] multiSigPubKey = isBuyer ? contract.getBuyerMultiSigPubKey() : contract.getSellerMultiSigPubKey(); - DeterministicKey multiSigKeyPair = walletService.getMultiSigKeyPair(dispute.getTradeId(), multiSigPubKey); - Transaction signedDisputedPayoutTx = tradeWalletService.traderSignAndFinalizeDisputedPayoutTx( - dispute.getDepositTxSerialized(), - disputeResult.getArbitratorSignature(), - disputeResult.getBuyerPayoutAmount(), - disputeResult.getSellerPayoutAmount(), - contract.getBuyerPayoutAddressString(), - contract.getSellerPayoutAddressString(), - multiSigKeyPair, - contract.getBuyerMultiSigPubKey(), - contract.getSellerMultiSigPubKey(), - disputeResult.getArbitratorPubKey() - ); - Transaction committedDisputedPayoutTx = tradeWalletService.addTxToWallet(signedDisputedPayoutTx); - tradeWalletService.broadcastTx(committedDisputedPayoutTx, new TxBroadcaster.Callback() { - @Override - public void onSuccess(Transaction transaction) { - // after successful publish we send peer the tx - - dispute.setDisputePayoutTxId(transaction.getHashAsString()); - sendPeerPublishedPayoutTxMessage(transaction, dispute, contract); - - // set state after payout as we call swapTradeEntryToAvailableEntry - if (tradeManager.getTradeById(dispute.getTradeId()).isPresent()) - tradeManager.closeDisputedTrade(dispute.getTradeId()); - else { - Optional openOfferOptional = openOfferManager.getOpenOfferById(dispute.getTradeId()); - openOfferOptional.ifPresent(openOffer -> openOfferManager.closeOpenOffer(openOffer.getOffer())); - } - } - - @Override - public void onFailure(TxBroadcastException exception) { - log.error(exception.getMessage()); - } - }, 15); - - success = true; - } else { - errorMessage = "DepositTx is null. TradeId = " + tradeId; - log.warn(errorMessage); - success = false; - } - } else { - log.warn("We got already a payout tx. That might be the case if the other peer did not get the " + - "payout tx and opened a dispute. TradeId = " + tradeId); - dispute.setDisputePayoutTxId(payoutTx.getHashAsString()); - sendPeerPublishedPayoutTxMessage(payoutTx, dispute, contract); - - success = true; - } - - } else { - log.trace("We don't publish the tx as we are not the winning party."); - // Clean up tangling trades - if (dispute.disputeResultProperty().get() != null && - dispute.isClosed() && - tradeManager.getTradeById(dispute.getTradeId()).isPresent()) { - tradeManager.closeDisputedTrade(dispute.getTradeId()); - } - - success = true; - } - } catch (TransactionVerificationException e) { - errorMessage = "Error at traderSignAndFinalizeDisputedPayoutTx " + e.toString(); - log.error(errorMessage, e); - success = false; - - // We prefer to close the dispute in that case. If there was no deposit tx and a random tx was used - // we get a TransactionVerificationException. No reason to keep that dispute open... - if (tradeManager.getTradeById(dispute.getTradeId()).isPresent()) - tradeManager.closeDisputedTrade(dispute.getTradeId()); - else { - Optional openOfferOptional = openOfferManager.getOpenOfferById(dispute.getTradeId()); - openOfferOptional.ifPresent(openOffer -> openOfferManager.closeOpenOffer(openOffer.getOffer())); - } - dispute.setIsClosed(true); - - throw new RuntimeException(errorMessage); - } catch (AddressFormatException | WalletException e) { - errorMessage = "Error at traderSignAndFinalizeDisputedPayoutTx " + e.toString(); - log.error(errorMessage, e); - success = false; - throw new RuntimeException(errorMessage); - } finally { - if (arbitratorsPubKeyRing != null) { - // We use the disputeCommunicationMessage as we only persist those not the disputeResultMessage. - // If we would use the disputeResultMessage we could not lookup for the msg when we receive the AckMessage. - DisputeCommunicationMessage disputeCommunicationMessage = disputeResultMessage.getDisputeResult().getDisputeCommunicationMessage(); - chatManager.sendAckMessage(disputeCommunicationMessage, arbitratorsPubKeyRing, success, errorMessage); - } - } - } - - // Losing trader or in case of 50/50 the seller gets the tx sent from the winner or buyer - public void onDisputedPayoutTxMessage(PeerPublishedDisputePayoutTxMessage peerPublishedDisputePayoutTxMessage) { - final String uid = peerPublishedDisputePayoutTxMessage.getUid(); - final String tradeId = peerPublishedDisputePayoutTxMessage.getTradeId(); - Optional disputeOptional = findOwnDispute(tradeId); - if (!disputeOptional.isPresent()) { - log.debug("We got a peerPublishedPayoutTxMessage but we don't have a matching dispute. TradeId = " + tradeId); - if (!delayMsgMap.containsKey(uid)) { - // We delay 3 sec. to be sure the close msg gets added first - Timer timer = UserThread.runAfter(() -> onDisputedPayoutTxMessage(peerPublishedDisputePayoutTxMessage), 3); - delayMsgMap.put(uid, timer); - } else { - log.warn("We got a peerPublishedPayoutTxMessage after we already repeated to apply the message after a delay. " + - "That should never happen. TradeId = " + tradeId); - } - return; - } - - Dispute dispute = disputeOptional.get(); - final Contract contract = dispute.getContract(); - PubKeyRing ownPubKeyRing = keyRing.getPubKeyRing(); - boolean isBuyer = ownPubKeyRing.equals(contract.getBuyerPubKeyRing()); - PubKeyRing peersPubKeyRing = isBuyer ? contract.getSellerPubKeyRing() : contract.getBuyerPubKeyRing(); - - cleanupRetryMap(uid); - Transaction walletTx = tradeWalletService.addTxToWallet(peerPublishedDisputePayoutTxMessage.getTransaction()); - dispute.setDisputePayoutTxId(walletTx.getHashAsString()); - BtcWalletService.printTx("Disputed payoutTx received from peer", walletTx); - - // We can only send the ack msg if we have the peersPubKeyRing which requires the dispute - chatManager.sendAckMessage(peerPublishedDisputePayoutTxMessage, peersPubKeyRing, true, null); - } - - - /////////////////////////////////////////////////////////////////////////////////////////// - // Getters - /////////////////////////////////////////////////////////////////////////////////////////// - - public Storage getDisputeStorage() { - return disputeStorage; - } - - public ObservableList getDisputesAsObservableList() { - return disputes.getList(); - } - - public boolean isTrader(Dispute dispute) { - return keyRing.getPubKeyRing().equals(dispute.getTraderPubKeyRing()); - } - - private boolean isArbitrator(Dispute dispute) { - return keyRing.getPubKeyRing().equals(dispute.getArbitratorPubKeyRing()); - } - - private boolean isArbitrator(DisputeResult disputeResult) { - return Arrays.equals(disputeResult.getArbitratorPubKey(), - walletService.getArbitratorAddressEntry().getPubKey()); - } - - public String getNrOfDisputes(boolean isBuyer, Contract contract) { - return String.valueOf(getDisputesAsObservableList().stream() - .filter(e -> { - Contract contract1 = e.getContract(); - if (contract1 == null) - return false; - - if (isBuyer) { - NodeAddress buyerNodeAddress = contract1.getBuyerNodeAddress(); - return buyerNodeAddress != null && buyerNodeAddress.equals(contract.getBuyerNodeAddress()); - } else { - NodeAddress sellerNodeAddress = contract1.getSellerNodeAddress(); - return sellerNodeAddress != null && sellerNodeAddress.equals(contract.getSellerNodeAddress()); - } - }) - .collect(Collectors.toSet()).size()); - } - - /////////////////////////////////////////////////////////////////////////////////////////// - // Utils - /////////////////////////////////////////////////////////////////////////////////////////// - - - public Tuple2 getNodeAddressPubKeyRingTuple(Dispute dispute) { - PubKeyRing receiverPubKeyRing = null; - NodeAddress peerNodeAddress = null; - if (isTrader(dispute)) { - receiverPubKeyRing = dispute.getArbitratorPubKeyRing(); - peerNodeAddress = dispute.getContract().getArbitratorNodeAddress(); - } else if (isArbitrator(dispute)) { - receiverPubKeyRing = dispute.getTraderPubKeyRing(); - Contract contract = dispute.getContract(); - if (contract.getBuyerPubKeyRing().equals(receiverPubKeyRing)) - peerNodeAddress = contract.getBuyerNodeAddress(); - else - peerNodeAddress = contract.getSellerNodeAddress(); - } else { - log.error("That must not happen. Trader cannot communicate to other trader."); - } - return new Tuple2<>(peerNodeAddress, receiverPubKeyRing); - } - - public Optional findDispute(String tradeId, int traderId) { - return disputes.stream().filter(e -> e.getTradeId().equals(tradeId) && e.getTraderId() == traderId).findAny(); - } - - public Optional findOwnDispute(String tradeId) { - return getDisputeStream(tradeId).findAny(); - } - - private Stream getDisputeStream(String tradeId) { - return disputes.stream().filter(e -> e.getTradeId().equals(tradeId)); - } - - private void cleanupRetryMap(String uid) { - if (delayMsgMap.containsKey(uid)) { - Timer timer = delayMsgMap.remove(uid); - if (timer != null) - timer.stop(); - } - } - -} diff --git a/core/src/main/java/bisq/core/btc/wallet/TradeWalletService.java b/core/src/main/java/bisq/core/btc/wallet/TradeWalletService.java index 3db2070e5d4..dab65b733ac 100644 --- a/core/src/main/java/bisq/core/btc/wallet/TradeWalletService.java +++ b/core/src/main/java/bisq/core/btc/wallet/TradeWalletService.java @@ -341,7 +341,10 @@ public Transaction completeBsqTradingFeeTx(Transaction preparedBsqTx, * @return A data container holding the inputs, the output value and address * @throws TransactionVerificationException */ - public InputsAndChangeOutput takerCreatesDepositsTxInputs(Transaction takeOfferFeeTx, Coin inputAmount, Coin txFee, Address takersAddress) throws + public InputsAndChangeOutput takerCreatesDepositsTxInputs(Transaction takeOfferFeeTx, + Coin inputAmount, + Coin txFee, + Address takersAddress) throws TransactionVerificationException { log.debug("takerCreatesDepositsTxInputs called"); log.debug("inputAmount {}", inputAmount.toFriendlyString()); @@ -793,7 +796,112 @@ public Transaction sellerSignsAndFinalizesPayoutTx(Transaction depositTx, /////////////////////////////////////////////////////////////////////////////////////////// - // Dispute + // Mediation + /////////////////////////////////////////////////////////////////////////////////////////// + + public byte[] signMediatedPayoutTx(Transaction depositTx, + Coin buyerPayoutAmount, + Coin sellerPayoutAmount, + String buyerPayoutAddressString, + String sellerPayoutAddressString, + DeterministicKey myMultiSigKeyPair, + byte[] buyerPubKey, + byte[] sellerPubKey, + byte[] arbitratorPubKey) + throws AddressFormatException, TransactionVerificationException { + log.trace("signMediatedPayoutTx called"); + log.trace("depositTx {}", depositTx.toString()); + log.trace("buyerPayoutAmount {}", buyerPayoutAmount.toFriendlyString()); + log.trace("sellerPayoutAmount {}", sellerPayoutAmount.toFriendlyString()); + log.trace("buyerPayoutAddressString {}", buyerPayoutAddressString); + log.trace("sellerPayoutAddressString {}", sellerPayoutAddressString); + log.trace("multiSigKeyPair (not displayed for security reasons)"); + log.trace("buyerPubKey HEX=" + ECKey.fromPublicOnly(buyerPubKey).getPublicKeyAsHex()); + log.trace("sellerPubKey HEX=" + ECKey.fromPublicOnly(sellerPubKey).getPublicKeyAsHex()); + log.trace("arbitratorPubKey HEX=" + ECKey.fromPublicOnly(arbitratorPubKey).getPublicKeyAsHex()); + Transaction preparedPayoutTx = createPayoutTx(depositTx, + buyerPayoutAmount, + sellerPayoutAmount, + buyerPayoutAddressString, + sellerPayoutAddressString); + // MS redeemScript + Script redeemScript = getMultiSigRedeemScript(buyerPubKey, sellerPubKey, arbitratorPubKey); + // MS output from prev. tx is index 0 + Sha256Hash sigHash = preparedPayoutTx.hashForSignature(0, redeemScript, Transaction.SigHash.ALL, false); + checkNotNull(myMultiSigKeyPair, "myMultiSigKeyPair must not be null"); + if (myMultiSigKeyPair.isEncrypted()) + checkNotNull(aesKey); + + ECKey.ECDSASignature mySignature = myMultiSigKeyPair.sign(sigHash, aesKey).toCanonicalised(); + + WalletService.printTx("prepared mediated payoutTx for sig creation", preparedPayoutTx); + + WalletService.verifyTransaction(preparedPayoutTx); + + return mySignature.encodeToDER(); + } + + public Transaction finalizeMediatedPayoutTx(Transaction depositTx, + byte[] buyerSignature, + byte[] sellerSignature, + Coin buyerPayoutAmount, + Coin sellerPayoutAmount, + String buyerPayoutAddressString, + String sellerPayoutAddressString, + DeterministicKey multiSigKeyPair, + byte[] buyerPubKey, + byte[] sellerPubKey, + byte[] arbitratorPubKey) + throws AddressFormatException, TransactionVerificationException, WalletException { + log.trace("finalizeMediatedPayoutTx called"); + log.trace("depositTx {}", depositTx.toString()); + log.trace("buyerSignature r {}", ECKey.ECDSASignature.decodeFromDER(buyerSignature).r.toString()); + log.trace("buyerSignature s {}", ECKey.ECDSASignature.decodeFromDER(buyerSignature).s.toString()); + log.trace("sellerSignature r {}", ECKey.ECDSASignature.decodeFromDER(sellerSignature).r.toString()); + log.trace("sellerSignature s {}", ECKey.ECDSASignature.decodeFromDER(sellerSignature).s.toString()); + log.trace("buyerPayoutAmount {}", buyerPayoutAmount.toFriendlyString()); + log.trace("sellerPayoutAmount {}", sellerPayoutAmount.toFriendlyString()); + log.trace("buyerPayoutAddressString {}", buyerPayoutAddressString); + log.trace("sellerPayoutAddressString {}", sellerPayoutAddressString); + log.trace("multiSigKeyPair (not displayed for security reasons)"); + log.trace("buyerPubKey {}", ECKey.fromPublicOnly(buyerPubKey).toString()); + log.trace("sellerPubKey {}", ECKey.fromPublicOnly(sellerPubKey).toString()); + log.trace("arbitratorPubKey {}", ECKey.fromPublicOnly(arbitratorPubKey).toString()); + + Transaction payoutTx = createPayoutTx(depositTx, + buyerPayoutAmount, + sellerPayoutAmount, + buyerPayoutAddressString, + sellerPayoutAddressString); + // MS redeemScript + Script redeemScript = getMultiSigRedeemScript(buyerPubKey, sellerPubKey, arbitratorPubKey); + // MS output from prev. tx is index 0 + checkNotNull(multiSigKeyPair, "multiSigKeyPair must not be null"); + + TransactionSignature buyerTxSig = new TransactionSignature(ECKey.ECDSASignature.decodeFromDER(buyerSignature), + Transaction.SigHash.ALL, false); + TransactionSignature sellerTxSig = new TransactionSignature(ECKey.ECDSASignature.decodeFromDER(sellerSignature), + Transaction.SigHash.ALL, false); + + // Take care of order of signatures. Need to be reversed here. See comment below at getMultiSigRedeemScript (arbitrator, seller, buyer) + Script inputScript = ScriptBuilder.createP2SHMultiSigInputScript(ImmutableList.of(sellerTxSig, buyerTxSig), redeemScript); + + TransactionInput input = payoutTx.getInput(0); + input.setScriptSig(inputScript); + + WalletService.printTx("mediated payoutTx", payoutTx); + + WalletService.verifyTransaction(payoutTx); + WalletService.checkWalletConsistency(wallet); + WalletService.checkScriptSig(payoutTx, input, 0); + checkNotNull(input.getConnectedOutput(), "input.getConnectedOutput() must not be null"); + input.verify(input.getConnectedOutput()); + return payoutTx; + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Arbitration /////////////////////////////////////////////////////////////////////////////////////////// /** @@ -1127,7 +1235,9 @@ private byte[] getScriptProgram(Transaction makersDepositTx, int i) throws Trans } @NotNull - private TransactionInput getTransactionInput(Transaction depositTx, byte[] scriptProgram, RawTransactionInput rawTransactionInput) { + private TransactionInput getTransactionInput(Transaction depositTx, + byte[] scriptProgram, + RawTransactionInput rawTransactionInput) { return new TransactionInput(params, depositTx, scriptProgram, @@ -1191,7 +1301,10 @@ private void signInput(Transaction transaction, TransactionInput input, int inpu } } - private void addAvailableInputsAndChangeOutputs(Transaction transaction, Address address, Address changeAddress, Coin txFee) throws WalletException { + private void addAvailableInputsAndChangeOutputs(Transaction transaction, + Address address, + Address changeAddress, + Coin txFee) throws WalletException { SendRequest sendRequest = null; try { // Lets let the framework do the work to find the right inputs diff --git a/core/src/main/java/bisq/core/chat/ChatManager.java b/core/src/main/java/bisq/core/chat/ChatManager.java deleted file mode 100644 index 2d28df105df..00000000000 --- a/core/src/main/java/bisq/core/chat/ChatManager.java +++ /dev/null @@ -1,219 +0,0 @@ -/* - * This file is part of Bisq. - * - * Bisq is free software: you can redistribute it and/or modify it - * under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or (at - * your option) any later version. - * - * Bisq is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public - * License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Bisq. If not, see . - */ - -package bisq.core.chat; - -import bisq.core.arbitration.messages.DisputeCommunicationMessage; -import bisq.core.arbitration.messages.DisputeMessage; -import bisq.core.btc.setup.WalletsSetup; - -import bisq.network.p2p.AckMessage; -import bisq.network.p2p.AckMessageSourceType; -import bisq.network.p2p.DecryptedMessageWithPubKey; -import bisq.network.p2p.NodeAddress; -import bisq.network.p2p.P2PService; -import bisq.network.p2p.SendMailboxMessageListener; - -import bisq.common.Timer; -import bisq.common.UserThread; -import bisq.common.crypto.PubKeyRing; -import bisq.common.proto.network.NetworkEnvelope; - -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.CopyOnWriteArraySet; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import lombok.Getter; -import lombok.Setter; - -import javax.annotation.Nullable; - -public class ChatManager { - private static final Logger log = LoggerFactory.getLogger(ChatManager.class); - - @Getter - private final P2PService p2PService; - private final WalletsSetup walletsSetup; - @Setter - @Getter - private ChatSession chatSession; - private final Map delayMsgMap = new HashMap<>(); - - private final CopyOnWriteArraySet decryptedMailboxMessageWithPubKeys = new CopyOnWriteArraySet<>(); - private final CopyOnWriteArraySet decryptedDirectMessageWithPubKeys = new CopyOnWriteArraySet<>(); - private boolean allServicesInitialized; - - public ChatManager(P2PService p2PService, - WalletsSetup walletsSetup - ) { - this.p2PService = p2PService; - this.walletsSetup = walletsSetup; - - // We get first the message handler called then the onBootstrapped - p2PService.addDecryptedDirectMessageListener((decryptedMessageWithPubKey, senderAddress) -> { - decryptedDirectMessageWithPubKeys.add(decryptedMessageWithPubKey); - tryApplyMessages(); - }); - p2PService.addDecryptedMailboxListener((decryptedMessageWithPubKey, senderAddress) -> { - decryptedMailboxMessageWithPubKeys.add(decryptedMessageWithPubKey); - tryApplyMessages(); - }); - } - - public void onAllServicesInitialized() { - allServicesInitialized = true; - } - - public void tryApplyMessages() { - if (isReady()) - applyMessages(); - } - - private boolean isReady() { - return allServicesInitialized && - p2PService.isBootstrapped() && - walletsSetup.isDownloadComplete() && - walletsSetup.hasSufficientPeersForBroadcast(); - } - - private void applyMessages() { - decryptedDirectMessageWithPubKeys.forEach(decryptedMessageWithPubKey -> { - NetworkEnvelope networkEnvelope = decryptedMessageWithPubKey.getNetworkEnvelope(); - if (networkEnvelope instanceof DisputeMessage) { - chatSession.dispatchMessage((DisputeMessage) networkEnvelope); - } else if (networkEnvelope instanceof AckMessage) { - processAckMessage((AckMessage) networkEnvelope, null); - } - }); - decryptedDirectMessageWithPubKeys.clear(); - - decryptedMailboxMessageWithPubKeys.forEach(decryptedMessageWithPubKey -> { - NetworkEnvelope networkEnvelope = decryptedMessageWithPubKey.getNetworkEnvelope(); - log.debug("decryptedMessageWithPubKey.message " + networkEnvelope); - if (networkEnvelope instanceof DisputeMessage) { - chatSession.dispatchMessage((DisputeMessage) networkEnvelope); - p2PService.removeEntryFromMailbox(decryptedMessageWithPubKey); - } else if (networkEnvelope instanceof AckMessage) { - processAckMessage((AckMessage) networkEnvelope, decryptedMessageWithPubKey); - } - }); - decryptedMailboxMessageWithPubKeys.clear(); - } - - public void onDisputeDirectMessage(DisputeCommunicationMessage disputeCommunicationMessage) { - final String tradeId = disputeCommunicationMessage.getTradeId(); - final String uid = disputeCommunicationMessage.getUid(); - boolean channelOpen = chatSession.channelOpen(disputeCommunicationMessage); - if (!channelOpen) { - log.debug("We got a disputeCommunicationMessage but we don't have a matching chat. TradeId = " + tradeId); - if (!delayMsgMap.containsKey(uid)) { - Timer timer = UserThread.runAfter(() -> onDisputeDirectMessage(disputeCommunicationMessage), 1); - delayMsgMap.put(uid, timer); - } else { - String msg = "We got a disputeCommunicationMessage after we already repeated to apply the message after a delay. That should never happen. TradeId = " + tradeId; - log.warn(msg); - } - return; - } - - cleanupRetryMap(uid); - PubKeyRing receiverPubKeyRing = chatSession.getPeerPubKeyRing(disputeCommunicationMessage); - - chatSession.storeDisputeCommunicationMessage(disputeCommunicationMessage); - - // We never get a errorMessage in that method (only if we cannot resolve the receiverPubKeyRing but then we - // cannot send it anyway) - if (receiverPubKeyRing != null) - sendAckMessage(disputeCommunicationMessage, receiverPubKeyRing, true, null); - } - - private void processAckMessage(AckMessage ackMessage, - @Nullable DecryptedMessageWithPubKey decryptedMessageWithPubKey) { - if (ackMessage.getSourceType() == AckMessageSourceType.DISPUTE_MESSAGE) { - if (ackMessage.isSuccess()) { - log.info("Received AckMessage for {} with tradeId {} and uid {}", - ackMessage.getSourceMsgClassName(), ackMessage.getSourceId(), ackMessage.getSourceUid()); - } else { - log.warn("Received AckMessage with error state for {} with tradeId {} and errorMessage={}", - ackMessage.getSourceMsgClassName(), ackMessage.getSourceId(), ackMessage.getErrorMessage()); - } - - chatSession.getChatMessages() - .forEach(msg -> { - if (ackMessage.isSuccess()) - msg.setAcknowledged(true); - else - msg.setAckError(ackMessage.getErrorMessage()); - }); - chatSession.persist(); - - if (decryptedMessageWithPubKey != null) - p2PService.removeEntryFromMailbox(decryptedMessageWithPubKey); - } - } - - public void sendAckMessage(DisputeMessage disputeMessage, PubKeyRing peersPubKeyRing, - boolean result, @Nullable String errorMessage) { - String tradeId = disputeMessage.getTradeId(); - String uid = disputeMessage.getUid(); - AckMessage ackMessage = new AckMessage(p2PService.getNetworkNode().getNodeAddress(), - AckMessageSourceType.DISPUTE_MESSAGE, - disputeMessage.getClass().getSimpleName(), - uid, - tradeId, - result, - errorMessage); - final NodeAddress peersNodeAddress = disputeMessage.getSenderNodeAddress(); - log.info("Send AckMessage for {} to peer {}. tradeId={}, uid={}", - ackMessage.getSourceMsgClassName(), peersNodeAddress, tradeId, uid); - p2PService.sendEncryptedMailboxMessage( - peersNodeAddress, - peersPubKeyRing, - ackMessage, - new SendMailboxMessageListener() { - @Override - public void onArrived() { - log.info("AckMessage for {} arrived at peer {}. tradeId={}, uid={}", - ackMessage.getSourceMsgClassName(), peersNodeAddress, tradeId, uid); - } - - @Override - public void onStoredInMailbox() { - log.info("AckMessage for {} stored in mailbox for peer {}. tradeId={}, uid={}", - ackMessage.getSourceMsgClassName(), peersNodeAddress, tradeId, uid); - } - - @Override - public void onFault(String errorMessage) { - log.error("AckMessage for {} failed. Peer {}. tradeId={}, uid={}, errorMessage={}", - ackMessage.getSourceMsgClassName(), peersNodeAddress, tradeId, uid, errorMessage); - } - } - ); - } - - private void cleanupRetryMap(String uid) { - if (delayMsgMap.containsKey(uid)) { - Timer timer = delayMsgMap.remove(uid); - if (timer != null) - timer.stop(); - } - } -} diff --git a/core/src/main/java/bisq/core/chat/ChatSession.java b/core/src/main/java/bisq/core/chat/ChatSession.java deleted file mode 100644 index 7727fc77e9f..00000000000 --- a/core/src/main/java/bisq/core/chat/ChatSession.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * This file is part of Bisq. - * - * Bisq is free software: you can redistribute it and/or modify it - * under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or (at - * your option) any later version. - * - * Bisq is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public - * License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Bisq. If not, see . - */ - -package bisq.core.chat; - -import bisq.core.arbitration.messages.DisputeCommunicationMessage; -import bisq.core.arbitration.messages.DisputeMessage; - -import bisq.network.p2p.NodeAddress; - -import bisq.common.crypto.PubKeyRing; - -import javafx.collections.ObservableList; - -import java.util.List; - -import lombok.Getter; - -public abstract class ChatSession { - @Getter - DisputeCommunicationMessage.Type type; - - public ChatSession(DisputeCommunicationMessage.Type type) { - this.type = type; - } - - abstract public boolean isClient(); - - abstract public String getTradeId(); - - abstract public PubKeyRing getClientPubKeyRing(); - - abstract public void addDisputeCommunicationMessage(DisputeCommunicationMessage message); - - abstract public void persist(); - - abstract public ObservableList getDisputeCommunicationMessages(); - - abstract public List getChatMessages(); - - abstract public boolean chatIsOpen(); - - abstract public NodeAddress getPeerNodeAddress(DisputeCommunicationMessage message); - - abstract public PubKeyRing getPeerPubKeyRing(DisputeCommunicationMessage message); - - abstract public void dispatchMessage(DisputeMessage message); - - abstract public boolean channelOpen(DisputeCommunicationMessage message); - - abstract public void storeDisputeCommunicationMessage(DisputeCommunicationMessage message); -} diff --git a/core/src/main/java/bisq/core/dao/governance/bond/BondRepository.java b/core/src/main/java/bisq/core/dao/governance/bond/BondRepository.java index 3b227b02e54..d3f69b79a09 100644 --- a/core/src/main/java/bisq/core/dao/governance/bond/BondRepository.java +++ b/core/src/main/java/bisq/core/dao/governance/bond/BondRepository.java @@ -198,11 +198,11 @@ public List getActiveBonds() { // Protected /////////////////////////////////////////////////////////////////////////////////////////// - abstract protected T createBond(R bondedAsset); + protected abstract T createBond(R bondedAsset); - abstract protected void updateBond(T bond, R bondedAsset, TxOutput lockupTxOutput); + protected abstract void updateBond(T bond, R bondedAsset, TxOutput lockupTxOutput); - abstract protected Stream getBondedAssetStream(); + protected abstract Stream getBondedAssetStream(); protected void update() { log.debug("update"); diff --git a/core/src/main/java/bisq/core/dao/node/BsqNode.java b/core/src/main/java/bisq/core/dao/node/BsqNode.java index d0168beafed..042bd84ba40 100644 --- a/core/src/main/java/bisq/core/dao/node/BsqNode.java +++ b/core/src/main/java/bisq/core/dao/node/BsqNode.java @@ -202,7 +202,7 @@ protected int getStartBlockHeight() { return startBlockHeight; } - abstract protected void startParseBlocks(); + protected abstract void startParseBlocks(); protected void onParseBlockChainComplete() { log.info("onParseBlockChainComplete"); diff --git a/core/src/main/java/bisq/core/filter/Filter.java b/core/src/main/java/bisq/core/filter/Filter.java index 649f368108f..8d92fa17839 100644 --- a/core/src/main/java/bisq/core/filter/Filter.java +++ b/core/src/main/java/bisq/core/filter/Filter.java @@ -94,6 +94,10 @@ public final class Filter implements ProtectedStoragePayload, ExpirablePayload { @Nullable private final String disableTradeBelowVersion; + // added in v1.1.6 + @Nullable + private final List mediators; + public Filter(List bannedOfferIds, List bannedNodeAddress, List bannedPaymentAccounts, @@ -106,7 +110,8 @@ public Filter(List bannedOfferIds, @Nullable List btcNodes, boolean disableDao, @Nullable String disableDaoBelowVersion, - @Nullable String disableTradeBelowVersion) { + @Nullable String disableTradeBelowVersion, + @Nullable List mediators) { this.bannedOfferIds = bannedOfferIds; this.bannedNodeAddress = bannedNodeAddress; this.bannedPaymentAccounts = bannedPaymentAccounts; @@ -120,6 +125,7 @@ public Filter(List bannedOfferIds, this.disableDao = disableDao; this.disableDaoBelowVersion = disableDaoBelowVersion; this.disableTradeBelowVersion = disableTradeBelowVersion; + this.mediators = mediators; } @@ -143,7 +149,8 @@ public Filter(List bannedOfferIds, @Nullable String disableTradeBelowVersion, String signatureAsBase64, byte[] ownerPubKeyBytes, - @Nullable Map extraDataMap) { + @Nullable Map extraDataMap, + @Nullable List mediators) { this(bannedOfferIds, bannedNodeAddress, bannedPaymentAccounts, @@ -156,7 +163,8 @@ public Filter(List bannedOfferIds, btcNodes, disableDao, disableDaoBelowVersion, - disableTradeBelowVersion); + disableTradeBelowVersion, + mediators); this.signatureAsBase64 = signatureAsBase64; this.ownerPubKeyBytes = ownerPubKeyBytes; this.extraDataMap = ExtraDataMapValidator.getValidatedExtraDataMap(extraDataMap); @@ -189,6 +197,7 @@ public protobuf.StoragePayload toProtoMessage() { Optional.ofNullable(disableDaoBelowVersion).ifPresent(builder::setDisableDaoBelowVersion); Optional.ofNullable(disableTradeBelowVersion).ifPresent(builder::setDisableTradeBelowVersion); Optional.ofNullable(extraDataMap).ifPresent(builder::putAllExtraData); + Optional.ofNullable(mediators).ifPresent(builder::addAllMediators); return protobuf.StoragePayload.newBuilder().setFilter(builder).build(); } @@ -211,7 +220,8 @@ public static Filter fromProto(protobuf.Filter proto) { proto.getDisableTradeBelowVersion().isEmpty() ? null : proto.getDisableTradeBelowVersion(), proto.getSignatureAsBase64(), proto.getOwnerPubKeyBytes().toByteArray(), - CollectionUtils.isEmpty(proto.getExtraDataMap()) ? null : proto.getExtraDataMap()); + CollectionUtils.isEmpty(proto.getExtraDataMap()) ? null : proto.getExtraDataMap(), + CollectionUtils.isEmpty(proto.getMediatorsList()) ? null : new ArrayList<>(proto.getMediatorsList())); } @@ -224,7 +234,7 @@ public long getTTL() { return TimeUnit.DAYS.toMillis(180); } - public void setSigAndPubKey(String signatureAsBase64, PublicKey ownerPubKey) { + void setSigAndPubKey(String signatureAsBase64, PublicKey ownerPubKey) { this.signatureAsBase64 = signatureAsBase64; this.ownerPubKey = ownerPubKey; diff --git a/core/src/main/java/bisq/core/notifications/alerts/DisputeMsgEvents.java b/core/src/main/java/bisq/core/notifications/alerts/DisputeMsgEvents.java index fc9f21e0aaf..6559d27c922 100644 --- a/core/src/main/java/bisq/core/notifications/alerts/DisputeMsgEvents.java +++ b/core/src/main/java/bisq/core/notifications/alerts/DisputeMsgEvents.java @@ -17,13 +17,13 @@ package bisq.core.notifications.alerts; -import bisq.core.arbitration.Dispute; -import bisq.core.arbitration.DisputeManager; -import bisq.core.arbitration.messages.DisputeCommunicationMessage; import bisq.core.locale.Res; import bisq.core.notifications.MobileMessage; import bisq.core.notifications.MobileMessageType; import bisq.core.notifications.MobileNotificationService; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.arbitration.ArbitrationManager; +import bisq.core.support.messages.ChatMessage; import bisq.network.p2p.P2PService; @@ -43,18 +43,20 @@ public class DisputeMsgEvents { private final MobileNotificationService mobileNotificationService; @Inject - public DisputeMsgEvents(DisputeManager disputeManager, P2PService p2PService, MobileNotificationService mobileNotificationService) { + public DisputeMsgEvents(ArbitrationManager arbitrationManager, + P2PService p2PService, + MobileNotificationService mobileNotificationService) { this.p2PService = p2PService; this.mobileNotificationService = mobileNotificationService; // We need to handle it here in the constructor otherwise we get repeated the messages sent. - disputeManager.getDisputesAsObservableList().addListener((ListChangeListener) c -> { + arbitrationManager.getDisputesAsObservableList().addListener((ListChangeListener) c -> { c.next(); if (c.wasAdded()) { c.getAddedSubList().forEach(this::setDisputeListener); } }); - disputeManager.getDisputesAsObservableList().forEach(this::setDisputeListener); + arbitrationManager.getDisputesAsObservableList().forEach(this::setDisputeListener); } // We ignore that onAllServicesInitialized here @@ -64,22 +66,22 @@ public void onAllServicesInitialized() { private void setDisputeListener(Dispute dispute) { //TODO use weak ref or remove listener log.debug("We got a dispute added. id={}, tradeId={}", dispute.getId(), dispute.getTradeId()); - dispute.getDisputeCommunicationMessages().addListener((ListChangeListener) c -> { - log.debug("We got a DisputeCommunicationMessage added. id={}, tradeId={}", dispute.getId(), dispute.getTradeId()); + dispute.getChatMessages().addListener((ListChangeListener) c -> { + log.debug("We got a ChatMessage added. id={}, tradeId={}", dispute.getId(), dispute.getTradeId()); c.next(); if (c.wasAdded()) { - c.getAddedSubList().forEach(this::setDisputeCommunicationMessage); + c.getAddedSubList().forEach(this::setChatMessage); } }); //TODO test - if (!dispute.getDisputeCommunicationMessages().isEmpty()) - setDisputeCommunicationMessage(dispute.getDisputeCommunicationMessages().get(0)); + if (!dispute.getChatMessages().isEmpty()) + setChatMessage(dispute.getChatMessages().get(0)); } - private void setDisputeCommunicationMessage(DisputeCommunicationMessage disputeMsg) { + private void setChatMessage(ChatMessage disputeMsg) { // TODO we need to prevent to send msg for old dispute messages again at restart - // Maybe we need a new property in DisputeCommunicationMessage + // Maybe we need a new property in ChatMessage // As key is not set in initial iterations it seems we don't need an extra handling. // the mailbox msg is set a bit later so that triggers a notification, but not the old messages. diff --git a/core/src/main/java/bisq/core/offer/AvailabilityResult.java b/core/src/main/java/bisq/core/offer/AvailabilityResult.java index 135afa9bf01..95895687037 100644 --- a/core/src/main/java/bisq/core/offer/AvailabilityResult.java +++ b/core/src/main/java/bisq/core/offer/AvailabilityResult.java @@ -25,5 +25,6 @@ public enum AvailabilityResult { MARKET_PRICE_NOT_AVAILABLE, NO_ARBITRATORS, NO_MEDIATORS, - USER_IGNORED + USER_IGNORED, + MISSING_MANDATORY_CAPABILITY } diff --git a/core/src/main/java/bisq/core/offer/Offer.java b/core/src/main/java/bisq/core/offer/Offer.java index d0c505edf8c..d52bd9471e7 100644 --- a/core/src/main/java/bisq/core/offer/Offer.java +++ b/core/src/main/java/bisq/core/offer/Offer.java @@ -72,7 +72,8 @@ public class Offer implements NetworkPayload, PersistablePayload { // Market price might be different at maker's and takers side so we need a bit of tolerance. // The tolerance will get smaller once we have multiple price feeds avoiding fast price fluctuations // from one provider. - final static double PRICE_TOLERANCE = 0.01; + private final static double PRICE_TOLERANCE = 0.01; + /////////////////////////////////////////////////////////////////////////////////////////// // Enums @@ -390,14 +391,6 @@ public String getId() { return offerPayload.getId(); } - public List getArbitratorNodeAddresses() { - return offerPayload.getArbitratorNodeAddresses(); - } - - public List getMediatorNodeAddresses() { - return offerPayload.getMediatorNodeAddresses(); - } - @Nullable public List getAcceptedBankIds() { return offerPayload.getAcceptedBankIds(); diff --git a/core/src/main/java/bisq/core/offer/OfferBookService.java b/core/src/main/java/bisq/core/offer/OfferBookService.java index 71b9b9d6e3c..d99955d5327 100644 --- a/core/src/main/java/bisq/core/offer/OfferBookService.java +++ b/core/src/main/java/bisq/core/offer/OfferBookService.java @@ -28,6 +28,7 @@ import bisq.network.p2p.storage.payload.ProtectedStorageEntry; import bisq.common.UserThread; +import bisq.common.app.Capability; import bisq.common.handlers.ErrorMessageHandler; import bisq.common.handlers.ResultHandler; import bisq.common.storage.JsonFileManager; @@ -42,6 +43,7 @@ import java.util.LinkedList; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; import org.slf4j.Logger; @@ -91,8 +93,10 @@ public void onAdded(ProtectedStorageEntry data) { if (data.getProtectedStoragePayload() instanceof OfferPayload) { OfferPayload offerPayload = (OfferPayload) data.getProtectedStoragePayload(); Offer offer = new Offer(offerPayload); - offer.setPriceFeedService(priceFeedService); - listener.onAdded(offer); + if (showOffer(offer)) { + offer.setPriceFeedService(priceFeedService); + listener.onAdded(offer); + } } }); } @@ -131,6 +135,11 @@ public void onRemoved(Offer offer) { } } + private boolean showOffer(Offer offer) { + return !OfferRestrictions.requiresUpdate() || + OfferRestrictions.hasOfferMandatoryCapability(offer, Capability.MEDIATION); + } + /////////////////////////////////////////////////////////////////////////////////////////// // API @@ -150,7 +159,9 @@ public void addOffer(Offer offer, ResultHandler resultHandler, ErrorMessageHandl } } - public void refreshTTL(OfferPayload offerPayload, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { + public void refreshTTL(OfferPayload offerPayload, + ResultHandler resultHandler, + ErrorMessageHandler errorMessageHandler) { if (filterManager.requireUpdateToNewVersionForTrading()) { errorMessageHandler.handleErrorMessage(Res.get("popup.warning.mandatoryUpdate.trading")); return; @@ -164,15 +175,21 @@ public void refreshTTL(OfferPayload offerPayload, ResultHandler resultHandler, E } } - public void activateOffer(Offer offer, @Nullable ResultHandler resultHandler, @Nullable ErrorMessageHandler errorMessageHandler) { + public void activateOffer(Offer offer, + @Nullable ResultHandler resultHandler, + @Nullable ErrorMessageHandler errorMessageHandler) { addOffer(offer, resultHandler, errorMessageHandler); } - public void deactivateOffer(OfferPayload offerPayload, @Nullable ResultHandler resultHandler, @Nullable ErrorMessageHandler errorMessageHandler) { + public void deactivateOffer(OfferPayload offerPayload, + @Nullable ResultHandler resultHandler, + @Nullable ErrorMessageHandler errorMessageHandler) { removeOffer(offerPayload, resultHandler, errorMessageHandler); } - public void removeOffer(OfferPayload offerPayload, @Nullable ResultHandler resultHandler, @Nullable ErrorMessageHandler errorMessageHandler) { + public void removeOffer(OfferPayload offerPayload, + @Nullable ResultHandler resultHandler, + @Nullable ErrorMessageHandler errorMessageHandler) { if (p2PService.removeData(offerPayload, true)) { if (resultHandler != null) resultHandler.handleResult(); @@ -191,6 +208,7 @@ public List getOffers() { offer.setPriceFeedService(priceFeedService); return offer; }) + .filter(this::showOffer) .collect(Collectors.toList()); } @@ -236,7 +254,7 @@ private void doDumpStatistics() { return null; } }) - .filter(e -> e != null) + .filter(Objects::nonNull) .collect(Collectors.toList()); jsonFileManager.writeToDisc(Utilities.objectToJson(offerForJsonList), "offers_statistics"); } diff --git a/core/src/main/java/bisq/core/offer/OfferPayload.java b/core/src/main/java/bisq/core/offer/OfferPayload.java index 0e131360cff..ea7ff0406d5 100644 --- a/core/src/main/java/bisq/core/offer/OfferPayload.java +++ b/core/src/main/java/bisq/core/offer/OfferPayload.java @@ -31,6 +31,7 @@ import java.security.PublicKey; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; @@ -71,11 +72,18 @@ public static protobuf.OfferPayload.Direction toProtoMessage(Direction direction } // Keys for extra map + // Only set for fiat offers public static final String ACCOUNT_AGE_WITNESS_HASH = "accountAgeWitnessHash"; public static final String REFERRAL_ID = "referralId"; + // Only used in payment method F2F public static final String F2F_CITY = "f2fCity"; public static final String F2F_EXTRA_INFO = "f2fExtraInfo"; + // Comma separated list of ordinal of a bisq.common.app.Capability. E.g. ordinal of + // Capability.SIGNED_ACCOUNT_AGE_WITNESS is 11 and Capability.MEDIATION is 12 so if we want to signal that maker + // of the offer supports both capabilities we add "11, 12" to capabilities. + public static final String CAPABILITIES = "capabilities"; + /////////////////////////////////////////////////////////////////////////////////////////// // Instance fields @@ -105,7 +113,11 @@ public static protobuf.OfferPayload.Direction toProtoMessage(Direction direction private final String baseCurrencyCode; private final String counterCurrencyCode; + @Deprecated + // Not used anymore but we cannot set it Nullable or remove it to not break backward compatibility (diff. hash) private final List arbitratorNodeAddresses; + @Deprecated + // Not used anymore but we cannot set it Nullable or remove it to not break backward compatibility (diff. hash) private final List mediatorNodeAddresses; private final String paymentMethodId; private final String makerPaymentAccountId; @@ -298,9 +310,9 @@ public protobuf.StoragePayload toProtoMessage() { public static OfferPayload fromProto(protobuf.OfferPayload proto) { checkArgument(!proto.getOfferFeePaymentTxId().isEmpty(), "OfferFeePaymentTxId must be set in PB.OfferPayload"); List acceptedBankIds = proto.getAcceptedBankIdsList().isEmpty() ? - null : proto.getAcceptedBankIdsList().stream().collect(Collectors.toList()); + null : new ArrayList<>(proto.getAcceptedBankIdsList()); List acceptedCountryCodes = proto.getAcceptedCountryCodesList().isEmpty() ? - null : proto.getAcceptedCountryCodesList().stream().collect(Collectors.toList()); + null : new ArrayList<>(proto.getAcceptedCountryCodesList()); String hashOfChallenge = ProtoUtil.stringOrNullFromProto(proto.getHashOfChallenge()); Map extraDataMapMap = CollectionUtils.isEmpty(proto.getExtraDataMap()) ? null : proto.getExtraDataMap(); @@ -388,8 +400,6 @@ public String toString() { ",\n minAmount=" + minAmount + ",\n baseCurrencyCode='" + baseCurrencyCode + '\'' + ",\n counterCurrencyCode='" + counterCurrencyCode + '\'' + - ",\n arbitratorNodeAddresses=" + arbitratorNodeAddresses + - ",\n mediatorNodeAddresses=" + mediatorNodeAddresses + ",\n paymentMethodId='" + paymentMethodId + '\'' + ",\n makerPaymentAccountId='" + makerPaymentAccountId + '\'' + ",\n offerFeePaymentTxId='" + offerFeePaymentTxId + '\'' + diff --git a/core/src/main/java/bisq/core/offer/OfferRestrictions.java b/core/src/main/java/bisq/core/offer/OfferRestrictions.java index d91f6d414ea..f51466b3c2b 100644 --- a/core/src/main/java/bisq/core/offer/OfferRestrictions.java +++ b/core/src/main/java/bisq/core/offer/OfferRestrictions.java @@ -20,9 +20,25 @@ import bisq.core.payment.payload.PaymentMethod; import bisq.core.trade.Trade; +import bisq.common.app.Capabilities; +import bisq.common.app.Capability; +import bisq.common.util.Utilities; + import org.bitcoinj.core.Coin; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.Map; + public class OfferRestrictions { + // The date when traders who have not updated cannot take offers from updated clients and their offers become + // invisible for updated clients. + private static final Date REQUIRE_UPDATE_DATE = Utilities.getUTCDate(2019, GregorianCalendar.SEPTEMBER, 1); + + static boolean requiresUpdate() { + return new Date().after(REQUIRE_UPDATE_DATE); + } + public static Coin TOLERATED_SMALL_TRADE_AMOUNT = Coin.parseCoin("0.01"); public static boolean isOfferRisky(Offer offer) { @@ -53,7 +69,17 @@ public static boolean isMinTradeAmountRisky(Offer offer) { return isAmountRisky(offer.getMinAmount()); } - public static boolean isAmountRisky(Coin amount) { + private static boolean isAmountRisky(Coin amount) { return amount.isGreaterThan(TOLERATED_SMALL_TRADE_AMOUNT); } + + static boolean hasOfferMandatoryCapability(Offer offer, Capability mandatoryCapability) { + Map extraDataMap = offer.getOfferPayload().getExtraDataMap(); + if (extraDataMap != null && extraDataMap.containsKey(OfferPayload.CAPABILITIES)) { + String commaSeparatedOrdinals = extraDataMap.get(OfferPayload.CAPABILITIES); + Capabilities capabilities = Capabilities.fromStringList(commaSeparatedOrdinals); + return Capabilities.hasMandatoryCapability(capabilities, mandatoryCapability); + } + return false; + } } diff --git a/core/src/main/java/bisq/core/offer/OfferUtil.java b/core/src/main/java/bisq/core/offer/OfferUtil.java index 1e5f9b491f0..c987bd2e18f 100644 --- a/core/src/main/java/bisq/core/offer/OfferUtil.java +++ b/core/src/main/java/bisq/core/offer/OfferUtil.java @@ -38,6 +38,7 @@ import bisq.network.p2p.P2PService; +import bisq.common.app.Capabilities; import bisq.common.util.MathUtils; import org.bitcoinj.core.Coin; @@ -116,7 +117,9 @@ public static Coin getMakerFee(boolean isCurrencyForMakerFeeBtc, @Nullable Coin * @param amount * @return */ - public static boolean isCurrencyForMakerFeeBtc(Preferences preferences, BsqWalletService bsqWalletService, Coin amount) { + public static boolean isCurrencyForMakerFeeBtc(Preferences preferences, + BsqWalletService bsqWalletService, + Coin amount) { boolean payFeeInBtc = preferences.getPayFeeInBtc(); boolean bsqForFeeAvailable = isBsqForMakerFeeAvailable(bsqWalletService, amount); return payFeeInBtc || !bsqForFeeAvailable; @@ -152,7 +155,9 @@ public static Coin getTakerFee(boolean isCurrencyForTakerFeeBtc, @Nullable Coin } } - public static boolean isCurrencyForTakerFeeBtc(Preferences preferences, BsqWalletService bsqWalletService, Coin amount) { + public static boolean isCurrencyForTakerFeeBtc(Preferences preferences, + BsqWalletService bsqWalletService, + Coin amount) { boolean payFeeInBtc = preferences.getPayFeeInBtc(); boolean bsqForFeeAvailable = isBsqForTakerFeeAvailable(bsqWalletService, amount); return payFeeInBtc || !bsqForFeeAvailable; @@ -317,7 +322,9 @@ public static Optional getFeeInUserFiatCurrency(Coin makerFee, boolean i } } - public static String getFeeWithFiatAmount(Coin makerFeeAsCoin, Optional optionalFeeInFiat, BSFormatter formatter) { + public static String getFeeWithFiatAmount(Coin makerFeeAsCoin, + Optional optionalFeeInFiat, + BSFormatter formatter) { String fee = makerFeeAsCoin != null ? formatter.formatCoinWithCode(makerFeeAsCoin) : Res.get("shared.na"); String feeInFiatAsString; if (optionalFeeInFiat != null && optionalFeeInFiat.isPresent()) { @@ -333,27 +340,24 @@ public static Map getExtraDataMap(AccountAgeWitnessService accou ReferralIdService referralIdService, PaymentAccount paymentAccount, String currencyCode) { - Map extraDataMap = null; + Map extraDataMap = new HashMap<>(); if (CurrencyUtil.isFiatCurrency(currencyCode)) { - extraDataMap = new HashMap<>(); - final String myWitnessHashAsHex = accountAgeWitnessService.getMyWitnessHashAsHex(paymentAccount.getPaymentAccountPayload()); + String myWitnessHashAsHex = accountAgeWitnessService.getMyWitnessHashAsHex(paymentAccount.getPaymentAccountPayload()); extraDataMap.put(OfferPayload.ACCOUNT_AGE_WITNESS_HASH, myWitnessHashAsHex); } if (referralIdService.getOptionalReferralId().isPresent()) { - if (extraDataMap == null) - extraDataMap = new HashMap<>(); extraDataMap.put(OfferPayload.REFERRAL_ID, referralIdService.getOptionalReferralId().get()); } if (paymentAccount instanceof F2FAccount) { - if (extraDataMap == null) - extraDataMap = new HashMap<>(); extraDataMap.put(OfferPayload.F2F_CITY, ((F2FAccount) paymentAccount).getCity()); extraDataMap.put(OfferPayload.F2F_EXTRA_INFO, ((F2FAccount) paymentAccount).getExtraInfo()); } - return extraDataMap; + extraDataMap.put(OfferPayload.CAPABILITIES, Capabilities.app.toStringList()); + + return extraDataMap.isEmpty() ? null : extraDataMap; } public static void validateOfferData(FilterManager filterManager, diff --git a/core/src/main/java/bisq/core/offer/OpenOffer.java b/core/src/main/java/bisq/core/offer/OpenOffer.java index f12c898c146..2193b30752c 100644 --- a/core/src/main/java/bisq/core/offer/OpenOffer.java +++ b/core/src/main/java/bisq/core/offer/OpenOffer.java @@ -60,6 +60,10 @@ public enum State { @Setter @Nullable private NodeAddress arbitratorNodeAddress; + @Getter + @Setter + @Nullable + private NodeAddress mediatorNodeAddress; transient private Storage> storage; @@ -73,10 +77,14 @@ public OpenOffer(Offer offer, Storage> storage) { // PROTO BUFFER /////////////////////////////////////////////////////////////////////////////////////////// - private OpenOffer(Offer offer, State state, @Nullable NodeAddress arbitratorNodeAddress) { + private OpenOffer(Offer offer, + State state, + @Nullable NodeAddress arbitratorNodeAddress, + @Nullable NodeAddress mediatorNodeAddress) { this.offer = offer; this.state = state; this.arbitratorNodeAddress = arbitratorNodeAddress; + this.mediatorNodeAddress = mediatorNodeAddress; if (this.state == State.RESERVED) setState(State.AVAILABLE); @@ -89,6 +97,7 @@ public protobuf.Tradable toProtoMessage() { .setState(protobuf.OpenOffer.State.valueOf(state.name())); Optional.ofNullable(arbitratorNodeAddress).ifPresent(nodeAddress -> builder.setArbitratorNodeAddress(nodeAddress.toProtoMessage())); + Optional.ofNullable(mediatorNodeAddress).ifPresent(nodeAddress -> builder.setMediatorNodeAddress(nodeAddress.toProtoMessage())); return protobuf.Tradable.newBuilder().setOpenOffer(builder).build(); } @@ -96,7 +105,8 @@ public protobuf.Tradable toProtoMessage() { public static Tradable fromProto(protobuf.OpenOffer proto) { return new OpenOffer(Offer.fromProto(proto.getOffer()), ProtoUtil.enumFromProto(OpenOffer.State.class, proto.getState().name()), - proto.hasArbitratorNodeAddress() ? NodeAddress.fromProto(proto.getArbitratorNodeAddress()) : null); + proto.hasArbitratorNodeAddress() ? NodeAddress.fromProto(proto.getArbitratorNodeAddress()) : null, + proto.hasMediatorNodeAddress() ? NodeAddress.fromProto(proto.getMediatorNodeAddress()) : null); } @@ -157,12 +167,15 @@ private void stopTimeout() { } } + @Override public String toString() { return "OpenOffer{" + - "\n\toffer=" + offer + - "\n\tstate=" + state + - '}'; + ",\n offer=" + offer + + ",\n state=" + state + + ",\n arbitratorNodeAddress=" + arbitratorNodeAddress + + ",\n mediatorNodeAddress=" + mediatorNodeAddress + + "\n}"; } } diff --git a/core/src/main/java/bisq/core/offer/OpenOfferManager.java b/core/src/main/java/bisq/core/offer/OpenOfferManager.java index 382676ee576..6754512c6e1 100644 --- a/core/src/main/java/bisq/core/offer/OpenOfferManager.java +++ b/core/src/main/java/bisq/core/offer/OpenOfferManager.java @@ -17,17 +17,18 @@ package bisq.core.offer; -import bisq.core.arbitration.ArbitratorManager; import bisq.core.btc.wallet.BsqWalletService; import bisq.core.btc.wallet.BtcWalletService; import bisq.core.btc.wallet.TradeWalletService; import bisq.core.exceptions.TradePriceOutOfToleranceException; -import bisq.core.offer.availability.ArbitratorSelection; +import bisq.core.offer.availability.DisputeAgentSelection; import bisq.core.offer.messages.OfferAvailabilityRequest; import bisq.core.offer.messages.OfferAvailabilityResponse; import bisq.core.offer.placeoffer.PlaceOfferModel; import bisq.core.offer.placeoffer.PlaceOfferProtocol; import bisq.core.provider.price.PriceFeedService; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; +import bisq.core.support.dispute.mediation.mediator.MediatorManager; import bisq.core.trade.TradableList; import bisq.core.trade.closed.ClosedTradableManager; import bisq.core.trade.handlers.TransactionResultHandler; @@ -48,6 +49,8 @@ import bisq.common.Timer; import bisq.common.UserThread; +import bisq.common.app.Capabilities; +import bisq.common.app.Capability; import bisq.common.crypto.KeyRing; import bisq.common.crypto.PubKeyRing; import bisq.common.handlers.ErrorMessageHandler; @@ -100,6 +103,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe private final Preferences preferences; private final TradeStatisticsManager tradeStatisticsManager; private final ArbitratorManager arbitratorManager; + private final MediatorManager mediatorManager; private final Storage> openOfferTradableListStorage; private final Map offersToBeEdited = new HashMap<>(); private boolean stopped; @@ -111,7 +115,6 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe // Constructor, Initialization /////////////////////////////////////////////////////////////////////////////////////////// - @SuppressWarnings("WeakerAccess") @Inject public OpenOfferManager(KeyRing keyRing, User user, @@ -125,6 +128,7 @@ public OpenOfferManager(KeyRing keyRing, Preferences preferences, TradeStatisticsManager tradeStatisticsManager, ArbitratorManager arbitratorManager, + MediatorManager mediatorManager, Storage> storage) { this.keyRing = keyRing; this.user = user; @@ -138,6 +142,7 @@ public OpenOfferManager(KeyRing keyRing, this.preferences = preferences; this.tradeStatisticsManager = tradeStatisticsManager; this.arbitratorManager = arbitratorManager; + this.mediatorManager = mediatorManager; openOfferTradableListStorage = storage; @@ -150,7 +155,10 @@ public OpenOfferManager(KeyRing keyRing, @Override public void readPersisted() { openOffers = new TradableList<>(openOfferTradableListStorage, "OpenOffers"); - openOffers.forEach(e -> e.getOffer().setPriceFeedService(priceFeedService)); + openOffers.forEach(e -> { + Offer offer = e.getOffer(); + offer.setPriceFeedService(priceFeedService); + }); } public void onAllServicesInitialized() { @@ -182,8 +190,7 @@ private void cleanUpAddressEntries() { }); } - @SuppressWarnings("WeakerAccess") - public void shutDown() { + private void shutDown() { shutDown(null); } @@ -214,7 +221,7 @@ public void removeAllOpenOffers(@Nullable Runnable completeHandler) { removeOpenOffers(getObservableList(), completeHandler); } - public void removeOpenOffers(List openOffers, @Nullable Runnable completeHandler) { + private void removeOpenOffers(List openOffers, @Nullable Runnable completeHandler) { final int size = openOffers.size(); // Copy list as we remove in the loop List openOffersList = new ArrayList<>(openOffers); @@ -260,6 +267,8 @@ public void onDirectMessage(DecryptedMessageWithPubKey decryptedMessageWithPubKe private void onBootstrapComplete() { stopped = false; + maybeUpdatePersistedOffers(); + // Republish means we send the complete offer object republishOffers(); startPeriodicRepublishOffersTimer(); @@ -345,7 +354,7 @@ public void placeOffer(Offer offer, log.debug("We have stopped already. We ignore that placeOfferProtocol.placeOffer.onResult call."); } }, - errorMessageHandler::handleErrorMessage + errorMessageHandler ); placeOfferProtocol.placeOffer(); } @@ -365,7 +374,9 @@ public void removeOffer(Offer offer, ResultHandler resultHandler, ErrorMessageHa } } - public void activateOpenOffer(OpenOffer openOffer, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { + public void activateOpenOffer(OpenOffer openOffer, + ResultHandler resultHandler, + ErrorMessageHandler errorMessageHandler) { if (!offersToBeEdited.containsKey(openOffer.getId())) { Offer offer = openOffer.getOffer(); openOffer.setStorage(openOfferTradableListStorage); @@ -381,7 +392,9 @@ public void activateOpenOffer(OpenOffer openOffer, ResultHandler resultHandler, } } - public void deactivateOpenOffer(OpenOffer openOffer, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { + public void deactivateOpenOffer(OpenOffer openOffer, + ResultHandler resultHandler, + ErrorMessageHandler errorMessageHandler) { Offer offer = openOffer.getOffer(); openOffer.setStorage(openOfferTradableListStorage); offerBookService.deactivateOffer(offer.getOfferPayload(), @@ -393,7 +406,9 @@ public void deactivateOpenOffer(OpenOffer openOffer, ResultHandler resultHandler errorMessageHandler); } - public void removeOpenOffer(OpenOffer openOffer, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { + public void removeOpenOffer(OpenOffer openOffer, + ResultHandler resultHandler, + ErrorMessageHandler errorMessageHandler) { if (!offersToBeEdited.containsKey(openOffer.getId())) { Offer offer = openOffer.getOffer(); if (openOffer.isDeactivated()) { @@ -409,7 +424,9 @@ public void removeOpenOffer(OpenOffer openOffer, ResultHandler resultHandler, Er } } - public void editOpenOfferStart(OpenOffer openOffer, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { + public void editOpenOfferStart(OpenOffer openOffer, + ResultHandler resultHandler, + ErrorMessageHandler errorMessageHandler) { if (offersToBeEdited.containsKey(openOffer.getId())) { log.warn("editOpenOfferStart called for an offer which is already in edit mode."); resultHandler.handleResult(); @@ -422,7 +439,7 @@ public void editOpenOfferStart(OpenOffer openOffer, ResultHandler resultHandler, resultHandler.handleResult(); } else { deactivateOpenOffer(openOffer, - () -> resultHandler.handleResult(), + resultHandler, errorMessage -> { offersToBeEdited.remove(openOffer.getId()); errorMessageHandler.handleErrorMessage(errorMessage); @@ -430,7 +447,10 @@ public void editOpenOfferStart(OpenOffer openOffer, ResultHandler resultHandler, } } - public void editOpenOfferPublish(Offer editedOffer, OpenOffer.State originalState, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { + public void editOpenOfferPublish(Offer editedOffer, + OpenOffer.State originalState, + ResultHandler resultHandler, + ErrorMessageHandler errorMessageHandler) { Optional openOfferOptional = getOpenOfferById(editedOffer.getId()); if (openOfferOptional.isPresent()) { @@ -458,13 +478,14 @@ public void editOpenOfferPublish(Offer editedOffer, OpenOffer.State originalStat } } - public void editOpenOfferCancel(OpenOffer openOffer, OpenOffer.State originalState, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { + public void editOpenOfferCancel(OpenOffer openOffer, + OpenOffer.State originalState, + ResultHandler resultHandler, + ErrorMessageHandler errorMessageHandler) { if (offersToBeEdited.containsKey(openOffer.getId())) { offersToBeEdited.remove(openOffer.getId()); if (originalState.equals(OpenOffer.State.AVAILABLE)) { - activateOpenOffer(openOffer, () -> { - resultHandler.handleResult(); - }, errorMessageHandler); + activateOpenOffer(openOffer, resultHandler, errorMessageHandler); } else { resultHandler.handleResult(); } @@ -555,6 +576,7 @@ private void handleOfferAvailabilityRequest(OfferAvailabilityRequest request, No Optional openOfferOptional = getOpenOfferById(request.offerId); AvailabilityResult availabilityResult; NodeAddress arbitratorNodeAddress = null; + NodeAddress mediatorNodeAddress = null; if (openOfferOptional.isPresent()) { OpenOffer openOffer = openOfferOptional.get(); if (openOffer.getState() == OpenOffer.State.AVAILABLE) { @@ -564,23 +586,35 @@ private void handleOfferAvailabilityRequest(OfferAvailabilityRequest request, No List acceptedArbitrators = user.getAcceptedArbitratorAddresses(); if (acceptedArbitrators != null && !acceptedArbitrators.isEmpty()) { - arbitratorNodeAddress = ArbitratorSelection.getLeastUsedArbitrator(tradeStatisticsManager, arbitratorManager).getNodeAddress(); + arbitratorNodeAddress = DisputeAgentSelection.getLeastUsedArbitrator(tradeStatisticsManager, arbitratorManager).getNodeAddress(); openOffer.setArbitratorNodeAddress(arbitratorNodeAddress); - // Check also tradePrice to avoid failures after taker fee is paid caused by a too big difference - // in trade price between the peers. Also here poor connectivity might cause market price API connection - // losses and therefore an outdated market price. - try { - offer.checkTradePriceTolerance(request.getTakersTradePrice()); - } catch (TradePriceOutOfToleranceException e) { - log.warn("Trade price check failed because takers price is outside out tolerance."); - availabilityResult = AvailabilityResult.PRICE_OUT_OF_TOLERANCE; - } catch (MarketPriceNotAvailableException e) { - log.warn(e.getMessage()); - availabilityResult = AvailabilityResult.MARKET_PRICE_NOT_AVAILABLE; - } catch (Throwable e) { - log.warn("Trade price check failed. " + e.getMessage()); - availabilityResult = AvailabilityResult.UNKNOWN_FAILURE; + mediatorNodeAddress = DisputeAgentSelection.getLeastUsedMediator(tradeStatisticsManager, mediatorManager).getNodeAddress(); + openOffer.setMediatorNodeAddress(mediatorNodeAddress); + Capabilities supportedCapabilities = request.getSupportedCapabilities(); + if (!OfferRestrictions.requiresUpdate() || + (supportedCapabilities != null && + Capabilities.hasMandatoryCapability(supportedCapabilities, Capability.MEDIATION))) { + try { + // Check also tradePrice to avoid failures after taker fee is paid caused by a too big difference + // in trade price between the peers. Also here poor connectivity might cause market price API connection + // losses and therefore an outdated market price. + offer.checkTradePriceTolerance(request.getTakersTradePrice()); + } catch (TradePriceOutOfToleranceException e) { + log.warn("Trade price check failed because takers price is outside out tolerance."); + availabilityResult = AvailabilityResult.PRICE_OUT_OF_TOLERANCE; + } catch (MarketPriceNotAvailableException e) { + log.warn(e.getMessage()); + availabilityResult = AvailabilityResult.MARKET_PRICE_NOT_AVAILABLE; + } catch (Throwable e) { + log.warn("Trade price check failed. " + e.getMessage()); + availabilityResult = AvailabilityResult.UNKNOWN_FAILURE; + } + } else { + log.warn("Taker has not mandatory capability MEDIATION"); + // Because an old peer has not AvailabilityResult.MISSING_MANDATORY_CAPABILITY and we + // have not set the UNDEFINED fallback in AvailabilityResult the user will get a null value. + availabilityResult = AvailabilityResult.MISSING_MANDATORY_CAPABILITY; } } else { log.warn("acceptedArbitrators is null or empty: acceptedArbitrators=" + acceptedArbitrators); @@ -597,7 +631,10 @@ private void handleOfferAvailabilityRequest(OfferAvailabilityRequest request, No availabilityResult = AvailabilityResult.OFFER_TAKEN; } - OfferAvailabilityResponse offerAvailabilityResponse = new OfferAvailabilityResponse(request.offerId, availabilityResult, arbitratorNodeAddress); + OfferAvailabilityResponse offerAvailabilityResponse = new OfferAvailabilityResponse(request.offerId, + availabilityResult, + arbitratorNodeAddress, + mediatorNodeAddress); log.info("Send {} with offerId {} and uid {} to peer {}", offerAvailabilityResponse.getClass().getSimpleName(), offerAvailabilityResponse.getOfferId(), offerAvailabilityResponse.getUid(), peer); @@ -608,14 +645,18 @@ private void handleOfferAvailabilityRequest(OfferAvailabilityRequest request, No @Override public void onArrived() { log.info("{} arrived at peer: offerId={}; uid={}", - offerAvailabilityResponse.getClass().getSimpleName(), offerAvailabilityResponse.getOfferId(), offerAvailabilityResponse.getUid()); + offerAvailabilityResponse.getClass().getSimpleName(), + offerAvailabilityResponse.getOfferId(), + offerAvailabilityResponse.getUid()); } @Override public void onFault(String errorMessage) { log.error("Sending {} failed: uid={}; peer={}; error={}", - offerAvailabilityResponse.getClass().getSimpleName(), offerAvailabilityResponse.getUid(), - peer, errorMessage); + offerAvailabilityResponse.getClass().getSimpleName(), + offerAvailabilityResponse.getUid(), + peer, + errorMessage); } }); result = true; @@ -628,7 +669,10 @@ public void onFault(String errorMessage) { } } - private void sendAckMessage(OfferAvailabilityRequest message, NodeAddress sender, boolean result, String errorMessage) { + private void sendAckMessage(OfferAvailabilityRequest message, + NodeAddress sender, + boolean result, + String errorMessage) { String offerId = message.getOfferId(); String sourceUid = message.getUid(); AckMessage ackMessage = new AckMessage(p2PService.getNetworkNode().getNodeAddress(), @@ -664,6 +708,98 @@ public void onFault(String errorMessage) { } + /////////////////////////////////////////////////////////////////////////////////////////// + // Update persisted offer if a new capability is required after a software update + /////////////////////////////////////////////////////////////////////////////////////////// + + private void maybeUpdatePersistedOffers() { + // We need to clone to avoid ConcurrentModificationException + ArrayList openOffersClone = new ArrayList<>(openOffers.getList()); + openOffersClone.forEach(openOffer -> { + Offer originalOffer = openOffer.getOffer(); + + OfferPayload originalOfferPayload = originalOffer.getOfferPayload(); + // We added CAPABILITIES with entry for Capability.MEDIATION in v1.1.6 and want to rewrite a + // persisted offer after the user has updated to 1.1.6 so their offer will be accepted by the network. + + if (!OfferRestrictions.hasOfferMandatoryCapability(originalOffer, Capability.MEDIATION)) { + // We rewrite our offer with the additional capabilities entry + + Map originalExtraDataMap = originalOfferPayload.getExtraDataMap(); + Map updatedExtraDataMap = new HashMap<>(); + + if (originalExtraDataMap != null) { + updatedExtraDataMap.putAll(originalExtraDataMap); + } + + // We overwrite any entry with our current capabilities + updatedExtraDataMap.put(OfferPayload.CAPABILITIES, Capabilities.app.toStringList()); + + OfferPayload updatedPayload = new OfferPayload(originalOfferPayload.getId(), + originalOfferPayload.getDate(), + originalOfferPayload.getOwnerNodeAddress(), + originalOfferPayload.getPubKeyRing(), + originalOfferPayload.getDirection(), + originalOfferPayload.getPrice(), + originalOfferPayload.getMarketPriceMargin(), + originalOfferPayload.isUseMarketBasedPrice(), + originalOfferPayload.getAmount(), + originalOfferPayload.getMinAmount(), + originalOfferPayload.getBaseCurrencyCode(), + originalOfferPayload.getCounterCurrencyCode(), + originalOfferPayload.getArbitratorNodeAddresses(), + originalOfferPayload.getMediatorNodeAddresses(), + originalOfferPayload.getPaymentMethodId(), + originalOfferPayload.getMakerPaymentAccountId(), + originalOfferPayload.getOfferFeePaymentTxId(), + originalOfferPayload.getCountryCode(), + originalOfferPayload.getAcceptedCountryCodes(), + originalOfferPayload.getBankId(), + originalOfferPayload.getAcceptedBankIds(), + originalOfferPayload.getVersionNr(), + originalOfferPayload.getBlockHeightAtOfferCreation(), + originalOfferPayload.getTxFee(), + originalOfferPayload.getMakerFee(), + originalOfferPayload.isCurrencyForMakerFeeBtc(), + originalOfferPayload.getBuyerSecurityDeposit(), + originalOfferPayload.getSellerSecurityDeposit(), + originalOfferPayload.getMaxTradeLimit(), + originalOfferPayload.getMaxTradePeriod(), + originalOfferPayload.isUseAutoClose(), + originalOfferPayload.isUseReOpenAfterAutoClose(), + originalOfferPayload.getLowerClosePrice(), + originalOfferPayload.getUpperClosePrice(), + originalOfferPayload.isPrivateOffer(), + originalOfferPayload.getHashOfChallenge(), + updatedExtraDataMap, + originalOfferPayload.getProtocolVersion()); + + // Save states from original data to use the for updated + Offer.State originalOfferState = originalOffer.getState(); + OpenOffer.State originalOpenOfferState = openOffer.getState(); + + // remove old offer + originalOffer.setState(Offer.State.REMOVED); + openOffer.setState(OpenOffer.State.CANCELED); + openOffer.setStorage(openOfferTradableListStorage); + openOffers.remove(openOffer); + + // Create new Offer + Offer updatedOffer = new Offer(updatedPayload); + updatedOffer.setPriceFeedService(priceFeedService); + updatedOffer.setState(originalOfferState); + + OpenOffer updatedOpenOffer = new OpenOffer(updatedOffer, openOfferTradableListStorage); + updatedOpenOffer.setState(originalOpenOfferState); + updatedOpenOffer.setStorage(openOfferTradableListStorage); + openOffers.add(updatedOpenOffer); + + log.info("Converted offer to support new Capability.MEDIATION capability. id={}", originalOffer.getId()); + } + }); + } + + /////////////////////////////////////////////////////////////////////////////////////////// // RepublishOffers, refreshOffers /////////////////////////////////////////////////////////////////////////////////////////// diff --git a/core/src/main/java/bisq/core/offer/availability/ArbitratorSelection.java b/core/src/main/java/bisq/core/offer/availability/DisputeAgentSelection.java similarity index 50% rename from core/src/main/java/bisq/core/offer/availability/ArbitratorSelection.java rename to core/src/main/java/bisq/core/offer/availability/DisputeAgentSelection.java index 4f34cefab01..bce44e6cbc6 100644 --- a/core/src/main/java/bisq/core/offer/availability/ArbitratorSelection.java +++ b/core/src/main/java/bisq/core/offer/availability/DisputeAgentSelection.java @@ -17,13 +17,15 @@ package bisq.core.offer.availability; -import bisq.core.arbitration.Arbitrator; -import bisq.core.arbitration.ArbitratorManager; +import bisq.core.support.dispute.agent.DisputeAgent; +import bisq.core.support.dispute.agent.DisputeAgentManager; import bisq.core.trade.statistics.TradeStatistics2; import bisq.core.trade.statistics.TradeStatisticsManager; import bisq.common.util.Tuple2; +import com.google.common.annotations.VisibleForTesting; + import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; @@ -39,10 +41,25 @@ import static com.google.common.base.Preconditions.checkArgument; @Slf4j -public class ArbitratorSelection { +public class DisputeAgentSelection { + + public static T getLeastUsedArbitrator(TradeStatisticsManager tradeStatisticsManager, + DisputeAgentManager disputeAgentManager) { + return getLeastUsedDisputeAgent(tradeStatisticsManager, + disputeAgentManager, + TradeStatistics2.ARBITRATOR_ADDRESS); + } + + public static T getLeastUsedMediator(TradeStatisticsManager tradeStatisticsManager, + DisputeAgentManager disputeAgentManager) { + return getLeastUsedDisputeAgent(tradeStatisticsManager, + disputeAgentManager, + TradeStatistics2.MEDIATOR_ADDRESS); + } - public static Arbitrator getLeastUsedArbitrator(TradeStatisticsManager tradeStatisticsManager, - ArbitratorManager arbitratorManager) { + private static T getLeastUsedDisputeAgent(TradeStatisticsManager tradeStatisticsManager, + DisputeAgentManager disputeAgentManager, + String extraMapKey) { // We take last 100 entries from trade statistics List list = new ArrayList<>(tradeStatisticsManager.getObservableTradeStatisticsSet()); list.sort(Comparator.comparing(TradeStatistics2::getTradeDate)); @@ -52,32 +69,33 @@ public static Arbitrator getLeastUsedArbitrator(TradeStatisticsManager tradeStat list = list.subList(0, max); } - // We stored only first 4 chars of arbitrators onion address + // We stored only first 4 chars of disputeAgents onion address List lastAddressesUsedInTrades = list.stream() .filter(tradeStatistics2 -> tradeStatistics2.getExtraDataMap() != null) - .map(tradeStatistics2 -> tradeStatistics2.getExtraDataMap().get(TradeStatistics2.ARBITRATOR_ADDRESS)) + .map(tradeStatistics2 -> tradeStatistics2.getExtraDataMap().get(extraMapKey)) .filter(Objects::nonNull) .collect(Collectors.toList()); - Set arbitrators = arbitratorManager.getArbitratorsObservableMap().values().stream() - .map(arbitrator -> arbitrator.getNodeAddress().getFullAddress()) + Set disputeAgents = disputeAgentManager.getObservableMap().values().stream() + .map(disputeAgent -> disputeAgent.getNodeAddress().getFullAddress()) .collect(Collectors.toSet()); - String result = getLeastUsedArbitrator(lastAddressesUsedInTrades, arbitrators); + String result = getLeastUsedDisputeAgent(lastAddressesUsedInTrades, disputeAgents); - Optional optionalArbitrator = arbitratorManager.getArbitratorsObservableMap().values().stream() + Optional optionalDisputeAgent = disputeAgentManager.getObservableMap().values().stream() .filter(e -> e.getNodeAddress().getFullAddress().equals(result)) .findAny(); - checkArgument(optionalArbitrator.isPresent(), "optionalArbitrator has to be present"); - return optionalArbitrator.get(); + checkArgument(optionalDisputeAgent.isPresent(), "optionalDisputeAgent has to be present"); + return optionalDisputeAgent.get(); } - static String getLeastUsedArbitrator(List lastAddressesUsedInTrades, Set arbitrators) { - checkArgument(!arbitrators.isEmpty(), "arbitrators must not be empty"); - List> arbitratorTuples = arbitrators.stream() + @VisibleForTesting + static String getLeastUsedDisputeAgent(List lastAddressesUsedInTrades, Set disputeAgents) { + checkArgument(!disputeAgents.isEmpty(), "disputeAgents must not be empty"); + List> disputeAgentTuples = disputeAgents.stream() .map(e -> new Tuple2<>(e, new AtomicInteger(0))) .collect(Collectors.toList()); - arbitratorTuples.forEach(tuple -> { + disputeAgentTuples.forEach(tuple -> { int count = (int) lastAddressesUsedInTrades.stream() .filter(tuple.first::startsWith) // we use only first 4 chars for comparing .mapToInt(e -> 1) @@ -85,8 +103,8 @@ static String getLeastUsedArbitrator(List lastAddressesUsedInTrades, Set tuple.second.set(count); }); - arbitratorTuples.sort(Comparator.comparing(e -> e.first)); - arbitratorTuples.sort(Comparator.comparingInt(e -> e.second.get())); - return arbitratorTuples.get(0).first; + disputeAgentTuples.sort(Comparator.comparing(e -> e.first)); + disputeAgentTuples.sort(Comparator.comparingInt(e -> e.second.get())); + return disputeAgentTuples.get(0).first; } } diff --git a/core/src/main/java/bisq/core/offer/availability/OfferAvailabilityModel.java b/core/src/main/java/bisq/core/offer/availability/OfferAvailabilityModel.java index 982540b54c2..2b55c18813a 100644 --- a/core/src/main/java/bisq/core/offer/availability/OfferAvailabilityModel.java +++ b/core/src/main/java/bisq/core/offer/availability/OfferAvailabilityModel.java @@ -19,6 +19,8 @@ import bisq.core.offer.Offer; import bisq.core.offer.messages.OfferAvailabilityResponse; +import bisq.core.support.dispute.mediation.mediator.MediatorManager; +import bisq.core.trade.statistics.TradeStatisticsManager; import bisq.core.user.User; import bisq.network.p2p.NodeAddress; @@ -41,6 +43,10 @@ public class OfferAvailabilityModel implements Model { private final P2PService p2PService; @Getter final private User user; + @Getter + private final MediatorManager mediatorManager; + @Getter + private final TradeStatisticsManager tradeStatisticsManager; private NodeAddress peerNodeAddress; // maker private OfferAvailabilityResponse message; @Nullable @@ -48,21 +54,32 @@ public class OfferAvailabilityModel implements Model { @Getter private NodeAddress selectedArbitrator; + // Added in v1.1.6 + @Nullable + @Setter + @Getter + private NodeAddress selectedMediator; + + public OfferAvailabilityModel(Offer offer, PubKeyRing pubKeyRing, P2PService p2PService, - User user) { + User user, + MediatorManager mediatorManager, + TradeStatisticsManager tradeStatisticsManager) { this.offer = offer; this.pubKeyRing = pubKeyRing; this.p2PService = p2PService; this.user = user; + this.mediatorManager = mediatorManager; + this.tradeStatisticsManager = tradeStatisticsManager; } public NodeAddress getPeerNodeAddress() { return peerNodeAddress; } - public void setPeerNodeAddress(NodeAddress peerNodeAddress) { + void setPeerNodeAddress(NodeAddress peerNodeAddress) { this.peerNodeAddress = peerNodeAddress; } diff --git a/core/src/main/java/bisq/core/offer/availability/tasks/ProcessOfferAvailabilityResponse.java b/core/src/main/java/bisq/core/offer/availability/tasks/ProcessOfferAvailabilityResponse.java index 2fddd54e62a..1690ddc34ae 100644 --- a/core/src/main/java/bisq/core/offer/availability/tasks/ProcessOfferAvailabilityResponse.java +++ b/core/src/main/java/bisq/core/offer/availability/tasks/ProcessOfferAvailabilityResponse.java @@ -19,24 +19,18 @@ import bisq.core.offer.AvailabilityResult; import bisq.core.offer.Offer; +import bisq.core.offer.availability.DisputeAgentSelection; import bisq.core.offer.availability.OfferAvailabilityModel; import bisq.core.offer.messages.OfferAvailabilityResponse; -import bisq.core.trade.protocol.ArbitratorSelectionRule; import bisq.network.p2p.NodeAddress; import bisq.common.taskrunner.Task; import bisq.common.taskrunner.TaskRunner; -import com.google.common.collect.Lists; - -import java.util.List; -import java.util.stream.Collectors; - import lombok.extern.slf4j.Slf4j; import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Preconditions.checkNotNull; @Slf4j public class ProcessOfferAvailabilityResponse extends Task { @@ -62,43 +56,14 @@ protected void run() { offer.setState(Offer.State.AVAILABLE); - NodeAddress selectedArbitrator = offerAvailabilityResponse.getArbitrator(); - - if (selectedArbitrator != null) { - model.setSelectedArbitrator(selectedArbitrator); - complete(); - return; - } - - // We have an offer from a maker who runs a pre 0.9 version. - log.info("Maker has on old version and does not send the selected arbitrator in the offerAvailabilityResponse. " + - "We use the old selection model instead with the supported arbitrators of the offers"); - - List userArbitratorAddresses = model.getUser().getAcceptedArbitratorAddresses(); - checkNotNull(userArbitratorAddresses, "model.getUser().getAcceptedArbitratorAddresses() must not be null"); - - List offerArbitratorNodeAddresses = offer.getArbitratorNodeAddresses(); - - List matchingArbitrators = offerArbitratorNodeAddresses.stream() - .filter(userArbitratorAddresses::contains) - .collect(Collectors.toList()); - - if (!matchingArbitrators.isEmpty()) { - // We have at least one arbitrator which was used in the offer and is still available. - try { - model.setSelectedArbitrator(ArbitratorSelectionRule.select(Lists.newArrayList(matchingArbitrators), offer)); - complete(); - } catch (Throwable t) { - failed("There is no arbitrator matching that offer. The maker has " + - "not updated to the latest version and the arbitrators selected for that offer are not available anymore."); - } - } else { - // If an arbitrator which was selected in the offer from an old version has revoked we would get a failed take-offer attempt - // with lost trade fees. To avoid that we fail here after 1 week after the new rule is activated. - // Because one arbitrator need to revoke his application and register new as he gets too many transactions already - // we need to handle the planned revoke case. - failed("You cannot take that offer because the maker has not updated to version 0.9."); + model.setSelectedArbitrator(offerAvailabilityResponse.getArbitrator()); + NodeAddress mediator = offerAvailabilityResponse.getMediator(); + if (mediator == null) { + // We do not get a mediator from old clients so we need to handle the null case. + mediator = DisputeAgentSelection.getLeastUsedMediator(model.getTradeStatisticsManager(), model.getMediatorManager()).getNodeAddress(); } + model.setSelectedMediator(mediator); + complete(); } catch (Throwable t) { offer.setErrorMessage("An error occurred.\n" + "Error message:\n" diff --git a/core/src/main/java/bisq/core/offer/messages/OfferAvailabilityRequest.java b/core/src/main/java/bisq/core/offer/messages/OfferAvailabilityRequest.java index 5cedcdc4aa3..704f73c981d 100644 --- a/core/src/main/java/bisq/core/offer/messages/OfferAvailabilityRequest.java +++ b/core/src/main/java/bisq/core/offer/messages/OfferAvailabilityRequest.java @@ -28,6 +28,7 @@ import lombok.EqualsAndHashCode; import lombok.Value; +import lombok.extern.slf4j.Slf4j; import javax.annotation.Nullable; @@ -35,6 +36,7 @@ // to the trading peer @EqualsAndHashCode(callSuper = true) @Value +@Slf4j public final class OfferAvailabilityRequest extends OfferMessage implements SupportedCapabilitiesMessage { private final PubKeyRing pubKeyRing; private final long takersTradePrice; diff --git a/core/src/main/java/bisq/core/offer/messages/OfferAvailabilityResponse.java b/core/src/main/java/bisq/core/offer/messages/OfferAvailabilityResponse.java index 1bb7b138296..f71713c7a01 100644 --- a/core/src/main/java/bisq/core/offer/messages/OfferAvailabilityResponse.java +++ b/core/src/main/java/bisq/core/offer/messages/OfferAvailabilityResponse.java @@ -44,17 +44,22 @@ public final class OfferAvailabilityResponse extends OfferMessage implements Sup @Nullable private final Capabilities supportedCapabilities; - // Was introduced in v 0.9.0. Might be null if msg received from node with old version - @Nullable private final NodeAddress arbitrator; + // Was introduced in v 1.1.6. Might be null if msg received from node with old version + @Nullable + private final NodeAddress mediator; - public OfferAvailabilityResponse(String offerId, AvailabilityResult availabilityResult, NodeAddress arbitrator) { + public OfferAvailabilityResponse(String offerId, + AvailabilityResult availabilityResult, + NodeAddress arbitrator, + NodeAddress mediator) { this(offerId, availabilityResult, Capabilities.app, Version.getP2PMessageVersion(), UUID.randomUUID().toString(), - arbitrator); + arbitrator, + mediator); } @@ -67,22 +72,25 @@ private OfferAvailabilityResponse(String offerId, @Nullable Capabilities supportedCapabilities, int messageVersion, @Nullable String uid, - @Nullable NodeAddress arbitrator) { + NodeAddress arbitrator, + @Nullable NodeAddress mediator) { super(messageVersion, offerId, uid); this.availabilityResult = availabilityResult; this.supportedCapabilities = supportedCapabilities; this.arbitrator = arbitrator; + this.mediator = mediator; } @Override public protobuf.NetworkEnvelope toProtoNetworkEnvelope() { final protobuf.OfferAvailabilityResponse.Builder builder = protobuf.OfferAvailabilityResponse.newBuilder() .setOfferId(offerId) - .setAvailabilityResult(protobuf.AvailabilityResult.valueOf(availabilityResult.name())); + .setAvailabilityResult(protobuf.AvailabilityResult.valueOf(availabilityResult.name())) + .setArbitrator(arbitrator.toProtoMessage()); Optional.ofNullable(supportedCapabilities).ifPresent(e -> builder.addAllSupportedCapabilities(Capabilities.toIntList(supportedCapabilities))); Optional.ofNullable(uid).ifPresent(e -> builder.setUid(uid)); - Optional.ofNullable(arbitrator).ifPresent(e -> builder.setArbitrator(arbitrator.toProtoMessage())); + Optional.ofNullable(mediator).ifPresent(e -> builder.setMediator(mediator.toProtoMessage())); return getNetworkEnvelopeBuilder() .setOfferAvailabilityResponse(builder) @@ -95,6 +103,7 @@ public static OfferAvailabilityResponse fromProto(protobuf.OfferAvailabilityResp Capabilities.fromIntList(proto.getSupportedCapabilitiesList()), messageVersion, proto.getUid().isEmpty() ? null : proto.getUid(), - proto.hasArbitrator() ? NodeAddress.fromProto(proto.getArbitrator()) : null); + NodeAddress.fromProto(proto.getArbitrator()), + proto.hasMediator() ? NodeAddress.fromProto(proto.getMediator()) : null); } } diff --git a/core/src/main/java/bisq/core/offer/placeoffer/PlaceOfferModel.java b/core/src/main/java/bisq/core/offer/placeoffer/PlaceOfferModel.java index 6c67acf39d6..e63e31ecdf2 100644 --- a/core/src/main/java/bisq/core/offer/placeoffer/PlaceOfferModel.java +++ b/core/src/main/java/bisq/core/offer/placeoffer/PlaceOfferModel.java @@ -17,12 +17,12 @@ package bisq.core.offer.placeoffer; -import bisq.core.arbitration.ArbitratorManager; import bisq.core.btc.wallet.BsqWalletService; import bisq.core.btc.wallet.BtcWalletService; import bisq.core.btc.wallet.TradeWalletService; import bisq.core.offer.Offer; import bisq.core.offer.OfferBookService; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; import bisq.core.trade.statistics.TradeStatisticsManager; import bisq.core.user.User; diff --git a/core/src/main/java/bisq/core/offer/placeoffer/tasks/CreateMakerFeeTx.java b/core/src/main/java/bisq/core/offer/placeoffer/tasks/CreateMakerFeeTx.java index 6419a0b287c..f7e35d82a08 100644 --- a/core/src/main/java/bisq/core/offer/placeoffer/tasks/CreateMakerFeeTx.java +++ b/core/src/main/java/bisq/core/offer/placeoffer/tasks/CreateMakerFeeTx.java @@ -17,7 +17,6 @@ package bisq.core.offer.placeoffer.tasks; -import bisq.core.arbitration.Arbitrator; import bisq.core.btc.exceptions.TxBroadcastException; import bisq.core.btc.model.AddressEntry; import bisq.core.btc.wallet.BsqWalletService; @@ -28,8 +27,9 @@ import bisq.core.dao.exceptions.DaoDisabledException; import bisq.core.dao.state.model.blockchain.TxType; import bisq.core.offer.Offer; -import bisq.core.offer.availability.ArbitratorSelection; +import bisq.core.offer.availability.DisputeAgentSelection; import bisq.core.offer.placeoffer.PlaceOfferModel; +import bisq.core.support.dispute.arbitration.arbitrator.Arbitrator; import bisq.common.UserThread; import bisq.common.taskrunner.Task; @@ -47,7 +47,7 @@ public class CreateMakerFeeTx extends Task { private static final Logger log = LoggerFactory.getLogger(CreateMakerFeeTx.class); private Transaction tradeFeeTx = null; - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public CreateMakerFeeTx(TaskRunner taskHandler, PlaceOfferModel model) { super(taskHandler, model); } @@ -62,7 +62,7 @@ protected void run() { String id = offer.getId(); BtcWalletService walletService = model.getWalletService(); - Arbitrator arbitrator = ArbitratorSelection.getLeastUsedArbitrator(model.getTradeStatisticsManager(), + Arbitrator arbitrator = DisputeAgentSelection.getLeastUsedArbitrator(model.getTradeStatisticsManager(), model.getArbitratorManager()); Address fundingAddress = walletService.getOrCreateAddressEntry(id, AddressEntry.Context.OFFER_FUNDING).getAddress(); diff --git a/core/src/main/java/bisq/core/offer/placeoffer/tasks/ValidateOffer.java b/core/src/main/java/bisq/core/offer/placeoffer/tasks/ValidateOffer.java index 8216c924f21..70701adc79c 100644 --- a/core/src/main/java/bisq/core/offer/placeoffer/tasks/ValidateOffer.java +++ b/core/src/main/java/bisq/core/offer/placeoffer/tasks/ValidateOffer.java @@ -83,8 +83,6 @@ protected void run() { checkArgument(offer.getDate().getTime() > 0, "Date must not be 0. date=" + offer.getDate().toString()); - checkNotNull(offer.getArbitratorNodeAddresses(), "Arbitrator is null"); - checkNotNull(offer.getMediatorNodeAddresses(), "Mediator is null"); checkNotNull(offer.getCurrencyCode(), "Currency is null"); checkNotNull(offer.getDirection(), "Direction is null"); checkNotNull(offer.getId(), "Id is null"); diff --git a/core/src/main/java/bisq/core/payment/payload/CountryBasedPaymentAccountPayload.java b/core/src/main/java/bisq/core/payment/payload/CountryBasedPaymentAccountPayload.java index e9260991137..80aafc0bec6 100644 --- a/core/src/main/java/bisq/core/payment/payload/CountryBasedPaymentAccountPayload.java +++ b/core/src/main/java/bisq/core/payment/payload/CountryBasedPaymentAccountPayload.java @@ -65,9 +65,9 @@ protected protobuf.PaymentAccountPayload.Builder getPaymentAccountPayloadBuilder .setCountryBasedPaymentAccountPayload(builder); } - abstract public String getPaymentDetails(); + public abstract String getPaymentDetails(); - abstract public String getPaymentDetailsForTradePopup(); + public abstract String getPaymentDetailsForTradePopup(); @Override protected byte[] getAgeWitnessInputData(byte[] data) { diff --git a/core/src/main/java/bisq/core/payment/payload/PaymentAccountPayload.java b/core/src/main/java/bisq/core/payment/payload/PaymentAccountPayload.java index 5852aa618b3..fb771f7aa17 100644 --- a/core/src/main/java/bisq/core/payment/payload/PaymentAccountPayload.java +++ b/core/src/main/java/bisq/core/payment/payload/PaymentAccountPayload.java @@ -118,9 +118,9 @@ protected protobuf.PaymentAccountPayload.Builder getPaymentAccountPayloadBuilder // API /////////////////////////////////////////////////////////////////////////////////////////// - abstract public String getPaymentDetails(); + public abstract String getPaymentDetails(); - abstract public String getPaymentDetailsForTradePopup(); + public abstract String getPaymentDetailsForTradePopup(); public byte[] getSalt() { checkNotNull(excludeFromJsonDataMap, "excludeFromJsonDataMap must not be null"); diff --git a/core/src/main/java/bisq/core/presentation/CorePresentationModule.java b/core/src/main/java/bisq/core/presentation/CorePresentationModule.java index 6d84520d3ec..2d0b804886c 100644 --- a/core/src/main/java/bisq/core/presentation/CorePresentationModule.java +++ b/core/src/main/java/bisq/core/presentation/CorePresentationModule.java @@ -32,7 +32,7 @@ public CorePresentationModule(Environment environment) { protected void configure() { bind(BalancePresentation.class).in(Singleton.class); bind(TradePresentation.class).in(Singleton.class); - bind(DisputePresentation.class).in(Singleton.class); + bind(SupportTicketsPresentation.class).in(Singleton.class); } } diff --git a/core/src/main/java/bisq/core/presentation/DisputePresentation.java b/core/src/main/java/bisq/core/presentation/DisputePresentation.java deleted file mode 100644 index ab79175b993..00000000000 --- a/core/src/main/java/bisq/core/presentation/DisputePresentation.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * This file is part of Bisq. - * - * Bisq is free software: you can redistribute it and/or modify it - * under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or (at - * your option) any later version. - * - * Bisq is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public - * License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Bisq. If not, see . - */ - -package bisq.core.presentation; - -import bisq.core.arbitration.DisputeManager; - -import javax.inject.Inject; - -import javafx.beans.property.BooleanProperty; -import javafx.beans.property.SimpleBooleanProperty; -import javafx.beans.property.SimpleStringProperty; -import javafx.beans.property.StringProperty; - -import lombok.Getter; - -public class DisputePresentation { - @Getter - private final StringProperty numOpenDisputes = new SimpleStringProperty(); - @Getter - private final BooleanProperty showOpenDisputesNotification = new SimpleBooleanProperty(); - - @Inject - public DisputePresentation(DisputeManager disputeManager) { - disputeManager.getNumOpenDisputes().addListener((observable, oldValue, newValue) -> { - int openDisputes = (int) newValue; - if (openDisputes > 0) - numOpenDisputes.set(String.valueOf(openDisputes)); - if (openDisputes > 9) - numOpenDisputes.set("★"); - - showOpenDisputesNotification.set(openDisputes > 0); - }); - } -} diff --git a/core/src/main/java/bisq/core/presentation/SupportTicketsPresentation.java b/core/src/main/java/bisq/core/presentation/SupportTicketsPresentation.java new file mode 100644 index 00000000000..be98548140a --- /dev/null +++ b/core/src/main/java/bisq/core/presentation/SupportTicketsPresentation.java @@ -0,0 +1,78 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.presentation; + +import bisq.core.support.dispute.arbitration.ArbitrationManager; +import bisq.core.support.dispute.mediation.MediationManager; + +import javax.inject.Inject; + +import javafx.beans.property.BooleanProperty; +import javafx.beans.property.SimpleBooleanProperty; +import javafx.beans.property.SimpleStringProperty; +import javafx.beans.property.StringProperty; + +import java.util.concurrent.atomic.AtomicInteger; + +import lombok.Getter; + +public class SupportTicketsPresentation { + @Getter + private final StringProperty numOpenArbitrationTickets = new SimpleStringProperty(); + @Getter + private final BooleanProperty showOpenArbitrationTicketsNotification = new SimpleBooleanProperty(); + + @Getter + private final StringProperty numOpenMediationTickets = new SimpleStringProperty(); + @Getter + private final BooleanProperty showOpenMediationTicketsNotification = new SimpleBooleanProperty(); + + @Getter + private final StringProperty numOpenSupportTickets = new SimpleStringProperty(); + @Getter + private final BooleanProperty showOpenSupportTicketsNotification = new SimpleBooleanProperty(); + @org.jetbrains.annotations.NotNull + private final ArbitrationManager arbitrationManager; + @org.jetbrains.annotations.NotNull + private final MediationManager mediationManager; + + @Inject + public SupportTicketsPresentation(ArbitrationManager arbitrationManager, MediationManager mediationManager) { + this.arbitrationManager = arbitrationManager; + this.mediationManager = mediationManager; + + arbitrationManager.getNumOpenDisputes().addListener((observable, oldValue, newValue) -> onChange()); + mediationManager.getNumOpenDisputes().addListener((observable, oldValue, newValue) -> onChange()); + } + + private void onChange() { + AtomicInteger openArbitrationDisputes = new AtomicInteger(arbitrationManager.getNumOpenDisputes().get()); + int arbitrationTickets = openArbitrationDisputes.get(); + numOpenArbitrationTickets.set(String.valueOf(arbitrationTickets)); + showOpenArbitrationTicketsNotification.set(arbitrationTickets > 0); + + AtomicInteger openMediationDisputes = new AtomicInteger(mediationManager.getNumOpenDisputes().get()); + int mediationTickets = openMediationDisputes.get(); + numOpenMediationTickets.set(String.valueOf(mediationTickets)); + showOpenMediationTicketsNotification.set(mediationTickets > 0); + + int supportTickets = arbitrationTickets + mediationTickets; + numOpenSupportTickets.set(String.valueOf(supportTickets)); + showOpenSupportTicketsNotification.set(supportTickets > 0); + } +} diff --git a/core/src/main/java/bisq/core/proto/ProtoDevUtil.java b/core/src/main/java/bisq/core/proto/ProtoDevUtil.java index c62b65e0ea5..6b70441a866 100644 --- a/core/src/main/java/bisq/core/proto/ProtoDevUtil.java +++ b/core/src/main/java/bisq/core/proto/ProtoDevUtil.java @@ -17,8 +17,8 @@ package bisq.core.proto; -import bisq.core.arbitration.DisputeResult; import bisq.core.btc.model.AddressEntry; +import bisq.core.support.dispute.DisputeResult; import bisq.core.offer.AvailabilityResult; import bisq.core.offer.Offer; import bisq.core.offer.OfferPayload; diff --git a/core/src/main/java/bisq/core/proto/network/CoreNetworkProtoResolver.java b/core/src/main/java/bisq/core/proto/network/CoreNetworkProtoResolver.java index 3d0c065fc42..9d84408420b 100644 --- a/core/src/main/java/bisq/core/proto/network/CoreNetworkProtoResolver.java +++ b/core/src/main/java/bisq/core/proto/network/CoreNetworkProtoResolver.java @@ -19,13 +19,6 @@ import bisq.core.alert.Alert; import bisq.core.alert.PrivateNotificationMessage; -import bisq.core.arbitration.Arbitrator; -import bisq.core.arbitration.Mediator; -import bisq.core.arbitration.messages.DisputeCommunicationMessage; -import bisq.core.arbitration.messages.DisputeResultMessage; -import bisq.core.arbitration.messages.OpenNewDisputeMessage; -import bisq.core.arbitration.messages.PeerOpenedDisputeMessage; -import bisq.core.arbitration.messages.PeerPublishedDisputePayoutTxMessage; import bisq.core.dao.governance.blindvote.network.messages.RepublishGovernanceDataRequest; import bisq.core.dao.governance.proposal.storage.temp.TempProposalPayload; import bisq.core.dao.monitoring.network.messages.GetBlindVoteStateHashesRequest; @@ -45,8 +38,17 @@ import bisq.core.offer.messages.OfferAvailabilityRequest; import bisq.core.offer.messages.OfferAvailabilityResponse; import bisq.core.proto.CoreProtoResolver; +import bisq.core.support.dispute.arbitration.arbitrator.Arbitrator; +import bisq.core.support.dispute.arbitration.messages.PeerPublishedDisputePayoutTxMessage; +import bisq.core.support.dispute.mediation.mediator.Mediator; +import bisq.core.support.dispute.messages.DisputeResultMessage; +import bisq.core.support.dispute.messages.OpenNewDisputeMessage; +import bisq.core.support.dispute.messages.PeerOpenedDisputeMessage; +import bisq.core.support.messages.ChatMessage; import bisq.core.trade.messages.CounterCurrencyTransferStartedMessage; import bisq.core.trade.messages.DepositTxPublishedMessage; +import bisq.core.trade.messages.MediatedPayoutTxPublishedMessage; +import bisq.core.trade.messages.MediatedPayoutTxSignatureMessage; import bisq.core.trade.messages.PayDepositRequest; import bisq.core.trade.messages.PayoutTxPublishedMessage; import bisq.core.trade.messages.PublishDepositTxRequest; @@ -142,13 +144,17 @@ public NetworkEnvelope fromProto(protobuf.NetworkEnvelope proto) throws Protobuf return CounterCurrencyTransferStartedMessage.fromProto(proto.getCounterCurrencyTransferStartedMessage(), messageVersion); case PAYOUT_TX_PUBLISHED_MESSAGE: return PayoutTxPublishedMessage.fromProto(proto.getPayoutTxPublishedMessage(), messageVersion); + case MEDIATED_PAYOUT_TX_SIGNATURE_MESSAGE: + return MediatedPayoutTxSignatureMessage.fromProto(proto.getMediatedPayoutTxSignatureMessage(), messageVersion); + case MEDIATED_PAYOUT_TX_PUBLISHED_MESSAGE: + return MediatedPayoutTxPublishedMessage.fromProto(proto.getMediatedPayoutTxPublishedMessage(), messageVersion); case OPEN_NEW_DISPUTE_MESSAGE: return OpenNewDisputeMessage.fromProto(proto.getOpenNewDisputeMessage(), this, messageVersion); case PEER_OPENED_DISPUTE_MESSAGE: return PeerOpenedDisputeMessage.fromProto(proto.getPeerOpenedDisputeMessage(), this, messageVersion); - case DISPUTE_COMMUNICATION_MESSAGE: - return DisputeCommunicationMessage.fromProto(proto.getDisputeCommunicationMessage(), messageVersion); + case CHAT_MESSAGE: + return ChatMessage.fromProto(proto.getChatMessage(), messageVersion); case DISPUTE_RESULT_MESSAGE: return DisputeResultMessage.fromProto(proto.getDisputeResultMessage(), messageVersion); case PEER_PUBLISHED_DISPUTE_PAYOUT_TX_MESSAGE: diff --git a/core/src/main/java/bisq/core/proto/persistable/CorePersistenceProtoResolver.java b/core/src/main/java/bisq/core/proto/persistable/CorePersistenceProtoResolver.java index dbd7ebeef52..796572b0c3f 100644 --- a/core/src/main/java/bisq/core/proto/persistable/CorePersistenceProtoResolver.java +++ b/core/src/main/java/bisq/core/proto/persistable/CorePersistenceProtoResolver.java @@ -19,7 +19,6 @@ import bisq.core.account.sign.SignedWitnessStore; import bisq.core.account.witness.AccountAgeWitnessStore; -import bisq.core.arbitration.DisputeList; import bisq.core.btc.model.AddressEntryList; import bisq.core.btc.wallet.BtcWalletService; import bisq.core.dao.governance.blindvote.MyBlindVoteList; @@ -36,6 +35,8 @@ import bisq.core.dao.state.unconfirmed.UnconfirmedBsqChangeOutputList; import bisq.core.payment.PaymentAccountList; import bisq.core.proto.CoreProtoResolver; +import bisq.core.support.dispute.arbitration.ArbitrationDisputeList; +import bisq.core.support.dispute.mediation.MediationDisputeList; import bisq.core.trade.TradableList; import bisq.core.trade.statistics.TradeStatistics2Store; import bisq.core.user.PreferencesPayload; @@ -101,8 +102,12 @@ public PersistableEnvelope fromProto(protobuf.PersistableEnvelope proto) { btcWalletService.get()); case TRADE_STATISTICS_LIST: throw new ProtobufferRuntimeException("TRADE_STATISTICS_LIST is not used anymore"); - case DISPUTE_LIST: - return DisputeList.fromProto(proto.getDisputeList(), + case ARBITRATION_DISPUTE_LIST: + return ArbitrationDisputeList.fromProto(proto.getArbitrationDisputeList(), + this, + new Storage<>(storageDir, this, corruptedDatabaseFilesHandler)); + case MEDIATION_DISPUTE_LIST: + return MediationDisputeList.fromProto(proto.getMediationDisputeList(), this, new Storage<>(storageDir, this, corruptedDatabaseFilesHandler)); case PREFERENCES_PAYLOAD: diff --git a/core/src/main/java/bisq/core/setup/CoreNetworkCapabilities.java b/core/src/main/java/bisq/core/setup/CoreNetworkCapabilities.java index 691f1eecbae..757f1f09df7 100644 --- a/core/src/main/java/bisq/core/setup/CoreNetworkCapabilities.java +++ b/core/src/main/java/bisq/core/setup/CoreNetworkCapabilities.java @@ -27,7 +27,7 @@ @Slf4j public class CoreNetworkCapabilities { - public static void setSupportedCapabilities(BisqEnvironment bisqEnvironment) { + static void setSupportedCapabilities(BisqEnvironment bisqEnvironment) { Capabilities.app.addAll( Capability.TRADE_STATISTICS, Capability.TRADE_STATISTICS_2, @@ -36,7 +36,8 @@ public static void setSupportedCapabilities(BisqEnvironment bisqEnvironment) { Capability.PROPOSAL, Capability.BLIND_VOTE, Capability.DAO_STATE, - Capability.BUNDLE_OF_ENVELOPES + Capability.BUNDLE_OF_ENVELOPES, + Capability.MEDIATION ); if (BisqEnvironment.isDaoActivated(bisqEnvironment)) { diff --git a/core/src/main/java/bisq/core/setup/CorePersistedDataHost.java b/core/src/main/java/bisq/core/setup/CorePersistedDataHost.java index 92892109cde..1a068e82a8a 100644 --- a/core/src/main/java/bisq/core/setup/CorePersistedDataHost.java +++ b/core/src/main/java/bisq/core/setup/CorePersistedDataHost.java @@ -17,7 +17,6 @@ package bisq.core.setup; -import bisq.core.arbitration.DisputeManager; import bisq.core.btc.model.AddressEntryList; import bisq.core.dao.DaoOptionKeys; import bisq.core.dao.governance.ballot.BallotListService; @@ -28,6 +27,8 @@ import bisq.core.dao.governance.proposal.MyProposalListService; import bisq.core.dao.state.unconfirmed.UnconfirmedBsqChangeOutputListService; import bisq.core.offer.OpenOfferManager; +import bisq.core.support.dispute.arbitration.ArbitrationDisputeListService; +import bisq.core.support.dispute.mediation.MediationDisputeListService; import bisq.core.trade.TradeManager; import bisq.core.trade.closed.ClosedTradableManager; import bisq.core.trade.failed.FailedTradesManager; @@ -60,7 +61,8 @@ public static List getPersistedDataHosts(Injector injector) { persistedDataHosts.add(injector.getInstance(TradeManager.class)); persistedDataHosts.add(injector.getInstance(ClosedTradableManager.class)); persistedDataHosts.add(injector.getInstance(FailedTradesManager.class)); - persistedDataHosts.add(injector.getInstance(DisputeManager.class)); + persistedDataHosts.add(injector.getInstance(ArbitrationDisputeListService.class)); + persistedDataHosts.add(injector.getInstance(MediationDisputeListService.class)); persistedDataHosts.add(injector.getInstance(P2PService.class)); if (injector.getInstance(Key.get(Boolean.class, Names.named(DaoOptionKeys.DAO_ACTIVATED)))) { diff --git a/core/src/main/java/bisq/core/support/SupportManager.java b/core/src/main/java/bisq/core/support/SupportManager.java new file mode 100644 index 00000000000..908a594aee8 --- /dev/null +++ b/core/src/main/java/bisq/core/support/SupportManager.java @@ -0,0 +1,320 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support; + +import bisq.core.btc.setup.WalletsSetup; +import bisq.core.support.messages.ChatMessage; +import bisq.core.support.messages.SupportMessage; + +import bisq.network.p2p.AckMessage; +import bisq.network.p2p.AckMessageSourceType; +import bisq.network.p2p.DecryptedMessageWithPubKey; +import bisq.network.p2p.NodeAddress; +import bisq.network.p2p.P2PService; +import bisq.network.p2p.SendMailboxMessageListener; + +import bisq.common.Timer; +import bisq.common.UserThread; +import bisq.common.crypto.PubKeyRing; +import bisq.common.proto.network.NetworkEnvelope; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.CopyOnWriteArraySet; + +import lombok.extern.slf4j.Slf4j; + +import javax.annotation.Nullable; + +@Slf4j +public abstract class SupportManager { + protected final P2PService p2PService; + protected final WalletsSetup walletsSetup; + protected final Map delayMsgMap = new HashMap<>(); + private final CopyOnWriteArraySet decryptedMailboxMessageWithPubKeys = new CopyOnWriteArraySet<>(); + private final CopyOnWriteArraySet decryptedDirectMessageWithPubKeys = new CopyOnWriteArraySet<>(); + private boolean allServicesInitialized; + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Constructor + /////////////////////////////////////////////////////////////////////////////////////////// + + public SupportManager(P2PService p2PService, WalletsSetup walletsSetup) { + this.p2PService = p2PService; + this.walletsSetup = walletsSetup; + + // We get first the message handler called then the onBootstrapped + p2PService.addDecryptedDirectMessageListener((decryptedMessageWithPubKey, senderAddress) -> { + decryptedDirectMessageWithPubKeys.add(decryptedMessageWithPubKey); + tryApplyMessages(); + }); + p2PService.addDecryptedMailboxListener((decryptedMessageWithPubKey, senderAddress) -> { + decryptedMailboxMessageWithPubKeys.add(decryptedMessageWithPubKey); + tryApplyMessages(); + }); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Abstract methods + /////////////////////////////////////////////////////////////////////////////////////////// + + protected abstract void dispatchMessage(SupportMessage networkEnvelope); + + public abstract NodeAddress getPeerNodeAddress(ChatMessage message); + + public abstract PubKeyRing getPeerPubKeyRing(ChatMessage message); + + public abstract SupportType getSupportType(); + + public abstract boolean channelOpen(ChatMessage message); + + public abstract List getAllChatMessages(); + + public abstract void addAndPersistChatMessage(ChatMessage message); + + public abstract void persist(); + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Delegates p2pService + /////////////////////////////////////////////////////////////////////////////////////////// + + public boolean isBootstrapped() { + return p2PService.isBootstrapped(); + } + + public NodeAddress getMyAddress() { + return p2PService.getAddress(); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // API + /////////////////////////////////////////////////////////////////////////////////////////// + + public void onAllServicesInitialized() { + allServicesInitialized = true; + } + + public void tryApplyMessages() { + if (isReady()) + applyMessages(); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Message handler + /////////////////////////////////////////////////////////////////////////////////////////// + + protected void onChatMessage(ChatMessage chatMessage) { + final String tradeId = chatMessage.getTradeId(); + final String uid = chatMessage.getUid(); + boolean channelOpen = channelOpen(chatMessage); + if (!channelOpen) { + log.debug("We got a chatMessage but we don't have a matching chat. TradeId = " + tradeId); + if (!delayMsgMap.containsKey(uid)) { + Timer timer = UserThread.runAfter(() -> onChatMessage(chatMessage), 1); + delayMsgMap.put(uid, timer); + } else { + String msg = "We got a chatMessage after we already repeated to apply the message after a delay. That should never happen. TradeId = " + tradeId; + log.warn(msg); + } + return; + } + + cleanupRetryMap(uid); + PubKeyRing receiverPubKeyRing = getPeerPubKeyRing(chatMessage); + + addAndPersistChatMessage(chatMessage); + + // We never get a errorMessage in that method (only if we cannot resolve the receiverPubKeyRing but then we + // cannot send it anyway) + if (receiverPubKeyRing != null) + sendAckMessage(chatMessage, receiverPubKeyRing, true, null); + } + + private void onAckMessage(AckMessage ackMessage, + @Nullable DecryptedMessageWithPubKey decryptedMessageWithPubKey) { + if (ackMessage.getSourceType() == getAckMessageSourceType()) { + if (ackMessage.isSuccess()) { + log.info("Received AckMessage for {} with tradeId {} and uid {}", + ackMessage.getSourceMsgClassName(), ackMessage.getSourceId(), ackMessage.getSourceUid()); + } else { + log.warn("Received AckMessage with error state for {} with tradeId {} and errorMessage={}", + ackMessage.getSourceMsgClassName(), ackMessage.getSourceId(), ackMessage.getErrorMessage()); + } + + getAllChatMessages().stream() + .filter(msg -> msg.getUid().equals(ackMessage.getSourceUid())) + .forEach(msg -> { + if (ackMessage.isSuccess()) + msg.setAcknowledged(true); + else + msg.setAckError(ackMessage.getErrorMessage()); + }); + persist(); + + if (decryptedMessageWithPubKey != null) + p2PService.removeEntryFromMailbox(decryptedMessageWithPubKey); + } + } + + protected abstract AckMessageSourceType getAckMessageSourceType(); + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Send message + /////////////////////////////////////////////////////////////////////////////////////////// + + public ChatMessage sendChatMessage(ChatMessage message) { + NodeAddress peersNodeAddress = getPeerNodeAddress(message); + PubKeyRing receiverPubKeyRing = getPeerPubKeyRing(message); + if (receiverPubKeyRing != null) { + log.info("Send {} to peer {}. tradeId={}, uid={}", + message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); + + p2PService.sendEncryptedMailboxMessage(peersNodeAddress, + receiverPubKeyRing, + message, + new SendMailboxMessageListener() { + @Override + public void onArrived() { + log.info("{} arrived at peer {}. tradeId={}, uid={}", + message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); + message.setArrived(true); + persist(); + } + + @Override + public void onStoredInMailbox() { + log.info("{} stored in mailbox for peer {}. tradeId={}, uid={}", + message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); + message.setStoredInMailbox(true); + persist(); + } + + @Override + public void onFault(String errorMessage) { + log.error("{} failed: Peer {}. tradeId={}, uid={}, errorMessage={}", + message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid(), errorMessage); + message.setSendMessageError(errorMessage); + persist(); + } + } + ); + } + + return message; + } + + protected void sendAckMessage(SupportMessage supportMessage, PubKeyRing peersPubKeyRing, + boolean result, @Nullable String errorMessage) { + String tradeId = supportMessage.getTradeId(); + String uid = supportMessage.getUid(); + AckMessage ackMessage = new AckMessage(p2PService.getNetworkNode().getNodeAddress(), + getAckMessageSourceType(), + supportMessage.getClass().getSimpleName(), + uid, + tradeId, + result, + errorMessage); + final NodeAddress peersNodeAddress = supportMessage.getSenderNodeAddress(); + log.info("Send AckMessage for {} to peer {}. tradeId={}, uid={}", + ackMessage.getSourceMsgClassName(), peersNodeAddress, tradeId, uid); + p2PService.sendEncryptedMailboxMessage( + peersNodeAddress, + peersPubKeyRing, + ackMessage, + new SendMailboxMessageListener() { + @Override + public void onArrived() { + log.info("AckMessage for {} arrived at peer {}. tradeId={}, uid={}", + ackMessage.getSourceMsgClassName(), peersNodeAddress, tradeId, uid); + } + + @Override + public void onStoredInMailbox() { + log.info("AckMessage for {} stored in mailbox for peer {}. tradeId={}, uid={}", + ackMessage.getSourceMsgClassName(), peersNodeAddress, tradeId, uid); + } + + @Override + public void onFault(String errorMessage) { + log.error("AckMessage for {} failed. Peer {}. tradeId={}, uid={}, errorMessage={}", + ackMessage.getSourceMsgClassName(), peersNodeAddress, tradeId, uid, errorMessage); + } + } + ); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Protected + /////////////////////////////////////////////////////////////////////////////////////////// + + protected boolean canProcessMessage(SupportMessage message) { + return message.getSupportType() == getSupportType(); + } + + protected void cleanupRetryMap(String uid) { + if (delayMsgMap.containsKey(uid)) { + Timer timer = delayMsgMap.remove(uid); + if (timer != null) + timer.stop(); + } + } + + private boolean isReady() { + return allServicesInitialized && + p2PService.isBootstrapped() && + walletsSetup.isDownloadComplete() && + walletsSetup.hasSufficientPeersForBroadcast(); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Private + /////////////////////////////////////////////////////////////////////////////////////////// + + private void applyMessages() { + decryptedDirectMessageWithPubKeys.forEach(decryptedMessageWithPubKey -> { + NetworkEnvelope networkEnvelope = decryptedMessageWithPubKey.getNetworkEnvelope(); + if (networkEnvelope instanceof SupportMessage) { + dispatchMessage((SupportMessage) networkEnvelope); + } else if (networkEnvelope instanceof AckMessage) { + onAckMessage((AckMessage) networkEnvelope, null); + } + }); + decryptedDirectMessageWithPubKeys.clear(); + + decryptedMailboxMessageWithPubKeys.forEach(decryptedMessageWithPubKey -> { + NetworkEnvelope networkEnvelope = decryptedMessageWithPubKey.getNetworkEnvelope(); + log.debug("decryptedMessageWithPubKey.message " + networkEnvelope); + if (networkEnvelope instanceof SupportMessage) { + dispatchMessage((SupportMessage) networkEnvelope); + p2PService.removeEntryFromMailbox(decryptedMessageWithPubKey); + } else if (networkEnvelope instanceof AckMessage) { + onAckMessage((AckMessage) networkEnvelope, decryptedMessageWithPubKey); + } + }); + decryptedMailboxMessageWithPubKeys.clear(); + } +} diff --git a/core/src/main/java/bisq/core/support/SupportSession.java b/core/src/main/java/bisq/core/support/SupportSession.java new file mode 100644 index 00000000000..b4df4ed0b10 --- /dev/null +++ b/core/src/main/java/bisq/core/support/SupportSession.java @@ -0,0 +1,56 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support; + +import bisq.core.support.messages.ChatMessage; + +import bisq.common.crypto.PubKeyRing; + +import javafx.collections.ObservableList; + +/** + * A Support session is using a trade or a dispute to implement the methods. + * It keeps the ChatView transparent if used in dispute or trade chat context. + */ +public abstract class SupportSession { + // todo refactor ui so that can be converted to isTrader + private boolean isClient; + + + protected SupportSession(boolean isClient) { + this.isClient = isClient; + } + + protected SupportSession() { + } + + // todo refactor ui so that can be converted to isTrader + public boolean isClient() { + return isClient; + } + + public abstract String getTradeId(); + + public abstract PubKeyRing getClientPubKeyRing(); + + public abstract ObservableList getObservableChatMessageList(); + + public abstract boolean chatIsOpen(); + + public abstract boolean isDisputeAgent(); +} diff --git a/core/src/main/java/bisq/core/arbitration/ArbitratorModule.java b/core/src/main/java/bisq/core/support/SupportType.java similarity index 57% rename from core/src/main/java/bisq/core/arbitration/ArbitratorModule.java rename to core/src/main/java/bisq/core/support/SupportType.java index d65760c3aba..4d13c7848ec 100644 --- a/core/src/main/java/bisq/core/arbitration/ArbitratorModule.java +++ b/core/src/main/java/bisq/core/support/SupportType.java @@ -15,23 +15,21 @@ * along with Bisq. If not, see . */ -package bisq.core.arbitration; +package bisq.core.support; -import bisq.common.app.AppModule; +import bisq.common.proto.ProtoUtil; -import org.springframework.core.env.Environment; +public enum SupportType { + ARBITRATION, // Need to be at index 0 to be the fall back for old clients + MEDIATION, + TRADE; -import com.google.inject.Singleton; - -public class ArbitratorModule extends AppModule { - public ArbitratorModule(Environment environment) { - super(environment); + public static SupportType fromProto( + protobuf.SupportType type) { + return ProtoUtil.enumFromProto(SupportType.class, type.name()); } - @Override - protected final void configure() { - bind(ArbitratorManager.class).in(Singleton.class); - bind(DisputeManager.class).in(Singleton.class); - bind(ArbitratorService.class).in(Singleton.class); + public static protobuf.SupportType toProtoMessage(SupportType supportType) { + return protobuf.SupportType.valueOf(supportType.name()); } } diff --git a/core/src/main/java/bisq/core/arbitration/Attachment.java b/core/src/main/java/bisq/core/support/dispute/Attachment.java similarity index 97% rename from core/src/main/java/bisq/core/arbitration/Attachment.java rename to core/src/main/java/bisq/core/support/dispute/Attachment.java index ec7946575a8..1f425da2bfe 100644 --- a/core/src/main/java/bisq/core/arbitration/Attachment.java +++ b/core/src/main/java/bisq/core/support/dispute/Attachment.java @@ -15,7 +15,7 @@ * along with Bisq. If not, see . */ -package bisq.core.arbitration; +package bisq.core.support.dispute; import bisq.common.proto.network.NetworkPayload; diff --git a/core/src/main/java/bisq/core/arbitration/Dispute.java b/core/src/main/java/bisq/core/support/dispute/Dispute.java similarity index 89% rename from core/src/main/java/bisq/core/arbitration/Dispute.java rename to core/src/main/java/bisq/core/support/dispute/Dispute.java index 0266bd3e82f..3348bbf963f 100644 --- a/core/src/main/java/bisq/core/arbitration/Dispute.java +++ b/core/src/main/java/bisq/core/support/dispute/Dispute.java @@ -15,10 +15,11 @@ * along with Bisq. If not, see . */ -package bisq.core.arbitration; +package bisq.core.support.dispute; -import bisq.core.arbitration.messages.DisputeCommunicationMessage; import bisq.core.proto.CoreProtoResolver; +import bisq.core.support.SupportType; +import bisq.core.support.messages.ChatMessage; import bisq.core.trade.Contract; import bisq.common.crypto.PubKeyRing; @@ -39,7 +40,9 @@ import javafx.collections.FXCollections; import javafx.collections.ObservableList; +import java.util.ArrayList; import java.util.Date; +import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -77,25 +80,24 @@ public final class Dispute implements NetworkPayload { private final String makerContractSignature; @Nullable private final String takerContractSignature; - private final PubKeyRing arbitratorPubKeyRing; + private final PubKeyRing agentPubKeyRing; // arbitrator or mediator private final boolean isSupportTicket; - private final ObservableList disputeCommunicationMessages = FXCollections.observableArrayList(); + private final ObservableList chatMessages = FXCollections.observableArrayList(); private BooleanProperty isClosedProperty = new SimpleBooleanProperty(); // disputeResultProperty.get is Nullable! private ObjectProperty disputeResultProperty = new SimpleObjectProperty<>(); @Nullable private String disputePayoutTxId; - private long openingDate; - transient private Storage storage; + transient private Storage storage; /////////////////////////////////////////////////////////////////////////////////////////// // Constructor /////////////////////////////////////////////////////////////////////////////////////////// - public Dispute(Storage storage, + public Dispute(Storage storage, String tradeId, int traderId, boolean disputeOpenerIsBuyer, @@ -111,7 +113,7 @@ public Dispute(Storage storage, String contractAsJson, @Nullable String makerContractSignature, @Nullable String takerContractSignature, - PubKeyRing arbitratorPubKeyRing, + PubKeyRing agentPubKeyRing, boolean isSupportTicket) { this(tradeId, traderId, @@ -128,7 +130,7 @@ public Dispute(Storage storage, contractAsJson, makerContractSignature, takerContractSignature, - arbitratorPubKeyRing, + agentPubKeyRing, isSupportTicket); this.storage = storage; openingDate = new Date().getTime(); @@ -154,7 +156,7 @@ public Dispute(String tradeId, String contractAsJson, @Nullable String makerContractSignature, @Nullable String takerContractSignature, - PubKeyRing arbitratorPubKeyRing, + PubKeyRing agentPubKeyRing, boolean isSupportTicket) { this.tradeId = tradeId; this.traderId = traderId; @@ -171,7 +173,7 @@ public Dispute(String tradeId, this.contractAsJson = contractAsJson; this.makerContractSignature = makerContractSignature; this.takerContractSignature = takerContractSignature; - this.arbitratorPubKeyRing = arbitratorPubKeyRing; + this.agentPubKeyRing = agentPubKeyRing; this.isSupportTicket = isSupportTicket; id = tradeId + "_" + traderId; @@ -179,6 +181,8 @@ public Dispute(String tradeId, @Override public protobuf.Dispute toProtoMessage() { + // Needed to avoid ConcurrentModificationException + List clonedChatMessages = new ArrayList<>(chatMessages); protobuf.Dispute.Builder builder = protobuf.Dispute.newBuilder() .setTradeId(tradeId) .setTraderId(traderId) @@ -188,10 +192,10 @@ public protobuf.Dispute toProtoMessage() { .setTradeDate(tradeDate) .setContract(contract.toProtoMessage()) .setContractAsJson(contractAsJson) - .setArbitratorPubKeyRing(arbitratorPubKeyRing.toProtoMessage()) + .setAgentPubKeyRing(agentPubKeyRing.toProtoMessage()) .setIsSupportTicket(isSupportTicket) - .addAllDisputeCommunicationMessages(disputeCommunicationMessages.stream() - .map(msg -> msg.toProtoNetworkEnvelope().getDisputeCommunicationMessage()) + .addAllChatMessage(clonedChatMessages.stream() + .map(msg -> msg.toProtoNetworkEnvelope().getChatMessage()) .collect(Collectors.toList())) .setIsClosed(isClosedProperty.get()) .setOpeningDate(openingDate) @@ -225,11 +229,11 @@ public static Dispute fromProto(protobuf.Dispute proto, CoreProtoResolver corePr proto.getContractAsJson(), ProtoUtil.stringOrNullFromProto(proto.getMakerContractSignature()), ProtoUtil.stringOrNullFromProto(proto.getTakerContractSignature()), - PubKeyRing.fromProto(proto.getArbitratorPubKeyRing()), + PubKeyRing.fromProto(proto.getAgentPubKeyRing()), proto.getIsSupportTicket()); - dispute.disputeCommunicationMessages.addAll(proto.getDisputeCommunicationMessagesList().stream() - .map(DisputeCommunicationMessage::fromPayloadProto) + dispute.chatMessages.addAll(proto.getChatMessageList().stream() + .map(ChatMessage::fromPayloadProto) .collect(Collectors.toList())); dispute.openingDate = proto.getOpeningDate(); @@ -245,22 +249,26 @@ public static Dispute fromProto(protobuf.Dispute proto, CoreProtoResolver corePr // API /////////////////////////////////////////////////////////////////////////////////////////// - public void addDisputeCommunicationMessage(DisputeCommunicationMessage disputeCommunicationMessage) { - if (!disputeCommunicationMessages.contains(disputeCommunicationMessage)) { - disputeCommunicationMessages.add(disputeCommunicationMessage); + public void addAndPersistChatMessage(ChatMessage chatMessage) { + if (!chatMessages.contains(chatMessage)) { + chatMessages.add(chatMessage); storage.queueUpForSave(); } else { log.error("disputeDirectMessage already exists"); } } + public boolean isMediationDispute() { + return !chatMessages.isEmpty() && chatMessages.get(0).getSupportType() == SupportType.MEDIATION; + } + /////////////////////////////////////////////////////////////////////////////////////////// // Setters /////////////////////////////////////////////////////////////////////////////////////////// // In case we get the object via the network storage is not set as its transient, so we need to set it. - public void setStorage(Storage storage) { + public void setStorage(Storage storage) { this.storage = storage; } @@ -278,7 +286,6 @@ public void setDisputeResult(DisputeResult disputeResult) { storage.queueUpForSave(); } - @SuppressWarnings("NullableProblems") public void setDisputePayoutTxId(String disputePayoutTxId) { boolean changed = this.disputePayoutTxId == null || !this.disputePayoutTxId.equals(disputePayoutTxId); this.disputePayoutTxId = disputePayoutTxId; @@ -335,9 +342,9 @@ public String toString() { ", contractAsJson='" + contractAsJson + '\'' + ", makerContractSignature='" + makerContractSignature + '\'' + ", takerContractSignature='" + takerContractSignature + '\'' + - ", arbitratorPubKeyRing=" + arbitratorPubKeyRing + + ", agentPubKeyRing=" + agentPubKeyRing + ", isSupportTicket=" + isSupportTicket + - ", disputeCommunicationMessages=" + disputeCommunicationMessages + + ", chatMessages=" + chatMessages + ", isClosed=" + isClosedProperty.get() + ", disputeResult=" + disputeResultProperty.get() + ", disputePayoutTxId='" + disputePayoutTxId + '\'' + diff --git a/core/src/main/java/bisq/core/arbitration/DisputeAlreadyOpenException.java b/core/src/main/java/bisq/core/support/dispute/DisputeAlreadyOpenException.java similarity index 95% rename from core/src/main/java/bisq/core/arbitration/DisputeAlreadyOpenException.java rename to core/src/main/java/bisq/core/support/dispute/DisputeAlreadyOpenException.java index 220080c5de7..04e2cdd9788 100644 --- a/core/src/main/java/bisq/core/arbitration/DisputeAlreadyOpenException.java +++ b/core/src/main/java/bisq/core/support/dispute/DisputeAlreadyOpenException.java @@ -15,7 +15,7 @@ * along with Bisq. If not, see . */ -package bisq.core.arbitration; +package bisq.core.support.dispute; public class DisputeAlreadyOpenException extends Exception { public DisputeAlreadyOpenException() { diff --git a/core/src/main/java/bisq/core/arbitration/DisputeList.java b/core/src/main/java/bisq/core/support/dispute/DisputeList.java similarity index 59% rename from core/src/main/java/bisq/core/arbitration/DisputeList.java rename to core/src/main/java/bisq/core/support/dispute/DisputeList.java index d1060bd019a..d2dd6cca12f 100644 --- a/core/src/main/java/bisq/core/arbitration/DisputeList.java +++ b/core/src/main/java/bisq/core/support/dispute/DisputeList.java @@ -15,22 +15,16 @@ * along with Bisq. If not, see . */ -package bisq.core.arbitration; +package bisq.core.support.dispute; -import bisq.core.proto.CoreProtoResolver; - -import bisq.common.proto.ProtoUtil; import bisq.common.proto.persistable.PersistableEnvelope; import bisq.common.proto.persistable.PersistedDataHost; import bisq.common.storage.Storage; -import com.google.protobuf.Message; - import javafx.collections.FXCollections; import javafx.collections.ObservableList; import java.util.List; -import java.util.stream.Collectors; import java.util.stream.Stream; import lombok.Getter; @@ -39,53 +33,32 @@ @Slf4j @ToString -/** +/* * Holds a List of Dispute objects. * * Calls to the List are delegated because this class intercepts the add/remove calls so changes * can be saved to disc. */ -public final class DisputeList implements PersistableEnvelope, PersistedDataHost { - transient private final Storage storage; +public abstract class DisputeList implements PersistableEnvelope, PersistedDataHost { + transient protected final Storage storage; + @Getter - private final ObservableList list = FXCollections.observableArrayList(); + protected final ObservableList list = FXCollections.observableArrayList(); - public DisputeList(Storage storage) { + public DisputeList(Storage storage) { this.storage = storage; } - @Override - public void readPersisted() { - DisputeList persisted = storage.initAndGetPersisted(this, 50); - if (persisted != null) - list.addAll(persisted.getList()); - } /////////////////////////////////////////////////////////////////////////////////////////// // PROTO BUFFER /////////////////////////////////////////////////////////////////////////////////////////// - private DisputeList(Storage storage, List list) { + protected DisputeList(Storage storage, List list) { this.storage = storage; this.list.addAll(list); } - @Override - public Message toProtoMessage() { - return protobuf.PersistableEnvelope.newBuilder().setDisputeList(protobuf.DisputeList.newBuilder() - .addAllDispute(ProtoUtil.collectionToProto(list))).build(); - } - - public static DisputeList fromProto(protobuf.DisputeList proto, - CoreProtoResolver coreProtoResolver, - Storage storage) { - List list = proto.getDisputeList().stream() - .map(disputeProto -> Dispute.fromProto(disputeProto, coreProtoResolver)) - .collect(Collectors.toList()); - list.forEach(e -> e.setStorage(storage)); - return new DisputeList(storage, list); - } - /////////////////////////////////////////////////////////////////////////////////////////// // API @@ -93,10 +66,9 @@ public static DisputeList fromProto(protobuf.DisputeList proto, public boolean add(Dispute dispute) { if (!list.contains(dispute)) { - boolean changed = list.add(dispute); - if (changed) - persist(); - return changed; + list.add(dispute); + persist(); + return true; } else { return false; } @@ -122,7 +94,7 @@ public boolean isEmpty() { return list.isEmpty(); } - @SuppressWarnings({"BooleanMethodIsAlwaysInverted", "SuspiciousMethodCalls"}) + @SuppressWarnings({"SuspiciousMethodCalls"}) public boolean contains(Object o) { return list.contains(o); } diff --git a/core/src/main/java/bisq/core/support/dispute/DisputeListService.java b/core/src/main/java/bisq/core/support/dispute/DisputeListService.java new file mode 100644 index 00000000000..d3f57cb03a2 --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/DisputeListService.java @@ -0,0 +1,190 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute; + +import bisq.core.trade.Contract; + +import bisq.network.p2p.NodeAddress; + +import bisq.common.UserThread; +import bisq.common.proto.persistable.PersistedDataHost; +import bisq.common.storage.Storage; + +import org.fxmisc.easybind.EasyBind; +import org.fxmisc.easybind.Subscription; + +import javafx.beans.property.IntegerProperty; +import javafx.beans.property.SimpleIntegerProperty; + +import javafx.collections.FXCollections; +import javafx.collections.ListChangeListener; +import javafx.collections.ObservableList; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.function.Consumer; +import java.util.stream.Collectors; + +import lombok.Getter; +import lombok.extern.slf4j.Slf4j; + +import javax.annotation.Nullable; + +@Slf4j +public abstract class DisputeListService> implements PersistedDataHost { + @Getter + protected final Storage storage; + @Nullable + @Getter + private T disputeList; + private final Map disputeIsClosedSubscriptionsMap = new HashMap<>(); + @Getter + private final IntegerProperty numOpenDisputes = new SimpleIntegerProperty(); + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Constructor + /////////////////////////////////////////////////////////////////////////////////////////// + + public DisputeListService(Storage storage) { + this.storage = storage; + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Abstract methods + /////////////////////////////////////////////////////////////////////////////////////////// + + protected abstract T getConcreteDisputeList(); + + + /////////////////////////////////////////////////////////////////////////////////////////// + // PersistedDataHost + /////////////////////////////////////////////////////////////////////////////////////////// + + @Override + public void readPersisted() { + disputeList = getConcreteDisputeList(); + disputeList.readPersisted(); + disputeList.stream().forEach(dispute -> dispute.setStorage(storage)); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Public + /////////////////////////////////////////////////////////////////////////////////////////// + + public void cleanupDisputes(@Nullable Consumer closedDisputeHandler) { + if (disputeList != null) { + disputeList.stream().forEach(dispute -> { + dispute.setStorage(storage); + String tradeId = dispute.getTradeId(); + if (dispute.isClosed()) { + if (closedDisputeHandler != null) { + closedDisputeHandler.accept(tradeId); + } + } + }); + } else { + log.warn("disputes is null"); + } + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Package scope + /////////////////////////////////////////////////////////////////////////////////////////// + + void onAllServicesInitialized() { + if (disputeList != null) { + disputeList.getList().addListener((ListChangeListener) change -> { + change.next(); + onDisputesChangeListener(change.getAddedSubList(), change.getRemoved()); + }); + onDisputesChangeListener(disputeList.getList(), null); + } else { + log.warn("disputes is null"); + } + } + + String getNrOfDisputes(boolean isBuyer, Contract contract) { + return String.valueOf(getDisputesAsObservableList().stream() + .filter(e -> { + Contract contract1 = e.getContract(); + if (contract1 == null) + return false; + + if (isBuyer) { + NodeAddress buyerNodeAddress = contract1.getBuyerNodeAddress(); + return buyerNodeAddress != null && buyerNodeAddress.equals(contract.getBuyerNodeAddress()); + } else { + NodeAddress sellerNodeAddress = contract1.getSellerNodeAddress(); + return sellerNodeAddress != null && sellerNodeAddress.equals(contract.getSellerNodeAddress()); + } + }) + .collect(Collectors.toSet()).size()); + } + + ObservableList getDisputesAsObservableList() { + if (disputeList == null) { + log.warn("disputes is null"); + return FXCollections.observableArrayList(); + } + return disputeList.getList(); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Private + /////////////////////////////////////////////////////////////////////////////////////////// + + private void onDisputesChangeListener(List addedList, + @Nullable List removedList) { + if (removedList != null) { + removedList.forEach(dispute -> { + String id = dispute.getId(); + if (disputeIsClosedSubscriptionsMap.containsKey(id)) { + disputeIsClosedSubscriptionsMap.get(id).unsubscribe(); + disputeIsClosedSubscriptionsMap.remove(id); + } + }); + } + addedList.forEach(dispute -> { + String id = dispute.getId(); + Subscription disputeStateSubscription = EasyBind.subscribe(dispute.isClosedProperty(), + isClosed -> { + if (disputeList != null) { + // We get the event before the list gets updated, so we execute on next frame + UserThread.execute(() -> { + int openDisputes = (int) disputeList.getList().stream() + .filter(e -> !e.isClosed()).count(); + numOpenDisputes.set(openDisputes); + }); + } + }); + disputeIsClosedSubscriptionsMap.put(id, disputeStateSubscription); + }); + } + + public void persist() { + if (disputeList != null) { + disputeList.persist(); + } + } +} diff --git a/core/src/main/java/bisq/core/support/dispute/DisputeManager.java b/core/src/main/java/bisq/core/support/dispute/DisputeManager.java new file mode 100644 index 00000000000..7049dbcc431 --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/DisputeManager.java @@ -0,0 +1,701 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute; + +import bisq.core.btc.setup.WalletsSetup; +import bisq.core.btc.wallet.BtcWalletService; +import bisq.core.btc.wallet.TradeWalletService; +import bisq.core.locale.Res; +import bisq.core.offer.OpenOfferManager; +import bisq.core.support.SupportManager; +import bisq.core.support.dispute.messages.DisputeResultMessage; +import bisq.core.support.dispute.messages.OpenNewDisputeMessage; +import bisq.core.support.dispute.messages.PeerOpenedDisputeMessage; +import bisq.core.support.messages.ChatMessage; +import bisq.core.trade.Contract; +import bisq.core.trade.Trade; +import bisq.core.trade.TradeManager; +import bisq.core.trade.closed.ClosedTradableManager; + +import bisq.network.p2p.BootstrapListener; +import bisq.network.p2p.NodeAddress; +import bisq.network.p2p.P2PService; +import bisq.network.p2p.SendMailboxMessageListener; + +import bisq.common.app.Version; +import bisq.common.crypto.PubKeyRing; +import bisq.common.handlers.FaultHandler; +import bisq.common.handlers.ResultHandler; +import bisq.common.storage.Storage; +import bisq.common.util.Tuple2; + +import javafx.beans.property.IntegerProperty; + +import javafx.collections.ObservableList; + +import java.util.List; +import java.util.Optional; +import java.util.UUID; +import java.util.stream.Collectors; + +import lombok.extern.slf4j.Slf4j; + +import static com.google.common.base.Preconditions.checkNotNull; + +@Slf4j +public abstract class DisputeManager> extends SupportManager { + protected final TradeWalletService tradeWalletService; + protected final BtcWalletService walletService; + protected final TradeManager tradeManager; + protected final ClosedTradableManager closedTradableManager; + protected final OpenOfferManager openOfferManager; + protected final PubKeyRing pubKeyRing; + protected final DisputeListService disputeListService; + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Constructor + /////////////////////////////////////////////////////////////////////////////////////////// + + public DisputeManager(P2PService p2PService, + TradeWalletService tradeWalletService, + BtcWalletService walletService, + WalletsSetup walletsSetup, + TradeManager tradeManager, + ClosedTradableManager closedTradableManager, + OpenOfferManager openOfferManager, + PubKeyRing pubKeyRing, + DisputeListService disputeListService) { + super(p2PService, walletsSetup); + + this.tradeWalletService = tradeWalletService; + this.walletService = walletService; + this.tradeManager = tradeManager; + this.closedTradableManager = closedTradableManager; + this.openOfferManager = openOfferManager; + this.pubKeyRing = pubKeyRing; + this.disputeListService = disputeListService; + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Implement template methods + /////////////////////////////////////////////////////////////////////////////////////////// + + @Override + public void persist() { + disputeListService.persist(); + } + + @Override + public NodeAddress getPeerNodeAddress(ChatMessage message) { + Optional disputeOptional = findDispute(message); + if (!disputeOptional.isPresent()) { + log.warn("Could not find dispute for tradeId = {} traderId = {}", + message.getTradeId(), message.getTraderId()); + return null; + } + return getNodeAddressPubKeyRingTuple(disputeOptional.get()).first; + } + + @Override + public PubKeyRing getPeerPubKeyRing(ChatMessage message) { + Optional disputeOptional = findDispute(message); + if (!disputeOptional.isPresent()) { + log.warn("Could not find dispute for tradeId = {} traderId = {}", + message.getTradeId(), message.getTraderId()); + return null; + } + + return getNodeAddressPubKeyRingTuple(disputeOptional.get()).second; + } + + @Override + public List getAllChatMessages() { + return getDisputeList().stream() + .flatMap(dispute -> dispute.getChatMessages().stream()) + .collect(Collectors.toList()); + } + + @Override + public boolean channelOpen(ChatMessage message) { + return findDispute(message).isPresent(); + } + + @Override + public void addAndPersistChatMessage(ChatMessage message) { + findDispute(message).ifPresent(dispute -> { + if (dispute.getChatMessages().stream().noneMatch(m -> m.getUid().equals(message.getUid()))) { + dispute.addAndPersistChatMessage(message); + } else { + log.warn("We got a chatMessage what we have already stored. UId = {} TradeId = {}", + message.getUid(), message.getTradeId()); + } + }); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Abstract methods + /////////////////////////////////////////////////////////////////////////////////////////// + + // We get that message at both peers. The dispute object is in context of the trader + public abstract void onDisputeResultMessage(DisputeResultMessage disputeResultMessage); + + public abstract NodeAddress getAgentNodeAddress(Dispute dispute); + + protected abstract Trade.DisputeState getDisputeState_StartedByPeer(); + + public abstract void cleanupDisputes(); + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Delegates for disputeListService + /////////////////////////////////////////////////////////////////////////////////////////// + + public IntegerProperty getNumOpenDisputes() { + return disputeListService.getNumOpenDisputes(); + } + + public Storage getStorage() { + return disputeListService.getStorage(); + } + + public ObservableList getDisputesAsObservableList() { + return disputeListService.getDisputesAsObservableList(); + } + + public String getNrOfDisputes(boolean isBuyer, Contract contract) { + return disputeListService.getNrOfDisputes(isBuyer, contract); + } + + private T getDisputeList() { + return disputeListService.getDisputeList(); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // API + /////////////////////////////////////////////////////////////////////////////////////////// + + public void onAllServicesInitialized() { + super.onAllServicesInitialized(); + disputeListService.onAllServicesInitialized(); + + p2PService.addP2PServiceListener(new BootstrapListener() { + @Override + public void onUpdatedDataReceived() { + tryApplyMessages(); + } + }); + + walletsSetup.downloadPercentageProperty().addListener((observable, oldValue, newValue) -> { + if (walletsSetup.isDownloadComplete()) + tryApplyMessages(); + }); + + walletsSetup.numPeersProperty().addListener((observable, oldValue, newValue) -> { + if (walletsSetup.hasSufficientPeersForBroadcast()) + tryApplyMessages(); + }); + + tryApplyMessages(); + cleanupDisputes(); + } + + public boolean isTrader(Dispute dispute) { + return pubKeyRing.equals(dispute.getTraderPubKeyRing()); + } + + + public Optional findOwnDispute(String tradeId) { + T disputeList = getDisputeList(); + if (disputeList == null) { + log.warn("disputes is null"); + return Optional.empty(); + } + return disputeList.stream().filter(e -> e.getTradeId().equals(tradeId)).findAny(); + } + + /////////////////////////////////////////////////////////////////////////////////////////// + // Message handler + /////////////////////////////////////////////////////////////////////////////////////////// + + // arbitrator receives that from trader who opens dispute + protected void onOpenNewDisputeMessage(OpenNewDisputeMessage openNewDisputeMessage) { + T disputeList = getDisputeList(); + if (disputeList == null) { + log.warn("disputes is null"); + return; + } + + String errorMessage = null; + Dispute dispute = openNewDisputeMessage.getDispute(); + Contract contractFromOpener = dispute.getContract(); + PubKeyRing peersPubKeyRing = dispute.isDisputeOpenerIsBuyer() ? contractFromOpener.getSellerPubKeyRing() : contractFromOpener.getBuyerPubKeyRing(); + if (isAgent(dispute)) { + if (!disputeList.contains(dispute)) { + Optional storedDisputeOptional = findDispute(dispute); + if (!storedDisputeOptional.isPresent()) { + dispute.setStorage(disputeListService.getStorage()); + disputeList.add(dispute); + errorMessage = sendPeerOpenedDisputeMessage(dispute, contractFromOpener, peersPubKeyRing); + } else { + // valid case if both have opened a dispute and agent was not online. + log.debug("We got a dispute already open for that trade and trading peer. TradeId = {}", + dispute.getTradeId()); + } + } else { + errorMessage = "We got a dispute msg what we have already stored. TradeId = " + dispute.getTradeId(); + log.warn(errorMessage); + } + } else { + errorMessage = "Trader received openNewDisputeMessage. That must never happen."; + log.error(errorMessage); + } + + // We use the ChatMessage not the openNewDisputeMessage for the ACK + ObservableList messages = openNewDisputeMessage.getDispute().getChatMessages(); + if (!messages.isEmpty()) { + ChatMessage msg = messages.get(0); + PubKeyRing sendersPubKeyRing = dispute.isDisputeOpenerIsBuyer() ? contractFromOpener.getBuyerPubKeyRing() : contractFromOpener.getSellerPubKeyRing(); + sendAckMessage(msg, sendersPubKeyRing, errorMessage == null, errorMessage); + } + } + + // not dispute requester receives that from arbitrator + protected void onPeerOpenedDisputeMessage(PeerOpenedDisputeMessage peerOpenedDisputeMessage) { + T disputeList = getDisputeList(); + if (disputeList == null) { + log.warn("disputes is null"); + return; + } + + String errorMessage = null; + Dispute dispute = peerOpenedDisputeMessage.getDispute(); + if (!isAgent(dispute)) { + if (!disputeList.contains(dispute)) { + Optional storedDisputeOptional = findDispute(dispute); + if (!storedDisputeOptional.isPresent()) { + dispute.setStorage(disputeListService.getStorage()); + disputeList.add(dispute); + Optional tradeOptional = tradeManager.getTradeById(dispute.getTradeId()); + tradeOptional.ifPresent(trade -> trade.setDisputeState(getDisputeState_StartedByPeer())); + errorMessage = null; + } else { + // valid case if both have opened a dispute and agent was not online. + log.debug("We got a dispute already open for that trade and trading peer. TradeId = {}", + dispute.getTradeId()); + } + } else { + errorMessage = "We got a dispute msg what we have already stored. TradeId = " + dispute.getTradeId(); + log.warn(errorMessage); + } + } else { + errorMessage = "Arbitrator received peerOpenedDisputeMessage. That must never happen."; + log.error(errorMessage); + } + + // We use the ChatMessage not the peerOpenedDisputeMessage for the ACK + ObservableList messages = peerOpenedDisputeMessage.getDispute().getChatMessages(); + if (!messages.isEmpty()) { + ChatMessage msg = messages.get(0); + sendAckMessage(msg, dispute.getAgentPubKeyRing(), errorMessage == null, errorMessage); + } + + sendAckMessage(peerOpenedDisputeMessage, dispute.getAgentPubKeyRing(), errorMessage == null, errorMessage); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Send message + /////////////////////////////////////////////////////////////////////////////////////////// + + public void sendOpenNewDisputeMessage(Dispute dispute, + boolean reOpen, + ResultHandler resultHandler, + FaultHandler faultHandler) { + T disputeList = getDisputeList(); + if (disputeList == null) { + log.warn("disputes is null"); + return; + } + + if (disputeList.contains(dispute)) { + String msg = "We got a dispute msg what we have already stored. TradeId = " + dispute.getTradeId(); + log.warn(msg); + faultHandler.handleFault(msg, new DisputeAlreadyOpenException()); + return; + } + + Optional storedDisputeOptional = findDispute(dispute); + if (!storedDisputeOptional.isPresent() || reOpen) { + String disputeInfo = getDisputeInfo(dispute.isMediationDispute()); + String sysMsg = dispute.isSupportTicket() ? + Res.get("support.youOpenedTicket", disputeInfo, Version.VERSION) + : Res.get("support.youOpenedDispute", disputeInfo, Version.VERSION); + + ChatMessage chatMessage = new ChatMessage( + getSupportType(), + dispute.getTradeId(), + pubKeyRing.hashCode(), + false, + Res.get("support.systemMsg", sysMsg), + p2PService.getAddress()); + chatMessage.setSystemMessage(true); + dispute.addAndPersistChatMessage(chatMessage); + if (!reOpen) { + disputeList.add(dispute); + } + + NodeAddress agentNodeAddress = getAgentNodeAddress(dispute); + OpenNewDisputeMessage openNewDisputeMessage = new OpenNewDisputeMessage(dispute, + p2PService.getAddress(), + UUID.randomUUID().toString(), + getSupportType()); + log.info("Send {} to peer {}. tradeId={}, openNewDisputeMessage.uid={}, " + + "chatMessage.uid={}", + openNewDisputeMessage.getClass().getSimpleName(), agentNodeAddress, + openNewDisputeMessage.getTradeId(), openNewDisputeMessage.getUid(), + chatMessage.getUid()); + p2PService.sendEncryptedMailboxMessage(agentNodeAddress, + dispute.getAgentPubKeyRing(), + openNewDisputeMessage, + new SendMailboxMessageListener() { + @Override + public void onArrived() { + log.info("{} arrived at peer {}. tradeId={}, openNewDisputeMessage.uid={}, " + + "chatMessage.uid={}", + openNewDisputeMessage.getClass().getSimpleName(), agentNodeAddress, + openNewDisputeMessage.getTradeId(), openNewDisputeMessage.getUid(), + chatMessage.getUid()); + + // We use the chatMessage wrapped inside the openNewDisputeMessage for + // the state, as that is displayed to the user and we only persist that msg + chatMessage.setArrived(true); + disputeList.persist(); + resultHandler.handleResult(); + } + + @Override + public void onStoredInMailbox() { + log.info("{} stored in mailbox for peer {}. tradeId={}, openNewDisputeMessage.uid={}, " + + "chatMessage.uid={}", + openNewDisputeMessage.getClass().getSimpleName(), agentNodeAddress, + openNewDisputeMessage.getTradeId(), openNewDisputeMessage.getUid(), + chatMessage.getUid()); + + // We use the chatMessage wrapped inside the openNewDisputeMessage for + // the state, as that is displayed to the user and we only persist that msg + chatMessage.setStoredInMailbox(true); + disputeList.persist(); + resultHandler.handleResult(); + } + + @Override + public void onFault(String errorMessage) { + log.error("{} failed: Peer {}. tradeId={}, openNewDisputeMessage.uid={}, " + + "chatMessage.uid={}, errorMessage={}", + openNewDisputeMessage.getClass().getSimpleName(), agentNodeAddress, + openNewDisputeMessage.getTradeId(), openNewDisputeMessage.getUid(), + chatMessage.getUid(), errorMessage); + + // We use the chatMessage wrapped inside the openNewDisputeMessage for + // the state, as that is displayed to the user and we only persist that msg + chatMessage.setSendMessageError(errorMessage); + disputeList.persist(); + faultHandler.handleFault("Sending dispute message failed: " + + errorMessage, new DisputeMessageDeliveryFailedException()); + } + } + ); + } else { + String msg = "We got a dispute already open for that trade and trading peer.\n" + + "TradeId = " + dispute.getTradeId(); + log.warn(msg); + faultHandler.handleFault(msg, new DisputeAlreadyOpenException()); + } + } + + // arbitrator sends that to trading peer when he received openDispute request + private String sendPeerOpenedDisputeMessage(Dispute disputeFromOpener, + Contract contractFromOpener, + PubKeyRing pubKeyRing) { + T disputeList = getDisputeList(); + if (disputeList == null) { + log.warn("disputes is null"); + return null; + } + + Dispute dispute = new Dispute(disputeListService.getStorage(), + disputeFromOpener.getTradeId(), + pubKeyRing.hashCode(), + !disputeFromOpener.isDisputeOpenerIsBuyer(), + !disputeFromOpener.isDisputeOpenerIsMaker(), + pubKeyRing, + disputeFromOpener.getTradeDate().getTime(), + contractFromOpener, + disputeFromOpener.getContractHash(), + disputeFromOpener.getDepositTxSerialized(), + disputeFromOpener.getPayoutTxSerialized(), + disputeFromOpener.getDepositTxId(), + disputeFromOpener.getPayoutTxId(), + disputeFromOpener.getContractAsJson(), + disputeFromOpener.getMakerContractSignature(), + disputeFromOpener.getTakerContractSignature(), + disputeFromOpener.getAgentPubKeyRing(), + disputeFromOpener.isSupportTicket()); + Optional storedDisputeOptional = findDispute(dispute); + if (!storedDisputeOptional.isPresent()) { + String disputeInfo = getDisputeInfo(dispute.isMediationDispute()); + String sysMsg = dispute.isSupportTicket() ? + Res.get("support.peerOpenedTicket", disputeInfo) + : Res.get("support.peerOpenedDispute", disputeInfo); + ChatMessage chatMessage = new ChatMessage( + getSupportType(), + dispute.getTradeId(), + pubKeyRing.hashCode(), + false, + Res.get("support.systemMsg", sysMsg), + p2PService.getAddress()); + chatMessage.setSystemMessage(true); + dispute.addAndPersistChatMessage(chatMessage); + disputeList.add(dispute); + + // we mirrored dispute already! + Contract contract = dispute.getContract(); + PubKeyRing peersPubKeyRing = dispute.isDisputeOpenerIsBuyer() ? contract.getBuyerPubKeyRing() : contract.getSellerPubKeyRing(); + NodeAddress peersNodeAddress = dispute.isDisputeOpenerIsBuyer() ? contract.getBuyerNodeAddress() : contract.getSellerNodeAddress(); + PeerOpenedDisputeMessage peerOpenedDisputeMessage = new PeerOpenedDisputeMessage(dispute, + p2PService.getAddress(), + UUID.randomUUID().toString(), + getSupportType()); + log.info("Send {} to peer {}. tradeId={}, peerOpenedDisputeMessage.uid={}, " + + "chatMessage.uid={}", + peerOpenedDisputeMessage.getClass().getSimpleName(), peersNodeAddress, + peerOpenedDisputeMessage.getTradeId(), peerOpenedDisputeMessage.getUid(), + chatMessage.getUid()); + p2PService.sendEncryptedMailboxMessage(peersNodeAddress, + peersPubKeyRing, + peerOpenedDisputeMessage, + new SendMailboxMessageListener() { + @Override + public void onArrived() { + log.info("{} arrived at peer {}. tradeId={}, peerOpenedDisputeMessage.uid={}, " + + "chatMessage.uid={}", + peerOpenedDisputeMessage.getClass().getSimpleName(), peersNodeAddress, + peerOpenedDisputeMessage.getTradeId(), peerOpenedDisputeMessage.getUid(), + chatMessage.getUid()); + + // We use the chatMessage wrapped inside the peerOpenedDisputeMessage for + // the state, as that is displayed to the user and we only persist that msg + chatMessage.setArrived(true); + disputeList.persist(); + } + + @Override + public void onStoredInMailbox() { + log.info("{} stored in mailbox for peer {}. tradeId={}, peerOpenedDisputeMessage.uid={}, " + + "chatMessage.uid={}", + peerOpenedDisputeMessage.getClass().getSimpleName(), peersNodeAddress, + peerOpenedDisputeMessage.getTradeId(), peerOpenedDisputeMessage.getUid(), + chatMessage.getUid()); + + // We use the chatMessage wrapped inside the peerOpenedDisputeMessage for + // the state, as that is displayed to the user and we only persist that msg + chatMessage.setStoredInMailbox(true); + disputeList.persist(); + } + + @Override + public void onFault(String errorMessage) { + log.error("{} failed: Peer {}. tradeId={}, peerOpenedDisputeMessage.uid={}, " + + "chatMessage.uid={}, errorMessage={}", + peerOpenedDisputeMessage.getClass().getSimpleName(), peersNodeAddress, + peerOpenedDisputeMessage.getTradeId(), peerOpenedDisputeMessage.getUid(), + chatMessage.getUid(), errorMessage); + + // We use the chatMessage wrapped inside the peerOpenedDisputeMessage for + // the state, as that is displayed to the user and we only persist that msg + chatMessage.setSendMessageError(errorMessage); + disputeList.persist(); + } + } + ); + return null; + } else { + // valid case if both have opened a dispute and agent was not online. + log.debug("We got a dispute already open for that trade and trading peer. TradeId = {}", + dispute.getTradeId()); + return null; + } + } + + // arbitrator send result to trader + public void sendDisputeResultMessage(DisputeResult disputeResult, Dispute dispute, String text) { + T disputeList = getDisputeList(); + if (disputeList == null) { + log.warn("disputes is null"); + return; + } + + ChatMessage chatMessage = new ChatMessage( + getSupportType(), + dispute.getTradeId(), + dispute.getTraderPubKeyRing().hashCode(), + false, + text, + p2PService.getAddress()); + + dispute.addAndPersistChatMessage(chatMessage); + disputeResult.setChatMessage(chatMessage); + + NodeAddress peersNodeAddress; + Contract contract = dispute.getContract(); + if (contract.getBuyerPubKeyRing().equals(dispute.getTraderPubKeyRing())) + peersNodeAddress = contract.getBuyerNodeAddress(); + else + peersNodeAddress = contract.getSellerNodeAddress(); + DisputeResultMessage disputeResultMessage = new DisputeResultMessage(disputeResult, + p2PService.getAddress(), + UUID.randomUUID().toString(), + getSupportType()); + log.info("Send {} to peer {}. tradeId={}, disputeResultMessage.uid={}, chatMessage.uid={}", + disputeResultMessage.getClass().getSimpleName(), peersNodeAddress, disputeResultMessage.getTradeId(), + disputeResultMessage.getUid(), chatMessage.getUid()); + p2PService.sendEncryptedMailboxMessage(peersNodeAddress, + dispute.getTraderPubKeyRing(), + disputeResultMessage, + new SendMailboxMessageListener() { + @Override + public void onArrived() { + log.info("{} arrived at peer {}. tradeId={}, disputeResultMessage.uid={}, " + + "chatMessage.uid={}", + disputeResultMessage.getClass().getSimpleName(), peersNodeAddress, + disputeResultMessage.getTradeId(), disputeResultMessage.getUid(), + chatMessage.getUid()); + + // We use the chatMessage wrapped inside the disputeResultMessage for + // the state, as that is displayed to the user and we only persist that msg + chatMessage.setArrived(true); + disputeList.persist(); + } + + @Override + public void onStoredInMailbox() { + log.info("{} stored in mailbox for peer {}. tradeId={}, disputeResultMessage.uid={}, " + + "chatMessage.uid={}", + disputeResultMessage.getClass().getSimpleName(), peersNodeAddress, + disputeResultMessage.getTradeId(), disputeResultMessage.getUid(), + chatMessage.getUid()); + + // We use the chatMessage wrapped inside the disputeResultMessage for + // the state, as that is displayed to the user and we only persist that msg + chatMessage.setStoredInMailbox(true); + disputeList.persist(); + } + + @Override + public void onFault(String errorMessage) { + log.error("{} failed: Peer {}. tradeId={}, disputeResultMessage.uid={}, " + + "chatMessage.uid={}, errorMessage={}", + disputeResultMessage.getClass().getSimpleName(), peersNodeAddress, + disputeResultMessage.getTradeId(), disputeResultMessage.getUid(), + chatMessage.getUid(), errorMessage); + + // We use the chatMessage wrapped inside the disputeResultMessage for + // the state, as that is displayed to the user and we only persist that msg + chatMessage.setSendMessageError(errorMessage); + disputeList.persist(); + } + } + ); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Utils + /////////////////////////////////////////////////////////////////////////////////////////// + + private Tuple2 getNodeAddressPubKeyRingTuple(Dispute dispute) { + PubKeyRing receiverPubKeyRing = null; + NodeAddress peerNodeAddress = null; + if (isTrader(dispute)) { + receiverPubKeyRing = dispute.getAgentPubKeyRing(); + peerNodeAddress = getAgentNodeAddress(dispute); + } else if (isAgent(dispute)) { + receiverPubKeyRing = dispute.getTraderPubKeyRing(); + Contract contract = dispute.getContract(); + if (contract.getBuyerPubKeyRing().equals(receiverPubKeyRing)) + peerNodeAddress = contract.getBuyerNodeAddress(); + else + peerNodeAddress = contract.getSellerNodeAddress(); + } else { + log.error("That must not happen. Trader cannot communicate to other trader."); + } + return new Tuple2<>(peerNodeAddress, receiverPubKeyRing); + } + + private boolean isAgent(Dispute dispute) { + return pubKeyRing.equals(dispute.getAgentPubKeyRing()); + } + + private Optional findDispute(Dispute dispute) { + return findDispute(dispute.getTradeId(), dispute.getTraderId()); + } + + protected Optional findDispute(DisputeResult disputeResult) { + ChatMessage chatMessage = disputeResult.getChatMessage(); + checkNotNull(chatMessage, "chatMessage must not be null"); + return findDispute(disputeResult.getTradeId(), disputeResult.getTraderId()); + } + + private Optional findDispute(ChatMessage message) { + return findDispute(message.getTradeId(), message.getTraderId()); + } + + private Optional findDispute(String tradeId, int traderId) { + T disputeList = getDisputeList(); + if (disputeList == null) { + log.warn("disputes is null"); + return Optional.empty(); + } + return disputeList.stream() + .filter(e -> e.getTradeId().equals(tradeId) && e.getTraderId() == traderId) + .findAny(); + } + + public Optional findDispute(String tradeId) { + T disputeList = getDisputeList(); + if (disputeList == null) { + log.warn("disputes is null"); + return Optional.empty(); + } + return disputeList.stream() + .filter(e -> e.getTradeId().equals(tradeId)) + .findAny(); + } + + private String getDisputeInfo(boolean isMediationDispute) { + String role = isMediationDispute ? Res.get("shared.mediator").toLowerCase() : + Res.get("shared.arbitrator2").toLowerCase(); + String link = isMediationDispute ? "https://docs.bisq.network/trading-rules.html#mediation" : + "https://bisq.network/docs/exchange/arbitration-system"; + return Res.get("support.initialInfo", role, role, link); + } +} diff --git a/core/src/main/java/bisq/core/arbitration/MessageDeliveryFailedException.java b/core/src/main/java/bisq/core/support/dispute/DisputeMessageDeliveryFailedException.java similarity index 81% rename from core/src/main/java/bisq/core/arbitration/MessageDeliveryFailedException.java rename to core/src/main/java/bisq/core/support/dispute/DisputeMessageDeliveryFailedException.java index 10275e94512..39eeebd65f5 100644 --- a/core/src/main/java/bisq/core/arbitration/MessageDeliveryFailedException.java +++ b/core/src/main/java/bisq/core/support/dispute/DisputeMessageDeliveryFailedException.java @@ -15,10 +15,10 @@ * along with Bisq. If not, see . */ -package bisq.core.arbitration; +package bisq.core.support.dispute; -public class MessageDeliveryFailedException extends Exception { - public MessageDeliveryFailedException() { +public class DisputeMessageDeliveryFailedException extends Exception { + public DisputeMessageDeliveryFailedException() { super(); } } diff --git a/core/src/main/java/bisq/core/arbitration/DisputeResult.java b/core/src/main/java/bisq/core/support/dispute/DisputeResult.java similarity index 91% rename from core/src/main/java/bisq/core/arbitration/DisputeResult.java rename to core/src/main/java/bisq/core/support/dispute/DisputeResult.java index b5693c79d6a..db11d29ef03 100644 --- a/core/src/main/java/bisq/core/arbitration/DisputeResult.java +++ b/core/src/main/java/bisq/core/support/dispute/DisputeResult.java @@ -15,9 +15,9 @@ * along with Bisq. If not, see . */ -package bisq.core.arbitration; +package bisq.core.support.dispute; -import bisq.core.arbitration.messages.DisputeCommunicationMessage; +import bisq.core.support.messages.ChatMessage; import bisq.common.proto.ProtoUtil; import bisq.common.proto.network.NetworkPayload; @@ -74,7 +74,7 @@ public enum Reason { private final StringProperty summaryNotesProperty = new SimpleStringProperty(""); @Setter @Nullable - private DisputeCommunicationMessage disputeCommunicationMessage; + private ChatMessage chatMessage; @Setter @Nullable private byte[] arbitratorSignature; @@ -100,7 +100,7 @@ public DisputeResult(String tradeId, boolean idVerification, boolean screenCast, String summaryNotes, - @Nullable DisputeCommunicationMessage disputeCommunicationMessage, + @Nullable ChatMessage chatMessage, @Nullable byte[] arbitratorSignature, long buyerPayoutAmount, long sellerPayoutAmount, @@ -115,7 +115,7 @@ public DisputeResult(String tradeId, this.idVerificationProperty.set(idVerification); this.screenCastProperty.set(screenCast); this.summaryNotesProperty.set(summaryNotes); - this.disputeCommunicationMessage = disputeCommunicationMessage; + this.chatMessage = chatMessage; this.arbitratorSignature = arbitratorSignature; this.buyerPayoutAmount = buyerPayoutAmount; this.sellerPayoutAmount = sellerPayoutAmount; @@ -138,7 +138,7 @@ public static DisputeResult fromProto(protobuf.DisputeResult proto) { proto.getIdVerification(), proto.getScreenCast(), proto.getSummaryNotes(), - proto.getDisputeCommunicationMessage() == null ? null : DisputeCommunicationMessage.fromPayloadProto(proto.getDisputeCommunicationMessage()), + proto.getChatMessage() == null ? null : ChatMessage.fromPayloadProto(proto.getChatMessage()), proto.getArbitratorSignature().toByteArray(), proto.getBuyerPayoutAmount(), proto.getSellerPayoutAmount(), @@ -165,8 +165,8 @@ public protobuf.DisputeResult toProtoMessage() { Optional.ofNullable(arbitratorSignature).ifPresent(arbitratorSignature -> builder.setArbitratorSignature(ByteString.copyFrom(arbitratorSignature))); Optional.ofNullable(arbitratorPubKey).ifPresent(arbitratorPubKey -> builder.setArbitratorPubKey(ByteString.copyFrom(arbitratorPubKey))); Optional.ofNullable(winner).ifPresent(result -> builder.setWinner(protobuf.DisputeResult.Winner.valueOf(winner.name()))); - Optional.ofNullable(disputeCommunicationMessage).ifPresent(disputeCommunicationMessage -> - builder.setDisputeCommunicationMessage(disputeCommunicationMessage.toProtoNetworkEnvelope().getDisputeCommunicationMessage())); + Optional.ofNullable(chatMessage).ifPresent(chatMessage -> + builder.setChatMessage(chatMessage.toProtoNetworkEnvelope().getChatMessage())); return builder.build(); } @@ -242,7 +242,7 @@ public String toString() { ",\n idVerificationProperty=" + idVerificationProperty + ",\n screenCastProperty=" + screenCastProperty + ",\n summaryNotesProperty=" + summaryNotesProperty + - ",\n disputeCommunicationMessage=" + disputeCommunicationMessage + + ",\n chatMessage=" + chatMessage + ",\n arbitratorSignature=" + Utilities.bytesAsHexString(arbitratorSignature) + ",\n buyerPayoutAmount=" + buyerPayoutAmount + ",\n sellerPayoutAmount=" + sellerPayoutAmount + diff --git a/core/src/main/java/bisq/core/support/dispute/DisputeSession.java b/core/src/main/java/bisq/core/support/dispute/DisputeSession.java new file mode 100644 index 00000000000..cebe715e16d --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/DisputeSession.java @@ -0,0 +1,79 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute; + +import bisq.core.support.SupportSession; +import bisq.core.support.messages.ChatMessage; + +import bisq.common.crypto.PubKeyRing; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; + +import lombok.extern.slf4j.Slf4j; + +import javax.annotation.Nullable; + +@Slf4j +public abstract class DisputeSession extends SupportSession { + @Nullable + private Dispute dispute; + private final boolean isTrader; + + public DisputeSession(@Nullable Dispute dispute, boolean isTrader) { + super(); + this.dispute = dispute; + this.isTrader = isTrader; + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Dependent on selected dispute + /////////////////////////////////////////////////////////////////////////////////////////// + + @Override + public boolean isClient() { + return isTrader; + } + + @Override + public String getTradeId() { + return dispute != null ? dispute.getTradeId() : ""; + } + + @Override + public PubKeyRing getClientPubKeyRing() { + // Get pubKeyRing of trader. Arbitrator is considered server for the chat session + return dispute != null ? dispute.getTraderPubKeyRing() : null; + } + + @Override + public ObservableList getObservableChatMessageList() { + return dispute != null ? dispute.getChatMessages() : FXCollections.observableArrayList(); + } + + @Override + public boolean chatIsOpen() { + return dispute != null && !dispute.isClosed(); + } + + @Override + public boolean isDisputeAgent() { + return !isClient(); + } +} diff --git a/core/src/main/java/bisq/core/support/dispute/agent/DisputeAgent.java b/core/src/main/java/bisq/core/support/dispute/agent/DisputeAgent.java new file mode 100644 index 00000000000..aa583d04de8 --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/agent/DisputeAgent.java @@ -0,0 +1,113 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute.agent; + +import bisq.network.p2p.NodeAddress; +import bisq.network.p2p.storage.payload.ExpirablePayload; +import bisq.network.p2p.storage.payload.ProtectedStoragePayload; + +import bisq.common.crypto.PubKeyRing; +import bisq.common.util.ExtraDataMapValidator; +import bisq.common.util.Utilities; + +import java.security.PublicKey; + +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.extern.slf4j.Slf4j; + +import javax.annotation.Nullable; + +@EqualsAndHashCode +@Slf4j +@Getter +public abstract class DisputeAgent implements ProtectedStoragePayload, ExpirablePayload { + public static final long TTL = TimeUnit.DAYS.toMillis(10); + + protected final NodeAddress nodeAddress; + protected final PubKeyRing pubKeyRing; + protected final List languageCodes; + protected final long registrationDate; + protected final byte[] registrationPubKey; + protected final String registrationSignature; + @Nullable + protected final String emailAddress; + @Nullable + protected final String info; + + // Should be only used in emergency case if we need to add data but do not want to break backward compatibility + // at the P2P network storage checks. The hash of the object will be used to verify if the data is valid. Any new + // field in a class would break that hash and therefore break the storage mechanism. + @Nullable + protected Map extraDataMap; + + public DisputeAgent(NodeAddress nodeAddress, + PubKeyRing pubKeyRing, + List languageCodes, + long registrationDate, + byte[] registrationPubKey, + String registrationSignature, + @Nullable String emailAddress, + @Nullable String info, + @Nullable Map extraDataMap) { + this.nodeAddress = nodeAddress; + this.pubKeyRing = pubKeyRing; + this.languageCodes = languageCodes; + this.registrationDate = registrationDate; + this.registrationPubKey = registrationPubKey; + this.registrationSignature = registrationSignature; + this.emailAddress = emailAddress; + this.info = info; + this.extraDataMap = ExtraDataMapValidator.getValidatedExtraDataMap(extraDataMap); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // API + /////////////////////////////////////////////////////////////////////////////////////////// + + @Override + public long getTTL() { + return TTL; + } + + @Override + public PublicKey getOwnerPubKey() { + return pubKeyRing.getSignaturePubKey(); + } + + + @Override + public String toString() { + return "DisputeAgent{" + + "\n nodeAddress=" + nodeAddress + + ",\n pubKeyRing=" + pubKeyRing + + ",\n languageCodes=" + languageCodes + + ",\n registrationDate=" + registrationDate + + ",\n registrationPubKey=" + Utilities.bytesAsHexString(registrationPubKey) + + ",\n registrationSignature='" + registrationSignature + '\'' + + ",\n emailAddress='" + emailAddress + '\'' + + ",\n info='" + info + '\'' + + ",\n extraDataMap=" + extraDataMap + + "\n}"; + } +} diff --git a/core/src/main/java/bisq/core/support/dispute/agent/DisputeAgentManager.java b/core/src/main/java/bisq/core/support/dispute/agent/DisputeAgentManager.java new file mode 100644 index 00000000000..16cc1b38e87 --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/agent/DisputeAgentManager.java @@ -0,0 +1,338 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute.agent; + +import bisq.core.filter.FilterManager; +import bisq.core.user.User; + +import bisq.network.p2p.BootstrapListener; +import bisq.network.p2p.NodeAddress; +import bisq.network.p2p.P2PService; +import bisq.network.p2p.storage.HashMapChangedListener; +import bisq.network.p2p.storage.payload.ProtectedStorageEntry; + +import bisq.common.Timer; +import bisq.common.UserThread; +import bisq.common.app.DevEnv; +import bisq.common.crypto.KeyRing; +import bisq.common.handlers.ErrorMessageHandler; +import bisq.common.handlers.ResultHandler; +import bisq.common.util.Utilities; + +import org.bitcoinj.core.ECKey; +import org.bitcoinj.core.Utils; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableMap; + +import java.security.PublicKey; +import java.security.SignatureException; + +import java.math.BigInteger; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.TimeUnit; +import java.util.function.Function; +import java.util.stream.Collectors; + +import lombok.extern.slf4j.Slf4j; + +import javax.annotation.Nullable; + +import static org.bitcoinj.core.Utils.HEX; + +@Slf4j +public abstract class DisputeAgentManager { + + /////////////////////////////////////////////////////////////////////////////////////////// + // Static + /////////////////////////////////////////////////////////////////////////////////////////// + + protected static final long REPUBLISH_MILLIS = DisputeAgent.TTL / 2; + protected static final long RETRY_REPUBLISH_SEC = 5; + protected static final long REPEATED_REPUBLISH_AT_STARTUP_SEC = 60; + + protected final List publicKeys; + + /////////////////////////////////////////////////////////////////////////////////////////// + // Instance fields + /////////////////////////////////////////////////////////////////////////////////////////// + + protected final KeyRing keyRing; + protected final DisputeAgentService disputeAgentService; + protected final User user; + protected final FilterManager filterManager; + protected final ObservableMap observableMap = FXCollections.observableHashMap(); + protected List persistedAcceptedDisputeAgents; + protected Timer republishTimer, retryRepublishTimer; + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Constructor + /////////////////////////////////////////////////////////////////////////////////////////// + + public DisputeAgentManager(KeyRing keyRing, + DisputeAgentService disputeAgentService, + User user, + FilterManager filterManager, + boolean useDevPrivilegeKeys) { + this.keyRing = keyRing; + this.disputeAgentService = disputeAgentService; + this.user = user; + this.filterManager = filterManager; + publicKeys = useDevPrivilegeKeys ? Collections.singletonList(DevEnv.DEV_PRIVILEGE_PUB_KEY) : getPubKeyList(); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Abstract methods + /////////////////////////////////////////////////////////////////////////////////////////// + + protected abstract List getPubKeyList(); + + protected abstract boolean isExpectedInstance(ProtectedStorageEntry data); + + protected abstract void addAcceptedDisputeAgentToUser(T disputeAgent); + + protected abstract T getRegisteredDisputeAgentFromUser(); + + protected abstract void clearAcceptedDisputeAgentsAtUser(); + + protected abstract List getAcceptedDisputeAgentsFromUser(); + + protected abstract void removeAcceptedDisputeAgentFromUser(ProtectedStorageEntry data); + + protected abstract void setRegisteredDisputeAgentAtUser(T disputeAgent); + + + /////////////////////////////////////////////////////////////////////////////////////////// + // API + /////////////////////////////////////////////////////////////////////////////////////////// + + public void onAllServicesInitialized() { + disputeAgentService.addHashSetChangedListener(new HashMapChangedListener() { + @Override + public void onAdded(ProtectedStorageEntry data) { + if (isExpectedInstance(data)) { + updateMap(); + } + } + + @Override + public void onRemoved(ProtectedStorageEntry data) { + if (isExpectedInstance(data)) { + updateMap(); + removeAcceptedDisputeAgentFromUser(data); + } + } + }); + + persistedAcceptedDisputeAgents = new ArrayList<>(getAcceptedDisputeAgentsFromUser()); + clearAcceptedDisputeAgentsAtUser(); + + if (getRegisteredDisputeAgentFromUser() != null) { + P2PService p2PService = disputeAgentService.getP2PService(); + if (p2PService.isBootstrapped()) + startRepublishDisputeAgent(); + else + p2PService.addP2PServiceListener(new BootstrapListener() { + @Override + public void onUpdatedDataReceived() { + startRepublishDisputeAgent(); + } + }); + } + + filterManager.filterProperty().addListener((observable, oldValue, newValue) -> updateMap()); + + updateMap(); + } + + public void shutDown() { + stopRepublishTimer(); + stopRetryRepublishTimer(); + } + + protected void startRepublishDisputeAgent() { + if (republishTimer == null) { + republishTimer = UserThread.runPeriodically(this::republish, REPUBLISH_MILLIS, TimeUnit.MILLISECONDS); + UserThread.runAfter(this::republish, REPEATED_REPUBLISH_AT_STARTUP_SEC); + republish(); + } + } + + public void updateMap() { + Map map = disputeAgentService.getDisputeAgents(); + observableMap.clear(); + Map filtered = map.values().stream() + .filter(e -> { + String pubKeyAsHex = Utils.HEX.encode(e.getRegistrationPubKey()); + boolean isInPublicKeyInList = isPublicKeyInList(pubKeyAsHex); + if (!isInPublicKeyInList) { + if (DevEnv.DEV_PRIVILEGE_PUB_KEY.equals(pubKeyAsHex)) + log.info("We got the DEV_PRIVILEGE_PUB_KEY in our list of publicKeys. RegistrationPubKey={}, nodeAddress={}", + Utilities.bytesAsHexString(e.getRegistrationPubKey()), + e.getNodeAddress().getFullAddress()); + else + log.warn("We got an disputeAgent which is not in our list of publicKeys. RegistrationPubKey={}, nodeAddress={}", + Utilities.bytesAsHexString(e.getRegistrationPubKey()), + e.getNodeAddress().getFullAddress()); + } + final boolean isSigValid = verifySignature(e.getPubKeyRing().getSignaturePubKey(), + e.getRegistrationPubKey(), + e.getRegistrationSignature()); + if (!isSigValid) + log.warn("Sig check for disputeAgent failed. DisputeAgent={}", e.toString()); + + return isInPublicKeyInList && isSigValid; + }) + .collect(Collectors.toMap(DisputeAgent::getNodeAddress, Function.identity())); + + observableMap.putAll(filtered); + observableMap.values().forEach(this::addAcceptedDisputeAgentToUser); + + log.info("Available disputeAgents: {}", observableMap.keySet()); + } + + + public void addDisputeAgent(T disputeAgent, + ResultHandler resultHandler, + ErrorMessageHandler errorMessageHandler) { + setRegisteredDisputeAgentAtUser(disputeAgent); + observableMap.put(disputeAgent.getNodeAddress(), disputeAgent); + disputeAgentService.addDisputeAgent(disputeAgent, + () -> { + log.info("DisputeAgent successfully saved in P2P network"); + resultHandler.handleResult(); + + if (observableMap.size() > 0) + UserThread.runAfter(this::updateMap, 100, TimeUnit.MILLISECONDS); + }, + errorMessageHandler); + } + + + public void removeDisputeAgent(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { + T registeredDisputeAgent = getRegisteredDisputeAgentFromUser(); + if (registeredDisputeAgent != null) { + setRegisteredDisputeAgentAtUser(null); + observableMap.remove(registeredDisputeAgent.getNodeAddress()); + disputeAgentService.removeDisputeAgent(registeredDisputeAgent, + () -> { + log.debug("DisputeAgent successfully removed from P2P network"); + resultHandler.handleResult(); + }, + errorMessageHandler); + } + } + + public ObservableMap getObservableMap() { + return observableMap; + } + + // A protected key is handed over to selected disputeAgents for registration. + // An invited disputeAgent will sign at registration his storageSignaturePubKey with that protected key and attach the signature and pubKey to his data. + // Other users will check the signature with the list of public keys hardcoded in the app. + public String signStorageSignaturePubKey(ECKey key) { + String keyToSignAsHex = Utils.HEX.encode(keyRing.getPubKeyRing().getSignaturePubKey().getEncoded()); + return key.signMessage(keyToSignAsHex); + } + + @Nullable + public ECKey getRegistrationKey(String privKeyBigIntString) { + try { + return ECKey.fromPrivate(new BigInteger(1, HEX.decode(privKeyBigIntString))); + } catch (Throwable t) { + return null; + } + } + + public boolean isPublicKeyInList(String pubKeyAsHex) { + return publicKeys.contains(pubKeyAsHex); + } + + public boolean isAgentAvailableForLanguage(String languageCode) { + return observableMap.values().stream().anyMatch(agent -> + agent.getLanguageCodes().stream().anyMatch(lc -> lc.equals(languageCode))); + } + + public List getDisputeAgentLanguages(List nodeAddresses) { + return observableMap.values().stream() + .filter(disputeAgent -> nodeAddresses.stream().anyMatch(nodeAddress -> nodeAddress.equals(disputeAgent.getNodeAddress()))) + .flatMap(disputeAgent -> disputeAgent.getLanguageCodes().stream()) + .distinct() + .collect(Collectors.toList()); + } + + public Optional getDisputeAgentByNodeAddress(NodeAddress nodeAddress) { + return observableMap.containsKey(nodeAddress) ? + Optional.of(observableMap.get(nodeAddress)) : + Optional.empty(); + } + + /////////////////////////////////////////////////////////////////////////////////////////// + // protected + /////////////////////////////////////////////////////////////////////////////////////////// + + protected void republish() { + T registeredDisputeAgent = getRegisteredDisputeAgentFromUser(); + if (registeredDisputeAgent != null) { + addDisputeAgent(registeredDisputeAgent, + this::updateMap, + errorMessage -> { + if (retryRepublishTimer == null) + retryRepublishTimer = UserThread.runPeriodically(() -> { + stopRetryRepublishTimer(); + republish(); + }, RETRY_REPUBLISH_SEC); + } + ); + } + } + + protected boolean verifySignature(PublicKey storageSignaturePubKey, byte[] registrationPubKey, String signature) { + String keyToSignAsHex = Utils.HEX.encode(storageSignaturePubKey.getEncoded()); + try { + ECKey key = ECKey.fromPublicOnly(registrationPubKey); + key.verifyMessage(keyToSignAsHex, signature); + return true; + } catch (SignatureException e) { + log.warn("verifySignature failed"); + return false; + } + } + + + protected void stopRetryRepublishTimer() { + if (retryRepublishTimer != null) { + retryRepublishTimer.stop(); + retryRepublishTimer = null; + } + } + + protected void stopRepublishTimer() { + if (republishTimer != null) { + republishTimer.stop(); + republishTimer = null; + } + } +} diff --git a/core/src/main/java/bisq/core/support/dispute/agent/DisputeAgentService.java b/core/src/main/java/bisq/core/support/dispute/agent/DisputeAgentService.java new file mode 100644 index 00000000000..193ba9a7684 --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/agent/DisputeAgentService.java @@ -0,0 +1,121 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute.agent; + +import bisq.core.app.BisqEnvironment; +import bisq.core.filter.FilterManager; + +import bisq.network.p2p.NodeAddress; +import bisq.network.p2p.P2PService; +import bisq.network.p2p.storage.HashMapChangedListener; + +import bisq.common.app.DevEnv; +import bisq.common.handlers.ErrorMessageHandler; +import bisq.common.handlers.ResultHandler; +import bisq.common.util.Utilities; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import lombok.extern.slf4j.Slf4j; + +/** + * Used to store disputeAgents profile and load map of disputeAgents + */ +@Slf4j +public abstract class DisputeAgentService { + protected final P2PService p2PService; + protected final FilterManager filterManager; + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Constructor + /////////////////////////////////////////////////////////////////////////////////////////// + + public DisputeAgentService(P2PService p2PService, FilterManager filterManager) { + this.p2PService = p2PService; + this.filterManager = filterManager; + } + + public void addHashSetChangedListener(HashMapChangedListener hashMapChangedListener) { + p2PService.addHashSetChangedListener(hashMapChangedListener); + } + + public void addDisputeAgent(T disputeAgent, + ResultHandler resultHandler, + ErrorMessageHandler errorMessageHandler) { + log.debug("addDisputeAgent disputeAgent.hashCode() " + disputeAgent.hashCode()); + if (!BisqEnvironment.getBaseCurrencyNetwork().isMainnet() || + !Utilities.encodeToHex(disputeAgent.getRegistrationPubKey()).equals(DevEnv.DEV_PRIVILEGE_PUB_KEY)) { + boolean result = p2PService.addProtectedStorageEntry(disputeAgent, true); + if (result) { + log.trace("Add disputeAgent to network was successful. DisputeAgent.hashCode() = " + disputeAgent.hashCode()); + resultHandler.handleResult(); + } else { + errorMessageHandler.handleErrorMessage("Add disputeAgent failed"); + } + } else { + log.error("Attempt to publish dev disputeAgent on mainnet."); + errorMessageHandler.handleErrorMessage("Add disputeAgent failed. Attempt to publish dev disputeAgent on mainnet."); + } + } + + public void removeDisputeAgent(T disputeAgent, + ResultHandler resultHandler, + ErrorMessageHandler errorMessageHandler) { + log.debug("removeDisputeAgent disputeAgent.hashCode() " + disputeAgent.hashCode()); + if (p2PService.removeData(disputeAgent, true)) { + log.trace("Remove disputeAgent from network was successful. DisputeAgent.hashCode() = " + disputeAgent.hashCode()); + resultHandler.handleResult(); + } else { + errorMessageHandler.handleErrorMessage("Remove disputeAgent failed"); + } + } + + public P2PService getP2PService() { + return p2PService; + } + + public Map getDisputeAgents() { + final List bannedDisputeAgents; + if (filterManager.getFilter() != null) { + bannedDisputeAgents = getDisputeAgentsFromFilter(); + } else { + bannedDisputeAgents = null; + } + if (bannedDisputeAgents != null) + log.warn("bannedDisputeAgents=" + bannedDisputeAgents); + Set disputeAgentSet = getDisputeAgentSet(bannedDisputeAgents); + + Map map = new HashMap<>(); + for (T disputeAgent : disputeAgentSet) { + NodeAddress disputeAgentNodeAddress = disputeAgent.getNodeAddress(); + if (!map.containsKey(disputeAgentNodeAddress)) + map.put(disputeAgentNodeAddress, disputeAgent); + else + log.warn("disputeAgentAddress already exist in disputeAgent map. Seems an disputeAgent object is already registered with the same address."); + } + return map; + } + + protected abstract Set getDisputeAgentSet(List bannedDisputeAgents); + + protected abstract List getDisputeAgentsFromFilter(); +} diff --git a/core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationDisputeList.java b/core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationDisputeList.java new file mode 100644 index 00000000000..5ce8f6b2c7b --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationDisputeList.java @@ -0,0 +1,83 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute.arbitration; + +import bisq.core.proto.CoreProtoResolver; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.DisputeList; + +import bisq.common.proto.ProtoUtil; +import bisq.common.storage.Storage; + +import com.google.protobuf.Message; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +import lombok.ToString; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@ToString +/* + * Holds a List of arbitration dispute objects. + * + * Calls to the List are delegated because this class intercepts the add/remove calls so changes + * can be saved to disc. + */ +public final class ArbitrationDisputeList extends DisputeList { + + ArbitrationDisputeList(Storage storage) { + super(storage); + } + + @Override + public void readPersisted() { + // We need to use DisputeList as file name to not lose existing disputes which are stored in the DisputeList file + ArbitrationDisputeList persisted = storage.initAndGetPersisted(this, "DisputeList", 50); + if (persisted != null) { + list.addAll(persisted.getList()); + } + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // PROTO BUFFER + /////////////////////////////////////////////////////////////////////////////////////////// + + private ArbitrationDisputeList(Storage storage, List list) { + super(storage, list); + } + + @Override + public Message toProtoMessage() { + return protobuf.PersistableEnvelope.newBuilder().setArbitrationDisputeList(protobuf.ArbitrationDisputeList.newBuilder() + .addAllDispute(ProtoUtil.collectionToProto(new ArrayList<>(list)))).build(); + } + + public static ArbitrationDisputeList fromProto(protobuf.ArbitrationDisputeList proto, + CoreProtoResolver coreProtoResolver, + Storage storage) { + List list = proto.getDisputeList().stream() + .map(disputeProto -> Dispute.fromProto(disputeProto, coreProtoResolver)) + .collect(Collectors.toList()); + list.forEach(e -> e.setStorage(storage)); + return new ArbitrationDisputeList(storage, list); + } +} diff --git a/core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationDisputeListService.java b/core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationDisputeListService.java new file mode 100644 index 00000000000..3d456f686ef --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationDisputeListService.java @@ -0,0 +1,48 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute.arbitration; + +import bisq.core.support.dispute.DisputeListService; + +import bisq.common.storage.Storage; + +import javax.inject.Inject; +import javax.inject.Singleton; + +@Singleton +public final class ArbitrationDisputeListService extends DisputeListService { + + /////////////////////////////////////////////////////////////////////////////////////////// + // Constructor + /////////////////////////////////////////////////////////////////////////////////////////// + + @Inject + public ArbitrationDisputeListService(Storage storage) { + super(storage); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Implement template methods + /////////////////////////////////////////////////////////////////////////////////////////// + + @Override + protected ArbitrationDisputeList getConcreteDisputeList() { + return new ArbitrationDisputeList(storage); + } +} diff --git a/core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationManager.java b/core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationManager.java new file mode 100644 index 00000000000..cbf859e2a24 --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationManager.java @@ -0,0 +1,390 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute.arbitration; + +import bisq.core.btc.exceptions.TransactionVerificationException; +import bisq.core.btc.exceptions.TxBroadcastException; +import bisq.core.btc.exceptions.WalletException; +import bisq.core.btc.setup.WalletsSetup; +import bisq.core.btc.wallet.BtcWalletService; +import bisq.core.btc.wallet.TradeWalletService; +import bisq.core.btc.wallet.TxBroadcaster; +import bisq.core.offer.OpenOffer; +import bisq.core.offer.OpenOfferManager; +import bisq.core.support.SupportType; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.DisputeManager; +import bisq.core.support.dispute.DisputeResult; +import bisq.core.support.dispute.arbitration.messages.PeerPublishedDisputePayoutTxMessage; +import bisq.core.support.dispute.messages.DisputeResultMessage; +import bisq.core.support.dispute.messages.OpenNewDisputeMessage; +import bisq.core.support.dispute.messages.PeerOpenedDisputeMessage; +import bisq.core.support.messages.ChatMessage; +import bisq.core.support.messages.SupportMessage; +import bisq.core.trade.Contract; +import bisq.core.trade.Tradable; +import bisq.core.trade.Trade; +import bisq.core.trade.TradeManager; +import bisq.core.trade.closed.ClosedTradableManager; + +import bisq.network.p2p.AckMessageSourceType; +import bisq.network.p2p.NodeAddress; +import bisq.network.p2p.P2PService; +import bisq.network.p2p.SendMailboxMessageListener; + +import bisq.common.Timer; +import bisq.common.UserThread; +import bisq.common.crypto.PubKeyRing; + +import org.bitcoinj.core.AddressFormatException; +import org.bitcoinj.core.Transaction; +import org.bitcoinj.crypto.DeterministicKey; + +import com.google.inject.Inject; +import com.google.inject.Singleton; + +import java.util.Arrays; +import java.util.Optional; +import java.util.UUID; + +import lombok.extern.slf4j.Slf4j; + +import static com.google.common.base.Preconditions.checkNotNull; + +@Slf4j +@Singleton +public final class ArbitrationManager extends DisputeManager { + + /////////////////////////////////////////////////////////////////////////////////////////// + // Constructor + /////////////////////////////////////////////////////////////////////////////////////////// + + @Inject + public ArbitrationManager(P2PService p2PService, + TradeWalletService tradeWalletService, + BtcWalletService walletService, + WalletsSetup walletsSetup, + TradeManager tradeManager, + ClosedTradableManager closedTradableManager, + OpenOfferManager openOfferManager, + PubKeyRing pubKeyRing, + ArbitrationDisputeListService arbitrationDisputeListService) { + super(p2PService, tradeWalletService, walletService, walletsSetup, tradeManager, closedTradableManager, + openOfferManager, pubKeyRing, arbitrationDisputeListService); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Implement template methods + /////////////////////////////////////////////////////////////////////////////////////////// + + @Override + public SupportType getSupportType() { + return SupportType.ARBITRATION; + } + + @Override + public void dispatchMessage(SupportMessage message) { + if (canProcessMessage(message)) { + log.info("Received {} with tradeId {} and uid {}", + message.getClass().getSimpleName(), message.getTradeId(), message.getUid()); + + if (message instanceof OpenNewDisputeMessage) { + onOpenNewDisputeMessage((OpenNewDisputeMessage) message); + } else if (message instanceof PeerOpenedDisputeMessage) { + onPeerOpenedDisputeMessage((PeerOpenedDisputeMessage) message); + } else if (message instanceof ChatMessage) { + onChatMessage((ChatMessage) message); + } else if (message instanceof DisputeResultMessage) { + onDisputeResultMessage((DisputeResultMessage) message); + } else if (message instanceof PeerPublishedDisputePayoutTxMessage) { + onDisputedPayoutTxMessage((PeerPublishedDisputePayoutTxMessage) message); + } else { + log.warn("Unsupported message at dispatchMessage. message={}", message); + } + } + } + + @Override + public NodeAddress getAgentNodeAddress(Dispute dispute) { + return dispute.getContract().getArbitratorNodeAddress(); + } + + @Override + protected Trade.DisputeState getDisputeState_StartedByPeer() { + return Trade.DisputeState.DISPUTE_STARTED_BY_PEER; + } + + @Override + protected AckMessageSourceType getAckMessageSourceType() { + return AckMessageSourceType.ARBITRATION_MESSAGE; + } + + @Override + public void cleanupDisputes() { + disputeListService.cleanupDisputes(tradeId -> tradeManager.closeDisputedTrade(tradeId, Trade.DisputeState.DISPUTE_CLOSED)); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Message handler + /////////////////////////////////////////////////////////////////////////////////////////// + + @Override + // We get that message at both peers. The dispute object is in context of the trader + public void onDisputeResultMessage(DisputeResultMessage disputeResultMessage) { + DisputeResult disputeResult = disputeResultMessage.getDisputeResult(); + ChatMessage chatMessage = disputeResult.getChatMessage(); + checkNotNull(chatMessage, "chatMessage must not be null"); + if (Arrays.equals(disputeResult.getArbitratorPubKey(), + walletService.getArbitratorAddressEntry().getPubKey())) { + log.error("Arbitrator received disputeResultMessage. That must never happen."); + return; + } + + String tradeId = disputeResult.getTradeId(); + Optional disputeOptional = findDispute(disputeResult); + String uid = disputeResultMessage.getUid(); + if (!disputeOptional.isPresent()) { + log.warn("We got a dispute result msg but we don't have a matching dispute. " + + "That might happen when we get the disputeResultMessage before the dispute was created. " + + "We try again after 2 sec. to apply the disputeResultMessage. TradeId = " + tradeId); + if (!delayMsgMap.containsKey(uid)) { + // We delay 2 sec. to be sure the comm. msg gets added first + Timer timer = UserThread.runAfter(() -> onDisputeResultMessage(disputeResultMessage), 2); + delayMsgMap.put(uid, timer); + } else { + log.warn("We got a dispute result msg after we already repeated to apply the message after a delay. " + + "That should never happen. TradeId = " + tradeId); + } + return; + } + + Dispute dispute = disputeOptional.get(); + cleanupRetryMap(uid); + if (!dispute.getChatMessages().contains(chatMessage)) { + dispute.addAndPersistChatMessage(chatMessage); + } else { + log.warn("We got a dispute mail msg what we have already stored. TradeId = " + chatMessage.getTradeId()); + } + dispute.setIsClosed(true); + + if (dispute.disputeResultProperty().get() != null) { + log.warn("We got already a dispute result. That should only happen if a dispute needs to be closed " + + "again because the first close did not succeed. TradeId = " + tradeId); + } + + dispute.setDisputeResult(disputeResult); + Optional tradeOptional = tradeManager.getTradeById(tradeId); + String errorMessage = null; + boolean success = false; + try { + // We need to avoid publishing the tx from both traders as it would create problems with zero confirmation withdrawals + // There would be different transactions if both sign and publish (signers: once buyer+arb, once seller+arb) + // The tx publisher is the winner or in case both get 50% the buyer, as the buyer has more inventive to publish the tx as he receives + // more BTC as he has deposited + Contract contract = dispute.getContract(); + + boolean isBuyer = pubKeyRing.equals(contract.getBuyerPubKeyRing()); + DisputeResult.Winner publisher = disputeResult.getWinner(); + + // Sometimes the user who receives the trade amount is never online, so we might want to + // let the loser publish the tx. When the winner comes online he gets his funds as it was published by the other peer. + // Default isLoserPublisher is set to false + if (disputeResult.isLoserPublisher()) { + // we invert the logic + if (publisher == DisputeResult.Winner.BUYER) + publisher = DisputeResult.Winner.SELLER; + else if (publisher == DisputeResult.Winner.SELLER) + publisher = DisputeResult.Winner.BUYER; + } + + if ((isBuyer && publisher == DisputeResult.Winner.BUYER) + || (!isBuyer && publisher == DisputeResult.Winner.SELLER)) { + + Transaction payoutTx = null; + if (tradeOptional.isPresent()) { + payoutTx = tradeOptional.get().getPayoutTx(); + } else { + Optional tradableOptional = closedTradableManager.getTradableById(tradeId); + if (tradableOptional.isPresent() && tradableOptional.get() instanceof Trade) { + payoutTx = ((Trade) tradableOptional.get()).getPayoutTx(); + } + } + + if (payoutTx == null) { + if (dispute.getDepositTxSerialized() != null) { + byte[] multiSigPubKey = isBuyer ? contract.getBuyerMultiSigPubKey() : contract.getSellerMultiSigPubKey(); + DeterministicKey multiSigKeyPair = walletService.getMultiSigKeyPair(tradeId, multiSigPubKey); + Transaction signedDisputedPayoutTx = tradeWalletService.traderSignAndFinalizeDisputedPayoutTx( + dispute.getDepositTxSerialized(), + disputeResult.getArbitratorSignature(), + disputeResult.getBuyerPayoutAmount(), + disputeResult.getSellerPayoutAmount(), + contract.getBuyerPayoutAddressString(), + contract.getSellerPayoutAddressString(), + multiSigKeyPair, + contract.getBuyerMultiSigPubKey(), + contract.getSellerMultiSigPubKey(), + disputeResult.getArbitratorPubKey() + ); + Transaction committedDisputedPayoutTx = tradeWalletService.addTxToWallet(signedDisputedPayoutTx); + tradeWalletService.broadcastTx(committedDisputedPayoutTx, new TxBroadcaster.Callback() { + @Override + public void onSuccess(Transaction transaction) { + // after successful publish we send peer the tx + dispute.setDisputePayoutTxId(transaction.getHashAsString()); + sendPeerPublishedPayoutTxMessage(transaction, dispute, contract); + updateTradeOrOpenOfferManager(tradeId); + } + + @Override + public void onFailure(TxBroadcastException exception) { + log.error(exception.getMessage()); + } + }, 15); + + success = true; + } else { + errorMessage = "DepositTx is null. TradeId = " + tradeId; + log.warn(errorMessage); + success = false; + } + } else { + log.warn("We got already a payout tx. That might be the case if the other peer did not get the " + + "payout tx and opened a dispute. TradeId = " + tradeId); + dispute.setDisputePayoutTxId(payoutTx.getHashAsString()); + sendPeerPublishedPayoutTxMessage(payoutTx, dispute, contract); + + success = true; + } + } else { + log.trace("We don't publish the tx as we are not the winning party."); + // Clean up tangling trades + if (dispute.disputeResultProperty().get() != null && dispute.isClosed()) { + updateTradeOrOpenOfferManager(tradeId); + } + + success = true; + } + } catch (TransactionVerificationException e) { + errorMessage = "Error at traderSignAndFinalizeDisputedPayoutTx " + e.toString(); + log.error(errorMessage, e); + success = false; + + // We prefer to close the dispute in that case. If there was no deposit tx and a random tx was used + // we get a TransactionVerificationException. No reason to keep that dispute open... + updateTradeOrOpenOfferManager(tradeId); + + throw new RuntimeException(errorMessage); + } catch (AddressFormatException | WalletException e) { + errorMessage = "Error at traderSignAndFinalizeDisputedPayoutTx " + e.toString(); + log.error(errorMessage, e); + success = false; + throw new RuntimeException(errorMessage); + } finally { + // We use the chatMessage as we only persist those not the disputeResultMessage. + // If we would use the disputeResultMessage we could not lookup for the msg when we receive the AckMessage. + sendAckMessage(chatMessage, dispute.getAgentPubKeyRing(), success, errorMessage); + } + } + + // Losing trader or in case of 50/50 the seller gets the tx sent from the winner or buyer + private void onDisputedPayoutTxMessage(PeerPublishedDisputePayoutTxMessage peerPublishedDisputePayoutTxMessage) { + String uid = peerPublishedDisputePayoutTxMessage.getUid(); + String tradeId = peerPublishedDisputePayoutTxMessage.getTradeId(); + Optional disputeOptional = findOwnDispute(tradeId); + if (!disputeOptional.isPresent()) { + log.debug("We got a peerPublishedPayoutTxMessage but we don't have a matching dispute. TradeId = " + tradeId); + if (!delayMsgMap.containsKey(uid)) { + // We delay 3 sec. to be sure the close msg gets added first + Timer timer = UserThread.runAfter(() -> onDisputedPayoutTxMessage(peerPublishedDisputePayoutTxMessage), 3); + delayMsgMap.put(uid, timer); + } else { + log.warn("We got a peerPublishedPayoutTxMessage after we already repeated to apply the message after a delay. " + + "That should never happen. TradeId = " + tradeId); + } + return; + } + + Dispute dispute = disputeOptional.get(); + Contract contract = dispute.getContract(); + boolean isBuyer = pubKeyRing.equals(contract.getBuyerPubKeyRing()); + PubKeyRing peersPubKeyRing = isBuyer ? contract.getSellerPubKeyRing() : contract.getBuyerPubKeyRing(); + + cleanupRetryMap(uid); + Transaction walletTx = tradeWalletService.addTxToWallet(peerPublishedDisputePayoutTxMessage.getTransaction()); + dispute.setDisputePayoutTxId(walletTx.getHashAsString()); + BtcWalletService.printTx("Disputed payoutTx received from peer", walletTx); + + // We can only send the ack msg if we have the peersPubKeyRing which requires the dispute + sendAckMessage(peerPublishedDisputePayoutTxMessage, peersPubKeyRing, true, null); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Send messages + /////////////////////////////////////////////////////////////////////////////////////////// + + // winner (or buyer in case of 50/50) sends tx to other peer + private void sendPeerPublishedPayoutTxMessage(Transaction transaction, Dispute dispute, Contract contract) { + PubKeyRing peersPubKeyRing = dispute.isDisputeOpenerIsBuyer() ? contract.getSellerPubKeyRing() : contract.getBuyerPubKeyRing(); + NodeAddress peersNodeAddress = dispute.isDisputeOpenerIsBuyer() ? contract.getSellerNodeAddress() : contract.getBuyerNodeAddress(); + log.trace("sendPeerPublishedPayoutTxMessage to peerAddress " + peersNodeAddress); + PeerPublishedDisputePayoutTxMessage message = new PeerPublishedDisputePayoutTxMessage(transaction.bitcoinSerialize(), + dispute.getTradeId(), + p2PService.getAddress(), + UUID.randomUUID().toString(), + getSupportType()); + log.info("Send {} to peer {}. tradeId={}, uid={}", + message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); + p2PService.sendEncryptedMailboxMessage(peersNodeAddress, + peersPubKeyRing, + message, + new SendMailboxMessageListener() { + @Override + public void onArrived() { + log.info("{} arrived at peer {}. tradeId={}, uid={}", + message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); + } + + @Override + public void onStoredInMailbox() { + log.info("{} stored in mailbox for peer {}. tradeId={}, uid={}", + message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); + } + + @Override + public void onFault(String errorMessage) { + log.error("{} failed: Peer {}. tradeId={}, uid={}, errorMessage={}", + message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid(), errorMessage); + } + } + ); + } + + private void updateTradeOrOpenOfferManager(String tradeId) { + // set state after payout as we call swapTradeEntryToAvailableEntry + if (tradeManager.getTradeById(tradeId).isPresent()) { + tradeManager.closeDisputedTrade(tradeId, Trade.DisputeState.DISPUTE_CLOSED); + } else { + Optional openOfferOptional = openOfferManager.getOpenOfferById(tradeId); + openOfferOptional.ifPresent(openOffer -> openOfferManager.closeOpenOffer(openOffer.getOffer())); + } + } +} diff --git a/core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationSession.java b/core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationSession.java new file mode 100644 index 00000000000..1dc5d7a830a --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationSession.java @@ -0,0 +1,33 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute.arbitration; + +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.DisputeSession; + +import lombok.extern.slf4j.Slf4j; + +import javax.annotation.Nullable; + +@Slf4j +public class ArbitrationSession extends DisputeSession { + + public ArbitrationSession(@Nullable Dispute dispute, boolean isTrader) { + super(dispute, isTrader); + } +} diff --git a/core/src/main/java/bisq/core/arbitration/BuyerDataItem.java b/core/src/main/java/bisq/core/support/dispute/arbitration/BuyerDataItem.java similarity index 94% rename from core/src/main/java/bisq/core/arbitration/BuyerDataItem.java rename to core/src/main/java/bisq/core/support/dispute/arbitration/BuyerDataItem.java index 5836c08961c..7962a4e074f 100644 --- a/core/src/main/java/bisq/core/arbitration/BuyerDataItem.java +++ b/core/src/main/java/bisq/core/support/dispute/arbitration/BuyerDataItem.java @@ -15,7 +15,7 @@ * along with Bisq. If not, see . */ -package bisq.core.arbitration; +package bisq.core.support.dispute.arbitration; import bisq.core.account.witness.AccountAgeWitness; import bisq.core.payment.payload.PaymentAccountPayload; @@ -27,6 +27,7 @@ import lombok.EqualsAndHashCode; import lombok.Getter; +// TODO consider to move to signed witness domain @Getter @EqualsAndHashCode(onlyExplicitlyIncluded = true) public class BuyerDataItem { diff --git a/core/src/main/java/bisq/core/arbitration/Arbitrator.java b/core/src/main/java/bisq/core/support/dispute/arbitration/arbitrator/Arbitrator.java similarity index 59% rename from core/src/main/java/bisq/core/arbitration/Arbitrator.java rename to core/src/main/java/bisq/core/support/dispute/arbitration/arbitrator/Arbitrator.java index f0552c08d9c..12c5cb91f7d 100644 --- a/core/src/main/java/bisq/core/arbitration/Arbitrator.java +++ b/core/src/main/java/bisq/core/support/dispute/arbitration/arbitrator/Arbitrator.java @@ -15,28 +15,24 @@ * along with Bisq. If not, see . */ -package bisq.core.arbitration; +package bisq.core.support.dispute.arbitration.arbitrator; + +import bisq.core.support.dispute.agent.DisputeAgent; import bisq.network.p2p.NodeAddress; -import bisq.network.p2p.storage.payload.ExpirablePayload; -import bisq.network.p2p.storage.payload.ProtectedStoragePayload; import bisq.common.crypto.PubKeyRing; import bisq.common.proto.ProtoUtil; -import bisq.common.util.ExtraDataMapValidator; import bisq.common.util.Utilities; import com.google.protobuf.ByteString; import org.springframework.util.CollectionUtils; -import java.security.PublicKey; - +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; import lombok.EqualsAndHashCode; import lombok.Getter; @@ -44,30 +40,12 @@ import javax.annotation.Nullable; -@EqualsAndHashCode +@EqualsAndHashCode(callSuper = true) @Slf4j @Getter -public final class Arbitrator implements ProtectedStoragePayload, ExpirablePayload { - public static final long TTL = TimeUnit.DAYS.toMillis(10); - - private final NodeAddress nodeAddress; +public final class Arbitrator extends DisputeAgent { private final byte[] btcPubKey; private final String btcAddress; - private final PubKeyRing pubKeyRing; - private final List languageCodes; - private final long registrationDate; - private final byte[] registrationPubKey; - private final String registrationSignature; - @Nullable - private final String emailAddress; - @Nullable - private final String info; - - // Should be only used in emergency case if we need to add data but do not want to break backward compatibility - // at the P2P network storage checks. The hash of the object will be used to verify if the data is valid. Any new - // field in a class would break that hash and therefore break the storage mechanism. - @Nullable - private Map extraDataMap; public Arbitrator(NodeAddress nodeAddress, byte[] btcPubKey, @@ -80,17 +58,19 @@ public Arbitrator(NodeAddress nodeAddress, @Nullable String emailAddress, @Nullable String info, @Nullable Map extraDataMap) { - this.nodeAddress = nodeAddress; + + super(nodeAddress, + pubKeyRing, + languageCodes, + registrationDate, + registrationPubKey, + registrationSignature, + emailAddress, + info, + extraDataMap); + this.btcPubKey = btcPubKey; this.btcAddress = btcAddress; - this.pubKeyRing = pubKeyRing; - this.languageCodes = languageCodes; - this.registrationDate = registrationDate; - this.registrationPubKey = registrationPubKey; - this.registrationSignature = registrationSignature; - this.emailAddress = emailAddress; - this.info = info; - this.extraDataMap = ExtraDataMapValidator.getValidatedExtraDataMap(extraDataMap); } /////////////////////////////////////////////////////////////////////////////////////////// @@ -99,7 +79,7 @@ public Arbitrator(NodeAddress nodeAddress, @Override public protobuf.StoragePayload toProtoMessage() { - final protobuf.Arbitrator.Builder builder = protobuf.Arbitrator.newBuilder() + protobuf.Arbitrator.Builder builder = protobuf.Arbitrator.newBuilder() .setNodeAddress(nodeAddress.toProtoMessage()) .setBtcPubKey(ByteString.copyFrom(btcPubKey)) .setBtcAddress(btcAddress) @@ -119,7 +99,7 @@ public static Arbitrator fromProto(protobuf.Arbitrator proto) { proto.getBtcPubKey().toByteArray(), proto.getBtcAddress(), PubKeyRing.fromProto(proto.getPubKeyRing()), - proto.getLanguageCodesList().stream().collect(Collectors.toList()), + new ArrayList<>(proto.getLanguageCodesList()), proto.getRegistrationDate(), proto.getRegistrationPubKey().toByteArray(), proto.getRegistrationSignature(), @@ -133,31 +113,11 @@ public static Arbitrator fromProto(protobuf.Arbitrator proto) { // API /////////////////////////////////////////////////////////////////////////////////////////// - @Override - public long getTTL() { - return TTL; - } - - @Override - public PublicKey getOwnerPubKey() { - return pubKeyRing.getSignaturePubKey(); - } - - @Override public String toString() { return "Arbitrator{" + - "\n nodeAddress=" + nodeAddress + - ",\n btcPubKey=" + Utilities.bytesAsHexString(btcPubKey) + + "\n btcPubKey=" + Utilities.bytesAsHexString(btcPubKey) + ",\n btcAddress='" + btcAddress + '\'' + - ",\n pubKeyRing=" + pubKeyRing + - ",\n languageCodes=" + languageCodes + - ",\n registrationDate=" + registrationDate + - ",\n registrationPubKey=" + Utilities.bytesAsHexString(registrationPubKey) + - ",\n registrationSignature='" + registrationSignature + '\'' + - ",\n emailAddress='" + emailAddress + '\'' + - ",\n info='" + info + '\'' + - ",\n extraDataMap=" + extraDataMap + - "\n}"; + "\n} " + super.toString(); } } diff --git a/core/src/main/java/bisq/core/support/dispute/arbitration/arbitrator/ArbitratorManager.java b/core/src/main/java/bisq/core/support/dispute/arbitration/arbitrator/ArbitratorManager.java new file mode 100644 index 00000000000..196347a66aa --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/arbitration/arbitrator/ArbitratorManager.java @@ -0,0 +1,103 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute.arbitration.arbitrator; + +import bisq.core.app.AppOptionKeys; +import bisq.core.filter.FilterManager; +import bisq.core.support.dispute.agent.DisputeAgentManager; +import bisq.core.user.User; + +import bisq.network.p2p.storage.payload.ProtectedStorageEntry; + +import bisq.common.crypto.KeyRing; + +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.google.inject.name.Named; + +import java.util.List; + +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@Singleton +public class ArbitratorManager extends DisputeAgentManager { + + @Inject + public ArbitratorManager(KeyRing keyRing, + ArbitratorService arbitratorService, + User user, + FilterManager filterManager, + @Named(AppOptionKeys.USE_DEV_PRIVILEGE_KEYS) boolean useDevPrivilegeKeys) { + super(keyRing, arbitratorService, user, filterManager, useDevPrivilegeKeys); + } + + @Override + protected List getPubKeyList() { + return List.of("0365c6af94681dbee69de1851f98d4684063bf5c2d64b1c73ed5d90434f375a054", + "031c502a60f9dbdb5ae5e438a79819e4e1f417211dd537ac12c9bc23246534c4bd", + "02c1e5a242387b6d5319ce27246cea6edaaf51c3550591b528d2578a4753c56c2c", + "025c319faf7067d9299590dd6c97fe7e56cd4dac61205ccee1cd1fc390142390a2", + "038f6e24c2bfe5d51d0a290f20a9a657c270b94ef2b9c12cd15ca3725fa798fc55", + "0255256ff7fb615278c4544a9bbd3f5298b903b8a011cd7889be19b6b1c45cbefe", + "024a3a37289f08c910fbd925ebc72b946f33feaeff451a4738ee82037b4cda2e95", + "02a88b75e9f0f8afba1467ab26799dcc38fd7a6468fb2795444b425eb43e2c10bd", + "02349a51512c1c04c67118386f4d27d768c5195a83247c150a4b722d161722ba81", + "03f718a2e0dc672c7cdec0113e72c3322efc70412bb95870750d25c32cd98de17d", + "028ff47ee2c56e66313928975c58fa4f1b19a0f81f3a96c4e9c9c3c6768075509e", + "02b517c0cbc3a49548f448ddf004ed695c5a1c52ec110be1bfd65fa0ca0761c94b", + "03df837a3a0f3d858e82f3356b71d1285327f101f7c10b404abed2abc1c94e7169", + "0203a90fb2ab698e524a5286f317a183a84327b8f8c3f7fa4a98fec9e1cefd6b72", + "023c99cc073b851c892d8c43329ca3beb5d2213ee87111af49884e3ce66cbd5ba5"); + } + + @Override + protected boolean isExpectedInstance(ProtectedStorageEntry data) { + return data.getProtectedStoragePayload() instanceof Arbitrator; + } + + @Override + protected void addAcceptedDisputeAgentToUser(Arbitrator disputeAgent) { + user.addAcceptedArbitrator(disputeAgent); + } + + @Override + protected void removeAcceptedDisputeAgentFromUser(ProtectedStorageEntry data) { + user.removeAcceptedArbitrator((Arbitrator) data.getProtectedStoragePayload()); + } + + @Override + protected List getAcceptedDisputeAgentsFromUser() { + return user.getAcceptedArbitrators(); + } + + @Override + protected void clearAcceptedDisputeAgentsAtUser() { + user.clearAcceptedArbitrators(); + } + + @Override + protected Arbitrator getRegisteredDisputeAgentFromUser() { + return user.getRegisteredArbitrator(); + } + + @Override + protected void setRegisteredDisputeAgentAtUser(Arbitrator disputeAgent) { + user.setRegisteredArbitrator(disputeAgent); + } +} diff --git a/core/src/main/java/bisq/core/support/dispute/arbitration/arbitrator/ArbitratorService.java b/core/src/main/java/bisq/core/support/dispute/arbitration/arbitrator/ArbitratorService.java new file mode 100644 index 00000000000..34f19790cab --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/arbitration/arbitrator/ArbitratorService.java @@ -0,0 +1,61 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute.arbitration.arbitrator; + +import bisq.core.filter.FilterManager; +import bisq.core.support.dispute.agent.DisputeAgentService; + +import bisq.network.p2p.NodeAddress; +import bisq.network.p2p.P2PService; + +import com.google.inject.Singleton; + +import javax.inject.Inject; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +@Singleton +public class ArbitratorService extends DisputeAgentService { + @Inject + public ArbitratorService(P2PService p2PService, FilterManager filterManager) { + super(p2PService, filterManager); + } + + @Override + protected Set getDisputeAgentSet(List bannedDisputeAgents) { + return p2PService.getDataMap().values().stream() + .filter(data -> data.getProtectedStoragePayload() instanceof Arbitrator) + .map(data -> (Arbitrator) data.getProtectedStoragePayload()) + .filter(a -> bannedDisputeAgents == null || + !bannedDisputeAgents.contains(a.getNodeAddress().getFullAddress())) + .collect(Collectors.toSet()); + } + + @Override + protected List getDisputeAgentsFromFilter() { + return filterManager.getFilter() != null ? filterManager.getFilter().getArbitrators() : new ArrayList<>(); + } + + public Map getArbitrators() { + return super.getDisputeAgents(); + } +} diff --git a/core/src/main/java/bisq/core/support/dispute/arbitration/messages/ArbitrationMessage.java b/core/src/main/java/bisq/core/support/dispute/arbitration/messages/ArbitrationMessage.java new file mode 100644 index 00000000000..b88ed9e6014 --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/arbitration/messages/ArbitrationMessage.java @@ -0,0 +1,27 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute.arbitration.messages; + +import bisq.core.support.SupportType; +import bisq.core.support.dispute.messages.DisputeMessage; + +abstract class ArbitrationMessage extends DisputeMessage { + ArbitrationMessage(int messageVersion, String uid, SupportType supportType) { + super(messageVersion, uid, supportType); + } +} diff --git a/core/src/main/java/bisq/core/arbitration/messages/PeerPublishedDisputePayoutTxMessage.java b/core/src/main/java/bisq/core/support/dispute/arbitration/messages/PeerPublishedDisputePayoutTxMessage.java similarity index 78% rename from core/src/main/java/bisq/core/arbitration/messages/PeerPublishedDisputePayoutTxMessage.java rename to core/src/main/java/bisq/core/support/dispute/arbitration/messages/PeerPublishedDisputePayoutTxMessage.java index 2d5d96f74e6..17d90090442 100644 --- a/core/src/main/java/bisq/core/arbitration/messages/PeerPublishedDisputePayoutTxMessage.java +++ b/core/src/main/java/bisq/core/support/dispute/arbitration/messages/PeerPublishedDisputePayoutTxMessage.java @@ -15,7 +15,9 @@ * along with Bisq. If not, see . */ -package bisq.core.arbitration.messages; +package bisq.core.support.dispute.arbitration.messages; + +import bisq.core.support.SupportType; import bisq.network.p2p.NodeAddress; @@ -29,7 +31,7 @@ @Value @EqualsAndHashCode(callSuper = true) -public final class PeerPublishedDisputePayoutTxMessage extends DisputeMessage { +public final class PeerPublishedDisputePayoutTxMessage extends ArbitrationMessage { private final byte[] transaction; private final String tradeId; private final NodeAddress senderNodeAddress; @@ -37,12 +39,14 @@ public final class PeerPublishedDisputePayoutTxMessage extends DisputeMessage { public PeerPublishedDisputePayoutTxMessage(byte[] transaction, String tradeId, NodeAddress senderNodeAddress, - String uid) { + String uid, + SupportType supportType) { this(transaction, tradeId, senderNodeAddress, uid, - Version.getP2PMessageVersion()); + Version.getP2PMessageVersion(), + supportType); } @@ -54,8 +58,9 @@ private PeerPublishedDisputePayoutTxMessage(byte[] transaction, String tradeId, NodeAddress senderNodeAddress, String uid, - int messageVersion) { - super(messageVersion, uid); + int messageVersion, + SupportType supportType) { + super(messageVersion, uid, supportType); this.transaction = transaction; this.tradeId = tradeId; this.senderNodeAddress = senderNodeAddress; @@ -68,16 +73,19 @@ public protobuf.NetworkEnvelope toProtoNetworkEnvelope() { .setTransaction(ByteString.copyFrom(transaction)) .setTradeId(tradeId) .setSenderNodeAddress(senderNodeAddress.toProtoMessage()) - .setUid(uid)) + .setUid(uid) + .setType(SupportType.toProtoMessage(supportType))) .build(); } - public static PeerPublishedDisputePayoutTxMessage fromProto(protobuf.PeerPublishedDisputePayoutTxMessage proto, int messageVersion) { + public static PeerPublishedDisputePayoutTxMessage fromProto(protobuf.PeerPublishedDisputePayoutTxMessage proto, + int messageVersion) { return new PeerPublishedDisputePayoutTxMessage(proto.getTransaction().toByteArray(), proto.getTradeId(), NodeAddress.fromProto(proto.getSenderNodeAddress()), proto.getUid(), - messageVersion); + messageVersion, + SupportType.fromProto(proto.getType())); } @Override @@ -93,6 +101,7 @@ public String toString() { ",\n senderNodeAddress=" + senderNodeAddress + ",\n PeerPublishedDisputePayoutTxMessage.uid='" + uid + '\'' + ",\n messageVersion=" + messageVersion + + ",\n supportType=" + supportType + "\n} " + super.toString(); } } diff --git a/core/src/main/java/bisq/core/support/dispute/mediation/MediationDisputeList.java b/core/src/main/java/bisq/core/support/dispute/mediation/MediationDisputeList.java new file mode 100644 index 00000000000..ce45e2fede5 --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/mediation/MediationDisputeList.java @@ -0,0 +1,82 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute.mediation; + +import bisq.core.proto.CoreProtoResolver; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.DisputeList; + +import bisq.common.proto.ProtoUtil; +import bisq.common.storage.Storage; + +import com.google.protobuf.Message; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +import lombok.ToString; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@ToString +/* + * Holds a List of mediation dispute objects. + * + * Calls to the List are delegated because this class intercepts the add/remove calls so changes + * can be saved to disc. + */ +public final class MediationDisputeList extends DisputeList { + + MediationDisputeList(Storage storage) { + super(storage); + } + + @Override + public void readPersisted() { + MediationDisputeList persisted = storage.initAndGetPersisted(this, "MediationDisputeList", 0); + if (persisted != null) { + list.addAll(persisted.getList()); + } + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // PROTO BUFFER + /////////////////////////////////////////////////////////////////////////////////////////// + + private MediationDisputeList(Storage storage, List list) { + super(storage, list); + } + + @Override + public Message toProtoMessage() { + return protobuf.PersistableEnvelope.newBuilder().setMediationDisputeList(protobuf.MediationDisputeList.newBuilder() + .addAllDispute(ProtoUtil.collectionToProto(new ArrayList<>(list)))).build(); + } + + public static MediationDisputeList fromProto(protobuf.MediationDisputeList proto, + CoreProtoResolver coreProtoResolver, + Storage storage) { + List list = proto.getDisputeList().stream() + .map(disputeProto -> Dispute.fromProto(disputeProto, coreProtoResolver)) + .collect(Collectors.toList()); + list.forEach(e -> e.setStorage(storage)); + return new MediationDisputeList(storage, list); + } +} diff --git a/core/src/main/java/bisq/core/support/dispute/mediation/MediationDisputeListService.java b/core/src/main/java/bisq/core/support/dispute/mediation/MediationDisputeListService.java new file mode 100644 index 00000000000..cb4fbf40010 --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/mediation/MediationDisputeListService.java @@ -0,0 +1,48 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute.mediation; + +import bisq.core.support.dispute.DisputeListService; + +import bisq.common.storage.Storage; + +import javax.inject.Inject; +import javax.inject.Singleton; + +@Singleton +public final class MediationDisputeListService extends DisputeListService { + + /////////////////////////////////////////////////////////////////////////////////////////// + // Constructor + /////////////////////////////////////////////////////////////////////////////////////////// + + @Inject + public MediationDisputeListService(Storage storage) { + super(storage); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Implement template methods + /////////////////////////////////////////////////////////////////////////////////////////// + + @Override + protected MediationDisputeList getConcreteDisputeList() { + return new MediationDisputeList(storage); + } +} diff --git a/core/src/main/java/bisq/core/support/dispute/mediation/MediationManager.java b/core/src/main/java/bisq/core/support/dispute/mediation/MediationManager.java new file mode 100644 index 00000000000..592ff3fdd55 --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/mediation/MediationManager.java @@ -0,0 +1,251 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute.mediation; + +import bisq.core.btc.setup.WalletsSetup; +import bisq.core.btc.wallet.BtcWalletService; +import bisq.core.btc.wallet.TradeWalletService; +import bisq.core.offer.OpenOffer; +import bisq.core.offer.OpenOfferManager; +import bisq.core.support.SupportType; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.DisputeManager; +import bisq.core.support.dispute.DisputeResult; +import bisq.core.support.dispute.messages.DisputeResultMessage; +import bisq.core.support.dispute.messages.OpenNewDisputeMessage; +import bisq.core.support.dispute.messages.PeerOpenedDisputeMessage; +import bisq.core.support.messages.ChatMessage; +import bisq.core.support.messages.SupportMessage; +import bisq.core.trade.Trade; +import bisq.core.trade.TradeManager; +import bisq.core.trade.closed.ClosedTradableManager; +import bisq.core.trade.protocol.ProcessModel; +import bisq.core.trade.protocol.TradeProtocol; + +import bisq.network.p2p.AckMessageSourceType; +import bisq.network.p2p.NodeAddress; +import bisq.network.p2p.P2PService; + +import bisq.common.Timer; +import bisq.common.UserThread; +import bisq.common.crypto.PubKeyRing; +import bisq.common.handlers.ErrorMessageHandler; +import bisq.common.handlers.ResultHandler; +import bisq.common.util.Utilities; + +import org.bitcoinj.core.Coin; + +import com.google.inject.Inject; +import com.google.inject.Singleton; + +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.Optional; + +import lombok.extern.slf4j.Slf4j; + +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkNotNull; + +@Slf4j +@Singleton +public final class MediationManager extends DisputeManager { + + // The date when mediation is activated + private static final Date MEDIATION_ACTIVATED_DATE = Utilities.getUTCDate(2019, GregorianCalendar.SEPTEMBER, 1); + + public static boolean isMediationActivated() { + return new Date().after(MEDIATION_ACTIVATED_DATE); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Constructor + /////////////////////////////////////////////////////////////////////////////////////////// + + @Inject + public MediationManager(P2PService p2PService, + TradeWalletService tradeWalletService, + BtcWalletService walletService, + WalletsSetup walletsSetup, + TradeManager tradeManager, + ClosedTradableManager closedTradableManager, + OpenOfferManager openOfferManager, + PubKeyRing pubKeyRing, + MediationDisputeListService mediationDisputeListService) { + super(p2PService, tradeWalletService, walletService, walletsSetup, tradeManager, closedTradableManager, + openOfferManager, pubKeyRing, mediationDisputeListService); + } + + /////////////////////////////////////////////////////////////////////////////////////////// + // Implement template methods + /////////////////////////////////////////////////////////////////////////////////////////// + + @Override + public SupportType getSupportType() { + return SupportType.MEDIATION; + } + + @Override + public void dispatchMessage(SupportMessage message) { + if (canProcessMessage(message)) { + log.info("Received {} with tradeId {} and uid {}", + message.getClass().getSimpleName(), message.getTradeId(), message.getUid()); + + if (message instanceof OpenNewDisputeMessage) { + onOpenNewDisputeMessage((OpenNewDisputeMessage) message); + } else if (message instanceof PeerOpenedDisputeMessage) { + onPeerOpenedDisputeMessage((PeerOpenedDisputeMessage) message); + } else if (message instanceof ChatMessage) { + onChatMessage((ChatMessage) message); + } else if (message instanceof DisputeResultMessage) { + onDisputeResultMessage((DisputeResultMessage) message); + } else { + log.warn("Unsupported message at dispatchMessage. message={}", message); + } + } + } + + @Override + protected Trade.DisputeState getDisputeState_StartedByPeer() { + return Trade.DisputeState.MEDIATION_STARTED_BY_PEER; + } + + @Override + protected AckMessageSourceType getAckMessageSourceType() { + return AckMessageSourceType.MEDIATION_MESSAGE; + } + + @Override + public void cleanupDisputes() { + disputeListService.cleanupDisputes(tradeId -> { + tradeManager.getTradeById(tradeId).filter(trade -> trade.getPayoutTx() != null) + .ifPresent(trade -> { + tradeManager.closeDisputedTrade(tradeId, Trade.DisputeState.MEDIATION_CLOSED); + }); + }); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Message handler + /////////////////////////////////////////////////////////////////////////////////////////// + + @Override + // We get that message at both peers. The dispute object is in context of the trader + public void onDisputeResultMessage(DisputeResultMessage disputeResultMessage) { + DisputeResult disputeResult = disputeResultMessage.getDisputeResult(); + String tradeId = disputeResult.getTradeId(); + ChatMessage chatMessage = disputeResult.getChatMessage(); + checkNotNull(chatMessage, "chatMessage must not be null"); + Optional disputeOptional = findDispute(disputeResult); + String uid = disputeResultMessage.getUid(); + if (!disputeOptional.isPresent()) { + log.warn("We got a dispute result msg but we don't have a matching dispute. " + + "That might happen when we get the disputeResultMessage before the dispute was created. " + + "We try again after 2 sec. to apply the disputeResultMessage. TradeId = " + tradeId); + if (!delayMsgMap.containsKey(uid)) { + // We delay 2 sec. to be sure the comm. msg gets added first + Timer timer = UserThread.runAfter(() -> onDisputeResultMessage(disputeResultMessage), 2); + delayMsgMap.put(uid, timer); + } else { + log.warn("We got a dispute result msg after we already repeated to apply the message after a delay. " + + "That should never happen. TradeId = " + tradeId); + } + return; + } + + Dispute dispute = disputeOptional.get(); + cleanupRetryMap(uid); + if (!dispute.getChatMessages().contains(chatMessage)) { + dispute.addAndPersistChatMessage(chatMessage); + } else { + log.warn("We got a dispute mail msg what we have already stored. TradeId = " + chatMessage.getTradeId()); + } + dispute.setIsClosed(true); + + if (dispute.disputeResultProperty().get() != null) { + log.warn("We got already a dispute result. That should only happen if a dispute needs to be closed " + + "again because the first close did not succeed. TradeId = " + tradeId); + } + + dispute.setDisputeResult(disputeResult); + + Optional tradeOptional = tradeManager.getTradeById(tradeId); + if (tradeOptional.isPresent()) { + Trade trade = tradeOptional.get(); + if (trade.getDisputeState() == Trade.DisputeState.MEDIATION_REQUESTED || + trade.getDisputeState() == Trade.DisputeState.MEDIATION_STARTED_BY_PEER) { + trade.setDisputeState(Trade.DisputeState.MEDIATION_CLOSED); + } + } else { + Optional openOfferOptional = openOfferManager.getOpenOfferById(tradeId); + openOfferOptional.ifPresent(openOffer -> openOfferManager.closeOpenOffer(openOffer.getOffer())); + } + sendAckMessage(chatMessage, dispute.getAgentPubKeyRing(), true, null); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // API + /////////////////////////////////////////////////////////////////////////////////////////// + + @Override + public NodeAddress getAgentNodeAddress(Dispute dispute) { + return dispute.getContract().getMediatorNodeAddress(); + } + + public void acceptMediationResult(Trade trade, + ResultHandler resultHandler, + ErrorMessageHandler errorMessageHandler) { + String tradeId = trade.getId(); + Optional optionalDispute = findDispute(tradeId); + checkArgument(optionalDispute.isPresent(), "dispute must be present"); + DisputeResult disputeResult = optionalDispute.get().getDisputeResultProperty().get(); + Coin buyerPayoutAmount = disputeResult.getBuyerPayoutAmount(); + Coin sellerPayoutAmount = disputeResult.getSellerPayoutAmount(); + ProcessModel processModel = trade.getProcessModel(); + processModel.setBuyerPayoutAmountFromMediation(buyerPayoutAmount.value); + processModel.setSellerPayoutAmountFromMediation(sellerPayoutAmount.value); + TradeProtocol tradeProtocol = trade.getTradeProtocol(); + + trade.setMediationResultState(MediationResultState.MEDIATION_RESULT_ACCEPTED); + + // If we have not got yet the peers signature we sign and send to the peer our signature. + // Otherwise we sign and complete with the peers signature the payout tx. + if (processModel.getTradingPeer().getMediatedPayoutTxSignature() == null) { + tradeProtocol.onAcceptMediationResult(() -> { + if (trade.getPayoutTx() != null) { + tradeManager.closeDisputedTrade(tradeId, Trade.DisputeState.MEDIATION_CLOSED); + } + resultHandler.handleResult(); + }, errorMessageHandler); + } else { + tradeProtocol.onFinalizeMediationResultPayout(() -> { + if (trade.getPayoutTx() != null) { + tradeManager.closeDisputedTrade(tradeId, Trade.DisputeState.MEDIATION_CLOSED); + } + resultHandler.handleResult(); + }, errorMessageHandler); + } + } + + public void rejectMediationResult(Trade trade) { + trade.setMediationResultState(MediationResultState.MEDIATION_RESULT_REJECTED); + } +} diff --git a/core/src/main/java/bisq/core/support/dispute/mediation/MediationResultState.java b/core/src/main/java/bisq/core/support/dispute/mediation/MediationResultState.java new file mode 100644 index 00000000000..0d9f0c93b2d --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/mediation/MediationResultState.java @@ -0,0 +1,46 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute.mediation; + +import bisq.common.proto.ProtoUtil; + +public enum MediationResultState { + UNDEFINED_MEDIATION_RESULT, + MEDIATION_RESULT_ACCEPTED(), + MEDIATION_RESULT_REJECTED, + SIG_MSG_SENT, + SIG_MSG_ARRIVED, + SIG_MSG_IN_MAILBOX, + SIG_MSG_SEND_FAILED, + RECEIVED_SIG_MSG, + PAYOUT_TX_PUBLISHED, + PAYOUT_TX_PUBLISHED_MSG_SENT, + PAYOUT_TX_PUBLISHED_MSG_ARRIVED, + PAYOUT_TX_PUBLISHED_MSG_IN_MAILBOX, + PAYOUT_TX_PUBLISHED_MSG_SEND_FAILED, + RECEIVED_PAYOUT_TX_PUBLISHED_MSG, + PAYOUT_TX_SEEN_IN_NETWORK; + + public static MediationResultState fromProto(protobuf.MediationResultState mediationResultState) { + return ProtoUtil.enumFromProto(MediationResultState.class, mediationResultState.name()); + } + + public static protobuf.MediationResultState toProtoMessage(MediationResultState mediationResultState) { + return protobuf.MediationResultState.valueOf(mediationResultState.name()); + } +} diff --git a/core/src/main/java/bisq/core/support/dispute/mediation/MediationSession.java b/core/src/main/java/bisq/core/support/dispute/mediation/MediationSession.java new file mode 100644 index 00000000000..84fba15e6db --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/mediation/MediationSession.java @@ -0,0 +1,33 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute.mediation; + +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.DisputeSession; + +import lombok.extern.slf4j.Slf4j; + +import javax.annotation.Nullable; + +@Slf4j +public class MediationSession extends DisputeSession { + + public MediationSession(@Nullable Dispute dispute, boolean isTrader) { + super(dispute, isTrader); + } +} diff --git a/core/src/main/java/bisq/core/arbitration/Mediator.java b/core/src/main/java/bisq/core/support/dispute/mediation/mediator/Mediator.java similarity index 63% rename from core/src/main/java/bisq/core/arbitration/Mediator.java rename to core/src/main/java/bisq/core/support/dispute/mediation/mediator/Mediator.java index 30989cf80fd..f02b4aff92f 100644 --- a/core/src/main/java/bisq/core/arbitration/Mediator.java +++ b/core/src/main/java/bisq/core/support/dispute/mediation/mediator/Mediator.java @@ -15,57 +15,32 @@ * along with Bisq. If not, see . */ -package bisq.core.arbitration; +package bisq.core.support.dispute.mediation.mediator; + +import bisq.core.support.dispute.agent.DisputeAgent; import bisq.network.p2p.NodeAddress; -import bisq.network.p2p.storage.payload.ExpirablePayload; -import bisq.network.p2p.storage.payload.ProtectedStoragePayload; import bisq.common.crypto.PubKeyRing; import bisq.common.proto.ProtoUtil; -import bisq.common.util.ExtraDataMapValidator; import com.google.protobuf.ByteString; import org.springframework.util.CollectionUtils; -import java.security.PublicKey; - +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.ToString; import lombok.extern.slf4j.Slf4j; import javax.annotation.Nullable; -@EqualsAndHashCode +@EqualsAndHashCode(callSuper = true) @Slf4j -@ToString -@Getter -public final class Mediator implements ProtectedStoragePayload, ExpirablePayload { - private final PubKeyRing pubKeyRing; - private final NodeAddress nodeAddress; - private final List languageCodes; - private final long registrationDate; - private final String registrationSignature; - private final byte[] registrationPubKey; - @Nullable - private final String emailAddress; - @Nullable - private final String info; - - // Should be only used in emergency case if we need to add data but do not want to break backward compatibility - // at the P2P network storage checks. The hash of the object will be used to verify if the data is valid. Any new - // field in a class would break that hash and therefore break the storage mechanism. - @Nullable - private Map extraDataMap; - +public final class Mediator extends DisputeAgent { public Mediator(NodeAddress nodeAddress, PubKeyRing pubKeyRing, List languageCodes, @@ -75,17 +50,17 @@ public Mediator(NodeAddress nodeAddress, @Nullable String emailAddress, @Nullable String info, @Nullable Map extraDataMap) { - this.nodeAddress = nodeAddress; - this.pubKeyRing = pubKeyRing; - this.languageCodes = languageCodes; - this.registrationDate = registrationDate; - this.registrationPubKey = registrationPubKey; - this.registrationSignature = registrationSignature; - this.emailAddress = emailAddress; - this.info = info; - this.extraDataMap = ExtraDataMapValidator.getValidatedExtraDataMap(extraDataMap); - } + super(nodeAddress, + pubKeyRing, + languageCodes, + registrationDate, + registrationPubKey, + registrationSignature, + emailAddress, + info, + extraDataMap); + } /////////////////////////////////////////////////////////////////////////////////////////// // PROTO BUFFER @@ -109,7 +84,7 @@ public protobuf.StoragePayload toProtoMessage() { public static Mediator fromProto(protobuf.Mediator proto) { return new Mediator(NodeAddress.fromProto(proto.getNodeAddress()), PubKeyRing.fromProto(proto.getPubKeyRing()), - proto.getLanguageCodesList().stream().collect(Collectors.toList()), + new ArrayList<>(proto.getLanguageCodesList()), proto.getRegistrationDate(), proto.getRegistrationPubKey().toByteArray(), proto.getRegistrationSignature(), @@ -118,17 +93,14 @@ public static Mediator fromProto(protobuf.Mediator proto) { CollectionUtils.isEmpty(proto.getExtraDataMap()) ? null : proto.getExtraDataMap()); } + /////////////////////////////////////////////////////////////////////////////////////////// // API /////////////////////////////////////////////////////////////////////////////////////////// - @Override - public long getTTL() { - return TimeUnit.DAYS.toMillis(10); - } @Override - public PublicKey getOwnerPubKey() { - return pubKeyRing.getSignaturePubKey(); + public String toString() { + return "Mediator{} " + super.toString(); } } diff --git a/core/src/main/java/bisq/core/support/dispute/mediation/mediator/MediatorManager.java b/core/src/main/java/bisq/core/support/dispute/mediation/mediator/MediatorManager.java new file mode 100644 index 00000000000..9a711ee24b0 --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/mediation/mediator/MediatorManager.java @@ -0,0 +1,101 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute.mediation.mediator; + +import bisq.core.app.AppOptionKeys; +import bisq.core.filter.FilterManager; +import bisq.core.support.dispute.agent.DisputeAgentManager; +import bisq.core.user.User; + +import bisq.network.p2p.storage.payload.ProtectedStorageEntry; + +import bisq.common.crypto.KeyRing; + +import com.google.inject.Singleton; +import com.google.inject.name.Named; + +import javax.inject.Inject; + +import java.util.List; + +@Singleton +public class MediatorManager extends DisputeAgentManager { + + @Inject + public MediatorManager(KeyRing keyRing, + MediatorService mediatorService, + User user, + FilterManager filterManager, + @Named(AppOptionKeys.USE_DEV_PRIVILEGE_KEYS) boolean useDevPrivilegeKeys) { + super(keyRing, mediatorService, user, filterManager, useDevPrivilegeKeys); + } + + @Override + protected List getPubKeyList() { + return List.of("03be5471ff9090d322110d87912eefe89871784b1754d0707fdb917be5d88d3809", + "023736953a5a6638db71d7f78edc38cea0e42143c3b184ee67f331dafdc2c59efa", + "03d82260038253f7367012a4fc0c52dac74cfc67ac9cfbc3c3ad8fca746d8e5fc6", + "02dac85f726121ef333d425bc8e13173b5b365a6444176306e6a0a9e76ae1073bd", + "0342a5b37c8f843c3302e930d0197cdd8948a6f76747c05e138a6671a6a4caf739", + "027afa67c920867a70dfad77db6c6f74051f5af8bf56a1ad479f0bc4005df92325", + "03505f44f1893b64a457f8883afdd60774d7f4def6f82bb6f60be83a4b5b85cf82", + "0277d2d505d28ad67a03b001ef66f0eaaf1184fa87ebeaa937703cec7073cb2e8f", + "027cb3e9a56a438714e2144e2f75db7293ad967f12d5c29b17623efbd35ddbceb0", + "03be5471ff9090d322110d87912eefe89871784b1754d0707fdb917be5d88d3809", + "03756937d33d028eea274a3154775b2bffd076ffcc4a23fe0f9080f8b7fa0dab5b", + "03d8359823a91736cb7aecfaf756872daf258084133c9dd25b96ab3643707c38ca", + "03589ed6ded1a1aa92d6ad38bead13e4ad8ba24c60ca6ed8a8efc6e154e3f60add", + "0356965753f77a9c0e33ca7cc47fd43ce7f99b60334308ad3c11eed3665de79a78", + "031112eb033ebacb635754a2b7163c68270c9171c40f271e70e37b22a2590d3c18"); + } + + @Override + protected boolean isExpectedInstance(ProtectedStorageEntry data) { + return data.getProtectedStoragePayload() instanceof Mediator; + } + + @Override + protected void addAcceptedDisputeAgentToUser(Mediator disputeAgent) { + user.addAcceptedMediator(disputeAgent); + } + + @Override + protected void removeAcceptedDisputeAgentFromUser(ProtectedStorageEntry data) { + user.removeAcceptedMediator((Mediator) data.getProtectedStoragePayload()); + } + + @Override + protected List getAcceptedDisputeAgentsFromUser() { + return user.getAcceptedMediators(); + } + + @Override + protected void clearAcceptedDisputeAgentsAtUser() { + user.clearAcceptedMediators(); + } + + @Override + protected Mediator getRegisteredDisputeAgentFromUser() { + return user.getRegisteredMediator(); + } + + @Override + protected void setRegisteredDisputeAgentAtUser(Mediator disputeAgent) { + user.setRegisteredMediator(disputeAgent); + } +} diff --git a/core/src/main/java/bisq/core/support/dispute/mediation/mediator/MediatorService.java b/core/src/main/java/bisq/core/support/dispute/mediation/mediator/MediatorService.java new file mode 100644 index 00000000000..8ff78d2d7e6 --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/mediation/mediator/MediatorService.java @@ -0,0 +1,66 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute.mediation.mediator; + +import bisq.core.filter.FilterManager; +import bisq.core.support.dispute.agent.DisputeAgentService; + +import bisq.network.p2p.NodeAddress; +import bisq.network.p2p.P2PService; + +import com.google.inject.Singleton; + +import javax.inject.Inject; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +import lombok.extern.slf4j.Slf4j; + + +@Slf4j +@Singleton +public class MediatorService extends DisputeAgentService { + + @Inject + public MediatorService(P2PService p2PService, FilterManager filterManager) { + super(p2PService, filterManager); + } + + @Override + protected Set getDisputeAgentSet(List bannedDisputeAgents) { + return p2PService.getDataMap().values().stream() + .filter(data -> data.getProtectedStoragePayload() instanceof Mediator) + .map(data -> (Mediator) data.getProtectedStoragePayload()) + .filter(a -> bannedDisputeAgents == null || + !bannedDisputeAgents.contains(a.getNodeAddress().getFullAddress())) + .collect(Collectors.toSet()); + } + + @Override + protected List getDisputeAgentsFromFilter() { + return filterManager.getFilter() != null ? filterManager.getFilter().getMediators() : new ArrayList<>(); + } + + public Map getMediators() { + return super.getDisputeAgents(); + } +} diff --git a/core/src/main/java/bisq/core/support/dispute/messages/DisputeMessage.java b/core/src/main/java/bisq/core/support/dispute/messages/DisputeMessage.java new file mode 100644 index 00000000000..70167dea3f0 --- /dev/null +++ b/core/src/main/java/bisq/core/support/dispute/messages/DisputeMessage.java @@ -0,0 +1,28 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.dispute.messages; + +import bisq.core.support.SupportType; +import bisq.core.support.messages.SupportMessage; + +public abstract class DisputeMessage extends SupportMessage { + + public DisputeMessage(int messageVersion, String uid, SupportType supportType) { + super(messageVersion, uid, supportType); + } +} diff --git a/core/src/main/java/bisq/core/arbitration/messages/DisputeResultMessage.java b/core/src/main/java/bisq/core/support/dispute/messages/DisputeResultMessage.java similarity index 80% rename from core/src/main/java/bisq/core/arbitration/messages/DisputeResultMessage.java rename to core/src/main/java/bisq/core/support/dispute/messages/DisputeResultMessage.java index 8af7cd0bb7e..50f78529eb7 100644 --- a/core/src/main/java/bisq/core/arbitration/messages/DisputeResultMessage.java +++ b/core/src/main/java/bisq/core/support/dispute/messages/DisputeResultMessage.java @@ -15,9 +15,10 @@ * along with Bisq. If not, see . */ -package bisq.core.arbitration.messages; +package bisq.core.support.dispute.messages; -import bisq.core.arbitration.DisputeResult; +import bisq.core.support.SupportType; +import bisq.core.support.dispute.DisputeResult; import bisq.network.p2p.NodeAddress; @@ -36,11 +37,13 @@ public final class DisputeResultMessage extends DisputeMessage { public DisputeResultMessage(DisputeResult disputeResult, NodeAddress senderNodeAddress, - String uid) { + String uid, + SupportType supportType) { this(disputeResult, senderNodeAddress, uid, - Version.getP2PMessageVersion()); + Version.getP2PMessageVersion(), + supportType); } @@ -51,8 +54,9 @@ public DisputeResultMessage(DisputeResult disputeResult, private DisputeResultMessage(DisputeResult disputeResult, NodeAddress senderNodeAddress, String uid, - int messageVersion) { - super(messageVersion, uid); + int messageVersion, + SupportType supportType) { + super(messageVersion, uid, supportType); this.disputeResult = disputeResult; this.senderNodeAddress = senderNodeAddress; } @@ -63,7 +67,8 @@ public protobuf.NetworkEnvelope toProtoNetworkEnvelope() { .setDisputeResultMessage(protobuf.DisputeResultMessage.newBuilder() .setDisputeResult(disputeResult.toProtoMessage()) .setSenderNodeAddress(senderNodeAddress.toProtoMessage()) - .setUid(uid)) + .setUid(uid) + .setType(SupportType.toProtoMessage(supportType))) .build(); } @@ -72,7 +77,8 @@ public static DisputeResultMessage fromProto(protobuf.DisputeResultMessage proto return new DisputeResultMessage(DisputeResult.fromProto(proto.getDisputeResult()), NodeAddress.fromProto(proto.getSenderNodeAddress()), proto.getUid(), - messageVersion); + messageVersion, + SupportType.fromProto(proto.getType())); } @Override @@ -87,6 +93,7 @@ public String toString() { ",\n senderNodeAddress=" + senderNodeAddress + ",\n DisputeResultMessage.uid='" + uid + '\'' + ",\n messageVersion=" + messageVersion + + ",\n supportType=" + supportType + "\n} " + super.toString(); } } diff --git a/core/src/main/java/bisq/core/arbitration/messages/OpenNewDisputeMessage.java b/core/src/main/java/bisq/core/support/dispute/messages/OpenNewDisputeMessage.java similarity index 81% rename from core/src/main/java/bisq/core/arbitration/messages/OpenNewDisputeMessage.java rename to core/src/main/java/bisq/core/support/dispute/messages/OpenNewDisputeMessage.java index ded2ff94539..f60cda80565 100644 --- a/core/src/main/java/bisq/core/arbitration/messages/OpenNewDisputeMessage.java +++ b/core/src/main/java/bisq/core/support/dispute/messages/OpenNewDisputeMessage.java @@ -15,10 +15,11 @@ * along with Bisq. If not, see . */ -package bisq.core.arbitration.messages; +package bisq.core.support.dispute.messages; -import bisq.core.arbitration.Dispute; import bisq.core.proto.CoreProtoResolver; +import bisq.core.support.SupportType; +import bisq.core.support.dispute.Dispute; import bisq.network.p2p.NodeAddress; @@ -35,11 +36,13 @@ public final class OpenNewDisputeMessage extends DisputeMessage { public OpenNewDisputeMessage(Dispute dispute, NodeAddress senderNodeAddress, - String uid) { + String uid, + SupportType supportType) { this(dispute, senderNodeAddress, uid, - Version.getP2PMessageVersion()); + Version.getP2PMessageVersion(), + supportType); } @@ -50,8 +53,9 @@ public OpenNewDisputeMessage(Dispute dispute, private OpenNewDisputeMessage(Dispute dispute, NodeAddress senderNodeAddress, String uid, - int messageVersion) { - super(messageVersion, uid); + int messageVersion, + SupportType supportType) { + super(messageVersion, uid, supportType); this.dispute = dispute; this.senderNodeAddress = senderNodeAddress; } @@ -62,7 +66,8 @@ public protobuf.NetworkEnvelope toProtoNetworkEnvelope() { .setOpenNewDisputeMessage(protobuf.OpenNewDisputeMessage.newBuilder() .setUid(uid) .setDispute(dispute.toProtoMessage()) - .setSenderNodeAddress(senderNodeAddress.toProtoMessage())) + .setSenderNodeAddress(senderNodeAddress.toProtoMessage()) + .setType(SupportType.toProtoMessage(supportType))) .build(); } @@ -72,7 +77,8 @@ public static OpenNewDisputeMessage fromProto(protobuf.OpenNewDisputeMessage pro return new OpenNewDisputeMessage(Dispute.fromProto(proto.getDispute(), coreProtoResolver), NodeAddress.fromProto(proto.getSenderNodeAddress()), proto.getUid(), - messageVersion); + messageVersion, + SupportType.fromProto(proto.getType())); } @Override @@ -87,6 +93,7 @@ public String toString() { ",\n senderNodeAddress=" + senderNodeAddress + ",\n OpenNewDisputeMessage.uid='" + uid + '\'' + ",\n messageVersion=" + messageVersion + + ",\n supportType=" + supportType + "\n} " + super.toString(); } } diff --git a/core/src/main/java/bisq/core/arbitration/messages/PeerOpenedDisputeMessage.java b/core/src/main/java/bisq/core/support/dispute/messages/PeerOpenedDisputeMessage.java similarity index 80% rename from core/src/main/java/bisq/core/arbitration/messages/PeerOpenedDisputeMessage.java rename to core/src/main/java/bisq/core/support/dispute/messages/PeerOpenedDisputeMessage.java index fd741e95098..f2dc136accc 100644 --- a/core/src/main/java/bisq/core/arbitration/messages/PeerOpenedDisputeMessage.java +++ b/core/src/main/java/bisq/core/support/dispute/messages/PeerOpenedDisputeMessage.java @@ -15,10 +15,11 @@ * along with Bisq. If not, see . */ -package bisq.core.arbitration.messages; +package bisq.core.support.dispute.messages; -import bisq.core.arbitration.Dispute; import bisq.core.proto.CoreProtoResolver; +import bisq.core.support.SupportType; +import bisq.core.support.dispute.Dispute; import bisq.network.p2p.NodeAddress; @@ -35,11 +36,13 @@ public final class PeerOpenedDisputeMessage extends DisputeMessage { public PeerOpenedDisputeMessage(Dispute dispute, NodeAddress senderNodeAddress, - String uid) { + String uid, + SupportType supportType) { this(dispute, senderNodeAddress, uid, - Version.getP2PMessageVersion()); + Version.getP2PMessageVersion(), + supportType); } @@ -50,8 +53,9 @@ public PeerOpenedDisputeMessage(Dispute dispute, private PeerOpenedDisputeMessage(Dispute dispute, NodeAddress senderNodeAddress, String uid, - int messageVersion) { - super(messageVersion, uid); + int messageVersion, + SupportType supportType) { + super(messageVersion, uid, supportType); this.dispute = dispute; this.senderNodeAddress = senderNodeAddress; } @@ -62,7 +66,8 @@ public protobuf.NetworkEnvelope toProtoNetworkEnvelope() { .setPeerOpenedDisputeMessage(protobuf.PeerOpenedDisputeMessage.newBuilder() .setUid(uid) .setDispute(dispute.toProtoMessage()) - .setSenderNodeAddress(senderNodeAddress.toProtoMessage())) + .setSenderNodeAddress(senderNodeAddress.toProtoMessage()) + .setType(SupportType.toProtoMessage(supportType))) .build(); } @@ -70,7 +75,8 @@ public static PeerOpenedDisputeMessage fromProto(protobuf.PeerOpenedDisputeMessa return new PeerOpenedDisputeMessage(Dispute.fromProto(proto.getDispute(), coreProtoResolver), NodeAddress.fromProto(proto.getSenderNodeAddress()), proto.getUid(), - messageVersion); + messageVersion, + SupportType.fromProto(proto.getType())); } @Override @@ -85,6 +91,7 @@ public String toString() { ",\n senderNodeAddress=" + senderNodeAddress + ",\n PeerOpenedDisputeMessage.uid='" + uid + '\'' + ",\n messageVersion=" + messageVersion + + ",\n supportType=" + supportType + "\n} " + super.toString(); } } diff --git a/core/src/main/java/bisq/core/arbitration/messages/DisputeCommunicationMessage.java b/core/src/main/java/bisq/core/support/messages/ChatMessage.java similarity index 72% rename from core/src/main/java/bisq/core/arbitration/messages/DisputeCommunicationMessage.java rename to core/src/main/java/bisq/core/support/messages/ChatMessage.java index c198c64f8ec..51c4f2a06d5 100644 --- a/core/src/main/java/bisq/core/arbitration/messages/DisputeCommunicationMessage.java +++ b/core/src/main/java/bisq/core/support/messages/ChatMessage.java @@ -15,14 +15,14 @@ * along with Bisq. If not, see . */ -package bisq.core.arbitration.messages; +package bisq.core.support.messages; -import bisq.core.arbitration.Attachment; +import bisq.core.support.SupportType; +import bisq.core.support.dispute.Attachment; import bisq.network.p2p.NodeAddress; import bisq.common.app.Version; -import bisq.common.proto.ProtoUtil; import bisq.common.util.Utilities; import javafx.beans.property.BooleanProperty; @@ -58,29 +58,12 @@ @EqualsAndHashCode(callSuper = true) // listener is transient and therefore excluded anyway @Getter @Slf4j -public final class DisputeCommunicationMessage extends DisputeMessage { - - public enum Type { - MEDIATION, - ARBITRATION, - TRADE; - - public static DisputeCommunicationMessage.Type fromProto( - protobuf.DisputeCommunicationMessage.Type type) { - return ProtoUtil.enumFromProto(DisputeCommunicationMessage.Type.class, type.name()); - } - - public static protobuf.DisputeCommunicationMessage.Type toProtoMessage(Type type) { - return protobuf.DisputeCommunicationMessage.Type.valueOf(type.name()); - } - } +public final class ChatMessage extends SupportMessage { public interface Listener { void onMessageStateChanged(); } - // Added with v1.1.6. Old clients will not have set that field and we fall back to entry 0 which is DISPUTE. - private final DisputeCommunicationMessage.Type type; private final String tradeId; private final int traderId; // This is only used for the server client relationship @@ -93,10 +76,11 @@ public interface Listener { @Setter private boolean isSystemMessage; - // Added in v1.1.6. + // Added in v1.1.6. for trader chat to store if message was shown in popup @Setter private boolean wasDisplayed; + //todo move to base class private final BooleanProperty arrivedProperty; private final BooleanProperty storedInMailboxProperty; private final BooleanProperty acknowledgedProperty; @@ -105,13 +89,13 @@ public interface Listener { transient private WeakReference listener; - public DisputeCommunicationMessage(DisputeCommunicationMessage.Type type, - String tradeId, - int traderId, - boolean senderIsTrader, - String message, - NodeAddress senderNodeAddress) { - this(type, + public ChatMessage(SupportType supportType, + String tradeId, + int traderId, + boolean senderIsTrader, + String message, + NodeAddress senderNodeAddress) { + this(supportType, tradeId, traderId, senderIsTrader, @@ -129,14 +113,39 @@ public DisputeCommunicationMessage(DisputeCommunicationMessage.Type type, false); } - public DisputeCommunicationMessage(DisputeCommunicationMessage.Type type, - String tradeId, - int traderId, - boolean senderIsTrader, - String message, - NodeAddress senderNodeAddress, - long date) { - this(type, + public ChatMessage(SupportType supportType, + String tradeId, + int traderId, + boolean senderIsTrader, + String message, + NodeAddress senderNodeAddress, + ArrayList attachments) { + this(supportType, + tradeId, + traderId, + senderIsTrader, + message, + attachments, + senderNodeAddress, + new Date().getTime(), + false, + false, + UUID.randomUUID().toString(), + Version.getP2PMessageVersion(), + false, + null, + null, + false); + } + + public ChatMessage(SupportType supportType, + String tradeId, + int traderId, + boolean senderIsTrader, + String message, + NodeAddress senderNodeAddress, + long date) { + this(supportType, tradeId, traderId, senderIsTrader, @@ -159,24 +168,23 @@ public DisputeCommunicationMessage(DisputeCommunicationMessage.Type type, // PROTO BUFFER /////////////////////////////////////////////////////////////////////////////////////////// - private DisputeCommunicationMessage(Type type, - String tradeId, - int traderId, - boolean senderIsTrader, - String message, - @Nullable List attachments, - NodeAddress senderNodeAddress, - long date, - boolean arrived, - boolean storedInMailbox, - String uid, - int messageVersion, - boolean acknowledged, - @Nullable String sendMessageError, - @Nullable String ackError, - boolean wasDisplayed) { - super(messageVersion, uid); - this.type = type; + private ChatMessage(SupportType supportType, + String tradeId, + int traderId, + boolean senderIsTrader, + String message, + @Nullable List attachments, + NodeAddress senderNodeAddress, + long date, + boolean arrived, + boolean storedInMailbox, + String uid, + int messageVersion, + boolean acknowledged, + @Nullable String sendMessageError, + @Nullable String ackError, + boolean wasDisplayed) { + super(messageVersion, uid, supportType); this.tradeId = tradeId; this.traderId = traderId; this.senderIsTrader = senderIsTrader; @@ -193,10 +201,11 @@ private DisputeCommunicationMessage(Type type, notifyChangeListener(); } + // We cannot rename protobuf definition because it would break backward compatibility @Override public protobuf.NetworkEnvelope toProtoNetworkEnvelope() { - protobuf.DisputeCommunicationMessage.Builder builder = protobuf.DisputeCommunicationMessage.newBuilder() - .setType(DisputeCommunicationMessage.Type.toProtoMessage(type)) + protobuf.ChatMessage.Builder builder = protobuf.ChatMessage.newBuilder() + .setType(SupportType.toProtoMessage(supportType)) .setTradeId(tradeId) .setTraderId(traderId) .setSenderIsTrader(senderIsTrader) @@ -213,17 +222,17 @@ public protobuf.NetworkEnvelope toProtoNetworkEnvelope() { Optional.ofNullable(sendMessageErrorProperty.get()).ifPresent(builder::setSendMessageError); Optional.ofNullable(ackErrorProperty.get()).ifPresent(builder::setAckError); return getNetworkEnvelopeBuilder() - .setDisputeCommunicationMessage(builder) + .setChatMessage(builder) .build(); } - public static DisputeCommunicationMessage fromProto(protobuf.DisputeCommunicationMessage proto, - int messageVersion) { + // The protobuf definition ChatMessage cannot be changed as it would break backward compatibility. + public static ChatMessage fromProto(protobuf.ChatMessage proto, + int messageVersion) { // If we get a msg from an old client type will be ordinal 0 which is the dispute entry and as we only added // the trade case it is the desired behaviour. - DisputeCommunicationMessage.Type type = DisputeCommunicationMessage.Type.fromProto(proto.getType()); - final DisputeCommunicationMessage disputeCommunicationMessage = new DisputeCommunicationMessage( - type, + final ChatMessage chatMessage = new ChatMessage( + SupportType.fromProto(proto.getType()), proto.getTradeId(), proto.getTraderId(), proto.getSenderIsTrader(), @@ -239,11 +248,11 @@ public static DisputeCommunicationMessage fromProto(protobuf.DisputeCommunicatio proto.getSendMessageError().isEmpty() ? null : proto.getSendMessageError(), proto.getAckError().isEmpty() ? null : proto.getAckError(), proto.getWasDisplayed()); - disputeCommunicationMessage.setSystemMessage(proto.getIsSystemMessage()); - return disputeCommunicationMessage; + chatMessage.setSystemMessage(proto.getIsSystemMessage()); + return chatMessage; } - public static DisputeCommunicationMessage fromPayloadProto(protobuf.DisputeCommunicationMessage proto) { + public static ChatMessage fromPayloadProto(protobuf.ChatMessage proto) { // We have the case that an envelope got wrapped into a payload. // We don't check the message version here as it was checked in the carrier envelope already (in connection class) // Payloads don't have a message version and are also used for persistence @@ -256,7 +265,7 @@ public static DisputeCommunicationMessage fromPayloadProto(protobuf.DisputeCommu // API /////////////////////////////////////////////////////////////////////////////////////////// - public void addAllAttachments(List attachments) { + private void addAllAttachments(List attachments) { this.attachments.addAll(attachments); } @@ -330,8 +339,8 @@ private void notifyChangeListener() { @Override public String toString() { - return "DisputeCommunicationMessage{" + - "\n type='" + type + '\'' + + return "ChatMessage{" + + "\n type='" + supportType + '\'' + ",\n tradeId='" + tradeId + '\'' + ",\n traderId=" + traderId + ",\n senderIsTrader=" + senderIsTrader + @@ -342,7 +351,7 @@ public String toString() { ",\n isSystemMessage=" + isSystemMessage + ",\n arrivedProperty=" + arrivedProperty + ",\n storedInMailboxProperty=" + storedInMailboxProperty + - ",\n DisputeCommunicationMessage.uid='" + uid + '\'' + + ",\n ChatMessage.uid='" + uid + '\'' + ",\n messageVersion=" + messageVersion + ",\n acknowledgedProperty=" + acknowledgedProperty + ",\n sendMessageErrorProperty=" + sendMessageErrorProperty + diff --git a/core/src/main/java/bisq/core/arbitration/messages/DisputeMessage.java b/core/src/main/java/bisq/core/support/messages/SupportMessage.java similarity index 73% rename from core/src/main/java/bisq/core/arbitration/messages/DisputeMessage.java rename to core/src/main/java/bisq/core/support/messages/SupportMessage.java index 1eb34283924..fae761210fa 100644 --- a/core/src/main/java/bisq/core/arbitration/messages/DisputeMessage.java +++ b/core/src/main/java/bisq/core/support/messages/SupportMessage.java @@ -15,7 +15,9 @@ * along with Bisq. If not, see . */ -package bisq.core.arbitration.messages; +package bisq.core.support.messages; + +import bisq.core.support.SupportType; import bisq.network.p2p.MailboxMessage; import bisq.network.p2p.UidMessage; @@ -27,12 +29,16 @@ @EqualsAndHashCode(callSuper = true) @Getter -public abstract class DisputeMessage extends NetworkEnvelope implements MailboxMessage, UidMessage { +public abstract class SupportMessage extends NetworkEnvelope implements MailboxMessage, UidMessage { protected final String uid; - public DisputeMessage(int messageVersion, String uid) { + // Added with v1.1.6. Old clients will not have set that field and we fall back to entry 0 which is ARBITRATION. + protected final SupportType supportType; + + public SupportMessage(int messageVersion, String uid, SupportType supportType) { super(messageVersion); this.uid = uid; + this.supportType = supportType; } public abstract String getTradeId(); @@ -42,6 +48,7 @@ public String toString() { return "DisputeMessage{" + "\n uid='" + uid + '\'' + ",\n messageVersion=" + messageVersion + + ",\n supportType=" + supportType + "\n} " + super.toString(); } } diff --git a/core/src/main/java/bisq/core/support/traderchat/TradeChatSession.java b/core/src/main/java/bisq/core/support/traderchat/TradeChatSession.java new file mode 100644 index 00000000000..c465d5ff72c --- /dev/null +++ b/core/src/main/java/bisq/core/support/traderchat/TradeChatSession.java @@ -0,0 +1,73 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.traderchat; + +import bisq.core.support.SupportSession; +import bisq.core.support.messages.ChatMessage; +import bisq.core.trade.Trade; + +import bisq.common.crypto.PubKeyRing; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; + +import lombok.extern.slf4j.Slf4j; + +import javax.annotation.Nullable; + +@Slf4j +public class TradeChatSession extends SupportSession { + + @Nullable + private Trade trade; + + public TradeChatSession(@Nullable Trade trade, + boolean isClient) { + super(isClient); + this.trade = trade; + } + + @Override + public String getTradeId() { + return trade != null ? trade.getId() : ""; + } + + @Override + public PubKeyRing getClientPubKeyRing() { + // TODO remove that client-server concept for trade chat + // Get pubKeyRing of taker. Maker is considered server for chat sessions + if (trade != null && trade.getContract() != null) + return trade.getContract().getTakerPubKeyRing(); + return null; + } + + @Override + public ObservableList getObservableChatMessageList() { + return trade != null ? trade.getChatMessages() : FXCollections.observableArrayList(); + } + + @Override + public boolean chatIsOpen() { + return trade != null && trade.getState() != Trade.State.WITHDRAW_COMPLETED; + } + + @Override + public boolean isDisputeAgent() { + return false; + } +} diff --git a/core/src/main/java/bisq/core/support/traderchat/TraderChatManager.java b/core/src/main/java/bisq/core/support/traderchat/TraderChatManager.java new file mode 100644 index 00000000000..de5659e5bfd --- /dev/null +++ b/core/src/main/java/bisq/core/support/traderchat/TraderChatManager.java @@ -0,0 +1,187 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.support.traderchat; + +import bisq.core.btc.setup.WalletsSetup; +import bisq.core.locale.Res; +import bisq.core.support.SupportManager; +import bisq.core.support.SupportType; +import bisq.core.support.dispute.messages.DisputeResultMessage; +import bisq.core.support.messages.ChatMessage; +import bisq.core.support.messages.SupportMessage; +import bisq.core.trade.Trade; +import bisq.core.trade.TradeManager; + +import bisq.network.p2p.AckMessageSourceType; +import bisq.network.p2p.NodeAddress; +import bisq.network.p2p.P2PService; + +import bisq.common.crypto.PubKeyRing; + +import javax.inject.Inject; +import javax.inject.Singleton; + +import javafx.collections.ObservableList; + +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.stream.Collectors; + +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@Singleton +public class TraderChatManager extends SupportManager { + private final TradeManager tradeManager; + private final PubKeyRing pubKeyRing; + + public interface DisputeStateListener { + void onDisputeClosed(String tradeId); + } + + // Needed to avoid ConcurrentModificationException as we remove a listener at the handler call + private List disputeStateListeners = new CopyOnWriteArrayList<>(); + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Constructor + /////////////////////////////////////////////////////////////////////////////////////////// + + @Inject + public TraderChatManager(P2PService p2PService, + WalletsSetup walletsSetup, + TradeManager tradeManager, + PubKeyRing pubKeyRing) { + super(p2PService, walletsSetup); + this.tradeManager = tradeManager; + this.pubKeyRing = pubKeyRing; + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Implement template methods + /////////////////////////////////////////////////////////////////////////////////////////// + + @Override + public SupportType getSupportType() { + return SupportType.TRADE; + } + + @Override + public void persist() { + tradeManager.persistTrades(); + } + + @Override + public NodeAddress getPeerNodeAddress(ChatMessage message) { + return tradeManager.getTradeById(message.getTradeId()).map(trade -> { + if (trade.getContract() != null) { + return trade.getContract().getPeersNodeAddress(pubKeyRing); + } else { + return null; + } + }).orElse(null); + } + + @Override + public PubKeyRing getPeerPubKeyRing(ChatMessage message) { + return tradeManager.getTradeById(message.getTradeId()).map(trade -> { + if (trade.getContract() != null) { + return trade.getContract().getPeersPubKeyRing(pubKeyRing); + } else { + return null; + } + }).orElse(null); + } + + @Override + public List getAllChatMessages() { + return tradeManager.getTradableList().stream() + .flatMap(trade -> trade.getChatMessages().stream()) + .collect(Collectors.toList()); + } + + @Override + public boolean channelOpen(ChatMessage message) { + return tradeManager.getTradeById(message.getTradeId()).isPresent(); + } + + @Override + public void addAndPersistChatMessage(ChatMessage message) { + tradeManager.getTradeById(message.getTradeId()).ifPresent(trade -> { + ObservableList chatMessages = trade.getChatMessages(); + if (chatMessages.stream().noneMatch(m -> m.getUid().equals(message.getUid()))) { + if (chatMessages.isEmpty()) { + addSystemMsg(trade); + } + trade.addAndPersistChatMessage(message); + } else { + log.warn("Trade got a chatMessage what we have already stored. UId = {} TradeId = {}", + message.getUid(), message.getTradeId()); + } + }); + } + + @Override + protected AckMessageSourceType getAckMessageSourceType() { + return AckMessageSourceType.TRADE_CHAT_MESSAGE; + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // API + /////////////////////////////////////////////////////////////////////////////////////////// + + public void addDisputeStateListener(TraderChatManager.DisputeStateListener disputeStateListener) { + disputeStateListeners.add(disputeStateListener); + } + + public void removeDisputeStateListener(TraderChatManager.DisputeStateListener disputeStateListener) { + disputeStateListeners.remove(disputeStateListener); + } + + public void dispatchMessage(SupportMessage message) { + if (canProcessMessage(message)) { + log.info("Received {} with tradeId {} and uid {}", + message.getClass().getSimpleName(), message.getTradeId(), message.getUid()); + if (message instanceof ChatMessage) { + onChatMessage((ChatMessage) message); + } else if (message instanceof DisputeResultMessage) { + // We notify about dispute closed state + disputeStateListeners.forEach(e -> e.onDisputeClosed(message.getTradeId())); + } else { + log.warn("Unsupported message at dispatchMessage. message={}", message); + } + } + } + + public void addSystemMsg(Trade trade) { + // We need to use the trade date as otherwise our system msg would not be displayed first as the list is sorted + // by date. + ChatMessage chatMessage = new ChatMessage( + getSupportType(), + trade.getId(), + 0, + false, + Res.get("tradeChat.rules"), + new NodeAddress("null:0000"), + trade.getDate().getTime()); + chatMessage.setSystemMessage(true); + trade.getChatMessages().add(chatMessage); + } +} diff --git a/core/src/main/java/bisq/core/trade/BuyerAsMakerTrade.java b/core/src/main/java/bisq/core/trade/BuyerAsMakerTrade.java index b4de75c558c..17eeca7a7a4 100644 --- a/core/src/main/java/bisq/core/trade/BuyerAsMakerTrade.java +++ b/core/src/main/java/bisq/core/trade/BuyerAsMakerTrade.java @@ -47,9 +47,17 @@ public BuyerAsMakerTrade(Offer offer, Coin takeOfferFee, boolean isCurrencyForTakerFeeBtc, @Nullable NodeAddress arbitratorNodeAddress, + @Nullable NodeAddress mediatorNodeAddress, Storage storage, BtcWalletService btcWalletService) { - super(offer, txFee, takeOfferFee, isCurrencyForTakerFeeBtc, arbitratorNodeAddress, storage, btcWalletService); + super(offer, + txFee, + takeOfferFee, + isCurrencyForTakerFeeBtc, + arbitratorNodeAddress, + mediatorNodeAddress, + storage, + btcWalletService); } /////////////////////////////////////////////////////////////////////////////////////////// @@ -75,6 +83,7 @@ public static Tradable fromProto(protobuf.BuyerAsMakerTrade buyerAsMakerTradePro Coin.valueOf(proto.getTakerFeeAsLong()), proto.getIsCurrencyForTakerFeeBtc(), proto.hasArbitratorNodeAddress() ? NodeAddress.fromProto(proto.getArbitratorNodeAddress()) : null, + proto.hasMediatorNodeAddress() ? NodeAddress.fromProto(proto.getMediatorNodeAddress()) : null, storage, btcWalletService); @@ -98,7 +107,9 @@ protected void createTradeProtocol() { } @Override - public void handleTakeOfferRequest(TradeMessage message, NodeAddress taker, ErrorMessageHandler errorMessageHandler) { + public void handleTakeOfferRequest(TradeMessage message, + NodeAddress taker, + ErrorMessageHandler errorMessageHandler) { ((MakerProtocol) tradeProtocol).handleTakeOfferRequest(message, taker, errorMessageHandler); } } diff --git a/core/src/main/java/bisq/core/trade/BuyerAsTakerTrade.java b/core/src/main/java/bisq/core/trade/BuyerAsTakerTrade.java index e1d4d52b859..c4c2c1e7768 100644 --- a/core/src/main/java/bisq/core/trade/BuyerAsTakerTrade.java +++ b/core/src/main/java/bisq/core/trade/BuyerAsTakerTrade.java @@ -50,10 +50,20 @@ public BuyerAsTakerTrade(Offer offer, long tradePrice, NodeAddress tradingPeerNodeAddress, @Nullable NodeAddress arbitratorNodeAddress, + @Nullable NodeAddress mediatorNodeAddress, Storage storage, BtcWalletService btcWalletService) { - super(offer, tradeAmount, txFee, takerFee, isCurrencyForTakerFeeBtc, tradePrice, tradingPeerNodeAddress, - arbitratorNodeAddress, storage, btcWalletService); + super(offer, + tradeAmount, + txFee, + takerFee, + isCurrencyForTakerFeeBtc, + tradePrice, + tradingPeerNodeAddress, + arbitratorNodeAddress, + mediatorNodeAddress, + storage, + btcWalletService); } @@ -83,6 +93,7 @@ public static Tradable fromProto(protobuf.BuyerAsTakerTrade buyerAsTakerTradePro proto.getTradePrice(), proto.hasTradingPeerNodeAddress() ? NodeAddress.fromProto(proto.getTradingPeerNodeAddress()) : null, proto.hasArbitratorNodeAddress() ? NodeAddress.fromProto(proto.getArbitratorNodeAddress()) : null, + proto.hasMediatorNodeAddress() ? NodeAddress.fromProto(proto.getMediatorNodeAddress()) : null, storage, btcWalletService), proto, diff --git a/core/src/main/java/bisq/core/trade/BuyerTrade.java b/core/src/main/java/bisq/core/trade/BuyerTrade.java index 4d4c297135a..4c534b30f05 100644 --- a/core/src/main/java/bisq/core/trade/BuyerTrade.java +++ b/core/src/main/java/bisq/core/trade/BuyerTrade.java @@ -46,10 +46,20 @@ public abstract class BuyerTrade extends Trade { long tradePrice, NodeAddress tradingPeerNodeAddress, @Nullable NodeAddress arbitratorNodeAddress, + @Nullable NodeAddress mediatorNodeAddress, Storage storage, BtcWalletService btcWalletService) { - super(offer, tradeAmount, txFee, takerFee, isCurrencyForTakerFeeBtc, tradePrice, - tradingPeerNodeAddress, arbitratorNodeAddress, storage, btcWalletService); + super(offer, + tradeAmount, + txFee, + takerFee, + isCurrencyForTakerFeeBtc, + tradePrice, + tradingPeerNodeAddress, + arbitratorNodeAddress, + mediatorNodeAddress, + storage, + btcWalletService); } BuyerTrade(Offer offer, @@ -57,9 +67,17 @@ public abstract class BuyerTrade extends Trade { Coin takerFee, boolean isCurrencyForTakerFeeBtc, @Nullable NodeAddress arbitratorNodeAddress, + @Nullable NodeAddress mediatorNodeAddress, Storage storage, BtcWalletService btcWalletService) { - super(offer, txFee, takerFee, isCurrencyForTakerFeeBtc, arbitratorNodeAddress, storage, btcWalletService); + super(offer, + txFee, + takerFee, + isCurrencyForTakerFeeBtc, + arbitratorNodeAddress, + mediatorNodeAddress, + storage, + btcWalletService); } public void onFiatPaymentStarted(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { diff --git a/core/src/main/java/bisq/core/trade/Contract.java b/core/src/main/java/bisq/core/trade/Contract.java index b78219497f3..6ec2e573949 100644 --- a/core/src/main/java/bisq/core/trade/Contract.java +++ b/core/src/main/java/bisq/core/trade/Contract.java @@ -236,6 +236,31 @@ public Price getTradePrice() { return Price.valueOf(offerPayload.getCurrencyCode(), tradePrice); } + public NodeAddress getMyNodeAddress(PubKeyRing myPubKeyRing) { + if (myPubKeyRing.equals(getBuyerPubKeyRing())) + return buyerNodeAddress; + else + return sellerNodeAddress; + } + + public NodeAddress getPeersNodeAddress(PubKeyRing myPubKeyRing) { + if (myPubKeyRing.equals(getSellerPubKeyRing())) + return buyerNodeAddress; + else + return sellerNodeAddress; + } + + public PubKeyRing getPeersPubKeyRing(PubKeyRing myPubKeyRing) { + if (myPubKeyRing.equals(getSellerPubKeyRing())) + return getBuyerPubKeyRing(); + else + return getSellerPubKeyRing(); + } + + public boolean isMyRoleBuyer(PubKeyRing myPubKeyRing) { + return getBuyerPubKeyRing().equals(myPubKeyRing); + } + public void printDiff(@Nullable String peersContractAsJson) { final String json = Utilities.objectToJson(this); String diff = StringUtils.difference(json, peersContractAsJson); diff --git a/core/src/main/java/bisq/core/trade/SellerAsMakerTrade.java b/core/src/main/java/bisq/core/trade/SellerAsMakerTrade.java index 072f54b602b..08fb2f46ca2 100644 --- a/core/src/main/java/bisq/core/trade/SellerAsMakerTrade.java +++ b/core/src/main/java/bisq/core/trade/SellerAsMakerTrade.java @@ -47,9 +47,10 @@ public SellerAsMakerTrade(Offer offer, Coin takerFee, boolean isCurrencyForTakerFeeBtc, @Nullable NodeAddress arbitratorNodeAddress, + @Nullable NodeAddress mediatorNodeAddress, Storage storage, BtcWalletService btcWalletService) { - super(offer, txFee, takerFee, isCurrencyForTakerFeeBtc, arbitratorNodeAddress, storage, btcWalletService); + super(offer, txFee, takerFee, isCurrencyForTakerFeeBtc, arbitratorNodeAddress, mediatorNodeAddress, storage, btcWalletService); } @@ -76,6 +77,7 @@ public static Tradable fromProto(protobuf.SellerAsMakerTrade sellerAsMakerTradeP Coin.valueOf(proto.getTakerFeeAsLong()), proto.getIsCurrencyForTakerFeeBtc(), proto.hasArbitratorNodeAddress() ? NodeAddress.fromProto(proto.getArbitratorNodeAddress()) : null, + proto.hasMediatorNodeAddress() ? NodeAddress.fromProto(proto.getMediatorNodeAddress()) : null, storage, btcWalletService); diff --git a/core/src/main/java/bisq/core/trade/SellerAsTakerTrade.java b/core/src/main/java/bisq/core/trade/SellerAsTakerTrade.java index 22881b56b21..0d4aeb6b847 100644 --- a/core/src/main/java/bisq/core/trade/SellerAsTakerTrade.java +++ b/core/src/main/java/bisq/core/trade/SellerAsTakerTrade.java @@ -50,10 +50,20 @@ public SellerAsTakerTrade(Offer offer, long tradePrice, NodeAddress tradingPeerNodeAddress, @Nullable NodeAddress arbitratorNodeAddress, + @Nullable NodeAddress mediatorNodeAddress, Storage storage, BtcWalletService btcWalletService) { - super(offer, tradeAmount, txFee, takerFee, isCurrencyForTakerFeeBtc, tradePrice, - tradingPeerNodeAddress, arbitratorNodeAddress, storage, btcWalletService); + super(offer, + tradeAmount, + txFee, + takerFee, + isCurrencyForTakerFeeBtc, + tradePrice, + tradingPeerNodeAddress, + arbitratorNodeAddress, + mediatorNodeAddress, + storage, + btcWalletService); } @@ -83,6 +93,7 @@ public static Tradable fromProto(protobuf.SellerAsTakerTrade sellerAsTakerTradeP proto.getTradePrice(), proto.hasTradingPeerNodeAddress() ? NodeAddress.fromProto(proto.getTradingPeerNodeAddress()) : null, proto.hasArbitratorNodeAddress() ? NodeAddress.fromProto(proto.getArbitratorNodeAddress()) : null, + proto.hasMediatorNodeAddress() ? NodeAddress.fromProto(proto.getMediatorNodeAddress()) : null, storage, btcWalletService), proto, diff --git a/core/src/main/java/bisq/core/trade/SellerTrade.java b/core/src/main/java/bisq/core/trade/SellerTrade.java index 0d56eadd854..629dc5adb52 100644 --- a/core/src/main/java/bisq/core/trade/SellerTrade.java +++ b/core/src/main/java/bisq/core/trade/SellerTrade.java @@ -45,10 +45,20 @@ public abstract class SellerTrade extends Trade { long tradePrice, NodeAddress tradingPeerNodeAddress, @Nullable NodeAddress arbitratorNodeAddress, + @Nullable NodeAddress mediatorNodeAddress, Storage storage, BtcWalletService btcWalletService) { - super(offer, tradeAmount, txFee, takerFee, isCurrencyForTakerFeeBtc, tradePrice, - tradingPeerNodeAddress, arbitratorNodeAddress, storage, btcWalletService); + super(offer, + tradeAmount, + txFee, + takerFee, + isCurrencyForTakerFeeBtc, + tradePrice, + tradingPeerNodeAddress, + arbitratorNodeAddress, + mediatorNodeAddress, + storage, + btcWalletService); } SellerTrade(Offer offer, @@ -56,9 +66,17 @@ public abstract class SellerTrade extends Trade { Coin takeOfferFee, boolean isCurrencyForTakerFeeBtc, @Nullable NodeAddress arbitratorNodeAddress, + @Nullable NodeAddress mediatorNodeAddress, Storage storage, BtcWalletService btcWalletService) { - super(offer, txFee, takeOfferFee, isCurrencyForTakerFeeBtc, arbitratorNodeAddress, storage, btcWalletService); + super(offer, + txFee, + takeOfferFee, + isCurrencyForTakerFeeBtc, + arbitratorNodeAddress, + mediatorNodeAddress, + storage, + btcWalletService); } public void onFiatPaymentReceived(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { diff --git a/core/src/main/java/bisq/core/trade/Trade.java b/core/src/main/java/bisq/core/trade/Trade.java index 2a4ae411d50..f88b50ca042 100644 --- a/core/src/main/java/bisq/core/trade/Trade.java +++ b/core/src/main/java/bisq/core/trade/Trade.java @@ -18,10 +18,6 @@ package bisq.core.trade; import bisq.core.account.witness.AccountAgeWitnessService; -import bisq.core.arbitration.Arbitrator; -import bisq.core.arbitration.ArbitratorManager; -import bisq.core.arbitration.Mediator; -import bisq.core.arbitration.messages.DisputeCommunicationMessage; import bisq.core.btc.wallet.BsqWalletService; import bisq.core.btc.wallet.BtcWalletService; import bisq.core.btc.wallet.TradeWalletService; @@ -34,6 +30,11 @@ import bisq.core.offer.OpenOfferManager; import bisq.core.payment.payload.PaymentMethod; import bisq.core.proto.CoreProtoResolver; +import bisq.core.support.dispute.arbitration.arbitrator.Arbitrator; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; +import bisq.core.support.dispute.mediation.MediationResultState; +import bisq.core.support.dispute.mediation.mediator.MediatorManager; +import bisq.core.support.messages.ChatMessage; import bisq.core.trade.protocol.ProcessModel; import bisq.core.trade.protocol.TradeProtocol; import bisq.core.trade.statistics.ReferralIdService; @@ -44,7 +45,6 @@ import bisq.network.p2p.NodeAddress; import bisq.network.p2p.P2PService; -import bisq.common.UserThread; import bisq.common.crypto.KeyRing; import bisq.common.crypto.PubKeyRing; import bisq.common.proto.ProtoUtil; @@ -213,9 +213,15 @@ public static protobuf.Trade.Phase toProtoMessage(Trade.Phase phase) { public enum DisputeState { NO_DISPUTE, + // arbitration DISPUTE_REQUESTED, DISPUTE_STARTED_BY_PEER, - DISPUTE_CLOSED; + DISPUTE_CLOSED, + + // mediation + MEDIATION_REQUESTED, + MEDIATION_STARTED_BY_PEER, + MEDIATION_CLOSED; public static Trade.DisputeState fromProto(protobuf.Trade.DisputeState disputeState) { return ProtoUtil.enumFromProto(Trade.DisputeState.class, disputeState.name()); @@ -311,6 +317,7 @@ public static protobuf.Trade.TradePeriodState toProtoMessage(Trade.TradePeriodSt private String makerContractSignature; @Nullable @Getter + @Setter private NodeAddress arbitratorNodeAddress; @Nullable @Setter @@ -321,6 +328,7 @@ public static protobuf.Trade.TradePeriodState toProtoMessage(Trade.TradePeriodSt private PubKeyRing arbitratorPubKeyRing; @Nullable @Getter + @Setter private NodeAddress mediatorNodeAddress; @Nullable @Getter @@ -337,7 +345,7 @@ public static protobuf.Trade.TradePeriodState toProtoMessage(Trade.TradePeriodSt @Nullable private String counterCurrencyTxId; @Getter - private final ObservableList communicationMessages = FXCollections.observableArrayList(); + private final ObservableList chatMessages = FXCollections.observableArrayList(); // Transient // Immutable @@ -370,6 +378,12 @@ public static protobuf.Trade.TradePeriodState toProtoMessage(Trade.TradePeriodSt transient private ObjectProperty tradeVolumeProperty; final transient private Set decryptedMessageWithPubKeySet = new HashSet<>(); + //Added in v1.1.6 + @Getter + @Nullable + private MediationResultState mediationResultState = MediationResultState.UNDEFINED_MEDIATION_RESULT; + transient final private ObjectProperty mediationResultStateProperty = new SimpleObjectProperty<>(mediationResultState); + /////////////////////////////////////////////////////////////////////////////////////////// // Constructor, initialization @@ -381,6 +395,7 @@ protected Trade(Offer offer, Coin takerFee, boolean isCurrencyForTakerFeeBtc, @Nullable NodeAddress arbitratorNodeAddress, + @Nullable NodeAddress mediatorNodeAddress, Storage storage, BtcWalletService btcWalletService) { this.offer = offer; @@ -390,6 +405,7 @@ protected Trade(Offer offer, this.storage = storage; this.btcWalletService = btcWalletService; this.arbitratorNodeAddress = arbitratorNodeAddress; + this.mediatorNodeAddress = mediatorNodeAddress; txFeeAsLong = txFee.value; takerFeeAsLong = takerFee.value; @@ -408,10 +424,18 @@ protected Trade(Offer offer, long tradePrice, NodeAddress tradingPeerNodeAddress, @Nullable NodeAddress arbitratorNodeAddress, + @Nullable NodeAddress mediatorNodeAddress, Storage storage, BtcWalletService btcWalletService) { - this(offer, txFee, takerFee, isCurrencyForTakerFeeBtc, arbitratorNodeAddress, storage, btcWalletService); + this(offer, + txFee, + takerFee, + isCurrencyForTakerFeeBtc, + arbitratorNodeAddress, + mediatorNodeAddress, + storage, + btcWalletService); this.tradePrice = tradePrice; this.tradingPeerNodeAddress = tradingPeerNodeAddress; @@ -426,7 +450,7 @@ protected Trade(Offer offer, @Override public Message toProtoMessage() { final protobuf.Trade.Builder builder = protobuf.Trade.newBuilder() - .setOffer(offer.toProtoMessage()) + .setOffer(checkNotNull(offer).toProtoMessage()) .setIsCurrencyForTakerFeeBtc(isCurrencyForTakerFeeBtc) .setTxFeeAsLong(txFeeAsLong) .setTakerFeeAsLong(takerFeeAsLong) @@ -434,11 +458,11 @@ public Message toProtoMessage() { .setProcessModel(processModel.toProtoMessage()) .setTradeAmountAsLong(tradeAmountAsLong) .setTradePrice(tradePrice) - .setState(protobuf.Trade.State.valueOf(state.name())) - .setDisputeState(protobuf.Trade.DisputeState.valueOf(disputeState.name())) - .setTradePeriodState(protobuf.Trade.TradePeriodState.valueOf(tradePeriodState.name())) - .addAllCommunicationMessages(communicationMessages.stream() - .map(msg -> msg.toProtoNetworkEnvelope().getDisputeCommunicationMessage()) + .setState(Trade.State.toProtoMessage(state)) + .setDisputeState(Trade.DisputeState.toProtoMessage(disputeState)) + .setTradePeriodState(Trade.TradePeriodState.toProtoMessage(tradePeriodState)) + .addAllChatMessage(chatMessages.stream() + .map(msg -> msg.toProtoNetworkEnvelope().getChatMessage()) .collect(Collectors.toList())); Optional.ofNullable(takerFeeTxId).ifPresent(builder::setTakerFeeTxId); @@ -458,6 +482,7 @@ public Message toProtoMessage() { Optional.ofNullable(arbitratorPubKeyRing).ifPresent(e -> builder.setArbitratorPubKeyRing(arbitratorPubKeyRing.toProtoMessage())); Optional.ofNullable(mediatorPubKeyRing).ifPresent(e -> builder.setMediatorPubKeyRing(mediatorPubKeyRing.toProtoMessage())); Optional.ofNullable(counterCurrencyTxId).ifPresent(e -> builder.setCounterCurrencyTxId(counterCurrencyTxId)); + Optional.ofNullable(mediationResultState).ifPresent(e -> builder.setMediationResultState(MediationResultState.toProtoMessage(mediationResultState))); return builder.build(); } @@ -483,9 +508,10 @@ public static Trade fromProto(Trade trade, protobuf.Trade proto, CoreProtoResolv trade.setArbitratorPubKeyRing(proto.hasArbitratorPubKeyRing() ? PubKeyRing.fromProto(proto.getArbitratorPubKeyRing()) : null); trade.setMediatorPubKeyRing(proto.hasMediatorPubKeyRing() ? PubKeyRing.fromProto(proto.getMediatorPubKeyRing()) : null); trade.setCounterCurrencyTxId(proto.getCounterCurrencyTxId().isEmpty() ? null : proto.getCounterCurrencyTxId()); + trade.setMediationResultState(MediationResultState.fromProto(proto.getMediationResultState())); - trade.communicationMessages.addAll(proto.getCommunicationMessagesList().stream() - .map(DisputeCommunicationMessage::fromPayloadProto) + trade.chatMessages.addAll(proto.getChatMessageList().stream() + .map(ChatMessage::fromPayloadProto) .collect(Collectors.toList())); return trade; @@ -513,10 +539,11 @@ public void init(P2PService p2PService, AccountAgeWitnessService accountAgeWitnessService, TradeStatisticsManager tradeStatisticsManager, ArbitratorManager arbitratorManager, + MediatorManager mediatorManager, KeyRing keyRing, boolean useSavingsWallet, Coin fundsNeededForTrade) { - processModel.onAllServicesInitialized(offer, + processModel.onAllServicesInitialized(checkNotNull(offer, "offer must not be null"), tradeManager, openOfferManager, p2PService, @@ -529,17 +556,21 @@ public void init(P2PService p2PService, accountAgeWitnessService, tradeStatisticsManager, arbitratorManager, + mediatorManager, keyRing, useSavingsWallet, fundsNeededForTrade); - Optional optionalArbitrator = processModel.getArbitratorManager().getArbitratorByNodeAddress(arbitratorNodeAddress); - if (optionalArbitrator.isPresent()) { - Arbitrator arbitrator = optionalArbitrator.get(); + arbitratorManager.getDisputeAgentByNodeAddress(arbitratorNodeAddress).ifPresent(arbitrator -> { arbitratorBtcPubKey = arbitrator.getBtcPubKey(); arbitratorPubKeyRing = arbitrator.getPubKeyRing(); - UserThread.runAfter(this::persist, 1); - } + persist(); + }); + + mediatorManager.getDisputeAgentByNodeAddress(mediatorNodeAddress).ifPresent(mediator -> { + mediatorPubKeyRing = mediator.getPubKeyRing(); + persist(); + }); createTradeProtocol(); @@ -557,12 +588,11 @@ public void init(P2PService p2PService, /////////////////////////////////////////////////////////////////////////////////////////// // The deserialized tx has not actual confidence data, so we need to get the fresh one from the wallet. - public void updateDepositTxFromWallet() { + void updateDepositTxFromWallet() { if (getDepositTx() != null) setDepositTx(processModel.getTradeWalletService().getWalletTx(getDepositTx().getHash())); } - @SuppressWarnings("NullableProblems") public void setDepositTx(Transaction tx) { log.debug("setDepositTx " + tx); this.depositTx = tx; @@ -581,7 +611,7 @@ public Transaction getDepositTx() { // We don't need to persist the msg as if we dont apply it it will not be removed from the P2P network and we // will received it again at next startup. Such might happen in edge cases when the user shuts down after we // received the msb but before the init is called. - public void addDecryptedMessageWithPubKey(DecryptedMessageWithPubKey decryptedMessageWithPubKey) { + void addDecryptedMessageWithPubKey(DecryptedMessageWithPubKey decryptedMessageWithPubKey) { if (!decryptedMessageWithPubKeySet.contains(decryptedMessageWithPubKey)) { decryptedMessageWithPubKeySet.add(decryptedMessageWithPubKey); @@ -598,12 +628,12 @@ public void removeDecryptedMessageWithPubKey(DecryptedMessageWithPubKey decrypte decryptedMessageWithPubKeySet.remove(decryptedMessageWithPubKey); } - public void addCommunicationMessage(DisputeCommunicationMessage disputeCommunicationMessage) { - if (!communicationMessages.contains(disputeCommunicationMessage)) { - communicationMessages.add(disputeCommunicationMessage); + public void addAndPersistChatMessage(ChatMessage chatMessage) { + if (!chatMessages.contains(chatMessage)) { + chatMessages.add(chatMessage); storage.queueUpForSave(); } else { - log.error("Trade DisputeCommunicationMessage already exists"); + log.error("Trade ChatMessage already exists"); } } @@ -628,9 +658,9 @@ public void onComplete() { // Abstract /////////////////////////////////////////////////////////////////////////////////////////// - abstract protected void createTradeProtocol(); + protected abstract void createTradeProtocol(); - abstract public Coin getPayoutAmount(); + public abstract Coin getPayoutAmount(); /////////////////////////////////////////////////////////////////////////////////////////// @@ -665,6 +695,14 @@ public void setDisputeState(DisputeState disputeState) { persist(); } + public void setMediationResultState(MediationResultState mediationResultState) { + boolean changed = this.mediationResultState != mediationResultState; + this.mediationResultState = mediationResultState; + mediationResultStateProperty.set(mediationResultState); + if (changed) + persist(); + } + public void setTradePeriodState(TradePeriodState tradePeriodState) { boolean changed = this.tradePeriodState != tradePeriodState; @@ -674,7 +712,6 @@ public void setTradePeriodState(TradePeriodState tradePeriodState) { persist(); } - @SuppressWarnings("NullableProblems") public void setTradingPeerNodeAddress(NodeAddress tradingPeerNodeAddress) { if (tradingPeerNodeAddress == null) log.error("tradingPeerAddress=null"); @@ -682,7 +719,6 @@ public void setTradingPeerNodeAddress(NodeAddress tradingPeerNodeAddress) { this.tradingPeerNodeAddress = tradingPeerNodeAddress; } - @SuppressWarnings("NullableProblems") public void setTradeAmount(Coin tradeAmount) { this.tradeAmount = tradeAmount; tradeAmountAsLong = tradeAmount.value; @@ -690,42 +726,16 @@ public void setTradeAmount(Coin tradeAmount) { getTradeVolumeProperty().set(getTradeVolume()); } - @SuppressWarnings("NullableProblems") public void setPayoutTx(Transaction payoutTx) { this.payoutTx = payoutTx; payoutTxId = payoutTx.getHashAsString(); } - @SuppressWarnings("NullableProblems") public void setErrorMessage(String errorMessage) { this.errorMessage = errorMessage; errorMessageProperty.set(errorMessage); } - //TODO can be removed after new rule is actiavted - @SuppressWarnings("NullableProblems") - public void setArbitratorNodeAddress(NodeAddress arbitratorNodeAddress) { - this.arbitratorNodeAddress = arbitratorNodeAddress; - if (processModel.getUser() != null) { - Arbitrator arbitrator = processModel.getUser().getAcceptedArbitratorByAddress(arbitratorNodeAddress); - checkNotNull(arbitrator, "arbitrator must not be null"); - arbitratorBtcPubKey = arbitrator.getBtcPubKey(); - arbitratorPubKeyRing = arbitrator.getPubKeyRing(); - persist(); - } - } - - @SuppressWarnings("NullableProblems") - public void setMediatorNodeAddress(NodeAddress mediatorNodeAddress) { - this.mediatorNodeAddress = mediatorNodeAddress; - if (processModel.getUser() != null) { - Mediator mediator = processModel.getUser().getAcceptedMediatorByAddress(mediatorNodeAddress); - checkNotNull(mediator, "mediator must not be null"); - mediatorPubKeyRing = mediator.getPubKeyRing(); - persist(); - } - } - /////////////////////////////////////////////////////////////////////////////////////////// // Getter @@ -847,6 +857,10 @@ public ReadOnlyObjectProperty disputeStateProperty() { return disputeStateProperty; } + public ReadOnlyObjectProperty mediationResultStateProperty() { + return mediationResultStateProperty; + } + public ReadOnlyObjectProperty tradePeriodStateProperty() { return tradePeriodStateProperty; } @@ -1012,7 +1026,7 @@ public String toString() { ",\n decryptedMessageWithPubKeySet=" + decryptedMessageWithPubKeySet + ",\n arbitratorPubKeyRing=" + arbitratorPubKeyRing + ",\n mediatorPubKeyRing=" + mediatorPubKeyRing + - ",\n communicationMessages=" + communicationMessages + + ",\n chatMessages=" + chatMessages + "\n}"; } } diff --git a/core/src/main/java/bisq/core/trade/TradeChatSession.java b/core/src/main/java/bisq/core/trade/TradeChatSession.java deleted file mode 100644 index c26f9bc73b2..00000000000 --- a/core/src/main/java/bisq/core/trade/TradeChatSession.java +++ /dev/null @@ -1,214 +0,0 @@ -/* - * This file is part of Bisq. - * - * Bisq is free software: you can redistribute it and/or modify it - * under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or (at - * your option) any later version. - * - * Bisq is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public - * License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Bisq. If not, see . - */ - -package bisq.core.trade; - -import bisq.core.arbitration.messages.DisputeCommunicationMessage; -import bisq.core.arbitration.messages.DisputeMessage; -import bisq.core.arbitration.messages.DisputeResultMessage; -import bisq.core.chat.ChatManager; -import bisq.core.chat.ChatSession; -import bisq.core.locale.Res; - -import bisq.network.p2p.NodeAddress; - -import bisq.common.crypto.PubKeyRing; - -import javafx.collections.FXCollections; -import javafx.collections.ObservableList; - -import java.util.List; -import java.util.Optional; -import java.util.concurrent.CopyOnWriteArrayList; -import java.util.stream.Collectors; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.annotation.Nullable; - -/* Makers are considered as servers and takers as clients for trader to trader chat - * sessions. This is only to make it easier to understand who's who, there is no real - * server/client relationship */ -public class TradeChatSession extends ChatSession { - private static final Logger log = LoggerFactory.getLogger(TradeChatSession.class); - - public interface DisputeStateListener { - void onDisputeClosed(String tradeId); - } - - @Nullable - private Trade trade; - private boolean isClient; - private boolean isBuyer; - private TradeManager tradeManager; - private ChatManager chatManager; - // Needed to avoid ConcurrentModificationException as we remove a listener at the handler call - private List disputeStateListeners = new CopyOnWriteArrayList<>(); - - public TradeChatSession(@Nullable Trade trade, - boolean isClient, - boolean isBuyer, - TradeManager tradeManager, - ChatManager chatManager) { - super(DisputeCommunicationMessage.Type.TRADE); - this.trade = trade; - this.isClient = isClient; - this.isBuyer = isBuyer; - this.tradeManager = tradeManager; - this.chatManager = chatManager; - } - - public void addDisputeStateListener(DisputeStateListener disputeStateListener) { - disputeStateListeners.add(disputeStateListener); - } - - public void removeDisputeStateListener(DisputeStateListener disputeStateListener) { - disputeStateListeners.remove(disputeStateListener); - } - - @Override - public boolean isClient() { - return isClient; - } - - @Override - public String getTradeId() { - return trade != null ? trade.getId() : ""; - } - - @Override - public PubKeyRing getClientPubKeyRing() { - // Get pubkeyring of taker. Maker is considered server for chat sessions - if (trade != null && trade.getContract() != null) - return trade.getContract().getTakerPubKeyRing(); - return null; - } - - @Override - public void addDisputeCommunicationMessage(DisputeCommunicationMessage message) { - if (trade != null) - trade.addCommunicationMessage(message); - } - - @Override - public void persist() { - tradeManager.persistTrades(); - } - - @Override - public ObservableList getDisputeCommunicationMessages() { - return trade != null ? trade.getCommunicationMessages() : FXCollections.observableArrayList(); - } - - @Override - public boolean chatIsOpen() { - return trade != null && trade.getState() != Trade.State.WITHDRAW_COMPLETED; - } - - @Override - public NodeAddress getPeerNodeAddress(DisputeCommunicationMessage message) { - Optional tradeOptional = tradeManager.getTradeById(message.getTradeId()); - if (tradeOptional.isPresent()) { - Trade t = tradeOptional.get(); - if (t.getContract() != null) - return isBuyer ? - t.getContract().getSellerNodeAddress() : - t.getContract().getBuyerNodeAddress(); - } - return null; - } - - @Override - public PubKeyRing getPeerPubKeyRing(DisputeCommunicationMessage message) { - Optional tradeOptional = tradeManager.getTradeById(message.getTradeId()); - if (tradeOptional.isPresent()) { - Trade t = tradeOptional.get(); - if (t.getContract() != null && t.getOffer() != null) { - if (t.getOffer().getOwnerPubKey().equals(tradeManager.getKeyRing().getPubKeyRing().getSignaturePubKey())) { - // I am maker - return t.getContract().getTakerPubKeyRing(); - } else { - return t.getContract().getMakerPubKeyRing(); - } - } - } - return null; - } - - @Override - public void dispatchMessage(DisputeMessage message) { - log.info("Received {} with tradeId {} and uid {}", - message.getClass().getSimpleName(), message.getTradeId(), message.getUid()); - if (message instanceof DisputeCommunicationMessage) { - if (((DisputeCommunicationMessage) message).getType() == DisputeCommunicationMessage.Type.TRADE) { - chatManager.onDisputeDirectMessage((DisputeCommunicationMessage) message); - } - // We ignore dispute messages - } else if (message instanceof DisputeResultMessage) { - // We notify about dispute closed state - disputeStateListeners.forEach(e -> e.onDisputeClosed(message.getTradeId())); - } - // We ignore all other non DisputeCommunicationMessages - } - - @Override - public List getChatMessages() { - return tradeManager.getTradableList().stream() - .flatMap(trade -> trade.getCommunicationMessages().stream()) - .collect(Collectors.toList()); - } - - @Override - public boolean channelOpen(DisputeCommunicationMessage message) { - return tradeManager.getTradeById(message.getTradeId()).isPresent(); - } - - @Override - public void storeDisputeCommunicationMessage(DisputeCommunicationMessage message) { - Optional tradeOptional = tradeManager.getTradeById(message.getTradeId()); - if (tradeOptional.isPresent()) { - Trade trade = tradeOptional.get(); - ObservableList communicationMessages = trade.getCommunicationMessages(); - if (communicationMessages.stream().noneMatch(m -> m.getUid().equals(message.getUid()))) { - if (communicationMessages.isEmpty()) { - addSystemMsg(trade); - } - trade.addCommunicationMessage(message); - } else { - log.warn("Trade got a disputeCommunicationMessage what we have already stored. UId = {} TradeId = {}", - message.getUid(), message.getTradeId()); - } - } - } - - public void addSystemMsg(Trade trade) { - // We need to use the trade date as otherwise our system msg would not be displayed first as the list is sorted - // by date. - DisputeCommunicationMessage disputeCommunicationMessage = new DisputeCommunicationMessage( - DisputeCommunicationMessage.Type.TRADE, - trade.getId(), - 0, - false, - Res.get("tradeChat.rules"), - new NodeAddress("null:0000"), - trade.getDate().getTime() - ); - disputeCommunicationMessage.setSystemMessage(true); - trade.getCommunicationMessages().add(disputeCommunicationMessage); - } -} diff --git a/core/src/main/java/bisq/core/trade/TradeManager.java b/core/src/main/java/bisq/core/trade/TradeManager.java index 2d7a8f59683..d3e57398885 100644 --- a/core/src/main/java/bisq/core/trade/TradeManager.java +++ b/core/src/main/java/bisq/core/trade/TradeManager.java @@ -18,14 +18,11 @@ package bisq.core.trade; import bisq.core.account.witness.AccountAgeWitnessService; -import bisq.core.arbitration.ArbitratorManager; import bisq.core.btc.exceptions.AddressEntryException; import bisq.core.btc.model.AddressEntry; -import bisq.core.btc.setup.WalletsSetup; import bisq.core.btc.wallet.BsqWalletService; import bisq.core.btc.wallet.BtcWalletService; import bisq.core.btc.wallet.TradeWalletService; -import bisq.core.chat.ChatManager; import bisq.core.filter.FilterManager; import bisq.core.offer.Offer; import bisq.core.offer.OfferPayload; @@ -33,6 +30,8 @@ import bisq.core.offer.OpenOfferManager; import bisq.core.offer.availability.OfferAvailabilityModel; import bisq.core.provider.price.PriceFeedService; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; +import bisq.core.support.dispute.mediation.mediator.MediatorManager; import bisq.core.trade.closed.ClosedTradableManager; import bisq.core.trade.failed.FailedTradesManager; import bisq.core.trade.handlers.TradeResultHandler; @@ -116,6 +115,7 @@ public class TradeManager implements PersistedDataHost { private final ReferralIdService referralIdService; private final AccountAgeWitnessService accountAgeWitnessService; private final ArbitratorManager arbitratorManager; + private final MediatorManager mediatorManager; private final ClockWatcher clockWatcher; private final Storage> tradableListStorage; @@ -128,9 +128,6 @@ public class TradeManager implements PersistedDataHost { @Getter private final LongProperty numPendingTrades = new SimpleLongProperty(); - @Getter - private final ChatManager chatManager; - /////////////////////////////////////////////////////////////////////////////////////////// // Constructor @@ -146,13 +143,13 @@ public TradeManager(User user, ClosedTradableManager closedTradableManager, FailedTradesManager failedTradesManager, P2PService p2PService, - WalletsSetup walletsSetup, PriceFeedService priceFeedService, FilterManager filterManager, TradeStatisticsManager tradeStatisticsManager, ReferralIdService referralIdService, AccountAgeWitnessService accountAgeWitnessService, ArbitratorManager arbitratorManager, + MediatorManager mediatorManager, ClockWatcher clockWatcher, Storage> storage) { this.user = user; @@ -170,13 +167,11 @@ public TradeManager(User user, this.referralIdService = referralIdService; this.accountAgeWitnessService = accountAgeWitnessService; this.arbitratorManager = arbitratorManager; + this.mediatorManager = mediatorManager; this.clockWatcher = clockWatcher; tradableListStorage = storage; - chatManager = new ChatManager(p2PService, walletsSetup); - chatManager.setChatSession(new TradeChatSession(null, true, true, this, chatManager)); - p2PService.addDecryptedDirectMessageListener((decryptedMessageWithPubKey, peerNodeAddress) -> { NetworkEnvelope networkEnvelope = decryptedMessageWithPubKey.getNetworkEnvelope(); @@ -249,8 +244,6 @@ public void onUpdatedDataReceived() { log.warn("Swapping pending OFFER_FUNDING entries at startup. offerId={}", addressEntry.getOfferId()); btcWalletService.swapTradeEntryToAvailableEntry(addressEntry.getOfferId(), AddressEntry.Context.OFFER_FUNDING); }); - - chatManager.onAllServicesInitialized(); } public void shutDown() { @@ -337,6 +330,7 @@ private void handlePayDepositRequest(PayDepositRequest payDepositRequest, NodeAd Coin.valueOf(payDepositRequest.getTakerFee()), payDepositRequest.isCurrencyForTakerFeeBtc(), openOffer.getArbitratorNodeAddress(), + openOffer.getMediatorNodeAddress(), tradableListStorage, btcWalletService); else @@ -345,6 +339,7 @@ private void handlePayDepositRequest(PayDepositRequest payDepositRequest, NodeAd Coin.valueOf(payDepositRequest.getTakerFee()), payDepositRequest.isCurrencyForTakerFeeBtc(), openOffer.getArbitratorNodeAddress(), + openOffer.getMediatorNodeAddress(), tradableListStorage, btcWalletService); @@ -375,6 +370,7 @@ private void initTrade(Trade trade, boolean useSavingsWallet, Coin fundsNeededFo accountAgeWitnessService, tradeStatisticsManager, arbitratorManager, + mediatorManager, keyRing, useSavingsWallet, fundsNeededForTrade); @@ -456,6 +452,7 @@ private void createTrade(Coin amount, tradePrice, model.getPeerNodeAddress(), model.getSelectedArbitrator(), + model.getSelectedMediator(), tradableListStorage, btcWalletService); else @@ -467,6 +464,7 @@ private void createTrade(Coin amount, tradePrice, model.getPeerNodeAddress(), model.getSelectedArbitrator(), + model.getSelectedMediator(), tradableListStorage, btcWalletService); @@ -484,7 +482,9 @@ private OfferAvailabilityModel getOfferAvailabilityModel(Offer offer) { offer, keyRing.getPubKeyRing(), p2PService, - user); + user, + mediatorManager, + tradeStatisticsManager); } @@ -557,11 +557,11 @@ private void removeTrade(Trade trade) { // Dispute /////////////////////////////////////////////////////////////////////////////////////////// - public void closeDisputedTrade(String tradeId) { + public void closeDisputedTrade(String tradeId, Trade.DisputeState disputeState) { Optional tradeOptional = getTradeById(tradeId); if (tradeOptional.isPresent()) { Trade trade = tradeOptional.get(); - trade.setDisputeState(Trade.DisputeState.DISPUTE_CLOSED); + trade.setDisputeState(disputeState); addTradeToClosedTrades(trade); btcWalletService.swapTradeEntryToAvailableEntry(trade.getId(), AddressEntry.Context.TRADE_PAYOUT); } diff --git a/core/src/main/java/bisq/core/trade/messages/MediatedPayoutTxPublishedMessage.java b/core/src/main/java/bisq/core/trade/messages/MediatedPayoutTxPublishedMessage.java new file mode 100644 index 00000000000..e20daba473b --- /dev/null +++ b/core/src/main/java/bisq/core/trade/messages/MediatedPayoutTxPublishedMessage.java @@ -0,0 +1,91 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.trade.messages; + +import bisq.network.p2p.MailboxMessage; +import bisq.network.p2p.NodeAddress; + +import bisq.common.app.Version; +import bisq.common.proto.network.NetworkEnvelope; +import bisq.common.util.Utilities; + +import com.google.protobuf.ByteString; + +import lombok.EqualsAndHashCode; +import lombok.Value; + +@EqualsAndHashCode(callSuper = true) +@Value +public final class MediatedPayoutTxPublishedMessage extends TradeMessage implements MailboxMessage { + private final byte[] payoutTx; + private final NodeAddress senderNodeAddress; + + public MediatedPayoutTxPublishedMessage(String tradeId, + byte[] payoutTx, + NodeAddress senderNodeAddress, + String uid) { + this(tradeId, + payoutTx, + senderNodeAddress, + uid, + Version.getP2PMessageVersion()); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // PROTO BUFFER + /////////////////////////////////////////////////////////////////////////////////////////// + + private MediatedPayoutTxPublishedMessage(String tradeId, + byte[] payoutTx, + NodeAddress senderNodeAddress, + String uid, + int messageVersion) { + super(messageVersion, tradeId, uid); + this.payoutTx = payoutTx; + this.senderNodeAddress = senderNodeAddress; + } + + @Override + public protobuf.NetworkEnvelope toProtoNetworkEnvelope() { + return getNetworkEnvelopeBuilder() + .setMediatedPayoutTxPublishedMessage(protobuf.MediatedPayoutTxPublishedMessage.newBuilder() + .setTradeId(tradeId) + .setPayoutTx(ByteString.copyFrom(payoutTx)) + .setSenderNodeAddress(senderNodeAddress.toProtoMessage()) + .setUid(uid)) + .build(); + } + + public static NetworkEnvelope fromProto(protobuf.MediatedPayoutTxPublishedMessage proto, int messageVersion) { + return new MediatedPayoutTxPublishedMessage(proto.getTradeId(), + proto.getPayoutTx().toByteArray(), + NodeAddress.fromProto(proto.getSenderNodeAddress()), + proto.getUid(), + messageVersion); + } + + @Override + public String toString() { + return "MediatedPayoutTxPublishedMessage{" + + "\n payoutTx=" + Utilities.bytesAsHexString(payoutTx) + + ",\n senderNodeAddress=" + senderNodeAddress + + ",\n uid='" + uid + '\'' + + "\n} " + super.toString(); + } +} diff --git a/core/src/main/java/bisq/core/trade/messages/MediatedPayoutTxSignatureMessage.java b/core/src/main/java/bisq/core/trade/messages/MediatedPayoutTxSignatureMessage.java new file mode 100644 index 00000000000..b476576b65e --- /dev/null +++ b/core/src/main/java/bisq/core/trade/messages/MediatedPayoutTxSignatureMessage.java @@ -0,0 +1,99 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.trade.messages; + +import bisq.network.p2p.MailboxMessage; +import bisq.network.p2p.NodeAddress; + +import bisq.common.app.Version; +import bisq.common.util.Utilities; + +import com.google.protobuf.ByteString; + +import lombok.EqualsAndHashCode; +import lombok.Value; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@Value +@EqualsAndHashCode(callSuper = true) +public class MediatedPayoutTxSignatureMessage extends TradeMessage implements MailboxMessage { + private final byte[] txSignature; + private final NodeAddress senderNodeAddress; + + public MediatedPayoutTxSignatureMessage(byte[] txSignature, + String tradeId, + NodeAddress senderNodeAddress, + String uid) { + this(txSignature, + tradeId, + senderNodeAddress, + uid, + Version.getP2PMessageVersion()); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // PROTO BUFFER + /////////////////////////////////////////////////////////////////////////////////////////// + + private MediatedPayoutTxSignatureMessage(byte[] txSignature, + String tradeId, + NodeAddress senderNodeAddress, + String uid, + int messageVersion) { + super(messageVersion, tradeId, uid); + this.txSignature = txSignature; + this.senderNodeAddress = senderNodeAddress; + } + + @Override + public protobuf.NetworkEnvelope toProtoNetworkEnvelope() { + return getNetworkEnvelopeBuilder() + .setMediatedPayoutTxSignatureMessage(protobuf.MediatedPayoutTxSignatureMessage.newBuilder() + .setTxSignature(ByteString.copyFrom(txSignature)) + .setTradeId(tradeId) + .setSenderNodeAddress(senderNodeAddress.toProtoMessage()) + .setUid(uid)) + .build(); + } + + public static MediatedPayoutTxSignatureMessage fromProto(protobuf.MediatedPayoutTxSignatureMessage proto, + int messageVersion) { + return new MediatedPayoutTxSignatureMessage(proto.getTxSignature().toByteArray(), + proto.getTradeId(), + NodeAddress.fromProto(proto.getSenderNodeAddress()), + proto.getUid(), + messageVersion); + } + + @Override + public String getTradeId() { + return tradeId; + } + + + @Override + public String toString() { + return "MediatedPayoutSignatureMessage{" + + "\n txSignature=" + Utilities.bytesAsHexString(txSignature) + + ",\n tradeId='" + tradeId + '\'' + + ",\n senderNodeAddress=" + senderNodeAddress + + "\n} " + super.toString(); + } +} diff --git a/core/src/main/java/bisq/core/trade/messages/PayDepositRequest.java b/core/src/main/java/bisq/core/trade/messages/PayDepositRequest.java index 95909a9a070..05447f26a65 100644 --- a/core/src/main/java/bisq/core/trade/messages/PayDepositRequest.java +++ b/core/src/main/java/bisq/core/trade/messages/PayDepositRequest.java @@ -155,7 +155,9 @@ public protobuf.NetworkEnvelope toProtoNetworkEnvelope() { return getNetworkEnvelopeBuilder().setPayDepositRequest(builder).build(); } - public static PayDepositRequest fromProto(protobuf.PayDepositRequest proto, CoreProtoResolver coreProtoResolver, int messageVersion) { + public static PayDepositRequest fromProto(protobuf.PayDepositRequest proto, + CoreProtoResolver coreProtoResolver, + int messageVersion) { List rawTransactionInputs = proto.getRawTransactionInputsList().stream() .map(rawTransactionInput -> new RawTransactionInput(rawTransactionInput.getIndex(), rawTransactionInput.getParentTransaction().toByteArray(), rawTransactionInput.getValue())) diff --git a/core/src/main/java/bisq/core/trade/protocol/ArbitratorSelectionRule.java b/core/src/main/java/bisq/core/trade/protocol/ArbitratorSelectionRule.java deleted file mode 100644 index d598e5f6c28..00000000000 --- a/core/src/main/java/bisq/core/trade/protocol/ArbitratorSelectionRule.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * This file is part of Bisq. - * - * Bisq is free software: you can redistribute it and/or modify it - * under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or (at - * your option) any later version. - * - * Bisq is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public - * License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Bisq. If not, see . - */ - -package bisq.core.trade.protocol; - -import bisq.core.offer.Offer; - -import bisq.network.p2p.NodeAddress; - -import bisq.common.crypto.Hash; - -import com.google.common.base.Charsets; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; - -import lombok.extern.slf4j.Slf4j; - -import static com.google.common.base.Preconditions.checkArgument; - -@Slf4j -public class ArbitratorSelectionRule { - public static NodeAddress select(List acceptedArbitratorNodeAddresses, Offer offer) { - List candidates = new ArrayList<>(); - for (NodeAddress offerArbitratorNodeAddress : offer.getArbitratorNodeAddresses()) { - candidates.addAll(acceptedArbitratorNodeAddresses.stream().filter(offerArbitratorNodeAddress::equals).collect(Collectors.toList())); - } - checkArgument(candidates.size() > 0, "candidates.size() <= 0"); - - int index = Math.abs(Arrays.hashCode(Hash.getSha256Hash(offer.getId().getBytes(Charsets.UTF_8)))) % candidates.size(); - NodeAddress selectedArbitrator = candidates.get(index); - log.debug("selectedArbitrator " + selectedArbitrator); - return selectedArbitrator; - } -} diff --git a/core/src/main/java/bisq/core/trade/protocol/BuyerAsMakerProtocol.java b/core/src/main/java/bisq/core/trade/protocol/BuyerAsMakerProtocol.java index 54da5279165..dd68fd16f01 100644 --- a/core/src/main/java/bisq/core/trade/protocol/BuyerAsMakerProtocol.java +++ b/core/src/main/java/bisq/core/trade/protocol/BuyerAsMakerProtocol.java @@ -115,7 +115,9 @@ else if (tradeMessage instanceof PayoutTxPublishedMessage) /////////////////////////////////////////////////////////////////////////////////////////// @Override - public void handleTakeOfferRequest(TradeMessage tradeMessage, NodeAddress peerNodeAddress, ErrorMessageHandler errorMessageHandler) { + public void handleTakeOfferRequest(TradeMessage tradeMessage, + NodeAddress peerNodeAddress, + ErrorMessageHandler errorMessageHandler) { Validator.checkTradeId(processModel.getOfferId(), tradeMessage); checkArgument(tradeMessage instanceof PayDepositRequest); processModel.setTradeMessage(tradeMessage); @@ -225,6 +227,8 @@ private void handle(PayoutTxPublishedMessage tradeMessage, NodeAddress peerNodeA @Override protected void doHandleDecryptedMessage(TradeMessage tradeMessage, NodeAddress sender) { + super.doHandleDecryptedMessage(tradeMessage, sender); + log.info("Received {} from {} with tradeId {} and uid {}", tradeMessage.getClass().getSimpleName(), sender, tradeMessage.getTradeId(), tradeMessage.getUid()); @@ -232,11 +236,6 @@ protected void doHandleDecryptedMessage(TradeMessage tradeMessage, NodeAddress s handle((DepositTxPublishedMessage) tradeMessage, sender); } else if (tradeMessage instanceof PayoutTxPublishedMessage) { handle((PayoutTxPublishedMessage) tradeMessage, sender); - } else //noinspection StatementWithEmptyBody - if (tradeMessage instanceof PayDepositRequest) { - // do nothing as we get called the handleTakeOfferRequest method from outside - } else { - log.error("Incoming decrypted tradeMessage not supported. " + tradeMessage); - } + } } } diff --git a/core/src/main/java/bisq/core/trade/protocol/BuyerAsTakerProtocol.java b/core/src/main/java/bisq/core/trade/protocol/BuyerAsTakerProtocol.java index ae7d9b09bab..36b868cd90a 100644 --- a/core/src/main/java/bisq/core/trade/protocol/BuyerAsTakerProtocol.java +++ b/core/src/main/java/bisq/core/trade/protocol/BuyerAsTakerProtocol.java @@ -35,7 +35,6 @@ import bisq.core.trade.protocol.tasks.taker.CreateTakerFeeTx; import bisq.core.trade.protocol.tasks.taker.TakerProcessPublishDepositTxRequest; import bisq.core.trade.protocol.tasks.taker.TakerPublishFeeTx; -import bisq.core.trade.protocol.tasks.taker.TakerSelectMediator; import bisq.core.trade.protocol.tasks.taker.TakerSendDepositTxPublishedMessage; import bisq.core.trade.protocol.tasks.taker.TakerSendPayDepositRequest; import bisq.core.trade.protocol.tasks.taker.TakerVerifyAndSignContract; @@ -114,7 +113,6 @@ public void takeAvailableOffer() { this::handleTaskRunnerFault); taskRunner.addTasks( - TakerSelectMediator.class, TakerVerifyMakerAccount.class, TakerVerifyMakerFeePayment.class, CreateTakerFeeTx.class, @@ -192,7 +190,6 @@ public void onFiatPaymentStarted(ResultHandler resultHandler, ErrorMessageHandle } } - /////////////////////////////////////////////////////////////////////////////////////////// // Incoming message handling /////////////////////////////////////////////////////////////////////////////////////////// @@ -212,12 +209,15 @@ private void handle(PayoutTxPublishedMessage tradeMessage, NodeAddress peerNodeA taskRunner.run(); } + /////////////////////////////////////////////////////////////////////////////////////////// // Massage dispatcher /////////////////////////////////////////////////////////////////////////////////////////// @Override protected void doHandleDecryptedMessage(TradeMessage tradeMessage, NodeAddress sender) { + super.doHandleDecryptedMessage(tradeMessage, sender); + log.info("Received {} from {} with tradeId {} and uid {}", tradeMessage.getClass().getSimpleName(), sender, tradeMessage.getTradeId(), tradeMessage.getUid()); @@ -225,8 +225,6 @@ protected void doHandleDecryptedMessage(TradeMessage tradeMessage, NodeAddress s handle((PublishDepositTxRequest) tradeMessage, sender); } else if (tradeMessage instanceof PayoutTxPublishedMessage) { handle((PayoutTxPublishedMessage) tradeMessage, sender); - } else { - log.error("Incoming message not supported. " + tradeMessage); } } } diff --git a/core/src/main/java/bisq/core/trade/protocol/MediatorSelectionRule.java b/core/src/main/java/bisq/core/trade/protocol/MediatorSelectionRule.java deleted file mode 100644 index 2aefb627d84..00000000000 --- a/core/src/main/java/bisq/core/trade/protocol/MediatorSelectionRule.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * This file is part of Bisq. - * - * Bisq is free software: you can redistribute it and/or modify it - * under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or (at - * your option) any later version. - * - * Bisq is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public - * License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Bisq. If not, see . - */ - -package bisq.core.trade.protocol; - -import bisq.core.offer.Offer; - -import bisq.network.p2p.NodeAddress; - -import bisq.common.crypto.Hash; - -import com.google.common.base.Charsets; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; - -import lombok.extern.slf4j.Slf4j; - -import static com.google.common.base.Preconditions.checkArgument; - -@Slf4j -public class MediatorSelectionRule { - public static NodeAddress select(List acceptedMediatorNodeAddresses, Offer offer) { - List candidates = new ArrayList<>(); - for (NodeAddress offerMediatorNodeAddress : offer.getMediatorNodeAddresses()) { - candidates.addAll(acceptedMediatorNodeAddresses.stream() - .filter(offerMediatorNodeAddress::equals) - .collect(Collectors.toList())); - } - checkArgument(candidates.size() > 0, "candidates.size() <= 0"); - - int index = Math.abs(Arrays.hashCode(Hash.getSha256Hash(offer.getId().getBytes(Charsets.UTF_8)))) % candidates.size(); - NodeAddress selectedMediator = candidates.get(index); - log.debug("selectedMediator " + selectedMediator); - return selectedMediator; - } -} diff --git a/core/src/main/java/bisq/core/trade/protocol/ProcessModel.java b/core/src/main/java/bisq/core/trade/protocol/ProcessModel.java index 185dcee0cc2..f2b180926aa 100644 --- a/core/src/main/java/bisq/core/trade/protocol/ProcessModel.java +++ b/core/src/main/java/bisq/core/trade/protocol/ProcessModel.java @@ -18,7 +18,6 @@ package bisq.core.trade.protocol; import bisq.core.account.witness.AccountAgeWitnessService; -import bisq.core.arbitration.ArbitratorManager; import bisq.core.btc.model.RawTransactionInput; import bisq.core.btc.wallet.BsqWalletService; import bisq.core.btc.wallet.BtcWalletService; @@ -30,6 +29,8 @@ import bisq.core.payment.PaymentAccount; import bisq.core.payment.payload.PaymentAccountPayload; import bisq.core.proto.CoreProtoResolver; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; +import bisq.core.support.dispute.mediation.mediator.MediatorManager; import bisq.core.trade.MakerTrade; import bisq.core.trade.Trade; import bisq.core.trade.TradeManager; @@ -83,6 +84,7 @@ public class ProcessModel implements Model, PersistablePayload { transient private AccountAgeWitnessService accountAgeWitnessService; transient private TradeStatisticsManager tradeStatisticsManager; transient private ArbitratorManager arbitratorManager; + transient private MediatorManager mediatorManager; transient private KeyRing keyRing; transient private P2PService p2PService; transient private ReferralIdService referralIdService; @@ -142,6 +144,15 @@ public class ProcessModel implements Model, PersistablePayload { @Setter private NodeAddress tempTradingPeerNodeAddress; + // Added in v.1.1.6 + @Nullable + @Setter + private byte[] mediatedPayoutTxSignature; + @Setter + private long buyerPayoutAmountFromMediation; + @Setter + private long sellerPayoutAmountFromMediation; + // The only trade message where we want to indicate the user the state of the message delivery is the // CounterCurrencyTransferStartedMessage. We persist the state with the processModel. @Setter @@ -165,7 +176,9 @@ public protobuf.ProcessModel toProtoMessage() { .setChangeOutputValue(changeOutputValue) .setUseSavingsWallet(useSavingsWallet) .setFundsNeededForTradeAsLong(fundsNeededForTradeAsLong) - .setPaymentStartedMessageState(paymentStartedMessageStateProperty.get().name()); + .setPaymentStartedMessageState(paymentStartedMessageStateProperty.get().name()) + .setBuyerPayoutAmountFromMediation(buyerPayoutAmountFromMediation) + .setSellerPayoutAmountFromMediation(sellerPayoutAmountFromMediation); Optional.ofNullable(takeOfferFeeTxId).ifPresent(builder::setTakeOfferFeeTxId); Optional.ofNullable(payoutTxSignature).ifPresent(e -> builder.setPayoutTxSignature(ByteString.copyFrom(payoutTxSignature))); @@ -176,6 +189,7 @@ public protobuf.ProcessModel toProtoMessage() { Optional.ofNullable(changeOutputAddress).ifPresent(builder::setChangeOutputAddress); Optional.ofNullable(myMultiSigPubKey).ifPresent(e -> builder.setMyMultiSigPubKey(ByteString.copyFrom(myMultiSigPubKey))); Optional.ofNullable(tempTradingPeerNodeAddress).ifPresent(e -> builder.setTempTradingPeerNodeAddress(tempTradingPeerNodeAddress.toProtoMessage())); + Optional.ofNullable(mediatedPayoutTxSignature).ifPresent(e -> builder.setMediatedPayoutTxSignature(ByteString.copyFrom(e))); return builder.build(); } @@ -188,6 +202,8 @@ public static ProcessModel fromProto(protobuf.ProcessModel proto, CoreProtoResol processModel.setChangeOutputValue(proto.getChangeOutputValue()); processModel.setUseSavingsWallet(proto.getUseSavingsWallet()); processModel.setFundsNeededForTradeAsLong(proto.getFundsNeededForTradeAsLong()); + processModel.setBuyerPayoutAmountFromMediation(proto.getBuyerPayoutAmountFromMediation()); + processModel.setSellerPayoutAmountFromMediation(proto.getSellerPayoutAmountFromMediation()); // nullable processModel.setTakeOfferFeeTxId(ProtoUtil.stringOrNullFromProto(proto.getTakeOfferFeeTxId())); @@ -211,6 +227,7 @@ public static ProcessModel fromProto(protobuf.ProcessModel proto, CoreProtoResol String paymentStartedMessageState = proto.getPaymentStartedMessageState().isEmpty() ? MessageState.UNDEFINED.name() : proto.getPaymentStartedMessageState(); ObjectProperty paymentStartedMessageStateProperty = processModel.getPaymentStartedMessageStateProperty(); paymentStartedMessageStateProperty.set(ProtoUtil.enumFromProto(MessageState.class, paymentStartedMessageState)); + processModel.setMediatedPayoutTxSignature(ProtoUtil.byteArrayOrNullFromProto(proto.getMediatedPayoutTxSignature())); return processModel; } @@ -232,6 +249,7 @@ public void onAllServicesInitialized(Offer offer, AccountAgeWitnessService accountAgeWitnessService, TradeStatisticsManager tradeStatisticsManager, ArbitratorManager arbitratorManager, + MediatorManager mediatorManager, KeyRing keyRing, boolean useSavingsWallet, Coin fundsNeededForTrade) { @@ -247,6 +265,7 @@ public void onAllServicesInitialized(Offer offer, this.accountAgeWitnessService = accountAgeWitnessService; this.tradeStatisticsManager = tradeStatisticsManager; this.arbitratorManager = arbitratorManager; + this.mediatorManager = mediatorManager; this.keyRing = keyRing; this.p2PService = p2PService; this.useSavingsWallet = useSavingsWallet; diff --git a/core/src/main/java/bisq/core/trade/protocol/SellerAsMakerProtocol.java b/core/src/main/java/bisq/core/trade/protocol/SellerAsMakerProtocol.java index e56beaff131..60894b26336 100644 --- a/core/src/main/java/bisq/core/trade/protocol/SellerAsMakerProtocol.java +++ b/core/src/main/java/bisq/core/trade/protocol/SellerAsMakerProtocol.java @@ -110,7 +110,9 @@ else if (tradeMessage instanceof CounterCurrencyTransferStartedMessage) /////////////////////////////////////////////////////////////////////////////////////////// @Override - public void handleTakeOfferRequest(TradeMessage tradeMessage, NodeAddress sender, ErrorMessageHandler errorMessageHandler) { + public void handleTakeOfferRequest(TradeMessage tradeMessage, + NodeAddress sender, + ErrorMessageHandler errorMessageHandler) { Validator.checkTradeId(processModel.getOfferId(), tradeMessage); checkArgument(tradeMessage instanceof PayDepositRequest); processModel.setTradeMessage(tradeMessage); @@ -146,7 +148,7 @@ public void handleTakeOfferRequest(TradeMessage tradeMessage, NodeAddress sender // Incoming message handling /////////////////////////////////////////////////////////////////////////////////////////// - private void handle(DepositTxPublishedMessage tradeMessage, NodeAddress sender) { + protected void handle(DepositTxPublishedMessage tradeMessage, NodeAddress sender) { processModel.setTradeMessage(tradeMessage); processModel.setTempTradingPeerNodeAddress(sender); @@ -241,12 +243,15 @@ public void onFiatPaymentReceived(ResultHandler resultHandler, ErrorMessageHandl } } + /////////////////////////////////////////////////////////////////////////////////////////// // Massage dispatcher /////////////////////////////////////////////////////////////////////////////////////////// @Override protected void doHandleDecryptedMessage(TradeMessage tradeMessage, NodeAddress sender) { + super.doHandleDecryptedMessage(tradeMessage, sender); + log.info("Received {} from {} with tradeId {} and uid {}", tradeMessage.getClass().getSimpleName(), sender, tradeMessage.getTradeId(), tradeMessage.getUid()); @@ -254,8 +259,6 @@ protected void doHandleDecryptedMessage(TradeMessage tradeMessage, NodeAddress s handle((DepositTxPublishedMessage) tradeMessage, sender); } else if (tradeMessage instanceof CounterCurrencyTransferStartedMessage) { handle((CounterCurrencyTransferStartedMessage) tradeMessage, sender); - } else { - log.error("Incoming tradeMessage not supported. " + tradeMessage); } } } diff --git a/core/src/main/java/bisq/core/trade/protocol/SellerAsTakerProtocol.java b/core/src/main/java/bisq/core/trade/protocol/SellerAsTakerProtocol.java index ce768c957a0..d3071b1c8b6 100644 --- a/core/src/main/java/bisq/core/trade/protocol/SellerAsTakerProtocol.java +++ b/core/src/main/java/bisq/core/trade/protocol/SellerAsTakerProtocol.java @@ -36,7 +36,6 @@ import bisq.core.trade.protocol.tasks.taker.CreateTakerFeeTx; import bisq.core.trade.protocol.tasks.taker.TakerProcessPublishDepositTxRequest; import bisq.core.trade.protocol.tasks.taker.TakerPublishFeeTx; -import bisq.core.trade.protocol.tasks.taker.TakerSelectMediator; import bisq.core.trade.protocol.tasks.taker.TakerSendDepositTxPublishedMessage; import bisq.core.trade.protocol.tasks.taker.TakerSendPayDepositRequest; import bisq.core.trade.protocol.tasks.taker.TakerVerifyAndSignContract; @@ -108,7 +107,6 @@ public void takeAvailableOffer() { taskRunner.addTasks( TakerVerifyMakerAccount.class, TakerVerifyMakerFeePayment.class, - TakerSelectMediator.class, CreateTakerFeeTx.class, SellerAsTakerCreatesDepositTxInputs.class, TakerSendPayDepositRequest.class @@ -235,6 +233,8 @@ public void onFiatPaymentReceived(ResultHandler resultHandler, ErrorMessageHandl @Override protected void doHandleDecryptedMessage(TradeMessage tradeMessage, NodeAddress sender) { + super.doHandleDecryptedMessage(tradeMessage, sender); + log.info("Received {} from {} with tradeId {} and uid {}", tradeMessage.getClass().getSimpleName(), sender, tradeMessage.getTradeId(), tradeMessage.getUid()); @@ -242,8 +242,6 @@ protected void doHandleDecryptedMessage(TradeMessage tradeMessage, NodeAddress s handle((PublishDepositTxRequest) tradeMessage, sender); } else if (tradeMessage instanceof CounterCurrencyTransferStartedMessage) { handle((CounterCurrencyTransferStartedMessage) tradeMessage, sender); - } else { - log.error("Incoming message not supported. " + tradeMessage); } } } diff --git a/core/src/main/java/bisq/core/trade/protocol/TradeProtocol.java b/core/src/main/java/bisq/core/trade/protocol/TradeProtocol.java index 6452382e3ea..8862fb9fc16 100644 --- a/core/src/main/java/bisq/core/trade/protocol/TradeProtocol.java +++ b/core/src/main/java/bisq/core/trade/protocol/TradeProtocol.java @@ -21,8 +21,19 @@ import bisq.core.trade.Trade; import bisq.core.trade.TradeManager; import bisq.core.trade.messages.CounterCurrencyTransferStartedMessage; +import bisq.core.trade.messages.MediatedPayoutTxPublishedMessage; +import bisq.core.trade.messages.MediatedPayoutTxSignatureMessage; import bisq.core.trade.messages.PayDepositRequest; import bisq.core.trade.messages.TradeMessage; +import bisq.core.trade.protocol.tasks.ApplyFilter; +import bisq.core.trade.protocol.tasks.mediation.BroadcastMediatedPayoutTx; +import bisq.core.trade.protocol.tasks.mediation.FinalizeMediatedPayoutTx; +import bisq.core.trade.protocol.tasks.mediation.ProcessMediatedPayoutSignatureMessage; +import bisq.core.trade.protocol.tasks.mediation.ProcessMediatedPayoutTxPublishedMessage; +import bisq.core.trade.protocol.tasks.mediation.SendMediatedPayoutSignatureMessage; +import bisq.core.trade.protocol.tasks.mediation.SendMediatedPayoutTxPublishedMessage; +import bisq.core.trade.protocol.tasks.mediation.SetupMediatedPayoutTxListener; +import bisq.core.trade.protocol.tasks.mediation.SignMediatedPayoutTx; import bisq.network.p2p.AckMessage; import bisq.network.p2p.AckMessageSourceType; @@ -35,6 +46,8 @@ import bisq.common.Timer; import bisq.common.UserThread; import bisq.common.crypto.PubKeyRing; +import bisq.common.handlers.ErrorMessageHandler; +import bisq.common.handlers.ResultHandler; import bisq.common.proto.network.NetworkEnvelope; import javafx.beans.value.ChangeListener; @@ -102,10 +115,118 @@ public TradeProtocol(Trade trade) { trade.stateProperty().addListener(stateChangeListener); } + + /////////////////////////////////////////////////////////////////////////////////////////// + // Mediation: Called from UI if trader accepts mediation result + /////////////////////////////////////////////////////////////////////////////////////////// + + // Trader has not yet received the peer's signature but has clicked the accept button. + public void onAcceptMediationResult(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { + if (trade.getProcessModel().getTradingPeer().getMediatedPayoutTxSignature() != null) { + errorMessageHandler.handleErrorMessage("We have received already the signature from the peer."); + return; + } + + TradeTaskRunner taskRunner = new TradeTaskRunner(trade, + () -> { + resultHandler.handleResult(); + handleTaskRunnerSuccess("onAcceptMediationResult"); + }, + (errorMessage) -> { + errorMessageHandler.handleErrorMessage(errorMessage); + handleTaskRunnerFault(errorMessage); + }); + taskRunner.addTasks( + ApplyFilter.class, + SignMediatedPayoutTx.class, + SendMediatedPayoutSignatureMessage.class, + SetupMediatedPayoutTxListener.class + ); + taskRunner.run(); + } + + + // Trader has already received the peer's signature and has clicked the accept button as well. + public void onFinalizeMediationResultPayout(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { + if (trade.getPayoutTx() != null) { + errorMessageHandler.handleErrorMessage("Payout tx is already published."); + return; + } + + TradeTaskRunner taskRunner = new TradeTaskRunner(trade, + () -> { + resultHandler.handleResult(); + handleTaskRunnerSuccess("onAcceptMediationResult"); + }, + (errorMessage) -> { + errorMessageHandler.handleErrorMessage(errorMessage); + handleTaskRunnerFault(errorMessage); + }); + taskRunner.addTasks( + ApplyFilter.class, + SignMediatedPayoutTx.class, + FinalizeMediatedPayoutTx.class, + BroadcastMediatedPayoutTx.class, + SendMediatedPayoutTxPublishedMessage.class + ); + taskRunner.run(); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Mediation: incoming message + /////////////////////////////////////////////////////////////////////////////////////////// + + protected void handle(MediatedPayoutTxSignatureMessage tradeMessage, NodeAddress sender) { + processModel.setTradeMessage(tradeMessage); + processModel.setTempTradingPeerNodeAddress(sender); + + TradeTaskRunner taskRunner = new TradeTaskRunner(trade, + () -> handleTaskRunnerSuccess(tradeMessage, "MediatedPayoutSignatureMessage"), + errorMessage -> handleTaskRunnerFault(tradeMessage, errorMessage)); + + taskRunner.addTasks( + ProcessMediatedPayoutSignatureMessage.class + ); + taskRunner.run(); + } + + protected void handle(MediatedPayoutTxPublishedMessage tradeMessage, NodeAddress sender) { + processModel.setTradeMessage(tradeMessage); + processModel.setTempTradingPeerNodeAddress(sender); + + TradeTaskRunner taskRunner = new TradeTaskRunner(trade, + () -> handleTaskRunnerSuccess(tradeMessage, "handle PayoutTxPublishedMessage"), + errorMessage -> handleTaskRunnerFault(tradeMessage, errorMessage)); + + taskRunner.addTasks( + ProcessMediatedPayoutTxPublishedMessage.class + ); + taskRunner.run(); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Dispatcher + /////////////////////////////////////////////////////////////////////////////////////////// + + protected void doHandleDecryptedMessage(TradeMessage tradeMessage, NodeAddress sender) { + if (tradeMessage instanceof MediatedPayoutTxSignatureMessage) { + handle((MediatedPayoutTxSignatureMessage) tradeMessage, sender); + } else if (tradeMessage instanceof MediatedPayoutTxPublishedMessage) { + handle((MediatedPayoutTxPublishedMessage) tradeMessage, sender); + } + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // API + /////////////////////////////////////////////////////////////////////////////////////////// + public void completed() { cleanup(); - // We only removed earlier the listner here, but then we migth have dangling trades after faults... + // We only removed earlier the listener here, but then we migth have dangling trades after faults... // so lets remove it at cleanup //processModel.getP2PService().removeDecryptedDirectMessageListener(decryptedDirectMessageListener); } @@ -131,8 +252,6 @@ public void applyMailboxMessage(DecryptedMessageWithPubKey decryptedMessageWithP protected abstract void doApplyMailboxMessage(NetworkEnvelope networkEnvelope, Trade trade); - protected abstract void doHandleDecryptedMessage(TradeMessage tradeMessage, NodeAddress peerNodeAddress); - protected void startTimeout() { stopTimeout(); diff --git a/core/src/main/java/bisq/core/trade/protocol/TradingPeer.java b/core/src/main/java/bisq/core/trade/protocol/TradingPeer.java index 51c6a36cdf7..94398caf791 100644 --- a/core/src/main/java/bisq/core/trade/protocol/TradingPeer.java +++ b/core/src/main/java/bisq/core/trade/protocol/TradingPeer.java @@ -71,6 +71,10 @@ public final class TradingPeer implements PersistablePayload { private byte[] accountAgeWitnessSignature; private long currentDate; + // Added in v.1.1.6 + @Nullable + private byte[] mediatedPayoutTxSignature; + public TradingPeer() { } @@ -90,6 +94,7 @@ public Message toProtoMessage() { Optional.ofNullable(changeOutputAddress).ifPresent(builder::setChangeOutputAddress); Optional.ofNullable(accountAgeWitnessNonce).ifPresent(e -> builder.setAccountAgeWitnessNonce(ByteString.copyFrom(e))); Optional.ofNullable(accountAgeWitnessSignature).ifPresent(e -> builder.setAccountAgeWitnessSignature(ByteString.copyFrom(e))); + Optional.ofNullable(mediatedPayoutTxSignature).ifPresent(e -> builder.setMediatedPayoutTxSignature(ByteString.copyFrom(e))); builder.setCurrentDate(currentDate); return builder.build(); } @@ -118,6 +123,7 @@ public static TradingPeer fromProto(protobuf.TradingPeer proto, CoreProtoResolve tradingPeer.setAccountAgeWitnessNonce(ProtoUtil.byteArrayOrNullFromProto(proto.getAccountAgeWitnessNonce())); tradingPeer.setAccountAgeWitnessSignature(ProtoUtil.byteArrayOrNullFromProto(proto.getAccountAgeWitnessSignature())); tradingPeer.setCurrentDate(proto.getCurrentDate()); + tradingPeer.setMediatedPayoutTxSignature(ProtoUtil.byteArrayOrNullFromProto(proto.getMediatedPayoutTxSignature())); return tradingPeer; } } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/ApplyFilter.java b/core/src/main/java/bisq/core/trade/protocol/tasks/ApplyFilter.java index 92c1185d950..07a223bde60 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/ApplyFilter.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/ApplyFilter.java @@ -32,7 +32,7 @@ @Slf4j public class ApplyFilter extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public ApplyFilter(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/BroadcastPayoutTx.java b/core/src/main/java/bisq/core/trade/protocol/tasks/BroadcastPayoutTx.java new file mode 100644 index 00000000000..e74495d064e --- /dev/null +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/BroadcastPayoutTx.java @@ -0,0 +1,85 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.trade.protocol.tasks; + +import bisq.core.btc.exceptions.TxBroadcastException; +import bisq.core.btc.wallet.TxBroadcaster; +import bisq.core.trade.Trade; + +import bisq.common.taskrunner.TaskRunner; + +import org.bitcoinj.core.Transaction; +import org.bitcoinj.core.TransactionConfidence; + +import lombok.extern.slf4j.Slf4j; + +import static com.google.common.base.Preconditions.checkNotNull; + +@Slf4j +public abstract class BroadcastPayoutTx extends TradeTask { + @SuppressWarnings({"unused"}) + public BroadcastPayoutTx(TaskRunner taskHandler, Trade trade) { + super(taskHandler, trade); + } + + protected abstract void setState(); + + @Override + protected void run() { + try { + runInterceptHook(); + Transaction payoutTx = trade.getPayoutTx(); + checkNotNull(payoutTx, "payoutTx must not be null"); + + TransactionConfidence.ConfidenceType confidenceType = payoutTx.getConfidence().getConfidenceType(); + log.debug("payoutTx confidenceType:" + confidenceType); + if (confidenceType.equals(TransactionConfidence.ConfidenceType.BUILDING) || + confidenceType.equals(TransactionConfidence.ConfidenceType.PENDING)) { + log.debug("payoutTx was already published. confidenceType:" + confidenceType); + setState(); + complete(); + } else { + processModel.getTradeWalletService().broadcastTx(payoutTx, + new TxBroadcaster.Callback() { + @Override + public void onSuccess(Transaction transaction) { + if (!completed) { + log.debug("BroadcastTx succeeded. Transaction:" + transaction); + setState(); + complete(); + } else { + log.warn("We got the onSuccess callback called after the timeout has been triggered a complete()."); + } + } + + @Override + public void onFailure(TxBroadcastException exception) { + if (!completed) { + log.error("BroadcastTx failed. Error:" + exception.getMessage()); + failed(exception); + } else { + log.warn("We got the onFailure callback called after the timeout has been triggered a complete()."); + } + } + }); + } + } catch (Throwable t) { + failed(t); + } + } +} diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/PublishTradeStatistics.java b/core/src/main/java/bisq/core/trade/protocol/tasks/PublishTradeStatistics.java index 48557033e80..9a51cbb8bf4 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/PublishTradeStatistics.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/PublishTradeStatistics.java @@ -23,6 +23,8 @@ import bisq.core.trade.statistics.TradeStatistics2; import bisq.network.p2p.NodeAddress; +import bisq.network.p2p.network.NetworkNode; +import bisq.network.p2p.network.TorNetworkNode; import bisq.common.taskrunner.TaskRunner; @@ -51,8 +53,14 @@ protected void run() { NodeAddress arbitratorNodeAddress = trade.getArbitratorNodeAddress(); if (arbitratorNodeAddress != null) { - // The first 4 chars are sufficient to identify an arbitrator - String address = arbitratorNodeAddress.getFullAddress().substring(0, 4); + + // The first 4 chars are sufficient to identify an arbitrator. + // For testing with regtest/localhost we use the full address as its localhost and would result in + // same values for multiple arbitrators. + NetworkNode networkNode = model.getProcessModel().getP2PService().getNetworkNode(); + String address = networkNode instanceof TorNetworkNode ? + arbitratorNodeAddress.getFullAddress().substring(0, 4) : + arbitratorNodeAddress.getFullAddress(); extraDataMap.put(TradeStatistics2.ARBITRATOR_ADDRESS, address); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/SendPayoutTxPublishedMessage.java b/core/src/main/java/bisq/core/trade/protocol/tasks/SendPayoutTxPublishedMessage.java new file mode 100644 index 00000000000..c48aa3e5ffb --- /dev/null +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/SendPayoutTxPublishedMessage.java @@ -0,0 +1,98 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.trade.protocol.tasks; + +import bisq.core.trade.Trade; +import bisq.core.trade.messages.TradeMessage; + +import bisq.network.p2p.NodeAddress; +import bisq.network.p2p.SendMailboxMessageListener; + +import bisq.common.taskrunner.TaskRunner; + +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public abstract class SendPayoutTxPublishedMessage extends TradeTask { + @SuppressWarnings({"unused"}) + public SendPayoutTxPublishedMessage(TaskRunner taskHandler, Trade trade) { + super(taskHandler, trade); + } + + protected abstract TradeMessage getMessage(String id); + + protected abstract void setStateSent(); + + protected abstract void setStateArrived(); + + protected abstract void setStateStoredInMailbox(); + + protected abstract void setStateFault(); + + @Override + protected void run() { + try { + runInterceptHook(); + if (trade.getPayoutTx() != null) { + String id = processModel.getOfferId(); + TradeMessage message = getMessage(id); + setStateSent(); + NodeAddress peersNodeAddress = trade.getTradingPeerNodeAddress(); + log.info("Send {} to peer {}. tradeId={}, uid={}", + message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); + + processModel.getP2PService().sendEncryptedMailboxMessage( + peersNodeAddress, + processModel.getTradingPeer().getPubKeyRing(), + message, + new SendMailboxMessageListener() { + @Override + public void onArrived() { + log.info("{} arrived at peer {}. tradeId={}, uid={}", + message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); + setStateArrived(); + complete(); + } + + @Override + public void onStoredInMailbox() { + log.info("{} stored in mailbox for peer {}. tradeId={}, uid={}", + message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); + setStateStoredInMailbox(); + complete(); + } + + @Override + public void onFault(String errorMessage) { + log.error("{} failed: Peer {}. tradeId={}, uid={}, errorMessage={}", + message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid(), errorMessage); + setStateFault(); + appendToErrorMessage("Sending message failed: message=" + message + "\nerrorMessage=" + errorMessage); + failed(errorMessage); + } + } + ); + } else { + log.error("trade.getPayoutTx() = " + trade.getPayoutTx()); + failed("PayoutTx is null"); + } + } catch (Throwable t) { + failed(t); + } + } +} diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/SetupPayoutTxListener.java b/core/src/main/java/bisq/core/trade/protocol/tasks/SetupPayoutTxListener.java new file mode 100644 index 00000000000..61dbe0ff531 --- /dev/null +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/SetupPayoutTxListener.java @@ -0,0 +1,124 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.trade.protocol.tasks; + +import bisq.core.btc.listeners.AddressConfidenceListener; +import bisq.core.btc.model.AddressEntry; +import bisq.core.btc.wallet.BtcWalletService; +import bisq.core.trade.Trade; + +import bisq.common.UserThread; +import bisq.common.taskrunner.TaskRunner; + +import org.bitcoinj.core.Address; +import org.bitcoinj.core.Transaction; +import org.bitcoinj.core.TransactionConfidence; + +import org.fxmisc.easybind.EasyBind; +import org.fxmisc.easybind.Subscription; + +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public abstract class SetupPayoutTxListener extends TradeTask { + // Use instance fields to not get eaten up by the GC + private Subscription tradeStateSubscription; + private AddressConfidenceListener confidenceListener; + + @SuppressWarnings({"unused"}) + public SetupPayoutTxListener(TaskRunner taskHandler, Trade trade) { + super(taskHandler, trade); + } + + + protected abstract void setState(); + + @Override + protected void run() { + try { + runInterceptHook(); + if (!trade.isPayoutPublished()) { + BtcWalletService walletService = processModel.getBtcWalletService(); + final String id = processModel.getOffer().getId(); + Address address = walletService.getOrCreateAddressEntry(id, AddressEntry.Context.TRADE_PAYOUT).getAddress(); + + final TransactionConfidence confidence = walletService.getConfidenceForAddress(address); + if (isInNetwork(confidence)) { + applyConfidence(confidence); + } else { + confidenceListener = new AddressConfidenceListener(address) { + @Override + public void onTransactionConfidenceChanged(TransactionConfidence confidence) { + if (isInNetwork(confidence)) + applyConfidence(confidence); + } + }; + walletService.addAddressConfidenceListener(confidenceListener); + + tradeStateSubscription = EasyBind.subscribe(trade.stateProperty(), newValue -> { + if (trade.isPayoutPublished()) { + swapMultiSigEntry(); + + // hack to remove tradeStateSubscription at callback + UserThread.execute(this::unSubscribe); + } + }); + } + } + + // we complete immediately, our object stays alive because the balanceListener is stored in the WalletService + complete(); + } catch (Throwable t) { + failed(t); + } + } + + private void applyConfidence(TransactionConfidence confidence) { + if (trade.getPayoutTx() == null) { + Transaction walletTx = processModel.getTradeWalletService().getWalletTx(confidence.getTransactionHash()); + trade.setPayoutTx(walletTx); + BtcWalletService.printTx("payoutTx received from network", walletTx); + setState(); + } else { + log.info("We had the payout tx already set. tradeId={}, state={}", trade.getId(), trade.getState()); + } + + swapMultiSigEntry(); + + // need delay as it can be called inside the handler before the listener and tradeStateSubscription are actually set. + UserThread.execute(this::unSubscribe); + } + + private void swapMultiSigEntry() { + processModel.getBtcWalletService().swapTradeEntryToAvailableEntry(trade.getId(), AddressEntry.Context.MULTI_SIG); + } + + private boolean isInNetwork(TransactionConfidence confidence) { + return confidence != null && + (confidence.getConfidenceType().equals(TransactionConfidence.ConfidenceType.BUILDING) || + confidence.getConfidenceType().equals(TransactionConfidence.ConfidenceType.PENDING)); + } + + private void unSubscribe() { + if (tradeStateSubscription != null) + tradeStateSubscription.unsubscribe(); + + if (confidenceListener != null) + processModel.getBtcWalletService().removeAddressConfidenceListener(confidenceListener); + } +} diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/VerifyPeersAccountAgeWitness.java b/core/src/main/java/bisq/core/trade/protocol/tasks/VerifyPeersAccountAgeWitness.java index 2497f889391..2aa6e6ef177 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/VerifyPeersAccountAgeWitness.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/VerifyPeersAccountAgeWitness.java @@ -35,7 +35,7 @@ @Slf4j public class VerifyPeersAccountAgeWitness extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public VerifyPeersAccountAgeWitness(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/buyer/BuyerProcessPayoutTxPublishedMessage.java b/core/src/main/java/bisq/core/trade/protocol/tasks/buyer/BuyerProcessPayoutTxPublishedMessage.java index 3543fbddd1a..6fc5f2d18c7 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/buyer/BuyerProcessPayoutTxPublishedMessage.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/buyer/BuyerProcessPayoutTxPublishedMessage.java @@ -35,7 +35,7 @@ @Slf4j public class BuyerProcessPayoutTxPublishedMessage extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public BuyerProcessPayoutTxPublishedMessage(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/buyer/BuyerSendCounterCurrencyTransferStartedMessage.java b/core/src/main/java/bisq/core/trade/protocol/tasks/buyer/BuyerSendCounterCurrencyTransferStartedMessage.java index f9059815533..0dbf2ce3cdd 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/buyer/BuyerSendCounterCurrencyTransferStartedMessage.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/buyer/BuyerSendCounterCurrencyTransferStartedMessage.java @@ -34,7 +34,7 @@ @Slf4j public class BuyerSendCounterCurrencyTransferStartedMessage extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public BuyerSendCounterCurrencyTransferStartedMessage(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/buyer/BuyerSetupPayoutTxListener.java b/core/src/main/java/bisq/core/trade/protocol/tasks/buyer/BuyerSetupPayoutTxListener.java index 178a08d786f..db0dfff0cdf 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/buyer/BuyerSetupPayoutTxListener.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/buyer/BuyerSetupPayoutTxListener.java @@ -17,31 +17,16 @@ package bisq.core.trade.protocol.tasks.buyer; -import bisq.core.btc.listeners.AddressConfidenceListener; -import bisq.core.btc.model.AddressEntry; -import bisq.core.btc.wallet.BtcWalletService; import bisq.core.trade.Trade; -import bisq.core.trade.protocol.tasks.TradeTask; +import bisq.core.trade.protocol.tasks.SetupPayoutTxListener; -import bisq.common.UserThread; import bisq.common.taskrunner.TaskRunner; -import org.bitcoinj.core.Address; -import org.bitcoinj.core.Transaction; -import org.bitcoinj.core.TransactionConfidence; - -import org.fxmisc.easybind.EasyBind; -import org.fxmisc.easybind.Subscription; - import lombok.extern.slf4j.Slf4j; @Slf4j -public class BuyerSetupPayoutTxListener extends TradeTask { - // Use instance fields to not get eaten up by the GC - private Subscription tradeStateSubscription; - private AddressConfidenceListener confidenceListener; - - @SuppressWarnings({"WeakerAccess", "unused"}) +public class BuyerSetupPayoutTxListener extends SetupPayoutTxListener { + @SuppressWarnings({"unused"}) public BuyerSetupPayoutTxListener(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } @@ -50,73 +35,17 @@ public BuyerSetupPayoutTxListener(TaskRunner taskHandler, Trade trade) { protected void run() { try { runInterceptHook(); - if (!trade.isPayoutPublished()) { - BtcWalletService walletService = processModel.getBtcWalletService(); - final String id = processModel.getOffer().getId(); - Address address = walletService.getOrCreateAddressEntry(id, AddressEntry.Context.TRADE_PAYOUT).getAddress(); - - final TransactionConfidence confidence = walletService.getConfidenceForAddress(address); - if (isInNetwork(confidence)) { - applyConfidence(confidence); - } else { - confidenceListener = new AddressConfidenceListener(address) { - @Override - public void onTransactionConfidenceChanged(TransactionConfidence confidence) { - if (isInNetwork(confidence)) - applyConfidence(confidence); - } - }; - walletService.addAddressConfidenceListener(confidenceListener); - tradeStateSubscription = EasyBind.subscribe(trade.stateProperty(), newValue -> { - if (trade.isPayoutPublished()) { - swapMultiSigEntry(); + super.run(); - // hack to remove tradeStateSubscription at callback - UserThread.execute(this::unSubscribe); - } - }); - } - } - - // we complete immediately, our object stays alive because the balanceListener is stored in the WalletService - complete(); } catch (Throwable t) { failed(t); } } - private void applyConfidence(TransactionConfidence confidence) { - if (trade.getPayoutTx() == null) { - Transaction walletTx = processModel.getTradeWalletService().getWalletTx(confidence.getTransactionHash()); - trade.setPayoutTx(walletTx); - BtcWalletService.printTx("payoutTx received from network", walletTx); - trade.setState(Trade.State.BUYER_SAW_PAYOUT_TX_IN_NETWORK); - } else { - log.info("We got the payout tx already set from BuyerProcessPayoutTxPublishedMessage. tradeId={}, state={}", trade.getId(), trade.getState()); - } - - swapMultiSigEntry(); - - // need delay as it can be called inside the handler before the listener and tradeStateSubscription are actually set. - UserThread.execute(this::unSubscribe); - } - - private void swapMultiSigEntry() { - processModel.getBtcWalletService().swapTradeEntryToAvailableEntry(trade.getId(), AddressEntry.Context.MULTI_SIG); - } - - private boolean isInNetwork(TransactionConfidence confidence) { - return confidence != null && - (confidence.getConfidenceType().equals(TransactionConfidence.ConfidenceType.BUILDING) || - confidence.getConfidenceType().equals(TransactionConfidence.ConfidenceType.PENDING)); + @Override + protected void setState() { + trade.setState(Trade.State.BUYER_SAW_PAYOUT_TX_IN_NETWORK); } - private void unSubscribe() { - if (tradeStateSubscription != null) - tradeStateSubscription.unsubscribe(); - - if (confidenceListener != null) - processModel.getBtcWalletService().removeAddressConfidenceListener(confidenceListener); - } } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/buyer_as_maker/BuyerAsMakerCreatesAndSignsDepositTx.java b/core/src/main/java/bisq/core/trade/protocol/tasks/buyer_as_maker/BuyerAsMakerCreatesAndSignsDepositTx.java index 4edd9bdb663..d49995560b2 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/buyer_as_maker/BuyerAsMakerCreatesAndSignsDepositTx.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/buyer_as_maker/BuyerAsMakerCreatesAndSignsDepositTx.java @@ -18,9 +18,9 @@ package bisq.core.trade.protocol.tasks.buyer_as_maker; import bisq.core.btc.model.AddressEntry; -import bisq.core.btc.wallet.BtcWalletService; import bisq.core.btc.model.PreparedDepositTxAndMakerInputs; import bisq.core.btc.model.RawTransactionInput; +import bisq.core.btc.wallet.BtcWalletService; import bisq.core.offer.Offer; import bisq.core.trade.Trade; import bisq.core.trade.protocol.TradingPeer; @@ -43,7 +43,7 @@ @Slf4j public class BuyerAsMakerCreatesAndSignsDepositTx extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public BuyerAsMakerCreatesAndSignsDepositTx(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/buyer_as_maker/BuyerAsMakerSignPayoutTx.java b/core/src/main/java/bisq/core/trade/protocol/tasks/buyer_as_maker/BuyerAsMakerSignPayoutTx.java index b1f48b471e2..4140ce364dd 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/buyer_as_maker/BuyerAsMakerSignPayoutTx.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/buyer_as_maker/BuyerAsMakerSignPayoutTx.java @@ -19,6 +19,7 @@ import bisq.core.btc.model.AddressEntry; import bisq.core.btc.wallet.BtcWalletService; +import bisq.core.offer.Offer; import bisq.core.trade.Trade; import bisq.core.trade.protocol.tasks.TradeTask; @@ -34,11 +35,12 @@ import lombok.extern.slf4j.Slf4j; import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkNotNull; @Slf4j public class BuyerAsMakerSignPayoutTx extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public BuyerAsMakerSignPayoutTx(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } @@ -49,12 +51,13 @@ protected void run() { runInterceptHook(); Preconditions.checkNotNull(trade.getTradeAmount(), "trade.getTradeAmount() must not be null"); Preconditions.checkNotNull(trade.getDepositTx(), "trade.getDepositTx() must not be null"); + Offer offer = checkNotNull(trade.getOffer(), "offer must not be null"); BtcWalletService walletService = processModel.getBtcWalletService(); String id = processModel.getOffer().getId(); - Coin buyerPayoutAmount = trade.getOffer().getBuyerSecurityDeposit().add(trade.getTradeAmount()); - Coin sellerPayoutAmount = trade.getOffer().getSellerSecurityDeposit(); + Coin buyerPayoutAmount = offer.getBuyerSecurityDeposit().add(trade.getTradeAmount()); + Coin sellerPayoutAmount = offer.getSellerSecurityDeposit(); String buyerPayoutAddressString = walletService.getOrCreateAddressEntry(id, AddressEntry.Context.TRADE_PAYOUT).getAddressString(); diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/buyer_as_taker/BuyerAsTakerCreatesDepositTxInputs.java b/core/src/main/java/bisq/core/trade/protocol/tasks/buyer_as_taker/BuyerAsTakerCreatesDepositTxInputs.java index 451a1d51a77..79b18574dd9 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/buyer_as_taker/BuyerAsTakerCreatesDepositTxInputs.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/buyer_as_taker/BuyerAsTakerCreatesDepositTxInputs.java @@ -33,7 +33,7 @@ @Slf4j public class BuyerAsTakerCreatesDepositTxInputs extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public BuyerAsTakerCreatesDepositTxInputs(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/buyer_as_taker/BuyerAsTakerSignAndPublishDepositTx.java b/core/src/main/java/bisq/core/trade/protocol/tasks/buyer_as_taker/BuyerAsTakerSignAndPublishDepositTx.java index 0e4d4edcc12..125e347578c 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/buyer_as_taker/BuyerAsTakerSignAndPublishDepositTx.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/buyer_as_taker/BuyerAsTakerSignAndPublishDepositTx.java @@ -19,8 +19,8 @@ import bisq.core.btc.exceptions.TxBroadcastException; import bisq.core.btc.model.AddressEntry; -import bisq.core.btc.wallet.BtcWalletService; import bisq.core.btc.model.RawTransactionInput; +import bisq.core.btc.wallet.BtcWalletService; import bisq.core.btc.wallet.TxBroadcaster; import bisq.core.trade.Trade; import bisq.core.trade.protocol.TradingPeer; @@ -44,7 +44,7 @@ @Slf4j public class BuyerAsTakerSignAndPublishDepositTx extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public BuyerAsTakerSignAndPublishDepositTx(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerCreateAndSignContract.java b/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerCreateAndSignContract.java index 043e8a5baba..417a4be432c 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerCreateAndSignContract.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerCreateAndSignContract.java @@ -41,7 +41,7 @@ @Slf4j public class MakerCreateAndSignContract extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public MakerCreateAndSignContract(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerProcessDepositTxPublishedMessage.java b/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerProcessDepositTxPublishedMessage.java index 5325934d983..c000c49e3f5 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerProcessDepositTxPublishedMessage.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerProcessDepositTxPublishedMessage.java @@ -35,7 +35,7 @@ @Slf4j public class MakerProcessDepositTxPublishedMessage extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public MakerProcessDepositTxPublishedMessage(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerProcessPayDepositRequest.java b/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerProcessPayDepositRequest.java index ce72b924586..4a2cf510f79 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerProcessPayDepositRequest.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerProcessPayDepositRequest.java @@ -18,10 +18,16 @@ package bisq.core.trade.protocol.tasks.maker; import bisq.core.exceptions.TradePriceOutOfToleranceException; +import bisq.core.offer.Offer; +import bisq.core.support.dispute.arbitration.arbitrator.Arbitrator; +import bisq.core.support.dispute.mediation.mediator.Mediator; import bisq.core.trade.Trade; import bisq.core.trade.messages.PayDepositRequest; import bisq.core.trade.protocol.TradingPeer; import bisq.core.trade.protocol.tasks.TradeTask; +import bisq.core.user.User; + +import bisq.network.p2p.NodeAddress; import bisq.common.taskrunner.TaskRunner; @@ -38,7 +44,7 @@ @Slf4j public class MakerProcessPayDepositRequest extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public MakerProcessPayDepositRequest(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } @@ -72,16 +78,34 @@ protected void run() { failed("acceptedArbitratorNodeAddresses must not be empty"); // Taker has to sign offerId (he cannot manipulate that - so we avoid to have a challenge protocol for passing the nonce we want to get signed) - tradingPeer.setAccountAgeWitnessNonce(trade.getOffer().getId().getBytes(Charsets.UTF_8)); + tradingPeer.setAccountAgeWitnessNonce(trade.getId().getBytes(Charsets.UTF_8)); tradingPeer.setAccountAgeWitnessSignature(payDepositRequest.getAccountAgeWitnessSignatureOfOfferId()); tradingPeer.setCurrentDate(payDepositRequest.getCurrentDate()); - trade.setArbitratorNodeAddress(checkNotNull(payDepositRequest.getArbitratorNodeAddress())); - trade.setMediatorNodeAddress(checkNotNull(payDepositRequest.getMediatorNodeAddress())); - + User user = checkNotNull(processModel.getUser(), "User must not be null"); + + NodeAddress arbitratorNodeAddress = checkNotNull(payDepositRequest.getArbitratorNodeAddress(), + "payDepositRequest.getArbitratorNodeAddress() must not be null"); + trade.setArbitratorNodeAddress(arbitratorNodeAddress); + Arbitrator arbitrator = checkNotNull(user.getAcceptedArbitratorByAddress(arbitratorNodeAddress), + "user.getAcceptedArbitratorByAddress(arbitratorNodeAddress) must not be null"); + trade.setArbitratorBtcPubKey(checkNotNull(arbitrator.getBtcPubKey(), + "arbitrator.getBtcPubKey() must not be null")); + trade.setArbitratorPubKeyRing(checkNotNull(arbitrator.getPubKeyRing(), + "arbitrator.getPubKeyRing() must not be null")); + + NodeAddress mediatorNodeAddress = checkNotNull(payDepositRequest.getMediatorNodeAddress(), + "payDepositRequest.getMediatorNodeAddress() must not be null"); + trade.setMediatorNodeAddress(mediatorNodeAddress); + Mediator mediator = checkNotNull(user.getAcceptedMediatorByAddress(mediatorNodeAddress), + "user.getAcceptedArbitratorByAddress(arbitratorNodeAddress) must not be null"); + trade.setMediatorPubKeyRing(checkNotNull(mediator.getPubKeyRing(), + "mediator.getPubKeyRing() must not be null")); + + Offer offer = checkNotNull(trade.getOffer(), "Offer must not be null"); try { long takersTradePrice = payDepositRequest.getTradePrice(); - trade.getOffer().checkTradePriceTolerance(takersTradePrice); + offer.checkTradePriceTolerance(takersTradePrice); trade.setTradePrice(takersTradePrice); } catch (TradePriceOutOfToleranceException e) { failed(e.getMessage()); @@ -94,6 +118,8 @@ protected void run() { trade.setTradingPeerNodeAddress(processModel.getTempTradingPeerNodeAddress()); + trade.persist(); + processModel.removeMailboxMessageAfterProcessing(trade); complete(); diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerSendPublishDepositTxRequest.java b/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerSendPublishDepositTxRequest.java index 82e2dd1fe13..8bb029f140f 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerSendPublishDepositTxRequest.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerSendPublishDepositTxRequest.java @@ -42,7 +42,7 @@ @Slf4j public class MakerSendPublishDepositTxRequest extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public MakerSendPublishDepositTxRequest(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerSetupDepositTxListener.java b/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerSetupDepositTxListener.java index b0a2c028727..a858124c5a1 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerSetupDepositTxListener.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerSetupDepositTxListener.java @@ -44,7 +44,7 @@ public class MakerSetupDepositTxListener extends TradeTask { private Subscription tradeStateSubscription; private AddressConfidenceListener confidenceListener; - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public MakerSetupDepositTxListener(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerVerifyTakerAccount.java b/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerVerifyTakerAccount.java index 0f724d869cc..2f24a9be971 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerVerifyTakerAccount.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerVerifyTakerAccount.java @@ -26,7 +26,7 @@ @Slf4j public class MakerVerifyTakerAccount extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public MakerVerifyTakerAccount(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerVerifyTakerFeePayment.java b/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerVerifyTakerFeePayment.java index b704cfc60b3..8f30e978959 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerVerifyTakerFeePayment.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerVerifyTakerFeePayment.java @@ -27,7 +27,7 @@ @Slf4j public class MakerVerifyTakerFeePayment extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public MakerVerifyTakerFeePayment(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerVerifyArbitratorSelection.java b/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/BroadcastMediatedPayoutTx.java similarity index 54% rename from core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerVerifyArbitratorSelection.java rename to core/src/main/java/bisq/core/trade/protocol/tasks/mediation/BroadcastMediatedPayoutTx.java index 4e85e902aae..c1248792f6a 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerVerifyArbitratorSelection.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/BroadcastMediatedPayoutTx.java @@ -15,23 +15,20 @@ * along with Bisq. If not, see . */ -package bisq.core.trade.protocol.tasks.maker; +package bisq.core.trade.protocol.tasks.mediation; +import bisq.core.support.dispute.mediation.MediationResultState; import bisq.core.trade.Trade; -import bisq.core.trade.protocol.ArbitratorSelectionRule; -import bisq.core.trade.protocol.tasks.TradeTask; - -import bisq.network.p2p.NodeAddress; +import bisq.core.trade.protocol.tasks.BroadcastPayoutTx; import bisq.common.taskrunner.TaskRunner; import lombok.extern.slf4j.Slf4j; @Slf4j -public class MakerVerifyArbitratorSelection extends TradeTask { - - @SuppressWarnings({"WeakerAccess", "unused"}) - public MakerVerifyArbitratorSelection(TaskRunner taskHandler, Trade trade) { +public class BroadcastMediatedPayoutTx extends BroadcastPayoutTx { + @SuppressWarnings({"unused"}) + public BroadcastMediatedPayoutTx(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } @@ -40,16 +37,14 @@ protected void run() { try { runInterceptHook(); - final NodeAddress selectedAddress = ArbitratorSelectionRule.select( - processModel.getTakerAcceptedArbitratorNodeAddresses(), - processModel.getOffer()); - if (trade.getArbitratorNodeAddress() != null && - trade.getArbitratorNodeAddress().equals(selectedAddress)) - complete(); - else - failed("Arbitrator selection verification failed"); + super.run(); } catch (Throwable t) { failed(t); } } + + @Override + protected void setState() { + trade.setMediationResultState(MediationResultState.PAYOUT_TX_PUBLISHED); + } } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/FinalizeMediatedPayoutTx.java b/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/FinalizeMediatedPayoutTx.java new file mode 100644 index 00000000000..b88a39ff05e --- /dev/null +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/FinalizeMediatedPayoutTx.java @@ -0,0 +1,121 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.trade.protocol.tasks.mediation; + +import bisq.core.btc.model.AddressEntry; +import bisq.core.btc.wallet.BtcWalletService; +import bisq.core.offer.Offer; +import bisq.core.trade.Contract; +import bisq.core.trade.Trade; +import bisq.core.trade.protocol.TradingPeer; +import bisq.core.trade.protocol.tasks.TradeTask; + +import bisq.common.taskrunner.TaskRunner; + +import org.bitcoinj.core.Coin; +import org.bitcoinj.core.Transaction; +import org.bitcoinj.crypto.DeterministicKey; + +import java.util.Arrays; + +import lombok.extern.slf4j.Slf4j; + +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkNotNull; + +@Slf4j +public class FinalizeMediatedPayoutTx extends TradeTask { + + @SuppressWarnings({"unused"}) + public FinalizeMediatedPayoutTx(TaskRunner taskHandler, Trade trade) { + super(taskHandler, trade); + } + + @Override + protected void run() { + try { + runInterceptHook(); + + Transaction depositTx = checkNotNull(trade.getDepositTx()); + String tradeId = trade.getId(); + TradingPeer tradingPeer = processModel.getTradingPeer(); + BtcWalletService walletService = processModel.getBtcWalletService(); + Offer offer = checkNotNull(trade.getOffer(), "offer must not be null"); + Coin tradeAmount = checkNotNull(trade.getTradeAmount(), "tradeAmount must not be null"); + Contract contract = checkNotNull(trade.getContract(), "contract must not be null"); + + checkNotNull(trade.getTradeAmount(), "trade.getTradeAmount() must not be null"); + + + byte[] mySignature = checkNotNull(processModel.getMediatedPayoutTxSignature(), + "processModel.getTxSignatureFromMediation must not be null"); + byte[] peersSignature = checkNotNull(tradingPeer.getMediatedPayoutTxSignature(), + "tradingPeer.getTxSignatureFromMediation must not be null"); + + boolean isMyRoleBuyer = contract.isMyRoleBuyer(processModel.getPubKeyRing()); + byte[] buyerSignature = isMyRoleBuyer ? mySignature : peersSignature; + byte[] sellerSignature = isMyRoleBuyer ? peersSignature : mySignature; + + Coin totalPayoutAmount = offer.getBuyerSecurityDeposit().add(tradeAmount).add(offer.getSellerSecurityDeposit()); + Coin buyerPayoutAmount = Coin.valueOf(processModel.getBuyerPayoutAmountFromMediation()); + Coin sellerPayoutAmount = Coin.valueOf(processModel.getSellerPayoutAmountFromMediation()); + checkArgument(totalPayoutAmount.equals(buyerPayoutAmount.add(sellerPayoutAmount)), + "Payout amount does not match buyerPayoutAmount=" + buyerPayoutAmount.toFriendlyString() + + "; sellerPayoutAmount=" + sellerPayoutAmount); + + String myPayoutAddressString = walletService.getOrCreateAddressEntry(tradeId, AddressEntry.Context.TRADE_PAYOUT).getAddressString(); + String peersPayoutAddressString = tradingPeer.getPayoutAddressString(); + String buyerPayoutAddressString = isMyRoleBuyer ? myPayoutAddressString : peersPayoutAddressString; + String sellerPayoutAddressString = isMyRoleBuyer ? peersPayoutAddressString : myPayoutAddressString; + + byte[] myMultiSigPubKey = processModel.getMyMultiSigPubKey(); + byte[] peersMultiSigPubKey = tradingPeer.getMultiSigPubKey(); + byte[] buyerMultiSigPubKey = isMyRoleBuyer ? myMultiSigPubKey : peersMultiSigPubKey; + byte[] sellerMultiSigPubKey = isMyRoleBuyer ? peersMultiSigPubKey : myMultiSigPubKey; + + DeterministicKey multiSigKeyPair = walletService.getMultiSigKeyPair(tradeId, myMultiSigPubKey); + + checkArgument(Arrays.equals(myMultiSigPubKey, + walletService.getOrCreateAddressEntry(tradeId, AddressEntry.Context.MULTI_SIG).getPubKey()), + "myMultiSigPubKey from AddressEntry must match the one from the trade data. trade id =" + tradeId); + + Transaction transaction = processModel.getTradeWalletService().finalizeMediatedPayoutTx( + depositTx, + buyerSignature, + sellerSignature, + buyerPayoutAmount, + sellerPayoutAmount, + buyerPayoutAddressString, + sellerPayoutAddressString, + multiSigKeyPair, + buyerMultiSigPubKey, + sellerMultiSigPubKey, + trade.getArbitratorBtcPubKey() + ); + + trade.setPayoutTx(transaction); + + walletService.swapTradeEntryToAvailableEntry(tradeId, AddressEntry.Context.MULTI_SIG); + + complete(); + } catch (Throwable t) { + failed(t); + } + } +} + diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/ProcessMediatedPayoutSignatureMessage.java b/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/ProcessMediatedPayoutSignatureMessage.java new file mode 100644 index 00000000000..0a26804bf81 --- /dev/null +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/ProcessMediatedPayoutSignatureMessage.java @@ -0,0 +1,61 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.trade.protocol.tasks.mediation; + +import bisq.core.support.dispute.mediation.MediationResultState; +import bisq.core.trade.Trade; +import bisq.core.trade.messages.MediatedPayoutTxSignatureMessage; +import bisq.core.trade.protocol.tasks.TradeTask; +import bisq.core.util.Validator; + +import bisq.common.taskrunner.TaskRunner; + +import lombok.extern.slf4j.Slf4j; + +import static com.google.common.base.Preconditions.checkNotNull; + +@Slf4j +public class ProcessMediatedPayoutSignatureMessage extends TradeTask { + @SuppressWarnings({"unused"}) + public ProcessMediatedPayoutSignatureMessage(TaskRunner taskHandler, Trade trade) { + super(taskHandler, trade); + } + + @Override + protected void run() { + try { + runInterceptHook(); + log.debug("current trade state " + trade.getState()); + MediatedPayoutTxSignatureMessage message = (MediatedPayoutTxSignatureMessage) processModel.getTradeMessage(); + Validator.checkTradeId(processModel.getOfferId(), message); + checkNotNull(message); + + processModel.getTradingPeer().setMediatedPayoutTxSignature(checkNotNull(message.getTxSignature())); + + // update to the latest peer address of our peer if the message is correct + trade.setTradingPeerNodeAddress(processModel.getTempTradingPeerNodeAddress()); + processModel.removeMailboxMessageAfterProcessing(trade); + + trade.setMediationResultState(MediationResultState.RECEIVED_SIG_MSG); + + complete(); + } catch (Throwable t) { + failed(t); + } + } +} diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/ProcessMediatedPayoutTxPublishedMessage.java b/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/ProcessMediatedPayoutTxPublishedMessage.java new file mode 100644 index 00000000000..21344cf35b5 --- /dev/null +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/ProcessMediatedPayoutTxPublishedMessage.java @@ -0,0 +1,77 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.trade.protocol.tasks.mediation; + +import bisq.core.btc.model.AddressEntry; +import bisq.core.btc.wallet.BtcWalletService; +import bisq.core.support.dispute.mediation.MediationResultState; +import bisq.core.trade.Trade; +import bisq.core.trade.messages.MediatedPayoutTxPublishedMessage; +import bisq.core.trade.protocol.tasks.TradeTask; +import bisq.core.util.Validator; + +import bisq.common.taskrunner.TaskRunner; + +import org.bitcoinj.core.Transaction; + +import lombok.extern.slf4j.Slf4j; + +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkNotNull; + +@Slf4j +public class ProcessMediatedPayoutTxPublishedMessage extends TradeTask { + @SuppressWarnings({"unused"}) + public ProcessMediatedPayoutTxPublishedMessage(TaskRunner taskHandler, Trade trade) { + super(taskHandler, trade); + } + + @Override + protected void run() { + try { + runInterceptHook(); + MediatedPayoutTxPublishedMessage message = (MediatedPayoutTxPublishedMessage) processModel.getTradeMessage(); + Validator.checkTradeId(processModel.getOfferId(), message); + checkNotNull(message); + checkArgument(message.getPayoutTx() != null); + + // update to the latest peer address of our peer if the message is correct + trade.setTradingPeerNodeAddress(processModel.getTempTradingPeerNodeAddress()); + + if (trade.getPayoutTx() == null) { + Transaction walletTx = processModel.getTradeWalletService().addTxToWallet(message.getPayoutTx()); + trade.setPayoutTx(walletTx); + BtcWalletService.printTx("payoutTx received from peer", walletTx); + + trade.setMediationResultState(MediationResultState.RECEIVED_PAYOUT_TX_PUBLISHED_MSG); + + if (trade.getPayoutTx() != null) { + processModel.getTradeManager().closeDisputedTrade(trade.getId(), Trade.DisputeState.MEDIATION_CLOSED); + } + + processModel.getBtcWalletService().swapTradeEntryToAvailableEntry(trade.getId(), AddressEntry.Context.MULTI_SIG); + } else { + log.info("We got the payout tx already set from BuyerSetupPayoutTxListener and do nothing here. trade ID={}", trade.getId()); + } + processModel.removeMailboxMessageAfterProcessing(trade); + complete(); + } catch (Throwable t) { + failed(t); + } + } +} diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SendMediatedPayoutSignatureMessage.java b/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SendMediatedPayoutSignatureMessage.java new file mode 100644 index 00000000000..6289c6d2725 --- /dev/null +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SendMediatedPayoutSignatureMessage.java @@ -0,0 +1,101 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.trade.protocol.tasks.mediation; + +import bisq.core.support.dispute.mediation.MediationResultState; +import bisq.core.trade.Contract; +import bisq.core.trade.Trade; +import bisq.core.trade.messages.MediatedPayoutTxSignatureMessage; +import bisq.core.trade.protocol.tasks.TradeTask; + +import bisq.network.p2p.NodeAddress; +import bisq.network.p2p.P2PService; +import bisq.network.p2p.SendMailboxMessageListener; + +import bisq.common.crypto.PubKeyRing; +import bisq.common.taskrunner.TaskRunner; + +import java.util.UUID; + +import lombok.extern.slf4j.Slf4j; + +import static com.google.common.base.Preconditions.checkNotNull; + +@Slf4j +public class SendMediatedPayoutSignatureMessage extends TradeTask { + @SuppressWarnings({"unused"}) + public SendMediatedPayoutSignatureMessage(TaskRunner taskHandler, Trade trade) { + super(taskHandler, trade); + } + + @Override + protected void run() { + try { + runInterceptHook(); + + PubKeyRing pubKeyRing = processModel.getPubKeyRing(); + Contract contract = checkNotNull(trade.getContract(), "contract must not be null"); + PubKeyRing peersPubKeyRing = contract.getPeersPubKeyRing(pubKeyRing); + NodeAddress peersNodeAddress = contract.getPeersNodeAddress(pubKeyRing); + log.error("sendBuyerSendPayoutSignatureMessage to peerAddress " + peersNodeAddress); + P2PService p2PService = processModel.getP2PService(); + MediatedPayoutTxSignatureMessage message = new MediatedPayoutTxSignatureMessage(processModel.getMediatedPayoutTxSignature(), + trade.getId(), + p2PService.getAddress(), + UUID.randomUUID().toString()); + log.info("Send {} to peer {}. tradeId={}, uid={}", + message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); + + trade.setMediationResultState(MediationResultState.SIG_MSG_SENT); + p2PService.sendEncryptedMailboxMessage(peersNodeAddress, + peersPubKeyRing, + message, + new SendMailboxMessageListener() { + @Override + public void onArrived() { + log.info("{} arrived at peer {}. tradeId={}, uid={}", + message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); + + trade.setMediationResultState(MediationResultState.SIG_MSG_ARRIVED); + complete(); + } + + @Override + public void onStoredInMailbox() { + log.info("{} stored in mailbox for peer {}. tradeId={}, uid={}", + message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); + + trade.setMediationResultState(MediationResultState.SIG_MSG_IN_MAILBOX); + complete(); + } + + @Override + public void onFault(String errorMessage) { + log.error("{} failed: Peer {}. tradeId={}, uid={}, errorMessage={}", + message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid(), errorMessage); + trade.setMediationResultState(MediationResultState.SIG_MSG_SEND_FAILED); + appendToErrorMessage("Sending message failed: message=" + message + "\nerrorMessage=" + errorMessage); + failed(errorMessage); + } + } + ); + } catch (Throwable t) { + failed(t); + } + } +} diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SendMediatedPayoutTxPublishedMessage.java b/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SendMediatedPayoutTxPublishedMessage.java new file mode 100644 index 00000000000..b97e782d092 --- /dev/null +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SendMediatedPayoutTxPublishedMessage.java @@ -0,0 +1,85 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.trade.protocol.tasks.mediation; + +import bisq.core.support.dispute.mediation.MediationResultState; +import bisq.core.trade.Trade; +import bisq.core.trade.messages.MediatedPayoutTxPublishedMessage; +import bisq.core.trade.messages.TradeMessage; +import bisq.core.trade.protocol.tasks.SendPayoutTxPublishedMessage; + +import bisq.common.taskrunner.TaskRunner; + +import org.bitcoinj.core.Transaction; + +import java.util.UUID; + +import lombok.extern.slf4j.Slf4j; + +import static com.google.common.base.Preconditions.checkNotNull; + + +@Slf4j +public class SendMediatedPayoutTxPublishedMessage extends SendPayoutTxPublishedMessage { + @SuppressWarnings({"unused"}) + public SendMediatedPayoutTxPublishedMessage(TaskRunner taskHandler, Trade trade) { + super(taskHandler, trade); + } + + @Override + protected TradeMessage getMessage(String id) { + Transaction payoutTx = checkNotNull(trade.getPayoutTx(), "trade.getPayoutTx() must not be null"); + return new MediatedPayoutTxPublishedMessage( + id, + payoutTx.bitcoinSerialize(), + processModel.getMyNodeAddress(), + UUID.randomUUID().toString() + ); + } + + @Override + protected void setStateSent() { + trade.setMediationResultState(MediationResultState.PAYOUT_TX_PUBLISHED_MSG_SENT); + } + + @Override + protected void setStateArrived() { + trade.setMediationResultState(MediationResultState.PAYOUT_TX_PUBLISHED_MSG_ARRIVED); + } + + @Override + protected void setStateStoredInMailbox() { + trade.setMediationResultState(MediationResultState.PAYOUT_TX_PUBLISHED_MSG_IN_MAILBOX); + } + + @Override + protected void setStateFault() { + trade.setMediationResultState(MediationResultState.PAYOUT_TX_PUBLISHED_MSG_SEND_FAILED); + } + + @Override + protected void run() { + try { + runInterceptHook(); + + super.run(); + } catch (Throwable t) { + failed(t); + } + } +} diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SetupMediatedPayoutTxListener.java b/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SetupMediatedPayoutTxListener.java new file mode 100644 index 00000000000..716f2d76471 --- /dev/null +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SetupMediatedPayoutTxListener.java @@ -0,0 +1,54 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.trade.protocol.tasks.mediation; + +import bisq.core.support.dispute.mediation.MediationResultState; +import bisq.core.trade.Trade; +import bisq.core.trade.protocol.tasks.SetupPayoutTxListener; + +import bisq.common.taskrunner.TaskRunner; + +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class SetupMediatedPayoutTxListener extends SetupPayoutTxListener { + @SuppressWarnings({"unused"}) + public SetupMediatedPayoutTxListener(TaskRunner taskHandler, Trade trade) { + super(taskHandler, trade); + } + + @Override + protected void run() { + try { + runInterceptHook(); + + super.run(); + + } catch (Throwable t) { + failed(t); + } + } + + @Override + protected void setState() { + trade.setMediationResultState(MediationResultState.PAYOUT_TX_SEEN_IN_NETWORK); + if (trade.getPayoutTx() != null) { + processModel.getTradeManager().closeDisputedTrade(trade.getId(), Trade.DisputeState.MEDIATION_CLOSED); + } + } +} diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SignMediatedPayoutTx.java b/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SignMediatedPayoutTx.java new file mode 100644 index 00000000000..59c27e83177 --- /dev/null +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SignMediatedPayoutTx.java @@ -0,0 +1,110 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.trade.protocol.tasks.mediation; + +import bisq.core.btc.model.AddressEntry; +import bisq.core.btc.wallet.BtcWalletService; +import bisq.core.offer.Offer; +import bisq.core.trade.Contract; +import bisq.core.trade.Trade; +import bisq.core.trade.protocol.TradingPeer; +import bisq.core.trade.protocol.tasks.TradeTask; + +import bisq.common.taskrunner.TaskRunner; + +import org.bitcoinj.core.Coin; +import org.bitcoinj.core.Transaction; +import org.bitcoinj.crypto.DeterministicKey; + +import java.util.Arrays; + +import lombok.extern.slf4j.Slf4j; + +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkNotNull; + +@Slf4j +public class SignMediatedPayoutTx extends TradeTask { + + @SuppressWarnings({"unused"}) + public SignMediatedPayoutTx(TaskRunner taskHandler, Trade trade) { + super(taskHandler, trade); + } + + @Override + protected void run() { + try { + runInterceptHook(); + + TradingPeer tradingPeer = processModel.getTradingPeer(); + if (processModel.getMediatedPayoutTxSignature() != null) { + log.warn("processModel.getTxSignatureFromMediation is already set"); + } + + String tradeId = trade.getId(); + BtcWalletService walletService = processModel.getBtcWalletService(); + Transaction depositTx = checkNotNull(trade.getDepositTx(), "trade.getDepositTx() must not be null"); + Offer offer = checkNotNull(trade.getOffer(), "offer must not be null"); + Coin tradeAmount = checkNotNull(trade.getTradeAmount(), "tradeAmount must not be null"); + Contract contract = checkNotNull(trade.getContract(), "contract must not be null"); + + Coin totalPayoutAmount = offer.getBuyerSecurityDeposit().add(tradeAmount).add(offer.getSellerSecurityDeposit()); + Coin buyerPayoutAmount = Coin.valueOf(processModel.getBuyerPayoutAmountFromMediation()); + Coin sellerPayoutAmount = Coin.valueOf(processModel.getSellerPayoutAmountFromMediation()); + + checkArgument(totalPayoutAmount.equals(buyerPayoutAmount.add(sellerPayoutAmount)), + "Payout amount does not match buyerPayoutAmount=" + buyerPayoutAmount.toFriendlyString() + + "; sellerPayoutAmount=" + sellerPayoutAmount); + + boolean isMyRoleBuyer = contract.isMyRoleBuyer(processModel.getPubKeyRing()); + + String myPayoutAddressString = walletService.getOrCreateAddressEntry(tradeId, AddressEntry.Context.TRADE_PAYOUT).getAddressString(); + String peersPayoutAddressString = tradingPeer.getPayoutAddressString(); + String buyerPayoutAddressString = isMyRoleBuyer ? myPayoutAddressString : peersPayoutAddressString; + String sellerPayoutAddressString = isMyRoleBuyer ? peersPayoutAddressString : myPayoutAddressString; + + byte[] myMultiSigPubKey = processModel.getMyMultiSigPubKey(); + byte[] peersMultiSigPubKey = tradingPeer.getMultiSigPubKey(); + byte[] buyerMultiSigPubKey = isMyRoleBuyer ? myMultiSigPubKey : peersMultiSigPubKey; + byte[] sellerMultiSigPubKey = isMyRoleBuyer ? peersMultiSigPubKey : myMultiSigPubKey; + + DeterministicKey myMultiSigKeyPair = walletService.getMultiSigKeyPair(tradeId, myMultiSigPubKey); + + checkArgument(Arrays.equals(myMultiSigPubKey, + walletService.getOrCreateAddressEntry(tradeId, AddressEntry.Context.MULTI_SIG).getPubKey()), + "myMultiSigPubKey from AddressEntry must match the one from the trade data. trade id =" + tradeId); + + byte[] mediatedPayoutTxSignature = processModel.getTradeWalletService().signMediatedPayoutTx( + depositTx, + buyerPayoutAmount, + sellerPayoutAmount, + buyerPayoutAddressString, + sellerPayoutAddressString, + myMultiSigKeyPair, + buyerMultiSigPubKey, + sellerMultiSigPubKey, + trade.getArbitratorBtcPubKey()); + processModel.setMediatedPayoutTxSignature(mediatedPayoutTxSignature); + + complete(); + } catch (Throwable t) { + failed(t); + } + } +} + diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerBroadcastPayoutTx.java b/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerBroadcastPayoutTx.java index c056b52dd86..c27072538a2 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerBroadcastPayoutTx.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerBroadcastPayoutTx.java @@ -17,23 +17,16 @@ package bisq.core.trade.protocol.tasks.seller; -import bisq.core.btc.exceptions.TxBroadcastException; -import bisq.core.btc.wallet.TxBroadcaster; import bisq.core.trade.Trade; -import bisq.core.trade.protocol.tasks.TradeTask; +import bisq.core.trade.protocol.tasks.BroadcastPayoutTx; import bisq.common.taskrunner.TaskRunner; -import org.bitcoinj.core.Transaction; -import org.bitcoinj.core.TransactionConfidence; - import lombok.extern.slf4j.Slf4j; -import static com.google.common.base.Preconditions.checkNotNull; - @Slf4j -public class SellerBroadcastPayoutTx extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) +public class SellerBroadcastPayoutTx extends BroadcastPayoutTx { + @SuppressWarnings({"unused"}) public SellerBroadcastPayoutTx(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } @@ -42,43 +35,15 @@ public SellerBroadcastPayoutTx(TaskRunner taskHandler, Trade trade) { protected void run() { try { runInterceptHook(); - Transaction payoutTx = trade.getPayoutTx(); - checkNotNull(payoutTx, "payoutTx must not be null"); - - TransactionConfidence.ConfidenceType confidenceType = payoutTx.getConfidence().getConfidenceType(); - log.debug("payoutTx confidenceType:" + confidenceType); - if (confidenceType.equals(TransactionConfidence.ConfidenceType.BUILDING) || - confidenceType.equals(TransactionConfidence.ConfidenceType.PENDING)) { - log.debug("payoutTx was already published. confidenceType:" + confidenceType); - trade.setState(Trade.State.SELLER_PUBLISHED_PAYOUT_TX); - complete(); - } else { - processModel.getTradeWalletService().broadcastTx(payoutTx, - new TxBroadcaster.Callback() { - @Override - public void onSuccess(Transaction transaction) { - if (!completed) { - log.debug("BroadcastTx succeeded. Transaction:" + transaction); - trade.setState(Trade.State.SELLER_PUBLISHED_PAYOUT_TX); - complete(); - } else { - log.warn("We got the onSuccess callback called after the timeout has been triggered a complete()."); - } - } - @Override - public void onFailure(TxBroadcastException exception) { - if (!completed) { - log.error("BroadcastTx failed. Error:" + exception.getMessage()); - failed(exception); - } else { - log.warn("We got the onFailure callback called after the timeout has been triggered a complete()."); - } - } - }); - } + super.run(); } catch (Throwable t) { failed(t); } } + + @Override + protected void setState() { + trade.setState(Trade.State.SELLER_PUBLISHED_PAYOUT_TX); + } } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerProcessCounterCurrencyTransferStartedMessage.java b/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerProcessCounterCurrencyTransferStartedMessage.java index ab8cedc2d60..935d780c76e 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerProcessCounterCurrencyTransferStartedMessage.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerProcessCounterCurrencyTransferStartedMessage.java @@ -30,7 +30,7 @@ @Slf4j public class SellerProcessCounterCurrencyTransferStartedMessage extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public SellerProcessCounterCurrencyTransferStartedMessage(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerSendPayoutTxPublishedMessage.java b/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerSendPayoutTxPublishedMessage.java index b277caec3f1..c8af73c7328 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerSendPayoutTxPublishedMessage.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerSendPayoutTxPublishedMessage.java @@ -19,76 +19,63 @@ import bisq.core.trade.Trade; import bisq.core.trade.messages.PayoutTxPublishedMessage; -import bisq.core.trade.protocol.tasks.TradeTask; - -import bisq.network.p2p.NodeAddress; -import bisq.network.p2p.SendMailboxMessageListener; +import bisq.core.trade.messages.TradeMessage; +import bisq.core.trade.protocol.tasks.SendPayoutTxPublishedMessage; import bisq.common.taskrunner.TaskRunner; +import org.bitcoinj.core.Transaction; + import java.util.UUID; import lombok.extern.slf4j.Slf4j; +import static com.google.common.base.Preconditions.checkNotNull; + @Slf4j -public class SellerSendPayoutTxPublishedMessage extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) +public class SellerSendPayoutTxPublishedMessage extends SendPayoutTxPublishedMessage { + @SuppressWarnings({"unused"}) public SellerSendPayoutTxPublishedMessage(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } + @Override + protected TradeMessage getMessage(String id) { + Transaction payoutTx = checkNotNull(trade.getPayoutTx(), "trade.getPayoutTx() must not be null"); + return new PayoutTxPublishedMessage( + id, + payoutTx.bitcoinSerialize(), + processModel.getMyNodeAddress(), + UUID.randomUUID().toString() + ); + } + + @Override + protected void setStateSent() { + trade.setState(Trade.State.SELLER_SENT_PAYOUT_TX_PUBLISHED_MSG); + } + + @Override + protected void setStateArrived() { + trade.setState(Trade.State.SELLER_SAW_ARRIVED_PAYOUT_TX_PUBLISHED_MSG); + } + + @Override + protected void setStateStoredInMailbox() { + trade.setState(Trade.State.SELLER_STORED_IN_MAILBOX_PAYOUT_TX_PUBLISHED_MSG); + } + + @Override + protected void setStateFault() { + trade.setState(Trade.State.SELLER_SEND_FAILED_PAYOUT_TX_PUBLISHED_MSG); + } + @Override protected void run() { try { runInterceptHook(); - if (trade.getPayoutTx() != null) { - final String id = processModel.getOfferId(); - final PayoutTxPublishedMessage message = new PayoutTxPublishedMessage( - id, - trade.getPayoutTx().bitcoinSerialize(), - processModel.getMyNodeAddress(), - UUID.randomUUID().toString() - ); - trade.setState(Trade.State.SELLER_SENT_PAYOUT_TX_PUBLISHED_MSG); - NodeAddress peersNodeAddress = trade.getTradingPeerNodeAddress(); - log.info("Send {} to peer {}. tradeId={}, uid={}", - message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); - - processModel.getP2PService().sendEncryptedMailboxMessage( - peersNodeAddress, - processModel.getTradingPeer().getPubKeyRing(), - message, - new SendMailboxMessageListener() { - @Override - public void onArrived() { - log.info("{} arrived at peer {}. tradeId={}, uid={}", - message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); - trade.setState(Trade.State.SELLER_SAW_ARRIVED_PAYOUT_TX_PUBLISHED_MSG); - complete(); - } - - @Override - public void onStoredInMailbox() { - log.info("{} stored in mailbox for peer {}. tradeId={}, uid={}", - message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); - trade.setState(Trade.State.SELLER_STORED_IN_MAILBOX_PAYOUT_TX_PUBLISHED_MSG); - complete(); - } - @Override - public void onFault(String errorMessage) { - log.error("{} failed: Peer {}. tradeId={}, uid={}, errorMessage={}", - message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid(), errorMessage); - trade.setState(Trade.State.SELLER_SEND_FAILED_PAYOUT_TX_PUBLISHED_MSG); - appendToErrorMessage("Sending message failed: message=" + message + "\nerrorMessage=" + errorMessage); - failed(errorMessage); - } - } - ); - } else { - log.error("trade.getPayoutTx() = " + trade.getPayoutTx()); - failed("PayoutTx is null"); - } + super.run(); } catch (Throwable t) { failed(t); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerSignAndFinalizePayoutTx.java b/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerSignAndFinalizePayoutTx.java index 2648a14f996..80b3e4c6340 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerSignAndFinalizePayoutTx.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerSignAndFinalizePayoutTx.java @@ -41,7 +41,7 @@ @Slf4j public class SellerSignAndFinalizePayoutTx extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public SellerSignAndFinalizePayoutTx(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerVerifiesPeersAccountAge.java b/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerVerifiesPeersAccountAge.java index 78591b641ad..a84b72aa64b 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerVerifiesPeersAccountAge.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/seller/SellerVerifiesPeersAccountAge.java @@ -29,7 +29,7 @@ @Slf4j public class SellerVerifiesPeersAccountAge extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public SellerVerifiesPeersAccountAge(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/seller_as_maker/SellerAsMakerCreatesAndSignsDepositTx.java b/core/src/main/java/bisq/core/trade/protocol/tasks/seller_as_maker/SellerAsMakerCreatesAndSignsDepositTx.java index 5cf0c2c3d74..28f3005163d 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/seller_as_maker/SellerAsMakerCreatesAndSignsDepositTx.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/seller_as_maker/SellerAsMakerCreatesAndSignsDepositTx.java @@ -18,9 +18,9 @@ package bisq.core.trade.protocol.tasks.seller_as_maker; import bisq.core.btc.model.AddressEntry; -import bisq.core.btc.wallet.BtcWalletService; import bisq.core.btc.model.PreparedDepositTxAndMakerInputs; import bisq.core.btc.model.RawTransactionInput; +import bisq.core.btc.wallet.BtcWalletService; import bisq.core.offer.Offer; import bisq.core.trade.Trade; import bisq.core.trade.protocol.TradingPeer; @@ -43,7 +43,7 @@ @Slf4j public class SellerAsMakerCreatesAndSignsDepositTx extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public SellerAsMakerCreatesAndSignsDepositTx(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/seller_as_taker/SellerAsTakerCreatesDepositTxInputs.java b/core/src/main/java/bisq/core/trade/protocol/tasks/seller_as_taker/SellerAsTakerCreatesDepositTxInputs.java index 72f2d5791b8..6298250566e 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/seller_as_taker/SellerAsTakerCreatesDepositTxInputs.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/seller_as_taker/SellerAsTakerCreatesDepositTxInputs.java @@ -32,7 +32,7 @@ @Slf4j public class SellerAsTakerCreatesDepositTxInputs extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public SellerAsTakerCreatesDepositTxInputs(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/seller_as_taker/SellerAsTakerSignAndPublishDepositTx.java b/core/src/main/java/bisq/core/trade/protocol/tasks/seller_as_taker/SellerAsTakerSignAndPublishDepositTx.java index 73709a364ea..9bce2944109 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/seller_as_taker/SellerAsTakerSignAndPublishDepositTx.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/seller_as_taker/SellerAsTakerSignAndPublishDepositTx.java @@ -19,8 +19,8 @@ import bisq.core.btc.exceptions.TxBroadcastException; import bisq.core.btc.model.AddressEntry; -import bisq.core.btc.wallet.BtcWalletService; import bisq.core.btc.model.RawTransactionInput; +import bisq.core.btc.wallet.BtcWalletService; import bisq.core.btc.wallet.TxBroadcaster; import bisq.core.trade.Contract; import bisq.core.trade.Trade; @@ -44,7 +44,7 @@ @Slf4j public class SellerAsTakerSignAndPublishDepositTx extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public SellerAsTakerSignAndPublishDepositTx(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/taker/CreateTakerFeeTx.java b/core/src/main/java/bisq/core/trade/protocol/tasks/taker/CreateTakerFeeTx.java index 6a7ccfc8467..1b9241f8408 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/taker/CreateTakerFeeTx.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/taker/CreateTakerFeeTx.java @@ -17,13 +17,13 @@ package bisq.core.trade.protocol.tasks.taker; -import bisq.core.arbitration.Arbitrator; import bisq.core.btc.model.AddressEntry; import bisq.core.btc.wallet.BtcWalletService; import bisq.core.btc.wallet.TradeWalletService; import bisq.core.btc.wallet.WalletService; import bisq.core.dao.exceptions.DaoDisabledException; -import bisq.core.offer.availability.ArbitratorSelection; +import bisq.core.offer.availability.DisputeAgentSelection; +import bisq.core.support.dispute.arbitration.arbitrator.Arbitrator; import bisq.core.trade.Trade; import bisq.core.trade.protocol.tasks.TradeTask; @@ -37,7 +37,7 @@ @Slf4j public class CreateTakerFeeTx extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public CreateTakerFeeTx(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } @@ -47,7 +47,7 @@ protected void run() { try { runInterceptHook(); - Arbitrator arbitrator = ArbitratorSelection.getLeastUsedArbitrator(processModel.getTradeStatisticsManager(), + Arbitrator arbitrator = DisputeAgentSelection.getLeastUsedArbitrator(processModel.getTradeStatisticsManager(), processModel.getArbitratorManager()); BtcWalletService walletService = processModel.getBtcWalletService(); String id = processModel.getOffer().getId(); diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerProcessPublishDepositTxRequest.java b/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerProcessPublishDepositTxRequest.java index bd6c0bc4af6..0160397d04e 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerProcessPublishDepositTxRequest.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerProcessPublishDepositTxRequest.java @@ -33,7 +33,7 @@ @Slf4j public class TakerProcessPublishDepositTxRequest extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public TakerProcessPublishDepositTxRequest(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerPublishFeeTx.java b/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerPublishFeeTx.java index 0325bbb8c3e..1a2090cac47 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerPublishFeeTx.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerPublishFeeTx.java @@ -35,7 +35,7 @@ @Slf4j public class TakerPublishFeeTx extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public TakerPublishFeeTx(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerSelectMediator.java b/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerSelectMediator.java deleted file mode 100644 index e6e5dc92daf..00000000000 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerSelectMediator.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * This file is part of Bisq. - * - * Bisq is free software: you can redistribute it and/or modify it - * under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or (at - * your option) any later version. - * - * Bisq is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public - * License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Bisq. If not, see . - */ - -package bisq.core.trade.protocol.tasks.taker; - -import bisq.core.trade.Trade; -import bisq.core.trade.protocol.MediatorSelectionRule; -import bisq.core.trade.protocol.tasks.TradeTask; - -import bisq.network.p2p.NodeAddress; - -import bisq.common.taskrunner.TaskRunner; - -import java.util.List; - -import lombok.extern.slf4j.Slf4j; - -import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Preconditions.checkNotNull; - -@Slf4j -public class TakerSelectMediator extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) - public TakerSelectMediator(TaskRunner taskHandler, Trade trade) { - super(taskHandler, trade); - } - - @Override - protected void run() { - try { - runInterceptHook(); - List acceptedMediatorAddresses = processModel.getUser().getAcceptedMediatorAddresses(); - checkNotNull(acceptedMediatorAddresses, "acceptedMediatorAddresses must not be null"); - checkArgument(!acceptedMediatorAddresses.isEmpty(), "acceptedMediatorAddresses must not be empty"); - NodeAddress mediatorNodeAddress; - try { - mediatorNodeAddress = MediatorSelectionRule.select(acceptedMediatorAddresses, processModel.getOffer()); - } catch (Throwable t) { - // In case the mediator from the offer is not available anymore we just use the first. - // Mediators are not implemented anyway and we will remove it with the new trade protocol but we - // still need to be backward compatible so we cannot remove it now. - mediatorNodeAddress = acceptedMediatorAddresses.get(0); - } - - trade.setMediatorNodeAddress(mediatorNodeAddress); - complete(); - } catch (Throwable t) { - failed(t); - } - } -} diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerSendDepositTxPublishedMessage.java b/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerSendDepositTxPublishedMessage.java index e720f4354b2..ce9034b98dc 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerSendDepositTxPublishedMessage.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerSendDepositTxPublishedMessage.java @@ -32,7 +32,7 @@ @Slf4j public class TakerSendDepositTxPublishedMessage extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public TakerSendDepositTxPublishedMessage(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerSendPayDepositRequest.java b/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerSendPayDepositRequest.java index 6a35a728134..58f8591d47d 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerSendPayDepositRequest.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerSendPayDepositRequest.java @@ -46,7 +46,7 @@ @Slf4j public class TakerSendPayDepositRequest extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public TakerSendPayDepositRequest(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } @@ -73,7 +73,6 @@ protected void run() { byte[] takerMultiSigPubKey = addressEntry.getPubKey(); processModel.setMyMultiSigPubKey(takerMultiSigPubKey); - checkArgument(walletService.getAddressEntry(id, AddressEntry.Context.TRADE_PAYOUT).isPresent(), "TRADE_PAYOUT addressEntry must have been already set here."); AddressEntry takerPayoutAddressEntry = walletService.getOrCreateAddressEntry(id, AddressEntry.Context.TRADE_PAYOUT); diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerVerifyAndSignContract.java b/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerVerifyAndSignContract.java index 38430830f7d..879a9ac6e9b 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerVerifyAndSignContract.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerVerifyAndSignContract.java @@ -43,7 +43,7 @@ @Slf4j public class TakerVerifyAndSignContract extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public TakerVerifyAndSignContract(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerVerifyMakerAccount.java b/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerVerifyMakerAccount.java index 06420e5b895..417e94c5d89 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerVerifyMakerAccount.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerVerifyMakerAccount.java @@ -27,7 +27,7 @@ @Slf4j public class TakerVerifyMakerAccount extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public TakerVerifyMakerAccount(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerVerifyMakerFeePayment.java b/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerVerifyMakerFeePayment.java index c448d257f06..42971acccb0 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerVerifyMakerFeePayment.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerVerifyMakerFeePayment.java @@ -26,7 +26,7 @@ @Slf4j public class TakerVerifyMakerFeePayment extends TradeTask { - @SuppressWarnings({"WeakerAccess", "unused"}) + @SuppressWarnings({"unused"}) public TakerVerifyMakerFeePayment(TaskRunner taskHandler, Trade trade) { super(taskHandler, trade); } diff --git a/core/src/main/java/bisq/core/trade/statistics/TradeStatistics2.java b/core/src/main/java/bisq/core/trade/statistics/TradeStatistics2.java index 569b76cbf39..1210de64c86 100644 --- a/core/src/main/java/bisq/core/trade/statistics/TradeStatistics2.java +++ b/core/src/main/java/bisq/core/trade/statistics/TradeStatistics2.java @@ -62,6 +62,7 @@ @Value public final class TradeStatistics2 implements LazyProcessedPayload, PersistableNetworkPayload, PersistableEnvelope { public static final String ARBITRATOR_ADDRESS = "arbAddr"; + public static final String MEDIATOR_ADDRESS = "medAddr"; private final OfferPayload.Direction direction; private final String baseCurrency; diff --git a/core/src/main/java/bisq/core/user/User.java b/core/src/main/java/bisq/core/user/User.java index af8637efaae..d197a802c98 100644 --- a/core/src/main/java/bisq/core/user/User.java +++ b/core/src/main/java/bisq/core/user/User.java @@ -18,14 +18,14 @@ package bisq.core.user; import bisq.core.alert.Alert; -import bisq.core.arbitration.Arbitrator; -import bisq.core.arbitration.Mediator; import bisq.core.filter.Filter; import bisq.core.locale.LanguageUtil; import bisq.core.locale.TradeCurrency; import bisq.core.notifications.alerts.market.MarketAlertFilter; import bisq.core.notifications.alerts.price.PriceAlertFilter; import bisq.core.payment.PaymentAccount; +import bisq.core.support.dispute.arbitration.arbitrator.Arbitrator; +import bisq.core.support.dispute.mediation.mediator.Mediator; import bisq.network.p2p.NodeAddress; @@ -411,6 +411,14 @@ public List getAcceptedMediators() { return userPayload.getAcceptedMediators(); } + public boolean hasAcceptedArbitrators() { + return getAcceptedArbitrators() != null && !getAcceptedArbitrators().isEmpty(); + } + + public boolean hasAcceptedMediators() { + return getAcceptedMediators() != null && !getAcceptedMediators().isEmpty(); + } + @Nullable public List getAcceptedMediatorAddresses() { return userPayload.getAcceptedMediators() != null ? userPayload.getAcceptedMediators().stream().map(Mediator::getNodeAddress).collect(Collectors.toList()) : null; diff --git a/core/src/main/java/bisq/core/user/UserPayload.java b/core/src/main/java/bisq/core/user/UserPayload.java index 8317f1cd01c..878a711df90 100644 --- a/core/src/main/java/bisq/core/user/UserPayload.java +++ b/core/src/main/java/bisq/core/user/UserPayload.java @@ -18,13 +18,13 @@ package bisq.core.user; import bisq.core.alert.Alert; -import bisq.core.arbitration.Arbitrator; -import bisq.core.arbitration.Mediator; import bisq.core.filter.Filter; import bisq.core.notifications.alerts.market.MarketAlertFilter; import bisq.core.notifications.alerts.price.PriceAlertFilter; import bisq.core.payment.PaymentAccount; import bisq.core.proto.CoreProtoResolver; +import bisq.core.support.dispute.arbitration.arbitrator.Arbitrator; +import bisq.core.support.dispute.mediation.mediator.Mediator; import bisq.common.proto.ProtoUtil; import bisq.common.proto.persistable.PersistableEnvelope; @@ -95,7 +95,7 @@ public protobuf.PersistableEnvelope toProtoMessage() { Optional.ofNullable(registeredArbitrator) .ifPresent(registeredArbitrator -> builder.setRegisteredArbitrator(registeredArbitrator.toProtoMessage().getArbitrator())); Optional.ofNullable(registeredMediator) - .ifPresent(developersAlert -> builder.setDevelopersAlert(developersAlert.toProtoMessage().getAlert())); + .ifPresent(registeredMediator -> builder.setRegisteredMediator(registeredMediator.toProtoMessage().getMediator())); Optional.ofNullable(acceptedArbitrators) .ifPresent(e -> builder.addAllAcceptedArbitrators(ProtoUtil.collectionToProto(acceptedArbitrators, message -> ((protobuf.StoragePayload) message).getArbitrator()))); diff --git a/core/src/main/resources/i18n/displayStrings.properties b/core/src/main/resources/i18n/displayStrings.properties index fb06971842d..2c4c392acad 100644 --- a/core/src/main/resources/i18n/displayStrings.properties +++ b/core/src/main/resources/i18n/displayStrings.properties @@ -119,7 +119,6 @@ shared.sendingConfirmationAgain=Please send confirmation again shared.exportCSV=Export to csv shared.exportJSON=Export to JSON shared.noDateAvailable=No date available -shared.arbitratorsFee=Arbitrator's fee shared.noDetailsAvailable=No details available shared.notUsedYet=Not used yet shared.date=Date @@ -207,6 +206,10 @@ shared.proposal=Proposal shared.votes=Votes shared.learnMore=Learn more shared.dismiss=Dismiss +shared.selectedArbitrator=Selected arbitrator +shared.selectedMediator=Selected mediator +shared.mediator=Mediator +shared.arbitrator2=Arbitrator #################################################################### # UI views @@ -541,8 +544,9 @@ portfolio.pending.step3_seller.confirmPaymentReceived=Confirm payment received portfolio.pending.step5.completed=Completed portfolio.pending.step1.info=Deposit transaction has been published.\n{0} need to wait for at least one blockchain confirmation before starting the payment. -portfolio.pending.step1.warn=The deposit transaction still did not get confirmed.\nThat might happen in rare cases when the funding fee of one trader from the external wallet was too low. -portfolio.pending.step1.openForDispute=The deposit transaction still did not get confirmed.\nThat might happen in rare cases when the funding fee of one trader from the external wallet was too low.\nThe max. period for the trade has elapsed.\n\nYou can wait longer or contact the arbitrator for opening a dispute. +portfolio.pending.step1.warn=The deposit transaction is still not confirmed. This sometimes happens in rare cases when the funding fee of one trader from an external wallet was too low. +portfolio.pending.step1.openForDispute=The deposit transaction is still not confirmed. \ + You can wait longer or contact the mediator for assistance. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2.confReached=Your trade has reached at least one blockchain confirmation.\n(You can wait for more confirmations if you want - 6 confirmations are considered as very secure.)\n\n @@ -560,9 +564,11 @@ portfolio.pending.step2_buyer.altcoin=Please transfer from your external {0} wal # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.cash=Please go to a bank and pay {0} to the BTC seller.\n\n portfolio.pending.step2_buyer.cash.extra=IMPORTANT REQUIREMENT:\nAfter you have done the payment write on the paper receipt: NO REFUNDS.\nThen tear it in 2 parts, make a photo and send it to the BTC seller's email address. +# suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.moneyGram=Please pay {0} to the BTC seller by using MoneyGram.\n\n portfolio.pending.step2_buyer.moneyGram.extra=IMPORTANT REQUIREMENT:\nAfter you have done the payment send the Authorisation number and a photo of the receipt by email to the BTC seller.\n\ The receipt must clearly show the seller''s full name, country, state and the amount. The seller''s email is: {0}. +# suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.westernUnion=Please pay {0} to the BTC seller by using Western Union.\n\n portfolio.pending.step2_buyer.westernUnion.extra=IMPORTANT REQUIREMENT:\nAfter you have done the payment send the MTCN (tracking number) and a photo of the receipt by email to the BTC seller.\n\ The receipt must clearly show the seller''s full name, city, country and the amount. The seller''s email is: {0}. @@ -571,14 +577,16 @@ portfolio.pending.step2_buyer.westernUnion.extra=IMPORTANT REQUIREMENT:\nAfter y portfolio.pending.step2_buyer.postal=Please send {0} by \"US Postal Money Order\" to the BTC seller.\n\n # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.bank=Please go to your online banking web page and pay {0} to the BTC seller.\n\n +# suppress inspection "TrailingSpacesInProperty" portfolio.pending.step2_buyer.f2f=Please contact the BTC seller by the provided contact and arrange a meeting to pay {0}.\n\n portfolio.pending.step2_buyer.startPaymentUsing=Start payment using {0} portfolio.pending.step2_buyer.amountToTransfer=Amount to transfer portfolio.pending.step2_buyer.sellersAddress=Seller''s {0} address portfolio.pending.step2_buyer.buyerAccount=Your payment account to be used portfolio.pending.step2_buyer.paymentStarted=Payment started -portfolio.pending.step2_buyer.warn=You still have not done your {0} payment!\nPlease note that the trade has to be completed by {1} otherwise the trade will be investigated by the arbitrator. -portfolio.pending.step2_buyer.openForDispute=You have not completed your payment!\nThe max. period for the trade has elapsed.\n\nPlease contact the arbitrator for opening a dispute. +portfolio.pending.step2_buyer.warn=You still have not done your {0} payment!\nPlease note that the trade has to be completed by {1}. +portfolio.pending.step2_buyer.openForDispute=You have not completed your payment!\nThe max. period for the trade has elapsed.\ + Please contact the mediator for assistance. portfolio.pending.step2_buyer.paperReceipt.headline=Did you send the paper receipt to the BTC seller? portfolio.pending.step2_buyer.paperReceipt.msg=Remember:\n\ You need to write on the paper receipt: NO REFUNDS.\n\ @@ -605,21 +613,21 @@ portfolio.pending.step2_buyer.confirmStart.yes=Yes, I have started the payment portfolio.pending.step2_seller.waitPayment.headline=Wait for payment portfolio.pending.step2_seller.f2fInfo.headline=Buyer's contact information portfolio.pending.step2_seller.waitPayment.msg=The deposit transaction has at least one blockchain confirmation.\nYou need to wait until the BTC buyer starts the {0} payment. -portfolio.pending.step2_seller.warn=The BTC buyer still has not done the {0} payment.\nYou need to wait until they have started the payment.\nIf the trade has not been completed on {1} the arbitrator will investigate. -portfolio.pending.step2_seller.openForDispute=The BTC buyer has not started his payment!\nThe max. allowed period for the trade has elapsed.\nYou can wait longer and give the trading peer more time or contact the arbitrator for opening a dispute. +portfolio.pending.step2_seller.warn=The BTC buyer still has not done the {0} payment.\nYou need to wait until they have started the payment.\nThe trade has to be completed by {1}. +portfolio.pending.step2_seller.openForDispute=The BTC buyer has not started their payment!\nThe max. allowed period for the trade has elapsed.\nYou can wait longer and give the trading peer more time or contact the mediator for assistance. tradeChat.chatWindowTitle=Chat window for trade with ID ''{0}'' tradeChat.openChat=Open chat window tradeChat.rules=You can communicate with your trade peer to resolve potential problems with this trade.\n\ It is not mandatory to reply in the chat.\n\ - If a trader violates the below rules, open a dispute with 'Cmd/Ctrl + o' and report it to the arbitrator.\n\n\ + If a trader violates any of the rules below, open a dispute and report it to the mediator or arbitrator.\n\n\ Chat rules:\n\ \t● Do not send any links (risk of malware). You can send the transaction ID and the name of a block explorer.\n\ \t● Do not send your seed words, private keys, passwords or other sensitive information!\n\ \t● Do not encourage trading outside of Bisq (no security).\n\ \t● Do not engage in any form of social engineering scam attempts.\n\ \t● If a peer is not responding and prefers to not communicate via chat, respect their decision.\n\ - \t● Keep conversation scope limited to the trade. This chat is not a messenger replacement or trollbox.\n\ + \t● Keep conversation scope limited to the trade. This chat is not a messenger replacement or troll-box.\n\ \t● Keep conversation friendly and respectful. # suppress inspection "UnusedProperty" @@ -640,8 +648,10 @@ portfolio.pending.step3_buyer.wait.info=Waiting for the BTC seller''s confirmati portfolio.pending.step3_buyer.wait.msgStateInfo.label=Payment started message status portfolio.pending.step3_buyer.warn.part1a=on the {0} blockchain portfolio.pending.step3_buyer.warn.part1b=at your payment provider (e.g. bank) -portfolio.pending.step3_buyer.warn.part2=The BTC seller still has not confirmed your payment!\nPlease check {0} if the payment sending was successful.\nIf the BTC seller does not confirm the receipt of your payment by {1} the trade will be investigated by the arbitrator. -portfolio.pending.step3_buyer.openForDispute=The BTC seller has not confirmed your payment!\nThe max. period for the trade has elapsed.\nYou can wait longer and give the trading peer more time or contact the arbitrator for opening a dispute. +portfolio.pending.step3_buyer.warn.part2=The BTC seller still has not confirmed your payment. Please check {0} if the \ + payment sending was successful. +portfolio.pending.step3_buyer.openForDispute=The BTC seller has not confirmed your payment! The max. period for the \ + trade has elapsed. You can wait longer and give the trading peer more time or request assistance from the mediator. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.part=Your trading partner has confirmed that they have initiated the {0} payment.\n\n portfolio.pending.step3_seller.altcoin.explorer=on your favorite {0} blockchain explorer @@ -652,6 +662,7 @@ has already sufficient blockchain confirmations.\nThe payment amount has to be { You can copy & paste your {4} address from the main screen after closing that popup. portfolio.pending.step3_seller.postal={0}Please check if you have received {1} with \"US Postal Money Order\" from the BTC buyer.\n\n\ The trade ID (\"reason for payment\" text) of the transaction is: \"{2}\" +# suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.bank=Your trading partner has confirmed that they have initiated the {0} payment.\n\n\ Please go to your online banking web page and check if you have received {1} from the BTC buyer.\n\n\ The trade ID (\"reason for payment\" text) of the transaction is: \"{2}\"\n\n @@ -684,8 +695,10 @@ portfolio.pending.step3_seller.buyerStartedPayment.altcoin=Check for blockchain portfolio.pending.step3_seller.buyerStartedPayment.fiat=Check at your trading account (e.g. bank account) and confirm when you have received the payment. portfolio.pending.step3_seller.warn.part1a=on the {0} blockchain portfolio.pending.step3_seller.warn.part1b=at your payment provider (e.g. bank) -portfolio.pending.step3_seller.warn.part2=You still have not confirmed the receipt of the payment!\nPlease check {0} if you have received the payment.\nIf you don''t confirm receipt by {1} the trade will be investigated by the arbitrator. -portfolio.pending.step3_seller.openForDispute=You have not confirmed the receipt of the payment!\nThe max. period for the trade has elapsed.\nPlease confirm or contact the arbitrator for opening a dispute. +portfolio.pending.step3_seller.warn.part2=You still have not confirmed the receipt of the payment. \ + Please check {0} if you have received the payment. +portfolio.pending.step3_seller.openForDispute=You have not confirmed the receipt of the payment!\n\ + The max. period for the trade has elapsed.\nPlease confirm or request assistance from the mediator. # suppress inspection "TrailingSpacesInProperty" portfolio.pending.step3_seller.onPaymentReceived.part1=Have you received the {0} payment from your trading partner?\n\n # suppress inspection "TrailingSpacesInProperty" @@ -732,27 +745,70 @@ portfolio.pending.tradePeriodInfo=After the first blockchain confirmation, the t portfolio.pending.tradePeriodWarning=If the period is exceeded both traders can open a dispute. portfolio.pending.tradeNotCompleted=Trade not completed in time (until {0}) portfolio.pending.tradeProcess=Trade process -portfolio.pending.openAgainDispute.msg=If you are not sure that the message to the arbitrator arrived (e.g. if you did not get a response after 1 day) feel free to open a dispute again. +portfolio.pending.openAgainDispute.msg=If you are not sure that the message to the mediator or arbitrator arrived \ + (e.g. if you did not get a response after 1 day) feel free to open a dispute again with Cmd/Ctrl+o. You can also ask \ + for additional help on the Bisq forum at https://bisq.community. portfolio.pending.openAgainDispute.button=Open dispute again portfolio.pending.openSupportTicket.headline=Open support ticket -portfolio.pending.openSupportTicket.msg=Please use that only in emergency case if you don't get displayed a \"Open support\" or \"Open dispute\" button.\n\nWhen you open a support ticket the trade will be interrupted and handled by the arbitrator +portfolio.pending.openSupportTicket.msg=Please use this function only in emergency cases if you don't see a \ + \"Open support\" or \"Open dispute\" button.\n\nWhen you open a support ticket the trade will be interrupted and \ + handled by a mediator or arbitrator. + portfolio.pending.notification=Notification -portfolio.pending.openDispute=Open a dispute -portfolio.pending.disputeOpened=Dispute opened + +portfolio.pending.support.headline.getHelp=Need help? +portfolio.pending.support.text.getHelp=If you have any problems you can try to contact the trade peer in the trade \ + chat or ask the Bisq community at https://bisq.community. \ + If your issue still isn't resolved, you can request more help from a mediator. +portfolio.pending.support.button.getHelp=Get support +portfolio.pending.support.popup.info=If your issue with the trade remains unsolved, you can open a support \ + ticket to request help from the mediator. If you have not received the payment, please wait until the trade period is over.\n\n\ + Are you sure you want to open a support ticket? +portfolio.pending.support.popup.button=Open support ticket +portfolio.pending.support.headline.halfPeriodOver=Check payment +portfolio.pending.support.headline.periodOver=Trade period is over + +portfolio.pending.arbitrationRequested=Arbitration requested +portfolio.pending.mediationRequested=Mediation requested portfolio.pending.openSupport=Open support ticket portfolio.pending.supportTicketOpened=Support ticket opened portfolio.pending.requestSupport=Request support -portfolio.pending.error.requestSupport=Please report the problem to your arbitrator.\n\nHe will forward the information to the developers to investigate the problem.\nAfter the problem has been analyzed you will get back all locked funds. +portfolio.pending.error.requestSupport=Please report the problem to your mediator or arbitrator.\n\nHe will forward the \ + information to the developers to investigate the problem.\nAfter the problem has been analyzed you will \ + get back all locked funds. portfolio.pending.communicateWithArbitrator=Please communicate in the \"Support\" screen with the arbitrator. +portfolio.pending.communicateWithMediator=Please communicate in the \"Support\" screen with the mediator. portfolio.pending.supportTicketOpenedMyUser=You opened already a support ticket.\n{0} portfolio.pending.disputeOpenedMyUser=You opened already a dispute.\n{0} portfolio.pending.disputeOpenedByPeer=Your trading peer opened a dispute\n{0} portfolio.pending.supportTicketOpenedByPeer=Your trading peer opened a support ticket.\n{0} portfolio.pending.noReceiverAddressDefined=No receiver address defined -portfolio.pending.removeFailedTrade=If the arbitrator could not close that trade you can move it yourself to the failed trades screen.\n\ +portfolio.pending.removeFailedTrade=If the mediator or arbitrator could not close that trade you can move it yourself \ + to the failed trades screen.\n\ Do you want to remove that failed trade from the Pending trades screen? + +portfolio.pending.mediationResult.headline=Suggested payout from mediation +portfolio.pending.mediationResult.info.noneAccepted=Complete the trade by accepting the mediator's suggestion for the trade payout. +portfolio.pending.mediationResult.info.selfAccepted=You have accepted the mediator's suggestion. Waiting for peer to accept as well. +portfolio.pending.mediationResult.info.peerAccepted=Your trade peer has accepted the mediator's suggestion. Do you accept as well? +portfolio.pending.mediationResult.button=Accept or reject +portfolio.pending.mediationResult.popup.headline=Mediation result for trade with ID: {0} +portfolio.pending.mediationResult.popup.headline.peerAccepted=Your trade peer has accepted the mediator''s suggestion for trade {0} +portfolio.pending.mediationResult.popup.info=The mediator has suggested the following payout:\n\ + You receive: {0}\n\ + Your trade peer receives: {1}\n\n\ + You can accept or reject this suggested payout.\n\n\ + By accepting it, you sign the proposed payout transaction. \ + If your trade peer also accepts and signs, the payout will be completed, and the trade is closed.\n\n\ + If one or both parties reject the suggestion, a dispute with an arbitrator will be opened. \ + The arbitrator will investigate the case again and do a payout based on their findings.\n\n\ + Please note that arbitrators are not always online and may take longer to respond than mediators. \ + It can take up to 5 business days for them to respond to messages. +portfolio.pending.mediationResult.popup.openArbitration=Reject and request arbitration + portfolio.closed.completed=Completed -portfolio.closed.ticketClosed=Ticket closed +portfolio.closed.ticketClosed=Arbitrated +portfolio.closed.mediationTicketClosed=Mediated portfolio.closed.canceled=Canceled portfolio.failed.Failed=Failed @@ -841,9 +897,9 @@ funds.tx.dustAttackTx.popup=This transaction is sending a very small BTC amount # Support #################################################################### -support.tab.support=Support tickets -support.tab.ArbitratorsSupportTickets=Arbitrator's support tickets -support.tab.TradersSupportTickets=Trader's support tickets +support.tab.mediation.support=Mediation +support.tab.arbitration.support=Arbitration +support.tab.ArbitratorsSupportTickets={0}'s tickets support.filter=Filter list support.filter.prompt=Enter trade ID, date, onion address or account data support.noTickets=There are no open tickets @@ -879,20 +935,14 @@ support.buyerOfferer=BTC buyer/Maker support.sellerOfferer=BTC seller/Maker support.buyerTaker=BTC buyer/Taker support.sellerTaker=BTC seller/Taker -support.backgroundInfo=Bisq is not a company, so it handles disputes differently.\n\n\ -If there are disputes in the trade process (e.g. one trader does not follow the trade protocol) \ -the application will display an \"Open dispute\" button after the trade period is over \ -for contacting the arbitrator.\n\n\ -If there is an issue with the application, the software will try to detect it and, if possible, display \ -an \"Open support ticket\" button to contact the arbitrator who will forward the issue \ -to the developers.\n\n\ -If you are having an issue and did not see the \"Open support ticket\" button, \ -you can open a support ticket manually by selecting the trade causing issues \ -under \"Portfolio/Open trades\" and hitting \"alt + o\" or \"option + o\". \ -Please use this method only if you are sure that the software is not working as expected. \ -If you have problems or questions, please review the FAQ on the \ -bisq.network web page or post in the Bisq forum in the Support section. +# TODO @m52go could you provide a good text here? +support.backgroundInfo=Bisq is not a company, so it handles disputes differently.\n\n\ +Traders can communicate within the application via a secure chat on the pending trades screen to attempt solving a dispute on their own. \ + If that is not sufficient, a mediator can step in to help. The mediator will evaluate the situation and give a recommendation for the \ + payout of the trade funds. If both traders accept this suggestion, the payout transaction is completed and the trade is closed. \ + If one or both traders do not agree to the mediator's recommended payout, they can request arbitration.\ + The arbitrator has the third key of the deposit transaction and will make the payout based on their findings. support.initialInfo=Please enter a description of your problem in the text field below. \ Add as much information as possible to speed up dispute resolution time.\n\n\ Here is a check list for information you should provide:\n\ @@ -906,11 +956,12 @@ support.initialInfo=Please enter a description of your problem in the text field \t Sometimes the data directory gets corrupted and leads to strange bugs. \n\ \t See: https://docs.bisq.network/backup-recovery.html#switch-to-a-new-data-directory\n\n\ Please make yourself familiar with the basic rules for the dispute process:\n\ -\t● You need to respond to the arbitrator's requests within 2 days.\n\ +\t● You need to respond to the {0}}''s requests within 2 days.\n\ +\t● Mediators respond in between 2 days. Arbitrators respond in between 5 business days.\n\ \t● The maximum period for a dispute is 14 days.\n\ -\t● You need to cooperate with the arbitrator and provide the information they request to make your case.\n\ +\t● You need to cooperate with the {1} and provide the information they request to make your case.\n\ \t● You accepted the rules outlined in the dispute document in the user agreement when you first started the application.\n\n\ -You can read more about the dispute process at: https://bisq.network/docs/exchange/arbitration-system +You can read more about the dispute process at: {2} support.systemMsg=System message: {0} support.youOpenedTicket=You opened a request for support.\n\n{0}\n\nBisq version: {1} support.youOpenedDispute=You opened a request for a dispute.\n\n{0}\n\nBisq version: {1} @@ -1046,13 +1097,18 @@ setting.about.subsystems.val=Network version: {0}; P2P message version: {1}; Loc #################################################################### account.tab.arbitratorRegistration=Arbitrator registration +account.tab.mediatorRegistration=Mediator registration account.tab.account=Account account.info.headline=Welcome to your Bisq Account -account.info.msg=Here you can add trading accounts for national currencies & altcoins, select arbitrators, and create a backup of your wallet & account data.\n\n\ +account.info.msg=Here you can add trading accounts for national currencies & altcoins and create a backup of your wallet & account data.\n\n\ A new Bitcoin wallet was created the first time you started Bisq.\n\n\ -We strongly recommend that you write down your Bitcoin wallet seed words (see tab on the top) and consider adding a password before funding. Bitcoin deposits and withdrawals are managed in the \"Funds\" section.\n\n\ +We strongly recommend that you write down your Bitcoin wallet seed words (see tab on the top) and consider adding a \ + password before funding. Bitcoin deposits and withdrawals are managed in the \"Funds\" section.\n\n\ Privacy & security note: \ -because Bisq is a decentralized exchange, all your data is kept on your computer. There are no servers, so we have no access to your personal info, your funds, or even your IP address. Data such as bank account numbers, altcoin & Bitcoin addresses, etc are only shared with your trading partner to fulfill trades you initiate (in case of a dispute the arbitrator will see the same data as your trading peer). +because Bisq is a decentralized exchange, all your data is kept on your computer. There are no servers, so we have no \ + access to your personal info, your funds, or even your IP address. Data such as bank account numbers, \ + altcoin & Bitcoin addresses, etc are only shared with your trading partner to fulfill trades you initiate \ + (in case of a dispute the mediator or arbitrator will see the same data as your trading peer). account.menu.paymentAccount=National currency accounts account.menu.altCoinsAccountView=Altcoin accounts @@ -1061,32 +1117,23 @@ account.menu.seedWords=Wallet seed account.menu.backup=Backup account.menu.notifications=Notifications +## TODO should we rename the following to a gereric name? account.arbitratorRegistration.pubKey=Public key -account.arbitratorRegistration.register=Register arbitrator -account.arbitratorRegistration.revoke=Revoke registration -account.arbitratorRegistration.info.msg=Please note that you need to stay available for 15 days after revoking as there might be trades which are using you as arbitrator. The max. allowed trade period is 8 days and the dispute process might take up to 7 days. +account.arbitratorRegistration.register=Register +account.arbitratorRegistration.registration={0} registration +account.arbitratorRegistration.revoke=Revoke +account.arbitratorRegistration.info.msg=Please note that you need to stay available for 15 days after revoking as there might be trades which are using you as {0}}. The max. allowed trade period is 8 days and the dispute process might take up to 7 days. account.arbitratorRegistration.warn.min1Language=You need to set at least 1 language.\nWe added the default language for you. -account.arbitratorRegistration.removedSuccess=You have successfully removed your arbitrator from the Bisq network. -account.arbitratorRegistration.removedFailed=Could not remove arbitrator.{0} -account.arbitratorRegistration.registerSuccess=You have successfully registered your arbitrator to the Bisq network. -account.arbitratorRegistration.registerFailed=Could not register arbitrator.{0} - -account.arbitratorSelection.minOneArbitratorRequired=You need to set at least 1 language.\nWe added the default language for you. -account.arbitratorSelection.whichLanguages=Which languages do you speak? -account.arbitratorSelection.whichDoYouAccept=Which arbitrators do you accept -account.arbitratorSelection.autoSelect=Auto select all arbitrators with matching language -account.arbitratorSelection.regDate=Registration date -account.arbitratorSelection.languages=Languages -account.arbitratorSelection.cannotSelectHimself=An arbitrator cannot select himself for trading. -account.arbitratorSelection.noMatchingLang=No matching language. -account.arbitratorSelection.noLang=You can only select arbitrators who are speaking at least 1 common language. -account.arbitratorSelection.minOne=You need to have at least one arbitrator selected. +account.arbitratorRegistration.removedSuccess=You have successfully removed your registration from the Bisq network. +account.arbitratorRegistration.removedFailed=Could not remove registration.{0} +account.arbitratorRegistration.registerSuccess=You have successfully registered to the Bisq network. +account.arbitratorRegistration.registerFailed=Could not complete registration.{0} account.altcoin.yourAltcoinAccounts=Your altcoin accounts account.altcoin.popup.wallet.msg=Please be sure that you follow the requirements for the usage of {0} wallets as \ described on the {1} web page.\nUsing wallets from centralized exchanges where (a) you don''t control your keys or \ -(b) which don''t use compatible wallet software is risky: it can lead to loss of the traded funds!\nThe arbitrator is \ +(b) which don''t use compatible wallet software is risky: it can lead to loss of the traded funds!\nThe mediator or arbitrator is \ not a {2} specialist and cannot help in such cases. account.altcoin.popup.wallet.confirm=I understand and confirm that I know which wallet I need to use. account.altcoin.popup.arq.msg=Trading ARQ on Bisq requires that you understand and fulfill \ @@ -1097,13 +1144,13 @@ that would be required in case of a dispute.\n\ arqma-wallet-cli (use the command get_tx_key)\n\ arqma-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\n\ At normal block explorers the transfer is not verifiable.\n\n\ -You need to provide the arbitrator the following data in case of a dispute:\n\ +You need to provide the mediator or arbitrator the following data in case of a dispute:\n\ - The tx private key\n\ - The transaction hash\n\ - The recipient's public address\n\n\ Failure to provide the above data, or if you used an incompatible wallet, will result in losing the \ dispute case. The ARQ sender is responsible for providing verification of the ARQ transfer to the \ -arbitrator in case of a dispute.\n\n\ +mediator or arbitrator in case of a dispute.\n\n\ There is no payment ID required, just the normal public address.\n\ If you are not sure about that process visit ArQmA discord channel (https://discord.gg/s9BQpJT) \ or the ArQmA forum (https://labs.arqma.com) to find more information. @@ -1118,16 +1165,17 @@ In addition to XMR checktx tool (https://xmr.llcoins.net/checktx.html) verificat monero-wallet-cli : using command (check_tx_key).\n\ monero-wallet-gui : on the Advanced > Prove/Check page.\n\ At normal block explorers the transfer is not verifiable.\n\n\ -You need to provide the arbitrator the following data in case of a dispute:\n\ +You need to provide the mediator or arbitrator the following data in case of a dispute:\n\ - The tx private key\n\ - The transaction hash\n\ - The recipient's public address\n\n\ Failure to provide the above data, or if you used an incompatible wallet, will result in losing the \ dispute case. The XMR sender is responsible for providing verification of the XMR transfer to the \ -arbitrator in case of a dispute.\n\n\ +mediator or arbitrator in case of a dispute.\n\n\ There is no payment ID required, just the normal public address.\n\ If you are not sure about that process visit (https://www.getmonero.org/resources/user-guides/prove-payment.html) \ or the Monero forum (https://forum.getmonero.org) to find more information. +# suppress inspection "TrailingSpacesInProperty" account.altcoin.popup.msr.msg=Trading MSR on Bisq requires that you understand and fulfill \ the following requirements:\n\n\ For sending MSR, you need to use either the official Masari GUI wallet, Masari CLI wallet with the \ @@ -1135,20 +1183,20 @@ store-tx-info flag enabled (enabled by default) or the Masari web wallet (https: that would be required in case of a dispute.\n\ masari-wallet-cli (use the command get_tx_key)\n\ masari-wallet-gui (go to history tab and click on the (P) button for payment proof)\n\n\ -Masari Web Wallet (goto Account -> transaction history and view details on your sent transaction)\n\n +Masari Web Wallet (goto Account -> transaction history and view details on your sent transaction)\n\n\ Verification can be accomplished in-wallet.\n\ masari-wallet-cli : using command (check_tx_key).\n\ masari-wallet-gui : on the Advanced > Prove/Check page.\n\ Verification can be accomplished in the block explorer \n\ Open block explorer (https://explorer.getmasari.org), use the search bar to find your transaction hash.\n\ Once transaction is found, scroll to bottom to the 'Prove Sending' area and fill in details as needed.\n\ -You need to provide the arbitrator the following data in case of a dispute:\n\ +You need to provide the mediator or arbitrator the following data in case of a dispute:\n\ - The tx private key\n\ - The transaction hash\n\ - The recipient's public address\n\n\ Failure to provide the above data, or if you used an incompatible wallet, will result in losing the \ dispute case. The MSR sender is responsible for providing verification of the MSR transfer to the \ -arbitrator in case of a dispute.\n\n\ +mediator or arbitrator in case of a dispute.\n\n\ There is no payment ID required, just the normal public address.\n\ If you are not sure about that process, ask for help on the Official Masari Discord (https://discord.gg/sMCwMqs). account.altcoin.popup.blur.msg=Trading BLUR on Bisq requires that you understand and fulfill \ @@ -1160,11 +1208,11 @@ transaction private key. If you fail to perform this step, you may not be able t If you are using the Blur Network GUI Wallet, the transaction private key and transaction ID can be found conveniently \ in the "History" tab. Immediately after sending, locate the transaction of interest. Click the "?" symbol in the \ lower-right corner of the box containing the transaction. You must save this information. \n\n\ -In the event that arbitration is necessary, you must present the following to an arbitrator: 1.) the transaction ID, \ -2.) the transaction private key, and 3.) the recipient's address. The arbitrator will then verify the BLUR \ +In the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, \ +2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the BLUR \ transfer using the Blur Transaction Viewer (https://blur.cash/#tx-viewer).\n\n\ -Failure to provide the required information to the arbitrator will result in losing the dispute case. In all cases of dispute, the \ -BLUR sender bears 100% of the burden of responsibility in verifying transactions to an arbitrator. \n\n\ +Failure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the \ +BLUR sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\n\ If you do not understand these requirements, do not trade on Bisq. First, seek help at the Blur Network Discord (https://discord.gg/dMWaqVW). account.altcoin.popup.solo.msg=Trading Solo on Bisq requires that you understand and fulfill \ the following requirements:\n\n\ @@ -1172,11 +1220,11 @@ To send Solo you must use the Solo Network CLI Wallet. \n\n\ If you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save \ this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the \ transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\n\ -In the event that arbitration is necessary, you must present the following to an arbitrator: 1.) the transaction ID, \ -2.) the transaction private key, and 3.) the recipient's address. The arbitrator will then verify the Solo \ +In the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1.) the transaction ID, \ +2.) the transaction private key, and 3.) the recipient's address. The mediator or arbitrator will then verify the Solo \ transfer using the Solo Block Explorer by searching for the transaction and then using the "Prove sending" function (https://explorer.minesolo.com/).\n\n\ -failure to provide the required information to the arbitrator will result in losing the dispute case. In all cases of dispute, the \ -Solo sender bears 100% of the burden of responsibility in verifying transactions to an arbitrator. \n\n\ +failure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the \ +Solo sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\n\ If you do not understand these requirements, do not trade on Bisq. First, seek help at the Solo Network Discord (https://discord.minesolo.com/). account.altcoin.popup.cash2.msg=Trading CASH2 on Bisq requires that you understand and fulfill \ the following requirements:\n\n\ @@ -1184,11 +1232,11 @@ To send CASH2 you must use the Cash2 Wallet version 3 or higher. \n\n\ After a transaction is sent, the transaction ID will be displayed. You must save this information. \ Immediately after sending the transaction, you must use the command 'getTxKey' in simplewallet to retrieve the \ transaction secret key. \n\n\ -In the event that arbitration is necessary, you must present the following to an arbitrator: 1) the transaction ID, \ -2) the transaction secret key, and 3) the recipient's Cash2 address. The arbitrator will then verify the CASH2 \ +In the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, \ +2) the transaction secret key, and 3) the recipient's Cash2 address. The mediator or arbitrator will then verify the CASH2 \ transfer using the Cash2 Block Explorer (https://blocks.cash2.org).\n\n\ -Failure to provide the required information to the arbitrator will result in losing the dispute case. In all cases of dispute, the \ -CASH2 sender bears 100% of the burden of responsibility in verifying transactions to an arbitrator. \n\n\ +Failure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the \ +CASH2 sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\n\ If you do not understand these requirements, do not trade on Bisq. First, seek help at the Cash2 Discord (https://discord.gg/FGfXAYN). account.altcoin.popup.qwertycoin.msg=Trading Qwertycoin on Bisq requires that you understand and fulfill \ the following requirements:\n\n\ @@ -1196,11 +1244,11 @@ To send QWC you must use the official QWC Wallet version 5.1.3 or higher. \n\n\ After a transaction is sent, the transaction ID will be displayed. You must save this information. \ Immediately after sending the transaction, you must use the command 'get_Tx_Key' in simplewallet to retrieve the \ transaction secret key. \n\n\ -In the event that arbitration is necessary, you must present the following to an arbitrator: 1) the transaction ID, \ -2) the transaction secret key, and 3) the recipient's QWC address. The arbitrator will then verify the QWC \ +In the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the transaction ID, \ +2) the transaction secret key, and 3) the recipient's QWC address. The mediator or arbitrator will then verify the QWC \ transfer using the QWC Block Explorer (https://explorer.qwertycoin.org).\n\n\ -Failure to provide the required information to the arbitrator will result in losing the dispute case. In all cases of dispute, the \ -QWC sender bears 100% of the burden of responsibility in verifying transactions to an arbitrator. \n\n\ +Failure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the \ +QWC sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\n\ If you do not understand these requirements, do not trade on Bisq. First, seek help at the QWC Discord (https://discord.gg/rUkfnpC). account.altcoin.popup.drgl.msg=Trading Dragonglass on Bisq requires that you understand and fulfill \ the following requirements:\n\n\ @@ -1210,19 +1258,19 @@ The TXN-Private Key is a one-time key automatically generated for every transact only be accessed from within your DRGL wallet.\n\ Either by DRGL-wallet GUI (inside transaction details dialog) or by the Dragonglass CLI simplewallet (using command "get_tx_key").\n\n\ DRGL version 'Oathkeeper' and higher are REQUIRED for both.\n\n\ -In case of a dispute, you must provide the arbitrator the following data:\n\ +In case of a dispute, you must provide the mediator or arbitrator the following data:\n\ - The TXN-Private key\n\ - The transaction hash\n\ - The recipient's public address\n\n\ Verification of payment can be made using the above data as inputs at (http://drgl.info/#check_txn).\n\n\ Failure to provide the above data, or if you used an incompatible wallet, will result in losing the \ dispute case. The Dragonglass sender is responsible for providing verification of the DRGL transfer to the \ -arbitrator in case of a dispute. Use of PaymentID is not required.\n\n\ +mediator or arbitrator in case of a dispute. Use of PaymentID is not required.\n\n\ If you are unsure about any part of this process, visit Dragonglass on Discord (http://discord.drgl.info) for help. account.altcoin.popup.ZEC.msg=When using Zcash you can only use the transparent addresses (starting with t), not \ -the z-addresses (private), because the arbitrator would not be able to verify the transaction with z-addresses. +the z-addresses (private), because the mediator or arbitrator would not be able to verify the transaction with z-addresses. account.altcoin.popup.XZC.msg=When using Zcoin you can only use the transparent (traceable) addresses, not \ -the untraceable addresses, because the arbitrator would not be able to verify the transaction with untraceable addresses at a block explorer. +the untraceable addresses, because the mediator or arbitrator would not be able to verify the transaction with untraceable addresses at a block explorer. account.altcoin.popup.grin.msg=GRIN requires an interactive process between the sender and receiver to create the \ transaction. Be sure to follow the instructions from the GRIN project web page to reliably send and receive GRIN \ (the receiver needs to be online or at least be online during a certain time frame). \n\n\ @@ -1245,11 +1293,11 @@ the following requirements:\n\n\ To send PARS you must use the official ParsiCoin Wallet version 3.0.0 or higher. \n\n\ You can Check your Transaction Hash and Transaction Key on Transactions Section on your GUI Wallet (ParsiPay) \ You need to right Click on the Transaction and then click on show details. \n\n\ -In the event that arbitration is necessary, you must present the following to an arbitrator: 1) the Transaction Hash, \ -2) the Transaction Key, and 3) the recipient's PARS address. The arbitrator will then verify the PARS \ +In the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the Transaction Hash, \ +2) the Transaction Key, and 3) the recipient's PARS address. The mediator or arbitrator will then verify the PARS \ transfer using the ParsiCoin Block Explorer (http://explorer.parsicoin.net/#check_payment).\n\n\ -Failure to provide the required information to the arbitrator will result in losing the dispute case. In all cases of dispute, the \ -ParsiCoin sender bears 100% of the burden of responsibility in verifying transactions to an arbitrator. \n\n\ +Failure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the \ +ParsiCoin sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\n\ If you do not understand these requirements, do not trade on Bisq. First, seek help at the ParsiCoin Discord (https://discord.gg/c7qmFNh). account.altcoin.popup.blk-burnt.msg=To trade burnt blackcoins, you need to know the following:\n\n\ @@ -2124,10 +2172,6 @@ displayUpdateDownloadWindow.download.openDir=Open download directory disputeSummaryWindow.title=Summary disputeSummaryWindow.openDate=Ticket opening date disputeSummaryWindow.role=Trader's role -disputeSummaryWindow.evidence=Evidence -disputeSummaryWindow.evidence.tamperProof=Tamper proof evidence -disputeSummaryWindow.evidence.id=ID Verification -disputeSummaryWindow.evidence.video=Video/Screencast disputeSummaryWindow.payout=Trade amount payout disputeSummaryWindow.payout.getsTradeAmount=BTC {0} gets trade amount payout disputeSummaryWindow.payout.getsAll=BTC {0} gets all @@ -2150,12 +2194,9 @@ disputeSummaryWindow.addSummaryNotes=Add summary notes disputeSummaryWindow.close.button=Close ticket disputeSummaryWindow.close.msg=Ticket closed on {0}\n\n\ Summary:\n\ -{1} delivered tamper proof evidence: {2}\n\ -{3} did ID verification: {4}\n\ -{5} did screencast or video: {6}\n\ -Payout amount for BTC buyer: {7}\n\ -Payout amount for BTC seller: {8}\n\n\ -Summary notes:\n{9} +Payout amount for BTC buyer: {1}\n\ +Payout amount for BTC seller: {2}\n\n\ +Summary notes:\n{3} disputeSummaryWindow.close.closePeer=You need to close also the trading peers ticket! emptyWalletWindow.headline={0} emergency wallet tool @@ -2173,7 +2214,7 @@ emptyWalletWindow.openOffers.warn=You have open offers which will be removed if emptyWalletWindow.openOffers.yes=Yes, I am sure emptyWalletWindow.sent.success=The balance of your wallet was successfully transferred. -enterPrivKeyWindow.headline=Registration open for invited arbitrators only +enterPrivKeyWindow.headline=Enter private key for registration filterWindow.headline=Edit filter list filterWindow.offers=Filtered offers (comma sep.) @@ -2182,6 +2223,7 @@ filterWindow.accounts=Filtered trading account data:\nFormat: comma sep. list of filterWindow.bannedCurrencies=Filtered currency codes (comma sep.) filterWindow.bannedPaymentMethods=Filtered payment method IDs (comma sep.) filterWindow.arbitrators=Filtered arbitrators (comma sep. onion addresses) +filterWindow.mediators=Filtered mediators (comma sep. onion addresses) filterWindow.seedNode=Filtered seed nodes (comma sep. onion addresses) filterWindow.priceRelayNode=Filtered price relay nodes (comma sep. onion addresses) filterWindow.btcNode=Filtered Bitcoin nodes (comma sep. addresses + port) @@ -2200,7 +2242,6 @@ offerDetailsWindow.offererBankId=(maker's bank ID/BIC/SWIFT) offerDetailsWindow.offerersBankName=(maker's bank name) offerDetailsWindow.bankId=Bank ID (e.g. BIC or SWIFT) offerDetailsWindow.countryBank=Maker's country of bank -offerDetailsWindow.acceptedArbitrators=Accepted arbitrators offerDetailsWindow.commitment=Commitment offerDetailsWindow.agree=I agree offerDetailsWindow.tac=Terms and conditions @@ -2260,6 +2301,7 @@ tradeDetailsWindow.tradeDate=Trade date tradeDetailsWindow.txFee=Mining fee tradeDetailsWindow.tradingPeersOnion=Trading peers onion address tradeDetailsWindow.tradeState=Trade state +tradeDetailsWindow.agentAddresses=Arbitrator/Mediator walletPasswordWindow.headline=Enter password to unlock @@ -2337,10 +2379,13 @@ Please restart the application. popup.warning.startupFailed.twoInstances=Bisq is already running. You cannot run two instances of Bisq. popup.warning.cryptoTestFailed=Seems that you use a self compiled binary and have not following the build instructions in https://github.com/bisq-network/exchange/blob/master/doc/build.md#7-enable-unlimited-strength-for-cryptographic-keys.\n\nIf that is not the case and you use the official Bisq binary, please file a bug report to the GitHub page.\nError={0} popup.warning.tradePeriod.halfReached=Your trade with ID {0} has reached the half of the max. allowed trading period and is still not completed.\n\nThe trade period ends on {1}\n\nPlease check your trade state at \"Portfolio/Open trades\" for further information. -popup.warning.tradePeriod.ended=Your trade with ID {0} has reached the max. allowed trading period and is not completed.\n\nThe trade period ended on {1}\n\nPlease check your trade at \"Portfolio/Open trades\" for contacting the arbitrator. +popup.warning.tradePeriod.ended=Your trade with ID {0} has reached the max. allowed trading period and is not completed.\n\n\ + The trade period ended on {1}\n\n\ + Please check your trade at \"Portfolio/Open trades\" for contacting the mediator. popup.warning.noTradingAccountSetup.headline=You have not setup a trading account popup.warning.noTradingAccountSetup.msg=You need to setup a national currency or altcoin account before you can create an offer.\nDo you want to setup an account? popup.warning.noArbitratorsAvailable=There are no arbitrators available. +popup.warning.noMediatorsAvailable=There are no mediators available. popup.warning.notFullyConnected=You need to wait until you are fully connected to the network.\nThat might take up to about 2 minutes at startup. popup.warning.notSufficientConnectionsToBtcNetwork=You need to wait until you have at least {0} connections to the Bitcoin network. popup.warning.downloadNotComplete=You need to wait until the download of missing Bitcoin blocks is complete. @@ -2427,6 +2472,7 @@ popup.dao.launch.governance=Bisq’s trading network was already decentralized. popup.dao.launch.trading.title=Trade popup.dao.launch.trading=Trade BSQ (colored bitcoin) to participate in Bisq governance. You can buy and sell BSQ just like any other asset on Bisq. popup.dao.launch.cheaperFees.title=Cheaper fees +# suppress inspection "TrailingSpacesInProperty" popup.dao.launch.cheaperFees=Get a 90% discount on trading fees when you use BSQ. Save money and support the project at the same time!\n\n #################################################################### @@ -2778,7 +2824,7 @@ payment.revolut.info=Please be sure that the phone number you used for your Revo payment.usPostalMoneyOrder.info=Money orders are one of the more private fiat purchase methods available on Bisq.\n\n\ However, please be aware of potentially increased risks associated with their use. Bisq will not bear any \ - responsibility in case a sent money order is stolen, and the arbitrators will in such cases award the BTC \ + responsibility in case a sent money order is stolen, and the mediator or arbitrator will in such cases award the BTC \ to the sender of the money order, provided they can produce tracking information and receipts. \ It may be advisable for the sender to write the BTC seller's name on the money order, in order to minimize the \ risk that the money order is cashed by someone else. @@ -2797,7 +2843,7 @@ payment.f2f.info='Face to Face' trades have different rules and come with differ ● The trading peers need to bring their laptops and do the confirmation of 'payment sent' and 'payment received' at the meeting place.\n\ ● If a maker has special 'terms and conditions' they must state those in the 'Additional information' text field in the account.\n\ ● By taking an offer the taker agrees to the maker's stated 'terms and conditions'.\n\ - ● In case of a dispute the arbitrator cannot help much as it is usually hard to get tamper proof evidence of what \ + ● In case of a dispute the mediator or arbitrator cannot help much as it is usually hard to get tamper proof evidence of what \ happened at the meeting. In such cases the BTC funds might get locked indefinitely or until the trading peers come to \ an agreement.\n\n\ To be sure you fully understand the differences with 'Face to Face' trades please read the instructions and \ diff --git a/core/src/main/resources/i18n/displayStrings_de.properties b/core/src/main/resources/i18n/displayStrings_de.properties index 961009dc6eb..b7117fad481 100644 --- a/core/src/main/resources/i18n/displayStrings_de.properties +++ b/core/src/main/resources/i18n/displayStrings_de.properties @@ -669,7 +669,7 @@ portfolio.pending.openSupportTicket.headline=Support-Ticket öffnen portfolio.pending.openSupportTicket.msg=Nutzen Sie dies bitte nur in Notfällen, wenn Ihnen die \"Support öffnen\"- oder \"Konflikt öffnen\"-Schaltflächen nicht angezeigt wird.\n\nSollten Sie ein Support-Ticket öffnen, wird der Handel unterbrochen und vom Vermittler bearbeitet. portfolio.pending.notification=Benachrichtigung portfolio.pending.openDispute=Einen Konflikt öffnen -portfolio.pending.disputeOpened=Konflikt geöffnet +portfolio.pending.arbitrationRequested=Konflikt geöffnet portfolio.pending.openSupport=Support-Ticket öffnen portfolio.pending.supportTicketOpened=Support-Ticket geöffnet portfolio.pending.requestSupport=Support anfordern @@ -765,7 +765,7 @@ funds.tx.dustAttackTx.popup=Diese Transaktion sendet einen sehr kleinen BTC Betr # Support #################################################################### -support.tab.support=Support-Tickets +support.tab.mediation.support=Support-Tickets support.tab.ArbitratorsSupportTickets=Support-Tickets des Vermittlers support.tab.TradersSupportTickets=Support-Tickets des Händlers support.filter=Liste filtern diff --git a/core/src/main/resources/i18n/displayStrings_el.properties b/core/src/main/resources/i18n/displayStrings_el.properties index 8c52eb0dfc8..0441cce7b38 100644 --- a/core/src/main/resources/i18n/displayStrings_el.properties +++ b/core/src/main/resources/i18n/displayStrings_el.properties @@ -669,7 +669,7 @@ portfolio.pending.openSupportTicket.headline=Άνοιξε αίτημα υποσ portfolio.pending.openSupportTicket.msg=Χρησιμοποίησέ το μονάχα σε επείγουσες περιπτώσεις, αν δεν εμαφανίζεται το κουμπί \"Αίτημα υποστήριξης\" ή \"Επίλυση διένεξης\".\n\nΑνοίγοντας ένα αίτημα υποστήριξης η συναλλαγή αναστέλλεται και τη διαχείριση αναλαμβάνει ο διαμεσολαβητής portfolio.pending.notification=Ειδοποίηση portfolio.pending.openDispute=Άνοιξε την επίλυση διένεξης -portfolio.pending.disputeOpened=Η επίλυση διένεξης άνοιξε +portfolio.pending.arbitrationRequested=Η επίλυση διένεξης άνοιξε portfolio.pending.openSupport=Άνοιξε αίτημα υποστήριξης portfolio.pending.supportTicketOpened=Το αίτημα υποστήριξης άνοιξε portfolio.pending.requestSupport=Αίτηση υποστήριξης @@ -765,7 +765,7 @@ funds.tx.dustAttackTx.popup=Αυτή η συναλλαγή στέλνει ένα # Support #################################################################### -support.tab.support=Αιτήματα υποστήριξης +support.tab.mediation.support=Αιτήματα υποστήριξης support.tab.ArbitratorsSupportTickets=Αιτήματα υποστήριξης διαμεσολαβητή support.tab.TradersSupportTickets=Αιτήματα υποστήριξης συναλλασσόμενου support.filter=Λίστα φίλτρων diff --git a/core/src/main/resources/i18n/displayStrings_es.properties b/core/src/main/resources/i18n/displayStrings_es.properties index c063f976d94..c7b9c1276ef 100644 --- a/core/src/main/resources/i18n/displayStrings_es.properties +++ b/core/src/main/resources/i18n/displayStrings_es.properties @@ -669,7 +669,7 @@ portfolio.pending.openSupportTicket.headline=Abrir ticket de soporte portfolio.pending.openSupportTicket.msg=Por favor usar sólo en caso de emergencia si no se muestra el botón \"Abrir soporte\" o \"Abrir disputa\".\n\nCuando abra un ticket de soporte el intercambio se interrumpirá y será manejado por el árbitro. portfolio.pending.notification=Notificación portfolio.pending.openDispute=Abrir una disputa -portfolio.pending.disputeOpened=Disputa abierta +portfolio.pending.arbitrationRequested=Disputa abierta portfolio.pending.openSupport=Abrir ticket de soporte portfolio.pending.supportTicketOpened=Ticket de soporte abierto portfolio.pending.requestSupport=Solicitar soporte @@ -765,7 +765,7 @@ funds.tx.dustAttackTx.popup=Esta transacción está enviando una cantidad de BTC # Support #################################################################### -support.tab.support=Tickets de soporte +support.tab.mediation.support=Tickets de soporte support.tab.ArbitratorsSupportTickets=Tickets de soporte del árbitro support.tab.TradersSupportTickets=Tickets de soporte de comerciante support.filter=Filtrar lista diff --git a/core/src/main/resources/i18n/displayStrings_fa.properties b/core/src/main/resources/i18n/displayStrings_fa.properties index 107021b0291..304d2ee4db2 100644 --- a/core/src/main/resources/i18n/displayStrings_fa.properties +++ b/core/src/main/resources/i18n/displayStrings_fa.properties @@ -669,7 +669,7 @@ portfolio.pending.openSupportTicket.headline=باز کردن تیکت پشتیب portfolio.pending.openSupportTicket.msg= لطفاً تنها در موارد اضطراری که دکمه‌ی \"باز کردن پشتیبانی\" یا \"باز کردن مناقشه\" برای شما به نمایش درنیامده است، از آن استفاده کنید.\n\nوقتی شما یک تیکت پشتیبانی را باز می‌کنید، معامله متوقف شده و توسط داور رسیدگی خواهد شد. portfolio.pending.notification=اطلاع رسانی portfolio.pending.openDispute=باز کردن مناقشه -portfolio.pending.disputeOpened=مناقشه باز شده است +portfolio.pending.arbitrationRequested=مناقشه باز شده است portfolio.pending.openSupport=باز کردن تیکت پشتیبانی portfolio.pending.supportTicketOpened=تیکت پشتیبانی باز شد portfolio.pending.requestSupport=درخواست پشتیبانی @@ -765,7 +765,7 @@ funds.tx.dustAttackTx.popup=This transaction is sending a very small BTC amount # Support #################################################################### -support.tab.support=تیکت‌های پشتیبانی +support.tab.mediation.support=تیکت‌های پشتیبانی support.tab.ArbitratorsSupportTickets=تیکت‌های پشتیبانی داور support.tab.TradersSupportTickets=تیکت‌های پشتیبانی معامله گر support.filter=لیست فیلتر diff --git a/core/src/main/resources/i18n/displayStrings_fr.properties b/core/src/main/resources/i18n/displayStrings_fr.properties index 196932fff52..12ade104e66 100644 --- a/core/src/main/resources/i18n/displayStrings_fr.properties +++ b/core/src/main/resources/i18n/displayStrings_fr.properties @@ -669,7 +669,7 @@ portfolio.pending.openSupportTicket.headline=Ouvrir un ticket d'assistance portfolio.pending.openSupportTicket.msg=S'il vous plaît utilisez ceci seulement en cas d'urgence si vous ne pouvez pas afficher le bouton \"Open support\" or \"Ouvrir un litige\.\n\nLorsque vous ouvrez un ticket de support, la transaction est interrompue et traitée par l'arbitre. portfolio.pending.notification=Notification portfolio.pending.openDispute=Déclencher un litige -portfolio.pending.disputeOpened=Litige ouvert +portfolio.pending.arbitrationRequested=Litige ouvert portfolio.pending.openSupport=Ouvrir un ticket d'assistance portfolio.pending.supportTicketOpened=Ticket d'assistance ouvert portfolio.pending.requestSupport=Demander de l'aide @@ -765,7 +765,7 @@ funds.tx.dustAttackTx.popup=Cette transaction va envoyer un faible montant en BT # Support #################################################################### -support.tab.support=Tickets d'assistance +support.tab.mediation.support=Tickets d'assistance support.tab.ArbitratorsSupportTickets=Tickets de support de l'arbitre support.tab.TradersSupportTickets=Tickets de support du trader support.filter=Liste de filtre diff --git a/core/src/main/resources/i18n/displayStrings_ja.properties b/core/src/main/resources/i18n/displayStrings_ja.properties index ea7069a339d..1e1509dc64c 100644 --- a/core/src/main/resources/i18n/displayStrings_ja.properties +++ b/core/src/main/resources/i18n/displayStrings_ja.properties @@ -669,7 +669,7 @@ portfolio.pending.openSupportTicket.headline=サポートチケットをオー portfolio.pending.openSupportTicket.msg=あなたが「サポートオープン」または「係争オープン」ボタンが表示されない場合、これは緊急時にのみ使用してください。\n\nサポートチケットを開くと、取引は中断され、調停人が処理します portfolio.pending.notification=通知 portfolio.pending.openDispute=係争を開始 -portfolio.pending.disputeOpened=オープンされた係争 +portfolio.pending.arbitrationRequested=オープンされた係争 portfolio.pending.openSupport=サポートチケットをオープン portfolio.pending.supportTicketOpened=サポートチケットがオープンされた portfolio.pending.requestSupport=サポートをリクエスト @@ -765,7 +765,7 @@ funds.tx.dustAttackTx.popup=このトランザクションはごくわずかなB # Support #################################################################### -support.tab.support=サポートチケット +support.tab.mediation.support=サポートチケット support.tab.ArbitratorsSupportTickets=調停人のサポートチケット support.tab.TradersSupportTickets=取引者のサポートチケット support.filter=フィルターリスト diff --git a/core/src/main/resources/i18n/displayStrings_pt.properties b/core/src/main/resources/i18n/displayStrings_pt.properties index 85ac1b01ace..11c503aaebd 100644 --- a/core/src/main/resources/i18n/displayStrings_pt.properties +++ b/core/src/main/resources/i18n/displayStrings_pt.properties @@ -669,7 +669,7 @@ portfolio.pending.openSupportTicket.headline=Abrir bilhete de apoio portfolio.pending.openSupportTicket.msg=Por favor use isso apenas em caso de emergência, se você não for exibido um botão de \"Abrir apoio\" ou \"Abrir disputa\".\n\nQuando você abre um bilhete de apoio, o negócio será interrompido e tratado pelo árbitro portfolio.pending.notification=Notificação portfolio.pending.openDispute=Abrir uma disputa -portfolio.pending.disputeOpened=Disputa aberta +portfolio.pending.arbitrationRequested=Disputa aberta portfolio.pending.openSupport=Abrir bilhete de apoio portfolio.pending.supportTicketOpened=Bilhete de apoio aberto portfolio.pending.requestSupport=Solicitar apoio @@ -765,7 +765,7 @@ funds.tx.dustAttackTx.popup=Esta transação está enviando uma quantia muito pe # Support #################################################################### -support.tab.support=Bilhetes de apoio +support.tab.mediation.support=Bilhetes de apoio support.tab.ArbitratorsSupportTickets=Bilhetes de apoio do árbitro support.tab.TradersSupportTickets=Bilhetes de apoio do negociador support.filter=Lista de filtros diff --git a/core/src/main/resources/i18n/displayStrings_ru.properties b/core/src/main/resources/i18n/displayStrings_ru.properties index c59be18ac11..fd59a9f03c7 100644 --- a/core/src/main/resources/i18n/displayStrings_ru.properties +++ b/core/src/main/resources/i18n/displayStrings_ru.properties @@ -669,7 +669,7 @@ portfolio.pending.openSupportTicket.headline=Обратиться за подд portfolio.pending.openSupportTicket.msg=Используйте эту функцию только при крайней необходимости, если у вас не появилась кнопка \«Обратиться за поддержкой\» или \«Начать спор\».\n\nПри обращении за поддержкой сделка будет прервана и проведена арбитром. portfolio.pending.notification=Уведомление portfolio.pending.openDispute=Начать спор -portfolio.pending.disputeOpened=Спор начат +portfolio.pending.arbitrationRequested=Спор начат portfolio.pending.openSupport=Обратиться за поддержкой portfolio.pending.supportTicketOpened=Запрос на поддержку отправлен portfolio.pending.requestSupport=Запрос поддержки @@ -765,7 +765,7 @@ funds.tx.dustAttackTx.popup=Вы получили очень маленькую # Support #################################################################### -support.tab.support=Обращения в поддержку +support.tab.mediation.support=Обращения в поддержку support.tab.ArbitratorsSupportTickets=Обращения в поддержку арбитра support.tab.TradersSupportTickets=Обращения в поддержку трейдера support.filter=Фильтры diff --git a/core/src/main/resources/i18n/displayStrings_th.properties b/core/src/main/resources/i18n/displayStrings_th.properties index 17c7a1d0a38..3deda3420ea 100644 --- a/core/src/main/resources/i18n/displayStrings_th.properties +++ b/core/src/main/resources/i18n/displayStrings_th.properties @@ -669,7 +669,7 @@ portfolio.pending.openSupportTicket.headline=เปิดปุ่มช่ว portfolio.pending.openSupportTicket.msg=โปรดใช้ในกรณีฉุกเฉินเท่านั้น หากปุ่ม \"เปิดการช่วยเหลือและสนับสนุน \" หรือ \"เปิดข้อพิพาท \" ไม่ปรากฏขึ้น\n\nเมื่อคุณเปิดการช่วยเหลือ การซื้อขายจะถูกขัดจังหวะและดำเนินการโดยผู้ไกล่เกลี่ย portfolio.pending.notification=การแจ้งเตือน portfolio.pending.openDispute=เปิดข้อพิพาท -portfolio.pending.disputeOpened=การพิพาทเปิดแล้ว +portfolio.pending.arbitrationRequested=การพิพาทเปิดแล้ว portfolio.pending.openSupport=เปิดปุ่มช่วยเหลือ portfolio.pending.supportTicketOpened=ปุ่มช่วยเหลือถูกเปิดแล้ว portfolio.pending.requestSupport=ขอการสนับสนุนและช่วยเหลือ @@ -765,7 +765,7 @@ funds.tx.dustAttackTx.popup=This transaction is sending a very small BTC amount # Support #################################################################### -support.tab.support=ศูนย์ช่วยเหลือ +support.tab.mediation.support=ศูนย์ช่วยเหลือ support.tab.ArbitratorsSupportTickets=การช่วยเหลือและสนุบสนุนของผู้ไกล่เกลี่ย support.tab.TradersSupportTickets=ศูนย์ช่วยเหลือและสนับสนุนของผู้ซื้อขาย support.filter=รายการตัวกรอง diff --git a/core/src/main/resources/i18n/displayStrings_vi.properties b/core/src/main/resources/i18n/displayStrings_vi.properties index 704547ac464..e5e159553fa 100644 --- a/core/src/main/resources/i18n/displayStrings_vi.properties +++ b/core/src/main/resources/i18n/displayStrings_vi.properties @@ -669,7 +669,7 @@ portfolio.pending.openSupportTicket.headline=Mở vé hỗ trợ portfolio.pending.openSupportTicket.msg=Vui lòng chỉ sử dụng trong trường hợp khẩn cấp nếu bạn không hiển thị Node \"Mở hỗ trợ\" hoặc \"Mở khiếu nại\".\n\nKhi bạn mở Đơn hỗ trợ, giao dịch sẽ bị gián đoạn và xử lý bởi trọng tài portfolio.pending.notification=Thông báo portfolio.pending.openDispute=Mở khiếu nại -portfolio.pending.disputeOpened=Khiếu nại đã mở +portfolio.pending.arbitrationRequested=Khiếu nại đã mở portfolio.pending.openSupport=Mở đơn hỗ trợ portfolio.pending.supportTicketOpened=Đơn hỗ trợ đã mở portfolio.pending.requestSupport=Yêu cầu hỗ trợ @@ -765,7 +765,7 @@ funds.tx.dustAttackTx.popup=Giao dịch này đang gửi một lượng BTC rấ # Support #################################################################### -support.tab.support=Đơn hỗ trợ +support.tab.mediation.support=Đơn hỗ trợ support.tab.ArbitratorsSupportTickets=Đơn hỗ trợ của trọng tài support.tab.TradersSupportTickets=Đơn hỗ trợ của Thương gia support.filter=Danh sách lọc diff --git a/core/src/main/resources/i18n/displayStrings_zh.properties b/core/src/main/resources/i18n/displayStrings_zh.properties index 3329d8c5456..be48c3c54c8 100644 --- a/core/src/main/resources/i18n/displayStrings_zh.properties +++ b/core/src/main/resources/i18n/displayStrings_zh.properties @@ -669,7 +669,7 @@ portfolio.pending.openSupportTicket.headline=创建帮助话题 portfolio.pending.openSupportTicket.msg=请在紧急情况下使用,如果您没有显示“创建帮助话题”或“创建纠纷”按钮。\n\n当您打开帮助话题时,交易将被仲裁员中断和处理 portfolio.pending.notification=通知 portfolio.pending.openDispute=创建一个纠纷 -portfolio.pending.disputeOpened=纠纷已创建 +portfolio.pending.arbitrationRequested=纠纷已创建 portfolio.pending.openSupport=创建帮助话题 portfolio.pending.supportTicketOpened=帮助话题已经创建 portfolio.pending.requestSupport=请求帮助 @@ -765,7 +765,7 @@ funds.tx.dustAttackTx.popup=这笔交易是发送一个非常小的比特币金 # Support #################################################################### -support.tab.support=帮助工单 +support.tab.mediation.support=帮助工单 support.tab.ArbitratorsSupportTickets=仲裁员的帮助工单 support.tab.TradersSupportTickets=交易者的帮助工单 support.filter=过滤列表 diff --git a/core/src/test/java/bisq/core/account/sign/SignedWitnessServiceTest.java b/core/src/test/java/bisq/core/account/sign/SignedWitnessServiceTest.java index 7ac3340a996..941a8996c3c 100644 --- a/core/src/test/java/bisq/core/account/sign/SignedWitnessServiceTest.java +++ b/core/src/test/java/bisq/core/account/sign/SignedWitnessServiceTest.java @@ -19,8 +19,8 @@ import bisq.core.account.witness.AccountAgeWitness; -import bisq.core.arbitration.ArbitratorManager; -import bisq.core.arbitration.DisputeManager; +import bisq.core.support.dispute.arbitration.ArbitrationManager; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; import bisq.network.p2p.storage.persistence.AppendOnlyDataStoreService; @@ -75,9 +75,9 @@ public class SignedWitnessServiceTest { public void setup() throws Exception { AppendOnlyDataStoreService appendOnlyDataStoreService = mock(AppendOnlyDataStoreService.class); ArbitratorManager arbitratorManager = mock(ArbitratorManager.class); - DisputeManager disputeManager = mock(DisputeManager.class); + ArbitrationManager arbitrationManager = mock(ArbitrationManager.class); when(arbitratorManager.isPublicKeyInList(any())).thenReturn(true); - signedWitnessService = new SignedWitnessService(null, null, null, arbitratorManager, null, appendOnlyDataStoreService, disputeManager, null); + signedWitnessService = new SignedWitnessService(null, null, null, arbitratorManager, null, appendOnlyDataStoreService, arbitrationManager, null); account1DataHash = org.bitcoinj.core.Utils.sha256hash160(new byte[]{1}); account2DataHash = org.bitcoinj.core.Utils.sha256hash160(new byte[]{2}); account3DataHash = org.bitcoinj.core.Utils.sha256hash160(new byte[]{3}); diff --git a/core/src/test/java/bisq/core/arbitration/ArbitratorManagerTest.java b/core/src/test/java/bisq/core/arbitration/ArbitratorManagerTest.java index 6f10abc21b7..9a626efac98 100644 --- a/core/src/test/java/bisq/core/arbitration/ArbitratorManagerTest.java +++ b/core/src/test/java/bisq/core/arbitration/ArbitratorManagerTest.java @@ -17,6 +17,9 @@ package bisq.core.arbitration; +import bisq.core.support.dispute.arbitration.arbitrator.Arbitrator; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorService; import bisq.core.user.User; import bisq.network.p2p.NodeAddress; @@ -41,7 +44,7 @@ public void testIsArbitratorAvailableForLanguage() { User user = mock(User.class); ArbitratorService arbitratorService = mock(ArbitratorService.class); - ArbitratorManager manager = new ArbitratorManager(null, arbitratorService, user, null, null, false); + ArbitratorManager manager = new ArbitratorManager(null, arbitratorService, user, null, false); ArrayList languagesOne = new ArrayList() {{ add("en"); @@ -61,15 +64,15 @@ public void testIsArbitratorAvailableForLanguage() { languagesTwo, 0L, null, "", null, null, null); - manager.addArbitrator(one, () -> { + manager.addDisputeAgent(one, () -> { }, errorMessage -> { }); - manager.addArbitrator(two, () -> { + manager.addDisputeAgent(two, () -> { }, errorMessage -> { }); - assertTrue(manager.isArbitratorAvailableForLanguage("en")); - assertFalse(manager.isArbitratorAvailableForLanguage("th")); + assertTrue(manager.isAgentAvailableForLanguage("en")); + assertFalse(manager.isAgentAvailableForLanguage("th")); } @Test @@ -77,7 +80,7 @@ public void testGetArbitratorLanguages() { User user = mock(User.class); ArbitratorService arbitratorService = mock(ArbitratorService.class); - ArbitratorManager manager = new ArbitratorManager(null, arbitratorService, user, null, null, false); + ArbitratorManager manager = new ArbitratorManager(null, arbitratorService, user, null, false); ArrayList languagesOne = new ArrayList() {{ add("en"); @@ -101,15 +104,15 @@ public void testGetArbitratorLanguages() { add(two.getNodeAddress()); }}; - manager.addArbitrator(one, () -> { + manager.addDisputeAgent(one, () -> { }, errorMessage -> { }); - manager.addArbitrator(two, () -> { + manager.addDisputeAgent(two, () -> { }, errorMessage -> { }); - assertThat(manager.getArbitratorLanguages(nodeAddresses), containsInAnyOrder("en", "es")); - assertThat(manager.getArbitratorLanguages(nodeAddresses), not(containsInAnyOrder("de"))); + assertThat(manager.getDisputeAgentLanguages(nodeAddresses), containsInAnyOrder("en", "es")); + assertThat(manager.getDisputeAgentLanguages(nodeAddresses), not(containsInAnyOrder("de"))); } } diff --git a/core/src/test/java/bisq/core/arbitration/ArbitratorTest.java b/core/src/test/java/bisq/core/arbitration/ArbitratorTest.java index 8f5b81839ae..f5e58867ff8 100644 --- a/core/src/test/java/bisq/core/arbitration/ArbitratorTest.java +++ b/core/src/test/java/bisq/core/arbitration/ArbitratorTest.java @@ -17,6 +17,8 @@ package bisq.core.arbitration; +import bisq.core.support.dispute.arbitration.arbitrator.Arbitrator; + import bisq.network.p2p.NodeAddress; import bisq.common.crypto.PubKeyRing; diff --git a/core/src/test/java/bisq/core/arbitration/BuyerDataItemTest.java b/core/src/test/java/bisq/core/arbitration/BuyerDataItemTest.java index 9c4078eef81..61dc33b8348 100644 --- a/core/src/test/java/bisq/core/arbitration/BuyerDataItemTest.java +++ b/core/src/test/java/bisq/core/arbitration/BuyerDataItemTest.java @@ -1,6 +1,7 @@ package bisq.core.arbitration; import bisq.core.account.witness.AccountAgeWitness; +import bisq.core.support.dispute.arbitration.BuyerDataItem; import bisq.core.payment.payload.PaymentAccountPayload; import org.bitcoinj.core.Coin; diff --git a/core/src/test/java/bisq/core/arbitration/MediatorTest.java b/core/src/test/java/bisq/core/arbitration/MediatorTest.java index c710c838fc5..b957698bc35 100644 --- a/core/src/test/java/bisq/core/arbitration/MediatorTest.java +++ b/core/src/test/java/bisq/core/arbitration/MediatorTest.java @@ -17,6 +17,8 @@ package bisq.core.arbitration; +import bisq.core.support.dispute.mediation.mediator.Mediator; + import bisq.network.p2p.NodeAddress; import bisq.common.crypto.PubKeyRing; diff --git a/core/src/test/java/bisq/core/offer/OpenOfferManagerTest.java b/core/src/test/java/bisq/core/offer/OpenOfferManagerTest.java index ba7187977a8..9fcca9a4def 100644 --- a/core/src/test/java/bisq/core/offer/OpenOfferManagerTest.java +++ b/core/src/test/java/bisq/core/offer/OpenOfferManagerTest.java @@ -40,7 +40,8 @@ public void testStartEditOfferForActiveOffer() { final OpenOfferManager manager = new OpenOfferManager(null, null, p2PService, null, null, null, offerBookService, null, null, null, - null, null, new Storage>(null, null, corruptedDatabaseFilesHandler)); + null, null, null, + new Storage>(null, null, corruptedDatabaseFilesHandler)); AtomicBoolean startEditOfferSuccessful = new AtomicBoolean(false); @@ -75,7 +76,8 @@ public void testStartEditOfferForDeactivatedOffer() { final OpenOfferManager manager = new OpenOfferManager(null, null, p2PService, null, null, null, offerBookService, null, null, null, - null, null, new Storage>(null, null, corruptedDatabaseFilesHandler)); + null, null, null, + new Storage>(null, null, corruptedDatabaseFilesHandler)); AtomicBoolean startEditOfferSuccessful = new AtomicBoolean(false); @@ -102,7 +104,8 @@ public void testStartEditOfferForOfferThatIsCurrentlyEdited() { final OpenOfferManager manager = new OpenOfferManager(null, null, p2PService, null, null, null, offerBookService, null, null, null, - null, null, new Storage>(null, null, corruptedDatabaseFilesHandler)); + null, null, null, + new Storage>(null, null, corruptedDatabaseFilesHandler)); AtomicBoolean startEditOfferSuccessful = new AtomicBoolean(false); diff --git a/core/src/test/java/bisq/core/offer/availability/ArbitratorSelectionTest.java b/core/src/test/java/bisq/core/offer/availability/ArbitratorSelectionTest.java index cf22dab40ab..9dcf0d41689 100644 --- a/core/src/test/java/bisq/core/offer/availability/ArbitratorSelectionTest.java +++ b/core/src/test/java/bisq/core/offer/availability/ArbitratorSelectionTest.java @@ -36,50 +36,50 @@ public void testGetLeastUsedArbitrator() { lastAddressesUsedInTrades = Arrays.asList("arb1", "arb2", "arb1"); arbitrators = new HashSet<>(Arrays.asList("arb1", "arb2")); - result = ArbitratorSelection.getLeastUsedArbitrator(lastAddressesUsedInTrades, arbitrators); + result = DisputeAgentSelection.getLeastUsedDisputeAgent(lastAddressesUsedInTrades, arbitrators); assertEquals("arb2", result); // if all are same we use first according to alphanumeric sorting lastAddressesUsedInTrades = Arrays.asList("arb1", "arb2", "arb3"); arbitrators = new HashSet<>(Arrays.asList("arb1", "arb2", "arb3")); - result = ArbitratorSelection.getLeastUsedArbitrator(lastAddressesUsedInTrades, arbitrators); + result = DisputeAgentSelection.getLeastUsedDisputeAgent(lastAddressesUsedInTrades, arbitrators); assertEquals("arb1", result); lastAddressesUsedInTrades = Arrays.asList("arb1", "arb2", "arb3", "arb1"); arbitrators = new HashSet<>(Arrays.asList("arb1", "arb2", "arb3")); - result = ArbitratorSelection.getLeastUsedArbitrator(lastAddressesUsedInTrades, arbitrators); + result = DisputeAgentSelection.getLeastUsedDisputeAgent(lastAddressesUsedInTrades, arbitrators); assertEquals("arb2", result); lastAddressesUsedInTrades = Arrays.asList("arb1", "arb2", "arb3", "arb1", "arb2"); arbitrators = new HashSet<>(Arrays.asList("arb1", "arb2", "arb3")); - result = ArbitratorSelection.getLeastUsedArbitrator(lastAddressesUsedInTrades, arbitrators); + result = DisputeAgentSelection.getLeastUsedDisputeAgent(lastAddressesUsedInTrades, arbitrators); assertEquals("arb3", result); lastAddressesUsedInTrades = Arrays.asList("xxx", "ccc", "aaa"); arbitrators = new HashSet<>(Arrays.asList("aaa", "ccc", "xxx")); - result = ArbitratorSelection.getLeastUsedArbitrator(lastAddressesUsedInTrades, arbitrators); + result = DisputeAgentSelection.getLeastUsedDisputeAgent(lastAddressesUsedInTrades, arbitrators); assertEquals("aaa", result); lastAddressesUsedInTrades = Arrays.asList("333", "000", "111"); arbitrators = new HashSet<>(Arrays.asList("111", "333", "000")); - result = ArbitratorSelection.getLeastUsedArbitrator(lastAddressesUsedInTrades, arbitrators); + result = DisputeAgentSelection.getLeastUsedDisputeAgent(lastAddressesUsedInTrades, arbitrators); assertEquals("000", result); // if winner is not in our arb list we use our arb from arbitrators even if never used in trades lastAddressesUsedInTrades = Arrays.asList("arb1", "arb2", "arb3"); arbitrators = new HashSet<>(Arrays.asList("arb4")); - result = ArbitratorSelection.getLeastUsedArbitrator(lastAddressesUsedInTrades, arbitrators); + result = DisputeAgentSelection.getLeastUsedDisputeAgent(lastAddressesUsedInTrades, arbitrators); assertEquals("arb4", result); // if winner (arb2) is not in our arb list we use our arb from arbitrators lastAddressesUsedInTrades = Arrays.asList("arb1", "arb1", "arb1", "arb2"); arbitrators = new HashSet<>(Arrays.asList("arb1")); - result = ArbitratorSelection.getLeastUsedArbitrator(lastAddressesUsedInTrades, arbitrators); + result = DisputeAgentSelection.getLeastUsedDisputeAgent(lastAddressesUsedInTrades, arbitrators); assertEquals("arb1", result); // arb1 is used least lastAddressesUsedInTrades = Arrays.asList("arb1", "arb2", "arb2", "arb2", "arb1", "arb1", "arb2"); arbitrators = new HashSet<>(Arrays.asList("arb1", "arb2")); - result = ArbitratorSelection.getLeastUsedArbitrator(lastAddressesUsedInTrades, arbitrators); + result = DisputeAgentSelection.getLeastUsedDisputeAgent(lastAddressesUsedInTrades, arbitrators); assertEquals("arb1", result); } } diff --git a/core/src/test/java/bisq/core/user/UserPayloadModelVOTest.java b/core/src/test/java/bisq/core/user/UserPayloadModelVOTest.java index ba4fc13f3c4..9062f5209cf 100644 --- a/core/src/test/java/bisq/core/user/UserPayloadModelVOTest.java +++ b/core/src/test/java/bisq/core/user/UserPayloadModelVOTest.java @@ -41,9 +41,23 @@ public void testRoundtripFull() { UserPayload vo = new UserPayload(); vo.setAccountId("accountId"); vo.setDisplayedAlert(new Alert("message", true, "version", new byte[]{12, -64, 12}, "string", null)); - vo.setDevelopersFilter(new Filter(Lists.newArrayList(), Lists.newArrayList(), Lists.newArrayList(), - Lists.newArrayList(), Lists.newArrayList(), Lists.newArrayList(), Lists.newArrayList(), Lists.newArrayList(), - false, Lists.newArrayList(), false, null, null, "string", new byte[]{10, 0, 0}, null)); + vo.setDevelopersFilter(new Filter(Lists.newArrayList(), + Lists.newArrayList(), + Lists.newArrayList(), + Lists.newArrayList(), + Lists.newArrayList(), + Lists.newArrayList(), + Lists.newArrayList(), + Lists.newArrayList(), + false, + Lists.newArrayList(), + false, + null, + null, + "string", + new byte[]{10, 0, 0}, + null, + Lists.newArrayList())); vo.setRegisteredArbitrator(ArbitratorTest.getArbitratorMock()); vo.setRegisteredMediator(MediatorTest.getMediatorMock()); vo.setAcceptedArbitrators(Lists.newArrayList(ArbitratorTest.getArbitratorMock())); diff --git a/desktop/src/main/java/bisq/desktop/components/paymentmethods/GeneralAccountNumberForm.java b/desktop/src/main/java/bisq/desktop/components/paymentmethods/GeneralAccountNumberForm.java index 7cf16a67cbf..07a69a56731 100644 --- a/desktop/src/main/java/bisq/desktop/components/paymentmethods/GeneralAccountNumberForm.java +++ b/desktop/src/main/java/bisq/desktop/components/paymentmethods/GeneralAccountNumberForm.java @@ -18,7 +18,7 @@ import static bisq.desktop.util.FormBuilder.addInputTextField; import static bisq.desktop.util.FormBuilder.addTopLabelTextField; -abstract public class GeneralAccountNumberForm extends PaymentMethodForm { +public abstract class GeneralAccountNumberForm extends PaymentMethodForm { private InputTextField accountNrInputTextField; diff --git a/desktop/src/main/java/bisq/desktop/components/paymentmethods/PaymentMethodForm.java b/desktop/src/main/java/bisq/desktop/components/paymentmethods/PaymentMethodForm.java index 2f962975e7d..ef35d49bb2b 100644 --- a/desktop/src/main/java/bisq/desktop/components/paymentmethods/PaymentMethodForm.java +++ b/desktop/src/main/java/bisq/desktop/components/paymentmethods/PaymentMethodForm.java @@ -278,11 +278,11 @@ void fillUpFlowPaneWithCountries(List checkBoxList, FlowPane flowPane, flowPane.getChildren().add(checkBox); } - abstract protected void autoFillNameTextField(); + protected abstract void autoFillNameTextField(); - abstract public void addFormForAddAccount(); + public abstract void addFormForAddAccount(); - abstract public void addFormForDisplayAccount(); + public abstract void addFormForDisplayAccount(); protected abstract void updateAllInputsValid(); diff --git a/desktop/src/main/java/bisq/desktop/main/MainView.java b/desktop/src/main/java/bisq/desktop/main/MainView.java index d578150e99b..e428ef01ce5 100644 --- a/desktop/src/main/java/bisq/desktop/main/MainView.java +++ b/desktop/src/main/java/bisq/desktop/main/MainView.java @@ -29,7 +29,6 @@ import bisq.desktop.components.BusyAnimation; import bisq.desktop.main.account.AccountView; import bisq.desktop.main.dao.DaoView; -import bisq.desktop.main.disputes.DisputesView; import bisq.desktop.main.funds.FundsView; import bisq.desktop.main.market.MarketView; import bisq.desktop.main.offer.BuyOfferView; @@ -37,6 +36,8 @@ import bisq.desktop.main.overlays.popups.Popup; import bisq.desktop.main.portfolio.PortfolioView; import bisq.desktop.main.settings.SettingsView; +import bisq.desktop.main.shared.PriceFeedComboBoxItem; +import bisq.desktop.main.support.SupportView; import bisq.desktop.util.Transitions; import bisq.core.dao.monitoring.DaoStateMonitoringService; @@ -179,13 +180,13 @@ protected void initialize() { ToggleButton portfolioButton = new NavButton(PortfolioView.class, Res.get("mainView.menu.portfolio").toUpperCase()); ToggleButton fundsButton = new NavButton(FundsView.class, Res.get("mainView.menu.funds").toUpperCase()); - ToggleButton disputesButton = new NavButton(DisputesView.class, Res.get("mainView.menu.support")); + ToggleButton supportButton = new NavButton(SupportView.class, Res.get("mainView.menu.support")); ToggleButton settingsButton = new NavButton(SettingsView.class, Res.get("mainView.menu.settings")); ToggleButton accountButton = new NavButton(AccountView.class, Res.get("mainView.menu.account")); ToggleButton daoButton = new NavButton(DaoView.class, Res.get("mainView.menu.dao")); JFXBadge portfolioButtonWithBadge = new JFXBadge(portfolioButton); - JFXBadge disputesButtonWithBadge = new JFXBadge(disputesButton); + JFXBadge supportButtonWithBadge = new JFXBadge(supportButton); JFXBadge daoButtonWithBadge = new JFXBadge(daoButton); daoButtonWithBadge.getStyleClass().add("new"); @@ -208,7 +209,7 @@ protected void initialize() { } else if (Utilities.isAltOrCtrlPressed(KeyCode.DIGIT5, keyEvent)) { fundsButton.fire(); } else if (Utilities.isAltOrCtrlPressed(KeyCode.DIGIT6, keyEvent)) { - disputesButton.fire(); + supportButton.fire(); } else if (Utilities.isAltOrCtrlPressed(KeyCode.DIGIT7, keyEvent)) { settingsButton.fire(); } else if (Utilities.isAltOrCtrlPressed(KeyCode.DIGIT8, keyEvent)) { @@ -315,7 +316,7 @@ protected Tooltip computeValue() { primaryNav.getStyleClass().add("nav-primary"); HBox.setHgrow(primaryNav, Priority.SOMETIMES); - HBox secondaryNav = new HBox(disputesButtonWithBadge, getNavigationSpacer(), settingsButton, + HBox secondaryNav = new HBox(supportButtonWithBadge, getNavigationSpacer(), settingsButton, getNavigationSpacer(), accountButton, getNavigationSpacer(), daoButtonWithBadge); secondaryNav.getStyleClass().add("nav-secondary"); HBox.setHgrow(secondaryNav, Priority.SOMETIMES); @@ -358,7 +359,7 @@ protected Tooltip computeValue() { baseApplicationContainer.setBottom(createFooter()); setupBadge(portfolioButtonWithBadge, model.getNumPendingTrades(), model.getShowPendingTradesNotification()); - setupBadge(disputesButtonWithBadge, model.getNumOpenDisputes(), model.getShowOpenDisputesNotification()); + setupBadge(supportButtonWithBadge, model.getNumOpenSupportTickets(), model.getShowOpenSupportTicketsNotification()); setupBadge(daoButtonWithBadge, new SimpleStringProperty(Res.get("shared.new")), model.getShowDaoUpdatesNotification()); navigation.addListener(viewPath -> { diff --git a/desktop/src/main/java/bisq/desktop/main/MainViewModel.java b/desktop/src/main/java/bisq/desktop/main/MainViewModel.java index 61aefb01d4f..e35b5bc55ce 100644 --- a/desktop/src/main/java/bisq/desktop/main/MainViewModel.java +++ b/desktop/src/main/java/bisq/desktop/main/MainViewModel.java @@ -32,6 +32,7 @@ import bisq.desktop.main.overlays.windows.downloadupdate.DisplayUpdateDownloadWindow; import bisq.desktop.main.presentation.DaoPresentation; import bisq.desktop.main.presentation.MarketPricePresentation; +import bisq.desktop.main.shared.PriceFeedComboBoxItem; import bisq.desktop.util.GUIUtil; import bisq.core.account.witness.AccountAgeWitnessService; @@ -46,7 +47,7 @@ import bisq.core.payment.AliPayAccount; import bisq.core.payment.CryptoCurrencyAccount; import bisq.core.presentation.BalancePresentation; -import bisq.core.presentation.DisputePresentation; +import bisq.core.presentation.SupportTicketsPresentation; import bisq.core.presentation.TradePresentation; import bisq.core.provider.fee.FeeService; import bisq.core.provider.price.PriceFeedService; @@ -99,7 +100,7 @@ public class MainViewModel implements ViewModel, BisqSetup.BisqSetupCompleteList private final User user; private final BalancePresentation balancePresentation; private final TradePresentation tradePresentation; - private final DisputePresentation disputePresentation; + private final SupportTicketsPresentation supportTicketsPresentation; private final MarketPricePresentation marketPricePresentation; private final DaoPresentation daoPresentation; private final P2PService p2PService; @@ -134,7 +135,6 @@ public class MainViewModel implements ViewModel, BisqSetup.BisqSetupCompleteList // Constructor /////////////////////////////////////////////////////////////////////////////////////////// - @SuppressWarnings("WeakerAccess") @Inject public MainViewModel(BisqSetup bisqSetup, WalletsSetup walletsSetup, @@ -142,7 +142,7 @@ public MainViewModel(BisqSetup bisqSetup, User user, BalancePresentation balancePresentation, TradePresentation tradePresentation, - DisputePresentation disputePresentation, + SupportTicketsPresentation supportTicketsPresentation, MarketPricePresentation marketPricePresentation, DaoPresentation daoPresentation, P2PService p2PService, @@ -164,7 +164,7 @@ public MainViewModel(BisqSetup bisqSetup, this.user = user; this.balancePresentation = balancePresentation; this.tradePresentation = tradePresentation; - this.disputePresentation = disputePresentation; + this.supportTicketsPresentation = supportTicketsPresentation; this.marketPricePresentation = marketPricePresentation; this.daoPresentation = daoPresentation; this.p2PService = p2PService; @@ -506,12 +506,12 @@ BooleanProperty getNewVersionAvailableProperty() { return bisqSetup.getNewVersionAvailableProperty(); } - StringProperty getNumOpenDisputes() { - return disputePresentation.getNumOpenDisputes(); + StringProperty getNumOpenSupportTickets() { + return supportTicketsPresentation.getNumOpenSupportTickets(); } - BooleanProperty getShowOpenDisputesNotification() { - return disputePresentation.getShowOpenDisputesNotification(); + BooleanProperty getShowOpenSupportTicketsNotification() { + return supportTicketsPresentation.getShowOpenSupportTicketsNotification(); } BooleanProperty getShowPendingTradesNotification() { diff --git a/desktop/src/main/java/bisq/desktop/main/account/AccountView.java b/desktop/src/main/java/bisq/desktop/main/account/AccountView.java index 6e880fd65ee..0c9dc8c8e22 100644 --- a/desktop/src/main/java/bisq/desktop/main/account/AccountView.java +++ b/desktop/src/main/java/bisq/desktop/main/account/AccountView.java @@ -24,13 +24,14 @@ import bisq.desktop.common.view.View; import bisq.desktop.common.view.ViewLoader; import bisq.desktop.main.MainView; -import bisq.desktop.main.account.arbitratorregistration.ArbitratorRegistrationView; import bisq.desktop.main.account.content.altcoinaccounts.AltCoinAccountsView; import bisq.desktop.main.account.content.backup.BackupView; import bisq.desktop.main.account.content.fiataccounts.FiatAccountsView; import bisq.desktop.main.account.content.notifications.MobileNotificationsView; import bisq.desktop.main.account.content.password.PasswordView; import bisq.desktop.main.account.content.seedwords.SeedWordsView; +import bisq.desktop.main.account.register.arbitrator.ArbitratorRegistrationView; +import bisq.desktop.main.account.register.mediator.MediatorRegistrationView; import bisq.desktop.main.overlays.popups.Popup; import bisq.core.locale.Res; @@ -71,7 +72,9 @@ public class AccountView extends ActivatableView { private final Navigation navigation; private Tab selectedTab; private Tab arbitratorRegistrationTab; + private Tab mediatorRegistrationTab; private ArbitratorRegistrationView arbitratorRegistrationView; + private MediatorRegistrationView mediatorRegistrationView; private Scene scene; private EventHandler keyEventEventHandler; private ListChangeListener tabListChangeListener; @@ -96,29 +99,43 @@ public void initialize() { navigationListener = viewPath -> { if (viewPath.size() == 3 && viewPath.indexOf(AccountView.class) == 1) { - if (arbitratorRegistrationTab == null && viewPath.get(2).equals(ArbitratorRegistrationView.class)) + if (arbitratorRegistrationTab == null && viewPath.get(2).equals(ArbitratorRegistrationView.class)) { navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); - else + } else if (mediatorRegistrationTab == null && viewPath.get(2).equals(MediatorRegistrationView.class)) { + navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); + } else { loadView(viewPath.tip()); + } } else { resetSelectedTab(); } }; keyEventEventHandler = event -> { - if (Utilities.isAltOrCtrlPressed(KeyCode.R, event) && - arbitratorRegistrationTab == null) { + if (Utilities.isAltOrCtrlPressed(KeyCode.R, event) && arbitratorRegistrationTab == null) { + if (mediatorRegistrationTab != null) { + root.getTabs().remove(mediatorRegistrationTab); + } arbitratorRegistrationTab = new Tab(Res.get("account.tab.arbitratorRegistration").toUpperCase()); arbitratorRegistrationTab.setClosable(true); root.getTabs().add(arbitratorRegistrationTab); - navigation.navigateTo(MainView.class, AccountView.class, ArbitratorRegistrationView.class); + } else if (Utilities.isAltOrCtrlPressed(KeyCode.D, event) && mediatorRegistrationTab == null) { + if (arbitratorRegistrationTab != null) { + root.getTabs().remove(arbitratorRegistrationTab); + } + mediatorRegistrationTab = new Tab(Res.get("account.tab.mediatorRegistration").toUpperCase()); + mediatorRegistrationTab.setClosable(true); + root.getTabs().add(mediatorRegistrationTab); + navigation.navigateTo(MainView.class, AccountView.class, MediatorRegistrationView.class); } }; tabChangeListener = (ov, oldValue, newValue) -> { if (arbitratorRegistrationTab != null && selectedTab != arbitratorRegistrationTab) { navigation.navigateTo(MainView.class, AccountView.class, ArbitratorRegistrationView.class); + } else if (mediatorRegistrationTab != null && selectedTab != mediatorRegistrationTab) { + navigation.navigateTo(MainView.class, AccountView.class, MediatorRegistrationView.class); } else if (newValue == fiatAccountsTab && selectedTab != fiatAccountsTab) { navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); } else if (newValue == altcoinAccountsTab && selectedTab != altcoinAccountsTab) { @@ -139,16 +156,22 @@ public void initialize() { List removedTabs = change.getRemoved(); if (removedTabs.size() == 1 && removedTabs.get(0).equals(arbitratorRegistrationTab)) onArbitratorRegistrationTabRemoved(); + + if (removedTabs.size() == 1 && removedTabs.get(0).equals(mediatorRegistrationTab)) + onMediatorRegistrationTabRemoved(); }; } private void onArbitratorRegistrationTabRemoved() { arbitratorRegistrationTab = null; + navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); + } + private void onMediatorRegistrationTabRemoved() { + mediatorRegistrationTab = null; navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); } - @SuppressWarnings("PointlessBooleanExpression") @Override protected void activate() { navigation.addListener(navigationListener); @@ -163,6 +186,8 @@ protected void activate() { if (navigation.getCurrentPath().size() == 2 && navigation.getCurrentPath().get(1) == AccountView.class) { if (arbitratorRegistrationTab != null) navigation.navigateTo(MainView.class, AccountView.class, ArbitratorRegistrationView.class); + else if (mediatorRegistrationTab != null) + navigation.navigateTo(MainView.class, AccountView.class, MediatorRegistrationView.class); else if (root.getSelectionModel().getSelectedItem() == fiatAccountsTab) navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); else if (root.getSelectionModel().getSelectedItem() == altcoinAccountsTab) @@ -179,7 +204,6 @@ else if (root.getSelectionModel().getSelectedItem() == backupTab) navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); } - //noinspection UnusedAssignment String key = "accountPrivacyInfo"; if (!DevEnv.isDevMode()) new Popup<>() @@ -210,6 +234,12 @@ private void loadView(Class viewClass) { arbitratorRegistrationView = (ArbitratorRegistrationView) view; arbitratorRegistrationView.onTabSelection(true); } + } else if (view instanceof MediatorRegistrationView) { + if (mediatorRegistrationTab != null) { + selectedTab = mediatorRegistrationTab; + mediatorRegistrationView = (MediatorRegistrationView) view; + mediatorRegistrationView.onTabSelection(true); + } } else if (view instanceof FiatAccountsView) { selectedTab = fiatAccountsTab; } else if (view instanceof AltCoinAccountsView) { diff --git a/desktop/src/main/java/bisq/desktop/main/account/arbitratorregistration/ArbitratorRegistrationView.java b/desktop/src/main/java/bisq/desktop/main/account/register/AgentRegistrationView.java similarity index 84% rename from desktop/src/main/java/bisq/desktop/main/account/arbitratorregistration/ArbitratorRegistrationView.java rename to desktop/src/main/java/bisq/desktop/main/account/register/AgentRegistrationView.java index 307fbe46dc4..5901ad6f039 100644 --- a/desktop/src/main/java/bisq/desktop/main/account/arbitratorregistration/ArbitratorRegistrationView.java +++ b/desktop/src/main/java/bisq/desktop/main/account/register/AgentRegistrationView.java @@ -15,7 +15,7 @@ * along with Bisq. If not, see . */ -package bisq.desktop.main.account.arbitratorregistration; +package bisq.desktop.main.account.register; import bisq.desktop.common.view.ActivatableViewAndModel; @@ -24,13 +24,12 @@ import bisq.desktop.components.AutoTooltipLabel; import bisq.desktop.components.TitledGroupBg; import bisq.desktop.main.overlays.popups.Popup; -import bisq.desktop.main.overlays.windows.UnlockArbitrationRegistrationWindow; +import bisq.desktop.main.overlays.windows.UnlockDisputeAgentRegistrationWindow; import bisq.desktop.util.FormBuilder; import bisq.desktop.util.ImageUtil; import bisq.desktop.util.Layout; import bisq.core.app.AppOptionKeys; -import bisq.core.arbitration.Arbitrator; import bisq.core.locale.LanguageUtil; import bisq.core.locale.Res; @@ -40,8 +39,6 @@ import com.google.inject.name.Named; -import javax.inject.Inject; - import javafx.scene.control.Button; import javafx.scene.control.ComboBox; import javafx.scene.control.Label; @@ -70,8 +67,10 @@ import static bisq.desktop.util.FormBuilder.addTitledGroupBg; import static bisq.desktop.util.FormBuilder.addTopLabelTextField; +// TODO translation string keys should renamed to be more generic. +// Lets do it for 1.1.7 the translator have time to add new string. @FxmlView -public class ArbitratorRegistrationView extends ActivatableViewAndModel { +public abstract class AgentRegistrationView extends ActivatableViewAndModel { private final boolean useDevPrivilegeKeys; private ListView languagesListView; @@ -79,8 +78,8 @@ public class ArbitratorRegistrationView extends ActivatableViewAndModel arbitratorChangeListener; - private UnlockArbitrationRegistrationWindow unlockArbitrationRegistrationWindow; + private ChangeListener changeListener; + private UnlockDisputeAgentRegistrationWindow unlockDisputeAgentRegistrationWindow; private ListChangeListener listChangeListener; @@ -88,8 +87,7 @@ public class ArbitratorRegistrationView extends ActivatableViewAndModel updateLanguageList(); + changeListener = (observable, oldValue, newValue) -> updateLanguageList(); } @Override @@ -109,24 +107,24 @@ protected void activate() { @Override protected void deactivate() { - model.myArbitratorProperty.removeListener(arbitratorChangeListener); + model.myDisputeAgentProperty.removeListener(changeListener); languagesListView.getItems().removeListener(listChangeListener); } public void onTabSelection(boolean isSelectedTab) { if (isSelectedTab) { - model.myArbitratorProperty.addListener(arbitratorChangeListener); + model.myDisputeAgentProperty.addListener(changeListener); updateLanguageList(); - if (model.registrationPubKeyAsHex.get() == null && unlockArbitrationRegistrationWindow == null) { - unlockArbitrationRegistrationWindow = new UnlockArbitrationRegistrationWindow(useDevPrivilegeKeys); - unlockArbitrationRegistrationWindow.onClose(() -> unlockArbitrationRegistrationWindow = null) + if (model.registrationPubKeyAsHex.get() == null && unlockDisputeAgentRegistrationWindow == null) { + unlockDisputeAgentRegistrationWindow = new UnlockDisputeAgentRegistrationWindow(useDevPrivilegeKeys); + unlockDisputeAgentRegistrationWindow.onClose(() -> unlockDisputeAgentRegistrationWindow = null) .onKey(model::setPrivKeyAndCheckPubKey) .width(700) .show(); } } else { - model.myArbitratorProperty.removeListener(arbitratorChangeListener); + model.myDisputeAgentProperty.removeListener(changeListener); } } @@ -149,7 +147,7 @@ private void buildUI() { gridPane.getColumnConstraints().addAll(columnConstraints1); root.getChildren().add(gridPane); - addTitledGroupBg(gridPane, gridRow, 4, Res.get("account.tab.arbitratorRegistration")); + addTitledGroupBg(gridPane, gridRow, 4, Res.get("account.arbitratorRegistration.registration", getRole())); TextField pubKeyTextField = addTopLabelTextField(gridPane, gridRow, Res.get("account.arbitratorRegistration.pubKey"), model.registrationPubKeyAsHex.get(), Layout.FIRST_ROW_DISTANCE).second; @@ -207,7 +205,8 @@ public String fromString(String s) { }); languageComboBox.setOnAction(e -> onAddLanguage()); - final Tuple2 buttonButtonTuple2 = add2ButtonsAfterGroup(gridPane, ++gridRow, Res.get("account.arbitratorRegistration.register"), Res.get("account.arbitratorRegistration.revoke")); + Tuple2 buttonButtonTuple2 = add2ButtonsAfterGroup(gridPane, ++gridRow, + Res.get("account.arbitratorRegistration.register"), Res.get("account.arbitratorRegistration.revoke")); Button registerButton = buttonButtonTuple2.first; registerButton.disableProperty().bind(model.registrationEditDisabled); registerButton.setOnAction(e -> onRegister()); @@ -224,9 +223,12 @@ public String fromString(String s) { Label infoLabel = addMultilineLabel(gridPane, gridRow); GridPane.setMargin(infoLabel, new Insets(Layout.TWICE_FIRST_ROW_AND_GROUP_DISTANCE, 0, 0, 0)); - infoLabel.setText(Res.get("account.arbitratorRegistration.info.msg")); + infoLabel.setText(Res.get("account.arbitratorRegistration.info.msg", getRole().toLowerCase())); } + protected abstract String getRole(); + + /////////////////////////////////////////////////////////////////////////////////////////// // UI actions /////////////////////////////////////////////////////////////////////////////////////////// @@ -246,24 +248,20 @@ private void onRemoveLanguage(String locale) { } private void onRevoke() { - if (model.isBootstrapped()) { + if (model.isBootstrappedOrShowPopup()) { model.onRevoke( () -> new Popup<>().feedback(Res.get("account.arbitratorRegistration.removedSuccess")).show(), (errorMessage) -> new Popup<>().error(Res.get("account.arbitratorRegistration.removedFailed", Res.get("shared.errorMessageInline", errorMessage))).show()); - } else { - new Popup<>().information(Res.get("popup.warning.notFullyConnected")).show(); } } private void onRegister() { - if (model.isBootstrapped()) { + if (model.isBootstrappedOrShowPopup()) { model.onRegister( () -> new Popup<>().feedback(Res.get("account.arbitratorRegistration.registerSuccess")).show(), (errorMessage) -> new Popup<>().error(Res.get("account.arbitratorRegistration.registerFailed", Res.get("shared.errorMessageInline", errorMessage))).show()); - } else { - new Popup<>().information(Res.get("popup.warning.notFullyConnected")).show(); } } } diff --git a/desktop/src/main/java/bisq/desktop/main/account/arbitratorregistration/ArbitratorRegistrationViewModel.java b/desktop/src/main/java/bisq/desktop/main/account/register/AgentRegistrationViewModel.java similarity index 55% rename from desktop/src/main/java/bisq/desktop/main/account/arbitratorregistration/ArbitratorRegistrationViewModel.java rename to desktop/src/main/java/bisq/desktop/main/account/register/AgentRegistrationViewModel.java index b7bdfa72a35..602b66949ab 100644 --- a/desktop/src/main/java/bisq/desktop/main/account/arbitratorregistration/ArbitratorRegistrationViewModel.java +++ b/desktop/src/main/java/bisq/desktop/main/account/register/AgentRegistrationViewModel.java @@ -15,15 +15,15 @@ * along with Bisq. If not, see . */ -package bisq.desktop.main.account.arbitratorregistration; +package bisq.desktop.main.account.register; import bisq.desktop.common.model.ActivatableViewModel; +import bisq.desktop.util.GUIUtil; -import bisq.core.arbitration.Arbitrator; -import bisq.core.arbitration.ArbitratorManager; -import bisq.core.btc.model.AddressEntry; import bisq.core.btc.wallet.BtcWalletService; import bisq.core.locale.LanguageUtil; +import bisq.core.support.dispute.agent.DisputeAgent; +import bisq.core.support.dispute.agent.DisputeAgentManager; import bisq.core.user.User; import bisq.network.p2p.NodeAddress; @@ -36,8 +36,6 @@ import org.bitcoinj.core.ECKey; import org.bitcoinj.core.Utils; -import com.google.inject.Inject; - import javafx.beans.property.BooleanProperty; import javafx.beans.property.ObjectProperty; import javafx.beans.property.SimpleBooleanProperty; @@ -49,25 +47,22 @@ import javafx.collections.MapChangeListener; import javafx.collections.ObservableList; -import java.util.ArrayList; -import java.util.Date; - -class ArbitratorRegistrationViewModel extends ActivatableViewModel { - private final ArbitratorManager arbitratorManager; - private final User user; - private final P2PService p2PService; - private final BtcWalletService walletService; - private final KeyRing keyRing; +public abstract class AgentRegistrationViewModel> extends ActivatableViewModel { + private final T disputeAgentManager; + protected final User user; + protected final P2PService p2PService; + protected final BtcWalletService walletService; + protected final KeyRing keyRing; final BooleanProperty registrationEditDisabled = new SimpleBooleanProperty(true); final BooleanProperty revokeButtonDisabled = new SimpleBooleanProperty(true); - final ObjectProperty myArbitratorProperty = new SimpleObjectProperty<>(); + final ObjectProperty myDisputeAgentProperty = new SimpleObjectProperty<>(); - final ObservableList languageCodes = FXCollections.observableArrayList(LanguageUtil.getDefaultLanguageLocaleAsCode()); + protected final ObservableList languageCodes = FXCollections.observableArrayList(LanguageUtil.getDefaultLanguageLocaleAsCode()); final ObservableList allLanguageCodes = FXCollections.observableArrayList(LanguageUtil.getAllLanguageCodes()); private boolean allDataValid; - private final MapChangeListener arbitratorMapChangeListener; - private ECKey registrationKey; + private final MapChangeListener mapChangeListener; + protected ECKey registrationKey; final StringProperty registrationPubKeyAsHex = new SimpleStringProperty(); @@ -75,45 +70,42 @@ class ArbitratorRegistrationViewModel extends ActivatableViewModel { // Constructor, lifecycle /////////////////////////////////////////////////////////////////////////////////////////// - @Inject - public ArbitratorRegistrationViewModel(ArbitratorManager arbitratorManager, - User user, - P2PService p2PService, - BtcWalletService walletService, - KeyRing keyRing) { - this.arbitratorManager = arbitratorManager; + public AgentRegistrationViewModel(T disputeAgentManager, + User user, + P2PService p2PService, + BtcWalletService walletService, + KeyRing keyRing) { + this.disputeAgentManager = disputeAgentManager; this.user = user; this.p2PService = p2PService; this.walletService = walletService; this.keyRing = keyRing; - arbitratorMapChangeListener = new MapChangeListener() { - @Override - public void onChanged(Change change) { - Arbitrator myRegisteredArbitrator = user.getRegisteredArbitrator(); - myArbitratorProperty.set(myRegisteredArbitrator); + mapChangeListener = change -> { + R registeredDisputeAgentFromUser = getRegisteredDisputeAgentFromUser(); + myDisputeAgentProperty.set(registeredDisputeAgentFromUser); - // We don't reset the languages in case of revocation, as its likely that the arbitrator will use the same again when he re-activate - // registration later - if (myRegisteredArbitrator != null) - languageCodes.setAll(myRegisteredArbitrator.getLanguageCodes()); + // We don't reset the languages in case of revocation, as its likely that the disputeAgent will use the + // same again when he re-activate registration later + if (registeredDisputeAgentFromUser != null) + languageCodes.setAll(registeredDisputeAgentFromUser.getLanguageCodes()); - updateDisableStates(); - } + updateDisableStates(); }; } @Override protected void activate() { - arbitratorManager.getArbitratorsObservableMap().addListener(arbitratorMapChangeListener); - Arbitrator myRegisteredArbitrator = user.getRegisteredArbitrator(); - myArbitratorProperty.set(myRegisteredArbitrator); + disputeAgentManager.getObservableMap().addListener(mapChangeListener); + myDisputeAgentProperty.set(getRegisteredDisputeAgentFromUser()); updateDisableStates(); } + protected abstract R getRegisteredDisputeAgentFromUser(); + @Override protected void deactivate() { - arbitratorManager.getArbitratorsObservableMap().removeListener(arbitratorMapChangeListener); + disputeAgentManager.getObservableMap().removeListener(mapChangeListener); } @@ -136,10 +128,10 @@ void onRemoveLanguage(String code) { } boolean setPrivKeyAndCheckPubKey(String privKeyString) { - ECKey registrationKey = arbitratorManager.getRegistrationKey(privKeyString); + ECKey registrationKey = disputeAgentManager.getRegistrationKey(privKeyString); if (registrationKey != null) { String _registrationPubKeyAsHex = Utils.HEX.encode(registrationKey.getPubKey()); - boolean isKeyValid = arbitratorManager.isPublicKeyInList(_registrationPubKeyAsHex); + boolean isKeyValid = disputeAgentManager.isPublicKeyInList(_registrationPubKeyAsHex); if (isKeyValid) { this.registrationKey = registrationKey; registrationPubKeyAsHex.set(_registrationPubKeyAsHex); @@ -152,29 +144,18 @@ boolean setPrivKeyAndCheckPubKey(String privKeyString) { } } + protected abstract R getDisputeAgent(String registrationSignature, String emailAddress); + void onRegister(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { updateDisableStates(); if (allDataValid) { - AddressEntry arbitratorDepositAddressEntry = walletService.getArbitratorAddressEntry(); - String registrationSignature = arbitratorManager.signStorageSignaturePubKey(registrationKey); + String registrationSignature = disputeAgentManager.signStorageSignaturePubKey(registrationKey); // TODO not impl in UI String emailAddress = null; @SuppressWarnings("ConstantConditions") - Arbitrator arbitrator = new Arbitrator( - p2PService.getAddress(), - arbitratorDepositAddressEntry.getPubKey(), - arbitratorDepositAddressEntry.getAddressString(), - keyRing.getPubKeyRing(), - new ArrayList<>(languageCodes), - new Date().getTime(), - registrationKey.getPubKey(), - registrationSignature, - emailAddress, - null, - null - ); - - arbitratorManager.addArbitrator(arbitrator, + R disputeAgent = getDisputeAgent(registrationSignature, emailAddress); + + disputeAgentManager.addDisputeAgent(disputeAgent, () -> { updateDisableStates(); resultHandler.handleResult(); @@ -186,9 +167,8 @@ void onRegister(ResultHandler resultHandler, ErrorMessageHandler errorMessageHan } } - void onRevoke(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { - arbitratorManager.removeArbitrator( + disputeAgentManager.removeDisputeAgent( () -> { updateDisableStates(); resultHandler.handleResult(); @@ -200,12 +180,12 @@ void onRevoke(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandl } private void updateDisableStates() { - allDataValid = languageCodes != null && languageCodes.size() > 0 && registrationKey != null && registrationPubKeyAsHex.get() != null; - registrationEditDisabled.set(!allDataValid || myArbitratorProperty.get() != null); - revokeButtonDisabled.set(!allDataValid || myArbitratorProperty.get() == null); + allDataValid = languageCodes.size() > 0 && registrationKey != null && registrationPubKeyAsHex.get() != null; + registrationEditDisabled.set(!allDataValid || myDisputeAgentProperty.get() != null); + revokeButtonDisabled.set(!allDataValid || myDisputeAgentProperty.get() == null); } - boolean isBootstrapped() { - return p2PService.isBootstrapped(); + boolean isBootstrappedOrShowPopup() { + return GUIUtil.isBootstrappedOrShowPopup(p2PService); } } diff --git a/desktop/src/main/java/bisq/desktop/main/account/arbitratorregistration/ArbitratorRegistrationView.fxml b/desktop/src/main/java/bisq/desktop/main/account/register/arbitrator/ArbitratorRegistrationView.fxml similarity index 89% rename from desktop/src/main/java/bisq/desktop/main/account/arbitratorregistration/ArbitratorRegistrationView.fxml rename to desktop/src/main/java/bisq/desktop/main/account/register/arbitrator/ArbitratorRegistrationView.fxml index c78f240787e..fbbe07b6ab4 100644 --- a/desktop/src/main/java/bisq/desktop/main/account/arbitratorregistration/ArbitratorRegistrationView.fxml +++ b/desktop/src/main/java/bisq/desktop/main/account/register/arbitrator/ArbitratorRegistrationView.fxml @@ -18,7 +18,7 @@ - diff --git a/desktop/src/main/java/bisq/desktop/main/account/register/arbitrator/ArbitratorRegistrationView.java b/desktop/src/main/java/bisq/desktop/main/account/register/arbitrator/ArbitratorRegistrationView.java new file mode 100644 index 00000000000..713ebe53797 --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/main/account/register/arbitrator/ArbitratorRegistrationView.java @@ -0,0 +1,45 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.desktop.main.account.register.arbitrator; + + +import bisq.desktop.common.view.FxmlView; +import bisq.desktop.main.account.register.AgentRegistrationView; + +import bisq.core.app.AppOptionKeys; +import bisq.core.locale.Res; +import bisq.core.support.dispute.arbitration.arbitrator.Arbitrator; + +import com.google.inject.name.Named; + +import javax.inject.Inject; + +@FxmlView +public class ArbitratorRegistrationView extends AgentRegistrationView { + + @Inject + public ArbitratorRegistrationView(ArbitratorRegistrationViewModel model, + @Named(AppOptionKeys.USE_DEV_PRIVILEGE_KEYS) boolean useDevPrivilegeKeys) { + super(model, useDevPrivilegeKeys); + } + + @Override + protected String getRole() { + return Res.get("shared.arbitrator2"); + } +} diff --git a/desktop/src/main/java/bisq/desktop/main/account/register/arbitrator/ArbitratorRegistrationViewModel.java b/desktop/src/main/java/bisq/desktop/main/account/register/arbitrator/ArbitratorRegistrationViewModel.java new file mode 100644 index 00000000000..ec14062884c --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/main/account/register/arbitrator/ArbitratorRegistrationViewModel.java @@ -0,0 +1,71 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.desktop.main.account.register.arbitrator; + +import bisq.desktop.main.account.register.AgentRegistrationViewModel; + +import bisq.core.btc.model.AddressEntry; +import bisq.core.btc.wallet.BtcWalletService; +import bisq.core.support.dispute.arbitration.arbitrator.Arbitrator; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; +import bisq.core.user.User; + +import bisq.network.p2p.P2PService; + +import bisq.common.crypto.KeyRing; + +import com.google.inject.Inject; + +import java.util.ArrayList; +import java.util.Date; + +public class ArbitratorRegistrationViewModel extends AgentRegistrationViewModel { + + @Inject + public ArbitratorRegistrationViewModel(ArbitratorManager arbitratorManager, + User user, + P2PService p2PService, + BtcWalletService walletService, + KeyRing keyRing) { + super(arbitratorManager, user, p2PService, walletService, keyRing); + } + + @Override + protected Arbitrator getDisputeAgent(String registrationSignature, + String emailAddress) { + AddressEntry arbitratorAddressEntry = walletService.getArbitratorAddressEntry(); + return new Arbitrator( + p2PService.getAddress(), + arbitratorAddressEntry.getPubKey(), + arbitratorAddressEntry.getAddressString(), + keyRing.getPubKeyRing(), + new ArrayList<>(languageCodes), + new Date().getTime(), + registrationKey.getPubKey(), + registrationSignature, + emailAddress, + null, + null + ); + } + + @Override + protected Arbitrator getRegisteredDisputeAgentFromUser() { + return user.getRegisteredArbitrator(); + } +} diff --git a/desktop/src/main/java/bisq/desktop/main/account/register/mediator/MediatorRegistrationView.fxml b/desktop/src/main/java/bisq/desktop/main/account/register/mediator/MediatorRegistrationView.fxml new file mode 100644 index 00000000000..0d180bee04a --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/main/account/register/mediator/MediatorRegistrationView.fxml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/src/main/java/bisq/desktop/main/account/register/mediator/MediatorRegistrationView.java b/desktop/src/main/java/bisq/desktop/main/account/register/mediator/MediatorRegistrationView.java new file mode 100644 index 00000000000..4a0ac30f96c --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/main/account/register/mediator/MediatorRegistrationView.java @@ -0,0 +1,45 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.desktop.main.account.register.mediator; + + +import bisq.desktop.common.view.FxmlView; +import bisq.desktop.main.account.register.AgentRegistrationView; + +import bisq.core.app.AppOptionKeys; +import bisq.core.locale.Res; +import bisq.core.support.dispute.mediation.mediator.Mediator; + +import com.google.inject.name.Named; + +import javax.inject.Inject; + +@FxmlView +public class MediatorRegistrationView extends AgentRegistrationView { + + @Inject + public MediatorRegistrationView(MediatorRegistrationViewModel model, + @Named(AppOptionKeys.USE_DEV_PRIVILEGE_KEYS) boolean useDevPrivilegeKeys) { + super(model, useDevPrivilegeKeys); + } + + @Override + protected String getRole() { + return Res.get("shared.mediator"); + } +} diff --git a/desktop/src/main/java/bisq/desktop/main/account/register/mediator/MediatorRegistrationViewModel.java b/desktop/src/main/java/bisq/desktop/main/account/register/mediator/MediatorRegistrationViewModel.java new file mode 100644 index 00000000000..d763c802610 --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/main/account/register/mediator/MediatorRegistrationViewModel.java @@ -0,0 +1,67 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.desktop.main.account.register.mediator; + +import bisq.desktop.main.account.register.AgentRegistrationViewModel; + +import bisq.core.btc.wallet.BtcWalletService; +import bisq.core.support.dispute.mediation.mediator.Mediator; +import bisq.core.support.dispute.mediation.mediator.MediatorManager; +import bisq.core.user.User; + +import bisq.network.p2p.P2PService; + +import bisq.common.crypto.KeyRing; + +import com.google.inject.Inject; + +import java.util.ArrayList; +import java.util.Date; + +class MediatorRegistrationViewModel extends AgentRegistrationViewModel { + + @Inject + public MediatorRegistrationViewModel(MediatorManager mediatorManager, + User user, + P2PService p2PService, + BtcWalletService walletService, + KeyRing keyRing) { + super(mediatorManager, user, p2PService, walletService, keyRing); + } + + @Override + protected Mediator getDisputeAgent(String registrationSignature, + String emailAddress) { + return new Mediator( + p2PService.getAddress(), + keyRing.getPubKeyRing(), + new ArrayList<>(languageCodes), + new Date().getTime(), + registrationKey.getPubKey(), + registrationSignature, + emailAddress, + null, + null + ); + } + + @Override + protected Mediator getRegisteredDisputeAgentFromUser() { + return user.getRegisteredMediator(); + } +} diff --git a/desktop/src/main/java/bisq/desktop/main/dao/bonding/BondingViewUtils.java b/desktop/src/main/java/bisq/desktop/main/dao/bonding/BondingViewUtils.java index bd0a998099e..38bef6c897a 100644 --- a/desktop/src/main/java/bisq/desktop/main/dao/bonding/BondingViewUtils.java +++ b/desktop/src/main/java/bisq/desktop/main/dao/bonding/BondingViewUtils.java @@ -106,7 +106,7 @@ public void lockupBondForReputation(Coin lockupAmount, int lockupTime, byte[] sa private void lockupBond(byte[] hash, Coin lockupAmount, int lockupTime, LockupReason lockupReason, Consumer resultHandler) { - if (GUIUtil.isReadyForTxBroadcast(p2PService, walletsSetup)) { + if (GUIUtil.isReadyForTxBroadcastOrShowPopup(p2PService, walletsSetup)) { if (!DevEnv.isDevMode()) { try { Tuple2 miningFeeAndTxSize = daoFacade.getLockupTxMiningFeeAndTxSize(lockupAmount, lockupTime, lockupReason, hash); @@ -135,8 +135,6 @@ private void lockupBond(byte[] hash, Coin lockupAmount, int lockupTime, LockupRe } else { publishLockupTx(lockupAmount, lockupTime, lockupReason, hash, resultHandler); } - } else { - GUIUtil.showNotReadyForTxBroadcastPopups(p2PService, walletsSetup); } } @@ -161,7 +159,7 @@ public Optional getAcceptedBondedRoleProposal(Role role) { } public void unLock(String lockupTxId, Consumer resultHandler) { - if (GUIUtil.isReadyForTxBroadcast(p2PService, walletsSetup)) { + if (GUIUtil.isReadyForTxBroadcastOrShowPopup(p2PService, walletsSetup)) { Optional lockupTxOutput = daoFacade.getLockupTxOutput(lockupTxId); checkArgument(lockupTxOutput.isPresent(), "Lockup output must be present. TxId=" + lockupTxId); Coin unlockAmount = Coin.valueOf(lockupTxOutput.get().getValue()); @@ -196,8 +194,6 @@ public void unLock(String lockupTxId, Consumer resultHandler) { t.printStackTrace(); new Popup<>().warning(t.getMessage()).show(); } - } else { - GUIUtil.showNotReadyForTxBroadcastPopups(p2PService, walletsSetup); } log.info("unlock tx: {}", lockupTxId); } diff --git a/desktop/src/main/java/bisq/desktop/main/dao/governance/make/MakeProposalView.java b/desktop/src/main/java/bisq/desktop/main/dao/governance/make/MakeProposalView.java index 4219d86c406..c7b41c873f0 100644 --- a/desktop/src/main/java/bisq/desktop/main/dao/governance/make/MakeProposalView.java +++ b/desktop/src/main/java/bisq/desktop/main/dao/governance/make/MakeProposalView.java @@ -404,9 +404,9 @@ private ProposalWithTransaction getProposalWithTransaction(ProposalType proposal bsqFormatter.parseToCoin(proposalDisplay.requestedBsqTextField.getText())); case CHANGE_PARAM: checkNotNull(proposalDisplay.paramComboBox, - "proposalDisplay.paramComboBox must no tbe null"); + "proposalDisplay.paramComboBox must not be null"); checkNotNull(proposalDisplay.paramValueTextField, - "proposalDisplay.paramValueTextField must no tbe null"); + "proposalDisplay.paramValueTextField must not be null"); Param selectedParam = proposalDisplay.paramComboBox.getSelectionModel().getSelectedItem(); if (selectedParam == null) throw new ProposalValidationException("selectedParam is null"); @@ -492,10 +492,8 @@ private void removeProposalDisplay() { private void setMakeProposalButtonHandler() { makeProposalButton.setOnAction(event -> { - if (GUIUtil.isReadyForTxBroadcast(p2PService, walletsSetup)) { + if (GUIUtil.isReadyForTxBroadcastOrShowPopup(p2PService, walletsSetup)) { publishMyProposal(selectedProposalType); - } else { - GUIUtil.showNotReadyForTxBroadcastPopups(p2PService, walletsSetup); } }); } diff --git a/desktop/src/main/java/bisq/desktop/main/dao/wallet/send/BsqSendView.java b/desktop/src/main/java/bisq/desktop/main/dao/wallet/send/BsqSendView.java index 24de472f155..2d773a03946 100644 --- a/desktop/src/main/java/bisq/desktop/main/dao/wallet/send/BsqSendView.java +++ b/desktop/src/main/java/bisq/desktop/main/dao/wallet/send/BsqSendView.java @@ -232,7 +232,7 @@ private void addSendBsqGroup() { sendBsqButton.setOnAction((event) -> { // TODO break up in methods - if (GUIUtil.isReadyForTxBroadcast(p2PService, walletsSetup)) { + if (GUIUtil.isReadyForTxBroadcastOrShowPopup(p2PService, walletsSetup)) { String receiversAddressString = bsqFormatter.getAddressFromBsqAddress(receiversAddressInputTextField.getText()).toString(); Coin receiverAmount = bsqFormatter.parseToCoin(amountInputTextField.getText()); try { @@ -259,8 +259,6 @@ private void addSendBsqGroup() { } catch (Throwable t) { handleError(t); } - } else { - GUIUtil.showNotReadyForTxBroadcastPopups(p2PService, walletsSetup); } }); } @@ -292,7 +290,7 @@ private void addSendBtcGroup() { sendBtcButton = addButtonAfterGroup(root, ++gridRow, Res.get("dao.wallet.send.sendBtc")); sendBtcButton.setOnAction((event) -> { - if (GUIUtil.isReadyForTxBroadcast(p2PService, walletsSetup)) { + if (GUIUtil.isReadyForTxBroadcastOrShowPopup(p2PService, walletsSetup)) { String receiversAddressString = receiversBtcAddressInputTextField.getText(); Coin receiverAmount = bsqFormatter.parseToBTC(btcAmountInputTextField.getText()); try { @@ -324,8 +322,6 @@ private void addSendBtcGroup() { } catch (Throwable t) { handleError(t); } - } else { - GUIUtil.showNotReadyForTxBroadcastPopups(p2PService, walletsSetup); } }); } diff --git a/desktop/src/main/java/bisq/desktop/main/debug/DebugView.java b/desktop/src/main/java/bisq/desktop/main/debug/DebugView.java index afa3c68d1a0..7bd2b24707c 100644 --- a/desktop/src/main/java/bisq/desktop/main/debug/DebugView.java +++ b/desktop/src/main/java/bisq/desktop/main/debug/DebugView.java @@ -50,7 +50,6 @@ import bisq.core.trade.protocol.tasks.seller_as_taker.SellerAsTakerSignAndPublishDepositTx; import bisq.core.trade.protocol.tasks.taker.CreateTakerFeeTx; import bisq.core.trade.protocol.tasks.taker.TakerProcessPublishDepositTxRequest; -import bisq.core.trade.protocol.tasks.taker.TakerSelectMediator; import bisq.core.trade.protocol.tasks.taker.TakerSendDepositTxPublishedMessage; import bisq.core.trade.protocol.tasks.taker.TakerSendPayDepositRequest; import bisq.core.trade.protocol.tasks.taker.TakerVerifyAndSignContract; @@ -131,7 +130,6 @@ public void initialize() { FXCollections.observableArrayList(Arrays.asList( TakerVerifyMakerAccount.class, TakerVerifyMakerFeePayment.class, - TakerSelectMediator.class, CreateTakerFeeTx.class, SellerAsTakerCreatesDepositTxInputs.class, TakerSendPayDepositRequest.class, diff --git a/desktop/src/main/java/bisq/desktop/main/disputes/DisputesView.java b/desktop/src/main/java/bisq/desktop/main/disputes/DisputesView.java deleted file mode 100644 index 48864252d3f..00000000000 --- a/desktop/src/main/java/bisq/desktop/main/disputes/DisputesView.java +++ /dev/null @@ -1,166 +0,0 @@ -/* - * This file is part of Bisq. - * - * Bisq is free software: you can redistribute it and/or modify it - * under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or (at - * your option) any later version. - * - * Bisq is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public - * License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with Bisq. If not, see . - */ - -package bisq.desktop.main.disputes; - -import bisq.desktop.Navigation; -import bisq.desktop.common.model.Activatable; -import bisq.desktop.common.view.ActivatableViewAndModel; -import bisq.desktop.common.view.CachingViewLoader; -import bisq.desktop.common.view.FxmlView; -import bisq.desktop.common.view.View; -import bisq.desktop.common.view.ViewLoader; -import bisq.desktop.main.MainView; -import bisq.desktop.main.disputes.arbitrator.ArbitratorDisputeView; -import bisq.desktop.main.disputes.trader.TraderDisputeView; -import bisq.desktop.main.overlays.popups.Popup; - -import bisq.core.arbitration.Arbitrator; -import bisq.core.arbitration.ArbitratorManager; -import bisq.core.arbitration.DisputeManager; -import bisq.core.locale.Res; - -import bisq.network.p2p.NodeAddress; - -import bisq.common.app.DevEnv; -import bisq.common.crypto.KeyRing; - -import javax.inject.Inject; - -import javafx.fxml.FXML; - -import javafx.scene.control.Tab; -import javafx.scene.control.TabPane; - -import javafx.beans.value.ChangeListener; - -import javafx.collections.MapChangeListener; - -// will be probably only used for arbitration communication, will be renamed and the icon changed -@FxmlView -public class DisputesView extends ActivatableViewAndModel { - - @FXML - Tab tradersDisputesTab; - - private Tab arbitratorsDisputesTab; - - private final Navigation navigation; - private final ArbitratorManager arbitratorManager; - private final DisputeManager disputeManager; - private final KeyRing keyRing; - - private Navigation.Listener navigationListener; - private ChangeListener tabChangeListener; - private Tab currentTab; - private final ViewLoader viewLoader; - private MapChangeListener arbitratorMapChangeListener; - - @Inject - public DisputesView(CachingViewLoader viewLoader, Navigation navigation, - ArbitratorManager arbitratorManager, DisputeManager disputeManager, - KeyRing keyRing) { - this.viewLoader = viewLoader; - this.navigation = navigation; - this.arbitratorManager = arbitratorManager; - this.disputeManager = disputeManager; - this.keyRing = keyRing; - } - - @Override - public void initialize() { - log.debug("initialize "); - tradersDisputesTab.setText(Res.get("support.tab.support").toUpperCase()); - navigationListener = viewPath -> { - if (viewPath.size() == 3 && viewPath.indexOf(DisputesView.class) == 1) - loadView(viewPath.tip()); - }; - - tabChangeListener = (ov, oldValue, newValue) -> { - if (newValue == tradersDisputesTab) - navigation.navigateTo(MainView.class, DisputesView.class, TraderDisputeView.class); - else if (newValue == arbitratorsDisputesTab) - navigation.navigateTo(MainView.class, DisputesView.class, ArbitratorDisputeView.class); - }; - - arbitratorMapChangeListener = change -> updateArbitratorsDisputesTabDisableState(); - } - - private void updateArbitratorsDisputesTabDisableState() { - boolean isActiveArbitrator = arbitratorManager.getArbitratorsObservableMap().values().stream() - .anyMatch(e -> e.getPubKeyRing() != null && e.getPubKeyRing().equals(keyRing.getPubKeyRing())); - - boolean hasDisputesAsArbitrator = disputeManager.getDisputesAsObservableList().stream() - .anyMatch(d -> d.getArbitratorPubKeyRing().equals(keyRing.getPubKeyRing())); - - if (arbitratorsDisputesTab == null && (isActiveArbitrator || hasDisputesAsArbitrator)) { - arbitratorsDisputesTab = new Tab(Res.get("support.tab.ArbitratorsSupportTickets").toUpperCase()); - arbitratorsDisputesTab.setClosable(false); - root.getTabs().add(arbitratorsDisputesTab); - tradersDisputesTab.setText(Res.get("support.tab.TradersSupportTickets").toUpperCase()); - } - } - - @SuppressWarnings("PointlessBooleanExpression") - @Override - protected void activate() { - arbitratorManager.updateArbitratorMap(); - arbitratorManager.getArbitratorsObservableMap().addListener(arbitratorMapChangeListener); - updateArbitratorsDisputesTabDisableState(); - - root.getSelectionModel().selectedItemProperty().addListener(tabChangeListener); - navigation.addListener(navigationListener); - - if (arbitratorsDisputesTab != null && root.getSelectionModel().getSelectedItem() == arbitratorsDisputesTab) - navigation.navigateTo(MainView.class, DisputesView.class, ArbitratorDisputeView.class); - else - navigation.navigateTo(MainView.class, DisputesView.class, TraderDisputeView.class); - - //noinspection UnusedAssignment - String key = "supportInfo"; - if (!DevEnv.isDevMode()) - new Popup<>().backgroundInfo(Res.get("support.backgroundInfo")) - .width(900) - .dontShowAgainId(key) - .show(); - } - - @Override - protected void deactivate() { - arbitratorManager.getArbitratorsObservableMap().removeListener(arbitratorMapChangeListener); - root.getSelectionModel().selectedItemProperty().removeListener(tabChangeListener); - navigation.removeListener(navigationListener); - currentTab = null; - } - - private void loadView(Class viewClass) { - // we want to get activate/deactivate called, so we remove the old view on tab change - if (currentTab != null) - currentTab.setContent(null); - - View view = viewLoader.load(viewClass); - - if (arbitratorsDisputesTab != null && view instanceof ArbitratorDisputeView) - currentTab = arbitratorsDisputesTab; - else - currentTab = tradersDisputesTab; - - currentTab.setContent(view.getRoot()); - root.getSelectionModel().select(currentTab); - } -} - diff --git a/desktop/src/main/java/bisq/desktop/main/funds/locked/LockedView.java b/desktop/src/main/java/bisq/desktop/main/funds/locked/LockedView.java index 38275c3ba23..fd2f2e070f5 100644 --- a/desktop/src/main/java/bisq/desktop/main/funds/locked/LockedView.java +++ b/desktop/src/main/java/bisq/desktop/main/funds/locked/LockedView.java @@ -264,8 +264,6 @@ public void updateItem(final LockedListItem item, boolean empty) { field.setOnAction(event -> openDetailPopup(item)); field.setTooltip(new Tooltip(Res.get("tooltip.openPopupForDetails"))); setGraphic(field); - } else if (addressEntry.getContext() == AddressEntry.Context.ARBITRATOR) { - setGraphic(new AutoTooltipLabel(Res.get("shared.arbitratorsFee"))); } else { setGraphic(new AutoTooltipLabel(Res.get("shared.noDetailsAvailable"))); } diff --git a/desktop/src/main/java/bisq/desktop/main/funds/reserved/ReservedView.java b/desktop/src/main/java/bisq/desktop/main/funds/reserved/ReservedView.java index 0146d9c14fd..9efb8da1e5a 100644 --- a/desktop/src/main/java/bisq/desktop/main/funds/reserved/ReservedView.java +++ b/desktop/src/main/java/bisq/desktop/main/funds/reserved/ReservedView.java @@ -263,8 +263,6 @@ public void updateItem(final ReservedListItem item, boolean empty) { field.setOnAction(event -> openDetailPopup(item)); field.setTooltip(new Tooltip(Res.get("tooltip.openPopupForDetails"))); setGraphic(field); - } else if (item.getAddressEntry().getContext() == AddressEntry.Context.ARBITRATOR) { - setGraphic(new AutoTooltipLabel(Res.get("shared.arbitratorsFee"))); } else { setGraphic(new AutoTooltipLabel(Res.get("shared.noDetailsAvailable"))); } diff --git a/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionAwareTradableFactory.java b/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionAwareTradableFactory.java index 234d96c6b3e..490bbafb52c 100644 --- a/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionAwareTradableFactory.java +++ b/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionAwareTradableFactory.java @@ -17,7 +17,7 @@ package bisq.desktop.main.funds.transactions; -import bisq.core.arbitration.DisputeManager; +import bisq.core.support.dispute.arbitration.ArbitrationManager; import bisq.core.offer.OpenOffer; import bisq.core.trade.Tradable; import bisq.core.trade.Trade; @@ -27,18 +27,18 @@ @Singleton public class TransactionAwareTradableFactory { - private final DisputeManager disputeManager; + private final ArbitrationManager arbitrationManager; @Inject - TransactionAwareTradableFactory(DisputeManager disputeManager) { - this.disputeManager = disputeManager; + TransactionAwareTradableFactory(ArbitrationManager arbitrationManager) { + this.arbitrationManager = arbitrationManager; } TransactionAwareTradable create(Tradable delegate) { if (delegate instanceof OpenOffer) { return new TransactionAwareOpenOffer((OpenOffer) delegate); } else if (delegate instanceof Trade) { - return new TransactionAwareTrade((Trade) delegate, disputeManager); + return new TransactionAwareTrade((Trade) delegate, arbitrationManager); } else { return new DummyTransactionAwareTradable(delegate); } diff --git a/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionAwareTrade.java b/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionAwareTrade.java index b45618d962b..07c4bd7d801 100644 --- a/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionAwareTrade.java +++ b/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionAwareTrade.java @@ -17,8 +17,8 @@ package bisq.desktop.main.funds.transactions; -import bisq.core.arbitration.Dispute; -import bisq.core.arbitration.DisputeManager; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.arbitration.ArbitrationManager; import bisq.core.offer.Offer; import bisq.core.trade.Tradable; import bisq.core.trade.Trade; @@ -31,11 +31,11 @@ class TransactionAwareTrade implements TransactionAwareTradable { private final Trade delegate; - private final DisputeManager disputeManager; + private final ArbitrationManager arbitrationManager; - TransactionAwareTrade(Trade delegate, DisputeManager disputeManager) { + TransactionAwareTrade(Trade delegate, ArbitrationManager arbitrationManager) { this.delegate = delegate; - this.disputeManager = disputeManager; + this.arbitrationManager = arbitrationManager; } @Override @@ -75,7 +75,7 @@ private boolean isOfferFeeTx(String txId) { private boolean isDisputedPayoutTx(String txId) { String delegateId = delegate.getId(); - ObservableList disputes = disputeManager.getDisputesAsObservableList(); + ObservableList disputes = arbitrationManager.getDisputesAsObservableList(); return disputes.stream() .anyMatch(dispute -> { String disputePayoutTxId = dispute.getDisputePayoutTxId(); diff --git a/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionsListItem.java b/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionsListItem.java index afd36b5861d..51a58f24c5e 100644 --- a/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionsListItem.java +++ b/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionsListItem.java @@ -215,7 +215,7 @@ public void onTransactionConfidenceChanged(TransactionConfidence confidence) { } else if (trade.getPayoutTx() != null && trade.getPayoutTx().getHashAsString().equals(txId)) { details = Res.get("funds.tx.multiSigPayout", id); - } else if (trade.getDisputeState() != Trade.DisputeState.NO_DISPUTE) { + } else if (trade.getDisputeState() == Trade.DisputeState.DISPUTE_CLOSED) { if (valueSentToMe.isPositive()) { details = Res.get("funds.tx.disputePayout", id); } else { diff --git a/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionsView.java b/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionsView.java index cb03b9b2366..c3e5ff5ae49 100644 --- a/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionsView.java +++ b/desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionsView.java @@ -541,7 +541,7 @@ public void updateItem(final TransactionsListItem item, boolean empty) { } private void revertTransaction(String txId, @Nullable Tradable tradable) { - if (GUIUtil.isReadyForTxBroadcast(p2PService, walletsSetup)) { + if (GUIUtil.isReadyForTxBroadcastOrShowPopup(p2PService, walletsSetup)) { try { btcWalletService.doubleSpendTransaction(txId, () -> { if (tradable != null) @@ -552,8 +552,6 @@ private void revertTransaction(String txId, @Nullable Tradable tradable) { } catch (Throwable e) { new Popup<>().warning(e.getMessage()).show(); } - } else { - GUIUtil.showNotReadyForTxBroadcastPopups(p2PService, walletsSetup); } } diff --git a/desktop/src/main/java/bisq/desktop/main/funds/withdrawal/WithdrawalView.java b/desktop/src/main/java/bisq/desktop/main/funds/withdrawal/WithdrawalView.java index f3565535d0a..1ffa45f905f 100644 --- a/desktop/src/main/java/bisq/desktop/main/funds/withdrawal/WithdrawalView.java +++ b/desktop/src/main/java/bisq/desktop/main/funds/withdrawal/WithdrawalView.java @@ -319,7 +319,7 @@ protected void deactivate() { /////////////////////////////////////////////////////////////////////////////////////////// private void onWithdraw() { - if (GUIUtil.isReadyForTxBroadcast(p2PService, walletsSetup)) { + if (GUIUtil.isReadyForTxBroadcastOrShowPopup(p2PService, walletsSetup)) { try { // We do not know sendersAmount if senderPaysFee is true. We repeat fee calculation after first attempt if senderPaysFee is true. Transaction feeEstimationTransaction = walletService.getFeeEstimationTransactionForMultipleAddresses(fromAddresses, amountAsCoin); @@ -385,8 +385,6 @@ public void onFailure(@NotNull Throwable t) { log.error(e.toString()); new Popup<>().warning(e.toString()).show(); } - } else { - GUIUtil.showNotReadyForTxBroadcastPopups(p2PService, walletsSetup); } } diff --git a/desktop/src/main/java/bisq/desktop/main/offer/BuyOfferView.java b/desktop/src/main/java/bisq/desktop/main/offer/BuyOfferView.java index f722b3252c8..9da1283a115 100644 --- a/desktop/src/main/java/bisq/desktop/main/offer/BuyOfferView.java +++ b/desktop/src/main/java/bisq/desktop/main/offer/BuyOfferView.java @@ -21,8 +21,11 @@ import bisq.desktop.common.view.FxmlView; import bisq.desktop.common.view.ViewLoader; -import bisq.core.arbitration.ArbitratorManager; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; import bisq.core.user.Preferences; +import bisq.core.user.User; + +import bisq.network.p2p.P2PService; import javax.inject.Inject; @@ -30,8 +33,18 @@ public class BuyOfferView extends OfferView { @Inject - public BuyOfferView(ViewLoader viewLoader, Navigation navigation, Preferences preferences, ArbitratorManager arbitratorManager) { - super(viewLoader, navigation, preferences, arbitratorManager); + public BuyOfferView(ViewLoader viewLoader, + Navigation navigation, + Preferences preferences, + ArbitratorManager arbitratorManager, + User user, + P2PService p2PService) { + super(viewLoader, + navigation, + preferences, + arbitratorManager, + user, + p2PService); } } diff --git a/desktop/src/main/java/bisq/desktop/main/offer/MutableOfferDataModel.java b/desktop/src/main/java/bisq/desktop/main/offer/MutableOfferDataModel.java index ab9a0f10f17..65cf821109d 100644 --- a/desktop/src/main/java/bisq/desktop/main/offer/MutableOfferDataModel.java +++ b/desktop/src/main/java/bisq/desktop/main/offer/MutableOfferDataModel.java @@ -17,9 +17,11 @@ package bisq.desktop.main.offer; +import bisq.desktop.Navigation; +import bisq.desktop.util.GUIUtil; + import bisq.core.account.witness.AccountAgeRestrictions; import bisq.core.account.witness.AccountAgeWitnessService; -import bisq.core.arbitration.Arbitrator; import bisq.core.btc.TxFeeEstimationService; import bisq.core.btc.listeners.BalanceListener; import bisq.core.btc.listeners.BsqBalanceListener; @@ -107,6 +109,7 @@ public abstract class MutableOfferDataModel extends OfferDataModel implements Bs private final ReferralIdService referralIdService; private final BSFormatter btcFormatter; private MakerFeeProvider makerFeeProvider; + private final Navigation navigation; private final String offerId; private final BalanceListener btcBalanceListener; private final SetChangeListener paymentAccountsChangeListener; @@ -159,7 +162,8 @@ public MutableOfferDataModel(OpenOfferManager openOfferManager, TxFeeEstimationService txFeeEstimationService, ReferralIdService referralIdService, BSFormatter btcFormatter, - MakerFeeProvider makerFeeProvider) { + MakerFeeProvider makerFeeProvider, + Navigation navigation) { super(btcWalletService); this.openOfferManager = openOfferManager; @@ -176,6 +180,7 @@ public MutableOfferDataModel(OpenOfferManager openOfferManager, this.referralIdService = referralIdService; this.btcFormatter = btcFormatter; this.makerFeeProvider = makerFeeProvider; + this.navigation = navigation; offerId = Utilities.getRandomPrefix(5, 8) + "-" + UUID.randomUUID().toString() + "-" + @@ -556,20 +561,11 @@ protected PaymentAccount getPaymentAccount() { return paymentAccount; } - boolean hasAcceptedArbitrators() { - final List acceptedArbitrators = user.getAcceptedArbitrators(); - return acceptedArbitrators != null && acceptedArbitrators.size() > 0; - } - protected void setUseMarketBasedPrice(boolean useMarketBasedPrice) { this.useMarketBasedPrice.set(useMarketBasedPrice); preferences.setUsePercentageBasedPrice(useMarketBasedPrice); } - /*boolean isFeeFromFundingTxSufficient() { - return !isMainNet.get() || feeFromFundingTxProperty.get().compareTo(FeePolicy.getMinRequiredFeeForFundingTx()) >= 0; - }*/ - public ObservableList getPaymentAccounts() { return paymentAccounts; } @@ -831,4 +827,9 @@ public boolean isBsqForFeeAvailable() { public boolean isHalCashAccount() { return paymentAccount instanceof HalCashAccount; } + + public boolean canPlaceOffer() { + return GUIUtil.isBootstrappedOrShowPopup(p2PService) && + GUIUtil.canCreateOrTakeOfferOrShowPopup(user, navigation); + } } diff --git a/desktop/src/main/java/bisq/desktop/main/offer/MutableOfferView.java b/desktop/src/main/java/bisq/desktop/main/offer/MutableOfferView.java index 75770ae7bdd..11af03f826d 100644 --- a/desktop/src/main/java/bisq/desktop/main/offer/MutableOfferView.java +++ b/desktop/src/main/java/bisq/desktop/main/offer/MutableOfferView.java @@ -181,8 +181,13 @@ public abstract class MutableOfferView extends // Constructor, lifecycle /////////////////////////////////////////////////////////////////////////////////////////// - public MutableOfferView(M model, Navigation navigation, Preferences preferences, Transitions transitions, - OfferDetailsWindow offerDetailsWindow, BSFormatter btcFormatter, BsqFormatter bsqFormatter) { + public MutableOfferView(M model, + Navigation navigation, + Preferences preferences, + Transitions transitions, + OfferDetailsWindow offerDetailsWindow, + BSFormatter btcFormatter, + BsqFormatter bsqFormatter) { super(model); this.navigation = navigation; @@ -354,28 +359,21 @@ protected void showFiatRoundingInfoPopup() { } private void onPlaceOffer() { - if (model.isReadyForTxBroadcast()) { + if (model.getDataModel().canPlaceOffer()) { if (model.getDataModel().isMakerFeeValid()) { - if (model.hasAcceptedArbitrators()) { - Offer offer = model.createAndGetOffer(); - //noinspection PointlessBooleanExpression - if (!DevEnv.isDevMode()) { - offerDetailsWindow.onPlaceOffer(() -> - model.onPlaceOffer(offer, offerDetailsWindow::hide)) - .show(offer); - } else { - balanceSubscription.unsubscribe(); - model.onPlaceOffer(offer, () -> { - }); - } + Offer offer = model.createAndGetOffer(); + if (!DevEnv.isDevMode()) { + offerDetailsWindow.onPlaceOffer(() -> + model.onPlaceOffer(offer, offerDetailsWindow::hide)) + .show(offer); } else { - new Popup<>().warning(Res.get("popup.warning.noArbitratorsAvailable")).show(); + balanceSubscription.unsubscribe(); + model.onPlaceOffer(offer, () -> { + }); } } else { showInsufficientBsqFundsForBtcFeePaymentPopup(); } - } else { - model.showNotReadyForTxBroadcastPopups(); } } diff --git a/desktop/src/main/java/bisq/desktop/main/offer/MutableOfferViewModel.java b/desktop/src/main/java/bisq/desktop/main/offer/MutableOfferViewModel.java index 917ded3f4f1..f3971046098 100644 --- a/desktop/src/main/java/bisq/desktop/main/offer/MutableOfferViewModel.java +++ b/desktop/src/main/java/bisq/desktop/main/offer/MutableOfferViewModel.java @@ -34,7 +34,6 @@ import bisq.desktop.util.validation.MonetaryValidator; import bisq.desktop.util.validation.SecurityDepositValidator; -import bisq.core.btc.setup.WalletsSetup; import bisq.core.btc.wallet.Restrictions; import bisq.core.locale.CurrencyUtil; import bisq.core.locale.Res; @@ -54,8 +53,6 @@ import bisq.core.util.BsqFormatter; import bisq.core.util.validation.InputValidator; -import bisq.network.p2p.P2PService; - import bisq.common.Timer; import bisq.common.UserThread; import bisq.common.app.DevEnv; @@ -86,8 +83,6 @@ public abstract class MutableOfferViewModel ext private final BtcValidator btcValidator; private final BsqValidator bsqValidator; protected final SecurityDepositValidator securityDepositValidator; - private final P2PService p2PService; - private final WalletsSetup walletsSetup; private final PriceFeedService priceFeedService; private final Navigation navigation; private final Preferences preferences; @@ -187,8 +182,6 @@ public MutableOfferViewModel(M dataModel, BtcValidator btcValidator, BsqValidator bsqValidator, SecurityDepositValidator securityDepositValidator, - P2PService p2PService, - WalletsSetup walletsSetup, PriceFeedService priceFeedService, Navigation navigation, Preferences preferences, @@ -202,8 +195,6 @@ public MutableOfferViewModel(M dataModel, this.btcValidator = btcValidator; this.bsqValidator = bsqValidator; this.securityDepositValidator = securityDepositValidator; - this.p2PService = p2PService; - this.walletsSetup = walletsSetup; this.priceFeedService = priceFeedService; this.navigation = navigation; this.preferences = preferences; @@ -223,8 +214,8 @@ public MutableOfferViewModel(M dataModel, public void activate() { if (DevEnv.isDevMode()) { UserThread.runAfter(() -> { - amount.set("1"); - price.set("0.03"); + amount.set("0.001"); + price.set("75000"); // for CNY minAmount.set(amount.get()); onFocusOutPriceAsPercentageTextField(true, false); applyMakerFee(); @@ -1040,22 +1031,11 @@ public Offer createAndGetOffer() { return offer; } - boolean hasAcceptedArbitrators() { - return dataModel.hasAcceptedArbitrators(); - } - - boolean isReadyForTxBroadcast() { - return GUIUtil.isReadyForTxBroadcast(p2PService, walletsSetup); - } - - void showNotReadyForTxBroadcastPopups() { - GUIUtil.showNotReadyForTxBroadcastPopups(p2PService, walletsSetup); - } - public M getDataModel() { return dataModel; } + /////////////////////////////////////////////////////////////////////////////////////////// // Utils /////////////////////////////////////////////////////////////////////////////////////////// diff --git a/desktop/src/main/java/bisq/desktop/main/offer/OfferView.java b/desktop/src/main/java/bisq/desktop/main/offer/OfferView.java index b4c6d3603eb..8f5db324dcb 100644 --- a/desktop/src/main/java/bisq/desktop/main/offer/OfferView.java +++ b/desktop/src/main/java/bisq/desktop/main/offer/OfferView.java @@ -26,8 +26,8 @@ import bisq.desktop.main.offer.offerbook.OfferBookView; import bisq.desktop.main.offer.takeoffer.TakeOfferView; import bisq.desktop.main.overlays.popups.Popup; +import bisq.desktop.util.GUIUtil; -import bisq.core.arbitration.ArbitratorManager; import bisq.core.locale.CurrencyUtil; import bisq.core.locale.GlobalSettings; import bisq.core.locale.LanguageUtil; @@ -35,9 +35,11 @@ import bisq.core.locale.TradeCurrency; import bisq.core.offer.Offer; import bisq.core.offer.OfferPayload; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; import bisq.core.user.Preferences; +import bisq.core.user.User; -import bisq.network.p2p.NodeAddress; +import bisq.network.p2p.P2PService; import javafx.scene.control.Tab; import javafx.scene.control.TabPane; @@ -64,6 +66,8 @@ public abstract class OfferView extends ActivatableView { private final ViewLoader viewLoader; private final Navigation navigation; private final Preferences preferences; + private final User user; + private final P2PService p2PService; private final OfferPayload.Direction direction; private final ArbitratorManager arbitratorManager; @@ -74,10 +78,17 @@ public abstract class OfferView extends ActivatableView { private ChangeListener tabChangeListener; private ListChangeListener tabListChangeListener; - protected OfferView(ViewLoader viewLoader, Navigation navigation, Preferences preferences, ArbitratorManager arbitratorManager) { + protected OfferView(ViewLoader viewLoader, + Navigation navigation, + Preferences preferences, + ArbitratorManager arbitratorManager, + User user, + P2PService p2PService) { this.viewLoader = viewLoader; this.navigation = navigation; this.preferences = preferences; + this.user = user; + this.p2PService = p2PService; this.direction = (this instanceof BuyOfferView) ? OfferPayload.Direction.BUY : OfferPayload.Direction.SELL; this.arbitratorManager = arbitratorManager; } @@ -168,12 +179,9 @@ private void loadView(Class viewClass) { @Override public void onCreateOffer(TradeCurrency tradeCurrency) { if (!createOfferViewOpen) { - boolean arbitratorAvailableForLanguage = arbitratorManager.isArbitratorAvailableForLanguage(preferences.getUserLanguage()); - if (!arbitratorAvailableForLanguage) { - showNoArbitratorForUserLocaleWarning(); + if (canCreateOrTakeOffer()) { + openCreateOffer(tradeCurrency); } - openCreateOffer(tradeCurrency); - } else { log.error("You have already a \"Create offer\" tab open."); } @@ -182,17 +190,7 @@ public void onCreateOffer(TradeCurrency tradeCurrency) { @Override public void onTakeOffer(Offer offer) { if (!takeOfferViewOpen) { - List arbitratorNodeAddresses = offer.getArbitratorNodeAddresses(); - List arbitratorLanguages = arbitratorManager.getArbitratorLanguages(arbitratorNodeAddresses); - if (arbitratorLanguages.isEmpty()) { - // In case we get an offer which has been created with arbitrators which are not available - // anymore we don't want to call the showNoArbitratorForUserLocaleWarning - openTakeOffer(offer); - } else { - if (arbitratorLanguages.stream() - .noneMatch(languages -> languages.equals(preferences.getUserLanguage()))) { - showNoArbitratorForUserLocaleWarning(); - } + if (canCreateOrTakeOffer()) { openTakeOffer(offer); } } else { @@ -233,6 +231,11 @@ public void onTakeOffer(Offer offer) { } } + protected boolean canCreateOrTakeOffer() { + return GUIUtil.isBootstrappedOrShowPopup(p2PService) && + GUIUtil.canCreateOrTakeOfferOrShowPopup(user, navigation); + } + private void showNoArbitratorForUserLocaleWarning() { String key = "NoArbitratorForUserLocaleWarning"; new Popup<>().information(Res.get("offerbook.info.noArbitrationInUserLanguage", @@ -243,7 +246,7 @@ private void showNoArbitratorForUserLocaleWarning() { } private String getArbitrationLanguages() { - return arbitratorManager.getArbitratorsObservableMap().values().stream() + return arbitratorManager.getObservableMap().values().stream() .flatMap(arbitrator -> arbitrator.getLanguageCodes().stream()) .distinct() .map(languageCode -> LanguageUtil.getDisplayName(languageCode)) @@ -253,15 +256,13 @@ private String getArbitrationLanguages() { private void openTakeOffer(Offer offer) { OfferView.this.takeOfferViewOpen = true; OfferView.this.offer = offer; - OfferView.this.navigation.navigateTo(MainView.class, OfferView.this.getClass(), - TakeOfferView.class); + OfferView.this.navigation.navigateTo(MainView.class, OfferView.this.getClass(), TakeOfferView.class); } private void openCreateOffer(TradeCurrency tradeCurrency) { OfferView.this.createOfferViewOpen = true; OfferView.this.tradeCurrency = tradeCurrency; - OfferView.this.navigation.navigateTo(MainView.class, OfferView.this.getClass(), - CreateOfferView.class); + OfferView.this.navigation.navigateTo(MainView.class, OfferView.this.getClass(), CreateOfferView.class); } private void onCreateOfferViewRemoved() { diff --git a/desktop/src/main/java/bisq/desktop/main/offer/SellOfferView.java b/desktop/src/main/java/bisq/desktop/main/offer/SellOfferView.java index 4c79ba9b4ec..7c8e57f78b6 100644 --- a/desktop/src/main/java/bisq/desktop/main/offer/SellOfferView.java +++ b/desktop/src/main/java/bisq/desktop/main/offer/SellOfferView.java @@ -21,8 +21,11 @@ import bisq.desktop.common.view.FxmlView; import bisq.desktop.common.view.ViewLoader; -import bisq.core.arbitration.ArbitratorManager; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; import bisq.core.user.Preferences; +import bisq.core.user.User; + +import bisq.network.p2p.P2PService; import javax.inject.Inject; @@ -30,8 +33,18 @@ public class SellOfferView extends OfferView { @Inject - public SellOfferView(ViewLoader viewLoader, Navigation navigation, Preferences preferences, ArbitratorManager arbitratorManager) { - super(viewLoader, navigation, preferences, arbitratorManager); + public SellOfferView(ViewLoader viewLoader, + Navigation navigation, + Preferences preferences, + ArbitratorManager arbitratorManager, + User user, + P2PService p2PService) { + super(viewLoader, + navigation, + preferences, + arbitratorManager, + user, + p2PService); } } diff --git a/desktop/src/main/java/bisq/desktop/main/offer/createoffer/CreateOfferDataModel.java b/desktop/src/main/java/bisq/desktop/main/offer/createoffer/CreateOfferDataModel.java index bed681ae255..06c2cfb42ea 100644 --- a/desktop/src/main/java/bisq/desktop/main/offer/createoffer/CreateOfferDataModel.java +++ b/desktop/src/main/java/bisq/desktop/main/offer/createoffer/CreateOfferDataModel.java @@ -21,6 +21,7 @@ package bisq.desktop.main.offer.createoffer; +import bisq.desktop.Navigation; import bisq.desktop.main.offer.MakerFeeProvider; import bisq.desktop.main.offer.MutableOfferDataModel; @@ -65,7 +66,8 @@ public CreateOfferDataModel(OpenOfferManager openOfferManager, TxFeeEstimationService txFeeEstimationService, ReferralIdService referralIdService, BSFormatter btcFormatter, - MakerFeeProvider makerFeeProvider) { + MakerFeeProvider makerFeeProvider, + Navigation navigation) { super(openOfferManager, btcWalletService, bsqWalletService, @@ -80,6 +82,7 @@ public CreateOfferDataModel(OpenOfferManager openOfferManager, txFeeEstimationService, referralIdService, btcFormatter, - makerFeeProvider); + makerFeeProvider, + navigation); } } diff --git a/desktop/src/main/java/bisq/desktop/main/offer/createoffer/CreateOfferViewModel.java b/desktop/src/main/java/bisq/desktop/main/offer/createoffer/CreateOfferViewModel.java index 65e0d84dcc7..87e33952b1a 100644 --- a/desktop/src/main/java/bisq/desktop/main/offer/createoffer/CreateOfferViewModel.java +++ b/desktop/src/main/java/bisq/desktop/main/offer/createoffer/CreateOfferViewModel.java @@ -27,20 +27,39 @@ import bisq.desktop.util.validation.FiatVolumeValidator; import bisq.desktop.util.validation.SecurityDepositValidator; -import bisq.core.btc.setup.WalletsSetup; import bisq.core.provider.price.PriceFeedService; import bisq.core.user.Preferences; import bisq.core.util.BSFormatter; import bisq.core.util.BsqFormatter; -import bisq.network.p2p.P2PService; - import com.google.inject.Inject; class CreateOfferViewModel extends MutableOfferViewModel implements ViewModel { @Inject - public CreateOfferViewModel(CreateOfferDataModel dataModel, FiatVolumeValidator fiatVolumeValidator, FiatPriceValidator fiatPriceValidator, AltcoinValidator altcoinValidator, BtcValidator btcValidator, BsqValidator bsqValidator, SecurityDepositValidator securityDepositValidator, P2PService p2PService, WalletsSetup walletsSetup, PriceFeedService priceFeedService, Navigation navigation, Preferences preferences, BSFormatter btcFormatter, BsqFormatter bsqFormatter) { - super(dataModel, fiatVolumeValidator, fiatPriceValidator, altcoinValidator, btcValidator, bsqValidator, securityDepositValidator, p2PService, walletsSetup, priceFeedService, navigation, preferences, btcFormatter, bsqFormatter); + public CreateOfferViewModel(CreateOfferDataModel dataModel, + FiatVolumeValidator fiatVolumeValidator, + FiatPriceValidator fiatPriceValidator, + AltcoinValidator altcoinValidator, + BtcValidator btcValidator, + BsqValidator bsqValidator, + SecurityDepositValidator securityDepositValidator, + PriceFeedService priceFeedService, + Navigation navigation, + Preferences preferences, + BSFormatter btcFormatter, + BsqFormatter bsqFormatter) { + super(dataModel, + fiatVolumeValidator, + fiatPriceValidator, + altcoinValidator, + btcValidator, + bsqValidator, + securityDepositValidator, + priceFeedService, + navigation, + preferences, + btcFormatter, + bsqFormatter); } } diff --git a/desktop/src/main/java/bisq/desktop/main/offer/offerbook/OfferBookView.java b/desktop/src/main/java/bisq/desktop/main/offer/offerbook/OfferBookView.java index fc93632c935..4dc68509770 100644 --- a/desktop/src/main/java/bisq/desktop/main/offer/offerbook/OfferBookView.java +++ b/desktop/src/main/java/bisq/desktop/main/offer/offerbook/OfferBookView.java @@ -333,7 +333,8 @@ protected void activate() { return null; }); - currencySelectionSubscriber = currencySelectionBinding.subscribe((observable, oldValue, newValue) -> {}); + currencySelectionSubscriber = currencySelectionBinding.subscribe((observable, oldValue, newValue) -> { + }); tableView.setItems(model.getOfferList()); @@ -502,29 +503,25 @@ public void onTabSelected(boolean isSelected) { /////////////////////////////////////////////////////////////////////////////////////////// private void onCreateOffer() { - if (!model.hasPaymentAccount()) { - openPopupForMissingAccountSetup(Res.get("popup.warning.noTradingAccountSetup.headline"), - Res.get("popup.warning.noTradingAccountSetup.msg"), - FiatAccountsView.class, - "navigation.account"); - } else if (!model.hasPaymentAccountForCurrency()) { - new Popup<>().headLine(Res.get("offerbook.warning.noTradingAccountForCurrency.headline")) - .instruction(Res.get("offerbook.warning.noTradingAccountForCurrency.msg")) - .actionButtonText(Res.get("offerbook.yesCreateOffer")) - .onAction(() -> { - createOfferButton.setDisable(true); - offerActionHandler.onCreateOffer(model.getSelectedTradeCurrency()); - }) - .secondaryActionButtonText(Res.get("offerbook.setupNewAccount")) - .onSecondaryAction(() -> { - navigation.setReturnPath(navigation.getCurrentPath()); - navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); - }) - .width(725) - .show(); - } else if (!model.hasAcceptedArbitrators()) { - new Popup<>().warning(Res.get("popup.warning.noArbitratorsAvailable")).show(); - } else { + if (model.canCreateOrTakeOffer()) { + if (!model.hasPaymentAccountForCurrency()) { + new Popup<>().headLine(Res.get("offerbook.warning.noTradingAccountForCurrency.headline")) + .instruction(Res.get("offerbook.warning.noTradingAccountForCurrency.msg")) + .actionButtonText(Res.get("offerbook.yesCreateOffer")) + .onAction(() -> { + createOfferButton.setDisable(true); + offerActionHandler.onCreateOffer(model.getSelectedTradeCurrency()); + }) + .secondaryActionButtonText(Res.get("offerbook.setupNewAccount")) + .onSecondaryAction(() -> { + navigation.setReturnPath(navigation.getCurrentPath()); + navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); + }) + .width(725) + .show(); + return; + } + createOfferButton.setDisable(true); offerActionHandler.onCreateOffer(model.getSelectedTradeCurrency()); } @@ -584,7 +581,7 @@ private void onShowInfo(Offer offer, } private void onTakeOffer(Offer offer) { - if (model.isBootstrapped()) { + if (model.canCreateOrTakeOffer()) { if (offer.getDirection() == OfferPayload.Direction.SELL && offer.getPaymentMethod().getId().equals(PaymentMethod.CASH_DEPOSIT.getId())) { new Popup<>().confirmation(Res.get("popup.info.cashDepositInfo", offer.getBankId())) @@ -594,25 +591,22 @@ private void onTakeOffer(Offer offer) { } else { offerActionHandler.onTakeOffer(offer); } - } else { - new Popup<>().information(Res.get("popup.warning.notFullyConnected")).show(); } } private void onRemoveOpenOffer(Offer offer) { - if (model.isBootstrapped()) { + if (model.isBootstrappedOrShowPopup()) { String key = "RemoveOfferWarning"; - if (DontShowAgainLookup.showAgain(key)) + if (DontShowAgainLookup.showAgain(key)) { new Popup<>().warning(Res.get("popup.warning.removeOffer", model.formatter.formatCoinWithCode(offer.getMakerFee()))) .actionButtonText(Res.get("shared.removeOffer")) .onAction(() -> doRemoveOffer(offer)) .closeButtonText(Res.get("shared.dontRemoveOffer")) .dontShowAgainId(key) .show(); - else + } else { doRemoveOffer(offer); - } else { - new Popup<>().information(Res.get("popup.warning.notFullyConnected")).show(); + } } } @@ -827,7 +821,9 @@ public TableCell call( private OfferBookListItem offerBookListItem; final ChangeListener listener = new ChangeListener<>() { @Override - public void changed(ObservableValue observable, Number oldValue, Number newValue) { + public void changed(ObservableValue observable, + Number oldValue, + Number newValue) { if (offerBookListItem != null && offerBookListItem.getOffer().getVolume() != null) { setText(""); setGraphic(new ColoredDecimalPlacesWithZerosText(model.getVolume(offerBookListItem), diff --git a/desktop/src/main/java/bisq/desktop/main/offer/offerbook/OfferBookViewModel.java b/desktop/src/main/java/bisq/desktop/main/offer/offerbook/OfferBookViewModel.java index dfc527a600c..d1824de6f61 100644 --- a/desktop/src/main/java/bisq/desktop/main/offer/offerbook/OfferBookViewModel.java +++ b/desktop/src/main/java/bisq/desktop/main/offer/offerbook/OfferBookViewModel.java @@ -131,7 +131,6 @@ class OfferBookViewModel extends ActivatableViewModel { // Constructor, lifecycle /////////////////////////////////////////////////////////////////////////////////////////// - @SuppressWarnings("WeakerAccess") @Inject public OfferBookViewModel(User user, OpenOfferManager openOfferManager, @@ -322,8 +321,8 @@ public ObservableList getTradeCurrencies() { return allTradeCurrencies; } - boolean isBootstrapped() { - return p2PService.isBootstrapped(); + boolean isBootstrappedOrShowPopup() { + return GUIUtil.isBootstrappedOrShowPopup(p2PService); } TradeCurrency getSelectedTradeCurrency() { @@ -478,6 +477,7 @@ Optional getMostMaturePaymentAccountForOffer(Offer offer) { return PaymentAccountUtil.getMostMaturePaymentAccountForOffer(offer, user.getPaymentAccounts(), accountAgeWitnessService); } + /////////////////////////////////////////////////////////////////////////////////////////// // Private /////////////////////////////////////////////////////////////////////////////////////////// @@ -503,10 +503,6 @@ private void fillAllTradeCurrencies() { // Checks /////////////////////////////////////////////////////////////////////////////////////////// - boolean hasPaymentAccount() { - return user.currentPaymentAccountProperty().get() != null; - } - boolean isAnyPaymentAccountValidForOffer(Offer offer) { return user.getPaymentAccounts() != null && PaymentAccountUtil.isAnyTakerPaymentAccountValidForOffer(offer, user.getPaymentAccounts()); @@ -534,10 +530,12 @@ boolean hasMakerAnyMatureAccountForBuyOffer() { PaymentAccountUtil.hasMakerAnyMatureAccountForBuyOffer(user.getPaymentAccounts(), accountAgeWitnessService)); } - boolean hasAcceptedArbitrators() { - return user.getAcceptedArbitrators() != null && !user.getAcceptedArbitrators().isEmpty(); + boolean canCreateOrTakeOffer() { + return GUIUtil.canCreateOrTakeOfferOrShowPopup(user, navigation) && + GUIUtil.isBootstrappedOrShowPopup(p2PService); } + /////////////////////////////////////////////////////////////////////////////////////////// // Filters /////////////////////////////////////////////////////////////////////////////////////////// diff --git a/desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferDataModel.java b/desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferDataModel.java index e27356082de..8b30e527b7f 100644 --- a/desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferDataModel.java +++ b/desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferDataModel.java @@ -17,12 +17,13 @@ package bisq.desktop.main.offer.takeoffer; +import bisq.desktop.Navigation; import bisq.desktop.main.offer.OfferDataModel; import bisq.desktop.main.overlays.popups.Popup; +import bisq.desktop.util.GUIUtil; import bisq.core.account.witness.AccountAgeRestrictions; import bisq.core.account.witness.AccountAgeWitnessService; -import bisq.core.arbitration.Arbitrator; import bisq.core.btc.TxFeeEstimationService; import bisq.core.btc.listeners.BalanceListener; import bisq.core.btc.model.AddressEntry; @@ -49,6 +50,8 @@ import bisq.core.user.User; import bisq.core.util.CoinUtil; +import bisq.network.p2p.P2PService; + import bisq.common.util.Tuple2; import org.bitcoinj.core.Coin; @@ -63,7 +66,6 @@ import javafx.collections.ObservableList; -import java.util.List; import java.util.Set; import org.jetbrains.annotations.NotNull; @@ -88,6 +90,8 @@ class TakeOfferDataModel extends OfferDataModel { private final TxFeeEstimationService txFeeEstimationService; private final PriceFeedService priceFeedService; private final AccountAgeWitnessService accountAgeWitnessService; + private final Navigation navigation; + private final P2PService p2PService; private Coin txFeeFromFeeService; private Coin securityDeposit; @@ -124,7 +128,10 @@ class TakeOfferDataModel extends OfferDataModel { Preferences preferences, TxFeeEstimationService txFeeEstimationService, PriceFeedService priceFeedService, - AccountAgeWitnessService accountAgeWitnessService) { + AccountAgeWitnessService accountAgeWitnessService, + Navigation navigation, + P2PService p2PService + ) { super(btcWalletService); this.tradeManager = tradeManager; @@ -136,8 +143,8 @@ class TakeOfferDataModel extends OfferDataModel { this.txFeeEstimationService = txFeeEstimationService; this.priceFeedService = priceFeedService; this.accountAgeWitnessService = accountAgeWitnessService; - - // isMainNet.set(preferences.getBaseCryptoNetwork() == BitcoinNetwork.BTC_MAINNET); + this.navigation = navigation; + this.p2PService = p2PService; } @Override @@ -158,10 +165,12 @@ protected void activate() { if (isTabSelected) priceFeedService.setCurrencyCode(offer.getCurrencyCode()); - tradeManager.checkOfferAvailability(offer, - () -> { - }, - errorMessage -> new Popup<>().warning(errorMessage).show()); + if (canTakeOffer()) { + tradeManager.checkOfferAvailability(offer, + () -> { + }, + errorMessage -> new Popup<>().warning(errorMessage).show()); + } } @Override @@ -171,6 +180,7 @@ protected void deactivate() { tradeManager.onCancelAvailabilityRequest(offer); } + /////////////////////////////////////////////////////////////////////////////////////////// // API /////////////////////////////////////////////////////////////////////////////////////////// @@ -423,11 +433,6 @@ public PaymentAccount getLastSelectedPaymentAccount() { .orElse(firstItem); } - boolean hasAcceptedArbitrators() { - final List acceptedArbitrators = user.getAcceptedArbitrators(); - return acceptedArbitrators != null && acceptedArbitrators.size() > 0; - } - long getMaxTradeLimit() { if (paymentAccount != null) return AccountAgeRestrictions.getMyTradeLimitAtTakeOffer(accountAgeWitnessService, paymentAccount, offer, getCurrencyCode(), getDirection()); @@ -435,6 +440,11 @@ long getMaxTradeLimit() { return 0; } + boolean canTakeOffer() { + return GUIUtil.canCreateOrTakeOfferOrShowPopup(user, navigation) && + GUIUtil.isBootstrappedOrShowPopup(p2PService); + } + /////////////////////////////////////////////////////////////////////////////////////////// // Bindings, listeners diff --git a/desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferView.java b/desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferView.java index f7a4c75c496..effceff31b0 100644 --- a/desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferView.java +++ b/desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferView.java @@ -400,10 +400,8 @@ public void setCloseHandler(OfferView.CloseHandler closeHandler) { } // called form parent as the view does not get notified when the tab is closed - @SuppressWarnings("PointlessBooleanExpression") public void onClose() { Coin balance = model.dataModel.getBalance().get(); - //noinspection ConstantConditions,ConstantConditions if (balance != null && balance.isPositive() && !model.takeOfferCompleted.get() && !DevEnv.isDevMode()) { model.dataModel.swapTradeToSavings(); new Popup<>().information(Res.get("takeOffer.alreadyFunded.movedFunds")) @@ -426,36 +424,28 @@ public void onTabSelected(boolean isSelected) { // UI actions /////////////////////////////////////////////////////////////////////////////////////////// - @SuppressWarnings("PointlessBooleanExpression") private void onTakeOffer() { - if (model.isReadyForTxBroadcast()) { + if (model.dataModel.canTakeOffer()) { if (model.dataModel.isTakerFeeValid()) { - if (model.hasAcceptedArbitrators()) { - if (!DevEnv.isDevMode()) { - offerDetailsWindow.onTakeOffer(() -> - model.onTakeOffer(() -> { - offerDetailsWindow.hide(); - offerDetailsWindowDisplayed = false; - }) - ).show(model.getOffer(), model.dataModel.getAmount().get(), model.dataModel.tradePrice); - offerDetailsWindowDisplayed = true; - } else { - balanceSubscription.unsubscribe(); - model.onTakeOffer(() -> { - }); - } + if (!DevEnv.isDevMode()) { + offerDetailsWindow.onTakeOffer(() -> + model.onTakeOffer(() -> { + offerDetailsWindow.hide(); + offerDetailsWindowDisplayed = false; + }) + ).show(model.getOffer(), model.dataModel.getAmount().get(), model.dataModel.tradePrice); + offerDetailsWindowDisplayed = true; } else { - new Popup<>().warning(Res.get("popup.warning.noArbitratorsAvailable")).show(); + balanceSubscription.unsubscribe(); + model.onTakeOffer(() -> { + }); } } else { showInsufficientBsqFundsForBtcFeePaymentPopup(); } - } else { - model.showNotReadyForTxBroadcastPopups(); } } - @SuppressWarnings("PointlessBooleanExpression") private void onShowPayFundsScreen() { scrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED); diff --git a/desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferViewModel.java b/desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferViewModel.java index 55dcbe0b2e5..526b1b22e95 100644 --- a/desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferViewModel.java +++ b/desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferViewModel.java @@ -754,18 +754,6 @@ public PaymentAccount getLastSelectedPaymentAccount() { return dataModel.getLastSelectedPaymentAccount(); } - boolean hasAcceptedArbitrators() { - return dataModel.hasAcceptedArbitrators(); - } - - boolean isReadyForTxBroadcast() { - return GUIUtil.isReadyForTxBroadcast(p2PService, walletsSetup); - } - - void showNotReadyForTxBroadcastPopups() { - GUIUtil.showNotReadyForTxBroadcastPopups(p2PService, walletsSetup); - } - public void resetOfferWarning() { offerWarning.set(null); } diff --git a/desktop/src/main/java/bisq/desktop/main/overlays/notifications/Notification.java b/desktop/src/main/java/bisq/desktop/main/overlays/notifications/Notification.java index b26eedd3852..a076981d050 100644 --- a/desktop/src/main/java/bisq/desktop/main/overlays/notifications/Notification.java +++ b/desktop/src/main/java/bisq/desktop/main/overlays/notifications/Notification.java @@ -24,6 +24,7 @@ import bisq.common.Timer; import bisq.common.UserThread; +import bisq.common.app.DevEnv; import de.jensd.fx.fontawesome.AwesomeIcon; @@ -91,6 +92,9 @@ public Notification disputeHeadLine(String tradeId) { @Override public void show() { + if (DevEnv.isDevMode()) { + return; + } super.show(); hasBeenDisplayed = true; } diff --git a/desktop/src/main/java/bisq/desktop/main/overlays/notifications/NotificationCenter.java b/desktop/src/main/java/bisq/desktop/main/overlays/notifications/NotificationCenter.java index 04e9bfdf465..15372e9820f 100644 --- a/desktop/src/main/java/bisq/desktop/main/overlays/notifications/NotificationCenter.java +++ b/desktop/src/main/java/bisq/desktop/main/overlays/notifications/NotificationCenter.java @@ -19,13 +19,16 @@ import bisq.desktop.Navigation; import bisq.desktop.main.MainView; -import bisq.desktop.main.disputes.DisputesView; -import bisq.desktop.main.disputes.trader.TraderDisputeView; import bisq.desktop.main.portfolio.PortfolioView; import bisq.desktop.main.portfolio.pendingtrades.PendingTradesView; +import bisq.desktop.main.support.SupportView; +import bisq.desktop.main.support.dispute.client.DisputeClientView; +import bisq.desktop.main.support.dispute.client.arbitration.ArbitrationClientView; +import bisq.desktop.main.support.dispute.client.mediation.MediationClientView; -import bisq.core.arbitration.DisputeManager; import bisq.core.locale.Res; +import bisq.core.support.dispute.arbitration.ArbitrationManager; +import bisq.core.support.dispute.mediation.MediationManager; import bisq.core.trade.BuyerTrade; import bisq.core.trade.MakerTrade; import bisq.core.trade.SellerTrade; @@ -35,6 +38,7 @@ import bisq.core.user.Preferences; import bisq.common.UserThread; +import bisq.common.app.DevEnv; import com.google.inject.Inject; @@ -78,7 +82,8 @@ static void add(Notification notification) { /////////////////////////////////////////////////////////////////////////////////////////// private final TradeManager tradeManager; - private final DisputeManager disputeManager; + private final ArbitrationManager arbitrationManager; + private final MediationManager mediationManager; private final Navigation navigation; private final Map disputeStateSubscriptionsMap = new HashMap<>(); @@ -91,9 +96,14 @@ static void add(Notification notification) { /////////////////////////////////////////////////////////////////////////////////////////// @Inject - public NotificationCenter(TradeManager tradeManager, DisputeManager disputeManager, Preferences preferences, Navigation navigation) { + public NotificationCenter(TradeManager tradeManager, + ArbitrationManager arbitrationManager, + MediationManager mediationManager, + Preferences preferences, + Navigation navigation) { this.tradeManager = tradeManager; - this.disputeManager = disputeManager; + this.arbitrationManager = arbitrationManager; + this.mediationManager = mediationManager; this.navigation = navigation; EasyBind.subscribe(preferences.getUseAnimationsProperty(), useAnimations -> NotificationCenter.useAnimations = useAnimations); @@ -220,8 +230,8 @@ else if (trade instanceof SellerTrade && phase.ordinal() == Trade.Phase.FIAT_SEN private void onDisputeStateChanged(Trade trade, Trade.DisputeState disputeState) { String message = null; - if (disputeManager.findOwnDispute(trade.getId()).isPresent()) { - String disputeOrTicket = disputeManager.findOwnDispute(trade.getId()).get().isSupportTicket() ? + if (arbitrationManager.findOwnDispute(trade.getId()).isPresent()) { + String disputeOrTicket = arbitrationManager.findOwnDispute(trade.getId()).get().isSupportTicket() ? Res.get("shared.supportTicket") : Res.get("shared.dispute"); switch (disputeState) { @@ -235,17 +245,55 @@ private void onDisputeStateChanged(Trade trade, Trade.DisputeState disputeState) case DISPUTE_CLOSED: message = Res.get("notification.trade.disputeClosed", disputeOrTicket); break; + default: + if (DevEnv.isDevMode()) { + log.error("arbitrationDisputeManager must not contain mediation disputes"); + throw new RuntimeException("arbitrationDisputeManager must not contain mediation disputes"); + } + break; } if (message != null) { - Notification notification = new Notification().disputeHeadLine(trade.getShortId()).message(message); - if (navigation.getCurrentPath() != null && !navigation.getCurrentPath().contains(TraderDisputeView.class)) { - notification.actionButtonTextWithGoTo("navigation.support") - .onAction(() -> navigation.navigateTo(MainView.class, DisputesView.class, TraderDisputeView.class)) - .show(); - } else { - notification.show(); - } + goToSupport(trade, message, false); + } + } + if (mediationManager.findOwnDispute(trade.getId()).isPresent()) { + String disputeOrTicket = mediationManager.findOwnDispute(trade.getId()).get().isSupportTicket() ? + Res.get("shared.supportTicket") : + Res.get("shared.dispute"); + switch (disputeState) { + // TODO + case MEDIATION_REQUESTED: + break; + case MEDIATION_STARTED_BY_PEER: + message = Res.get("notification.trade.peerOpenedDispute", disputeOrTicket); + break; + case MEDIATION_CLOSED: + message = Res.get("notification.trade.disputeClosed", disputeOrTicket); + break; + default: + if (DevEnv.isDevMode()) { + log.error("mediationDisputeManager must not contain arbitration disputes"); + throw new RuntimeException("mediationDisputeManager must not contain arbitration disputes"); + } + break; } + if (message != null) { + goToSupport(trade, message, true); + } + } + } + + private void goToSupport(Trade trade, String message, boolean isMediation) { + Notification notification = new Notification().disputeHeadLine(trade.getShortId()).message(message); + Class viewClass = isMediation ? + MediationClientView.class : + ArbitrationClientView.class; + if (navigation.getCurrentPath() != null && !navigation.getCurrentPath().contains(viewClass)) { + notification.actionButtonTextWithGoTo("navigation.support") + .onAction(() -> navigation.navigateTo(MainView.class, SupportView.class, viewClass)) + .show(); + } else { + notification.show(); } } diff --git a/desktop/src/main/java/bisq/desktop/main/overlays/windows/ContractWindow.java b/desktop/src/main/java/bisq/desktop/main/overlays/windows/ContractWindow.java index 0d04a448960..bfec422dd6f 100644 --- a/desktop/src/main/java/bisq/desktop/main/overlays/windows/ContractWindow.java +++ b/desktop/src/main/java/bisq/desktop/main/overlays/windows/ContractWindow.java @@ -23,14 +23,17 @@ import bisq.desktop.util.Layout; import bisq.core.account.witness.AccountAgeWitnessService; -import bisq.core.arbitration.Dispute; -import bisq.core.arbitration.DisputeManager; import bisq.core.locale.CountryUtil; import bisq.core.locale.CurrencyUtil; import bisq.core.locale.Res; import bisq.core.offer.Offer; import bisq.core.payment.payload.PaymentAccountPayload; import bisq.core.payment.payload.PaymentMethod; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.DisputeList; +import bisq.core.support.dispute.DisputeManager; +import bisq.core.support.dispute.arbitration.ArbitrationManager; +import bisq.core.support.dispute.mediation.MediationManager; import bisq.core.trade.Contract; import bisq.core.util.BSFormatter; @@ -66,7 +69,8 @@ @Slf4j public class ContractWindow extends Overlay { - private final DisputeManager disputeManager; + private final ArbitrationManager arbitrationManager; + private final MediationManager mediationManager; private final AccountAgeWitnessService accountAgeWitnessService; private final BSFormatter formatter; private Dispute dispute; @@ -77,9 +81,12 @@ public class ContractWindow extends Overlay { /////////////////////////////////////////////////////////////////////////////////////////// @Inject - public ContractWindow(DisputeManager disputeManager, AccountAgeWitnessService accountAgeWitnessService, + public ContractWindow(ArbitrationManager arbitrationManager, + MediationManager mediationManager, + AccountAgeWitnessService accountAgeWitnessService, BSFormatter formatter) { - this.disputeManager = disputeManager; + this.arbitrationManager = arbitrationManager; + this.mediationManager = mediationManager; this.accountAgeWitnessService = accountAgeWitnessService; this.formatter = formatter; type = Type.Confirmation; @@ -161,15 +168,20 @@ private void addContent() { getAccountAge(contract.getBuyerPaymentAccountPayload(), contract.getBuyerPubKeyRing(), offer.getCurrencyCode()) + " / " + getAccountAge(contract.getSellerPaymentAccountPayload(), contract.getSellerPubKeyRing(), offer.getCurrencyCode())); + String nrOfDisputesAsBuyer = getDisputeManager(dispute).getNrOfDisputes(true, contract); + String nrOfDisputesAsSeller = getDisputeManager(dispute).getNrOfDisputes(false, contract); addConfirmationLabelTextFieldWithCopyIcon(gridPane, ++rowIndex, Res.get("contractWindow.numDisputes"), - disputeManager.getNrOfDisputes(true, contract) + " / " + disputeManager.getNrOfDisputes(false, contract)); + nrOfDisputesAsBuyer + " / " + nrOfDisputesAsSeller); addConfirmationLabelTextFieldWithCopyIcon(gridPane, ++rowIndex, Res.get("shared.paymentDetails", Res.get("shared.buyer")), contract.getBuyerPaymentAccountPayload().getPaymentDetails()).second.setMouseTransparent(false); addConfirmationLabelTextFieldWithCopyIcon(gridPane, ++rowIndex, Res.get("shared.paymentDetails", Res.get("shared.seller")), sellerPaymentAccountPayload.getPaymentDetails()).second.setMouseTransparent(false); - addConfirmationLabelTextFieldWithCopyIcon(gridPane, ++rowIndex, Res.get("shared.arbitrator"), contract.getArbitratorNodeAddress().getFullAddress()); + // TODO update in next release to shared.selectedArbitrator and delete shared.arbitrator entry + String title = dispute.isMediationDispute() ? Res.get("shared.selectedMediator") : Res.get("shared.arbitrator"); + String agentNodeAddress = getDisputeManager(dispute).getAgentNodeAddress(dispute).getFullAddress(); + addConfirmationLabelTextFieldWithCopyIcon(gridPane, ++rowIndex, title, agentNodeAddress); if (showAcceptedCountryCodes) { String countries; @@ -258,7 +270,13 @@ private void addContent() { }); } - private String getAccountAge(PaymentAccountPayload paymentAccountPayload, PubKeyRing pubKeyRing, String currencyCode) { + private DisputeManager> getDisputeManager(Dispute dispute) { + return dispute.isMediationDispute() ? mediationManager : arbitrationManager; + } + + private String getAccountAge(PaymentAccountPayload paymentAccountPayload, + PubKeyRing pubKeyRing, + String currencyCode) { long age = accountAgeWitnessService.getAccountAge(paymentAccountPayload, pubKeyRing); return CurrencyUtil.isFiatCurrency(currencyCode) ? age > -1 ? Res.get("peerInfoIcon.tooltip.age", formatter.formatAccountAge(age)) : diff --git a/desktop/src/main/java/bisq/desktop/main/overlays/windows/DisputeSummaryWindow.java b/desktop/src/main/java/bisq/desktop/main/overlays/windows/DisputeSummaryWindow.java index 4cd1d6b55a2..ea55d87e6a3 100644 --- a/desktop/src/main/java/bisq/desktop/main/overlays/windows/DisputeSummaryWindow.java +++ b/desktop/src/main/java/bisq/desktop/main/overlays/windows/DisputeSummaryWindow.java @@ -25,19 +25,23 @@ import bisq.desktop.main.overlays.popups.Popup; import bisq.desktop.util.Layout; -import bisq.core.arbitration.Dispute; -import bisq.core.arbitration.DisputeManager; -import bisq.core.arbitration.DisputeResult; import bisq.core.btc.exceptions.TransactionVerificationException; import bisq.core.btc.model.AddressEntry; import bisq.core.btc.wallet.BtcWalletService; import bisq.core.btc.wallet.TradeWalletService; import bisq.core.locale.Res; import bisq.core.offer.Offer; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.DisputeList; +import bisq.core.support.dispute.DisputeManager; +import bisq.core.support.dispute.DisputeResult; +import bisq.core.support.dispute.arbitration.ArbitrationManager; +import bisq.core.support.dispute.mediation.MediationManager; import bisq.core.trade.Contract; import bisq.core.util.BSFormatter; import bisq.common.UserThread; +import bisq.common.app.DevEnv; import bisq.common.util.Tuple2; import bisq.common.util.Tuple3; @@ -55,14 +59,12 @@ import javafx.scene.control.Toggle; import javafx.scene.control.ToggleGroup; import javafx.scene.input.KeyCode; -import javafx.scene.layout.FlowPane; import javafx.scene.layout.GridPane; import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.geometry.HPos; import javafx.geometry.Insets; -import javafx.geometry.VPos; import javafx.beans.binding.Bindings; import javafx.beans.value.ChangeListener; @@ -74,13 +76,17 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import static bisq.desktop.util.FormBuilder.*; +import static bisq.desktop.util.FormBuilder.add2ButtonsWithBox; +import static bisq.desktop.util.FormBuilder.addConfirmationLabelLabel; +import static bisq.desktop.util.FormBuilder.addTitledGroupBg; +import static bisq.desktop.util.FormBuilder.addTopLabelWithVBox; public class DisputeSummaryWindow extends Overlay { private static final Logger log = LoggerFactory.getLogger(DisputeSummaryWindow.class); private final BSFormatter formatter; - private final DisputeManager disputeManager; + private final ArbitrationManager arbitrationManager; + private final MediationManager mediationManager; private final BtcWalletService walletService; private final TradeWalletService tradeWalletService; private Dispute dispute; @@ -92,6 +98,7 @@ public class DisputeSummaryWindow extends Overlay { private RadioButton reasonWasBugRadioButton, reasonWasUsabilityIssueRadioButton, reasonProtocolViolationRadioButton, reasonNoReplyRadioButton, reasonWasScamRadioButton, reasonWasOtherRadioButton, reasonWasBankRadioButton; + // Dispute object of other trade peer. The dispute field is the one from which we opened the close dispute window. private Optional peersDisputeOptional; private String role; private TextArea summaryNotesTextArea; @@ -109,11 +116,15 @@ public class DisputeSummaryWindow extends Overlay { /////////////////////////////////////////////////////////////////////////////////////////// @Inject - public DisputeSummaryWindow(BSFormatter formatter, DisputeManager disputeManager, BtcWalletService walletService, + public DisputeSummaryWindow(BSFormatter formatter, + ArbitrationManager arbitrationManager, + MediationManager mediationManager, + BtcWalletService walletService, TradeWalletService tradeWalletService) { this.formatter = formatter; - this.disputeManager = disputeManager; + this.arbitrationManager = arbitrationManager; + this.mediationManager = mediationManager; this.walletService = walletService; this.tradeWalletService = tradeWalletService; @@ -128,6 +139,12 @@ public void show(Dispute dispute) { createGridPane(); addContent(); display(); + + if (DevEnv.isDevMode()) { + UserThread.execute(() -> { + summaryNotesTextArea.setText("dummy result...."); + }); + } } public DisputeSummaryWindow onFinalizeDispute(Runnable finalizeDisputeHandler) { @@ -182,14 +199,12 @@ private void addContent() { else disputeResult = dispute.getDisputeResultProperty().get(); - peersDisputeOptional = disputeManager.getDisputesAsObservableList().stream() - .filter(d -> dispute.getTradeId().equals(d.getTradeId()) && dispute.getTraderId() != d.getTraderId()).findFirst(); + peersDisputeOptional = getDisputeManager(dispute).getDisputesAsObservableList().stream() + .filter(d -> dispute.getTradeId().equals(d.getTradeId()) && dispute.getTraderId() != d.getTraderId()) + .findFirst(); addInfoPane(); - if (!dispute.isSupportTicket()) - addCheckboxes(); - addTradeAmountPayoutControls(); addPayoutAmountTextFields(); addReasonControls(); @@ -205,11 +220,6 @@ private void addContent() { disputeResult.setReason(peersDisputeResult.getReason()); disputeResult.setSummaryNotes(peersDisputeResult.summaryNotesProperty().get()); - /* if (disputeResult.getBuyerPayoutAmount() != null) { - log.debug("buyerPayoutAmount " + disputeResult.getBuyerPayoutAmount().toFriendlyString()); - log.debug("sellerPayoutAmount " + disputeResult.getSellerPayoutAmount().toFriendlyString()); - }*/ - buyerGetsTradeAmountRadioButton.setDisable(true); buyerGetsAllRadioButton.setDisable(true); sellerGetsTradeAmountRadioButton.setDisable(true); @@ -278,27 +288,6 @@ private void addInfoPane() { addConfirmationLabelLabel(gridPane, ++rowIndex, Res.get("shared.securityDeposit"), securityDeposit); } - private void addCheckboxes() { - Label evidenceLabel = addLabel(gridPane, ++rowIndex, Res.get("disputeSummaryWindow.evidence"), 10); - GridPane.setValignment(evidenceLabel, VPos.TOP); - CheckBox tamperProofCheckBox = new AutoTooltipCheckBox(Res.get("disputeSummaryWindow.evidence.tamperProof")); - CheckBox idVerificationCheckBox = new AutoTooltipCheckBox(Res.get("disputeSummaryWindow.evidence.id")); - CheckBox screenCastCheckBox = new AutoTooltipCheckBox(Res.get("disputeSummaryWindow.evidence.video")); - - tamperProofCheckBox.selectedProperty().bindBidirectional(disputeResult.tamperProofEvidenceProperty()); - idVerificationCheckBox.selectedProperty().bindBidirectional(disputeResult.idVerificationProperty()); - screenCastCheckBox.selectedProperty().bindBidirectional(disputeResult.screenCastProperty()); - - FlowPane checkBoxPane = new FlowPane(); - checkBoxPane.setHgap(20); - checkBoxPane.setVgap(5); - checkBoxPane.getChildren().addAll(tamperProofCheckBox, idVerificationCheckBox, screenCastCheckBox); - GridPane.setRowIndex(checkBoxPane, rowIndex); - GridPane.setColumnIndex(checkBoxPane, 1); - GridPane.setMargin(checkBoxPane, new Insets(10, 0, 0, 0)); - gridPane.getChildren().add(checkBoxPane); - } - private void addTradeAmountPayoutControls() { buyerGetsTradeAmountRadioButton = new AutoTooltipRadioButton(Res.get("disputeSummaryWindow.payout.getsTradeAmount", Res.get("shared.buyer"))); @@ -316,8 +305,7 @@ private void addTradeAmountPayoutControls() { sellerGetsTradeAmountRadioButton, sellerGetsAllRadioButton, customRadioButton); - addTopLabelWithVBox(gridPane, ++rowIndex, Res.get("disputeSummaryWindow.payout"), - radioButtonPane, 10); + addTopLabelWithVBox(gridPane, ++rowIndex, Res.get("disputeSummaryWindow.payout"), radioButtonPane, 0); tradeAmountToggleGroup = new ToggleGroup(); buyerGetsTradeAmountRadioButton.setToggleGroup(tradeAmountToggleGroup); @@ -370,34 +358,35 @@ private boolean isPayoutAmountValid() { private void applyCustomAmounts(InputTextField inputTextField) { Contract contract = dispute.getContract(); - Coin buyerAmount = formatter.parseToCoin(buyerPayoutAmountInputTextField.getText()); - Coin sellerAmount = formatter.parseToCoin(sellerPayoutAmountInputTextField.getText()); Offer offer = new Offer(contract.getOfferPayload()); - Coin available = contract.getTradeAmount(). - add(offer.getBuyerSecurityDeposit()) + Coin available = contract.getTradeAmount() + .add(offer.getBuyerSecurityDeposit()) .add(offer.getSellerSecurityDeposit()); - Coin totalAmount = buyerAmount.add(sellerAmount); - - if (totalAmount.compareTo(available) > 0) { - new Popup<>().warning(Res.get("disputeSummaryWindow.payout.adjustAmount", available.toFriendlyString())) - .show(); - - if (inputTextField == buyerPayoutAmountInputTextField) { - buyerAmount = available.subtract(sellerAmount); - inputTextField.setText(formatter.formatCoin(buyerAmount)); - } else if (inputTextField == sellerPayoutAmountInputTextField) { - sellerAmount = available.subtract(buyerAmount); - inputTextField.setText(formatter.formatCoin(sellerAmount)); - } + Coin enteredAmount = formatter.parseToCoin(inputTextField.getText()); + if (enteredAmount.compareTo(available) > 0) { + enteredAmount = available; + Coin finalEnteredAmount = enteredAmount; + inputTextField.setText(formatter.formatCoin(finalEnteredAmount)); + } + Coin counterPartAsCoin = available.subtract(enteredAmount); + String formattedCounterPartAmount = formatter.formatCoin(counterPartAsCoin); + Coin buyerAmount; + Coin sellerAmount; + if (inputTextField == buyerPayoutAmountInputTextField) { + buyerAmount = enteredAmount; + sellerAmount = counterPartAsCoin; + sellerPayoutAmountInputTextField.setText(formattedCounterPartAmount); + } else { + sellerAmount = enteredAmount; + buyerAmount = counterPartAsCoin; + buyerPayoutAmountInputTextField.setText(formattedCounterPartAmount); } disputeResult.setBuyerPayoutAmount(buyerAmount); disputeResult.setSellerPayoutAmount(sellerAmount); - - if (buyerAmount.compareTo(sellerAmount) > 0) - disputeResult.setWinner(DisputeResult.Winner.BUYER); - else - disputeResult.setWinner(DisputeResult.Winner.SELLER); + disputeResult.setWinner(buyerAmount.compareTo(sellerAmount) > 0 ? + DisputeResult.Winner.BUYER : + DisputeResult.Winner.SELLER); } private void addPayoutAmountTextFields() { @@ -529,24 +518,16 @@ private void addButtons(Contract contract) { Button cancelButton = tuple.second; - final Dispute finalPeersDispute = peersDisputeOptional.get(); closeTicketButton.setOnAction(e -> { - if (dispute.getDepositTxSerialized() != null) { + if (dispute.getDepositTxSerialized() == null) { + log.warn("dispute.getDepositTxSerialized is null"); + return; + } + + if (!dispute.isMediationDispute()) { try { AddressEntry arbitratorAddressEntry = walletService.getArbitratorAddressEntry(); - disputeResult.setArbitratorPubKey(walletService.getArbitratorAddressEntry().getPubKey()); - - /* byte[] depositTxSerialized, - Coin buyerPayoutAmount, - Coin sellerPayoutAmount, - Coin arbitratorPayoutAmount, - String buyerAddressString, - String sellerAddressString, - AddressEntry arbitratorAddressEntry, - byte[] buyerPubKey, - byte[] sellerPubKey, - byte[] arbitratorPubKey) - */ + disputeResult.setArbitratorPubKey(arbitratorAddressEntry.getPubKey()); byte[] arbitratorSignature = tradeWalletService.arbitratorSignsDisputedPayoutTx( dispute.getDepositTxSerialized(), disputeResult.getBuyerPayoutAmount(), @@ -559,41 +540,36 @@ private void addButtons(Contract contract) { arbitratorAddressEntry.getPubKey() ); disputeResult.setArbitratorSignature(arbitratorSignature); - - closeTicketButton.disableProperty().unbind(); - dispute.setDisputeResult(disputeResult); - - disputeResult.setLoserPublisher(isLoserPublisherCheckBox.isSelected()); - disputeResult.setCloseDate(new Date()); - String text = Res.get("disputeSummaryWindow.close.msg", - formatter.formatDateTime(disputeResult.getCloseDate()), - role, - formatter.booleanToYesNo(disputeResult.tamperProofEvidenceProperty().get()), - role, - formatter.booleanToYesNo(disputeResult.idVerificationProperty().get()), - role, - formatter.booleanToYesNo(disputeResult.screenCastProperty().get()), - formatter.formatCoinWithCode(disputeResult.getBuyerPayoutAmount()), - formatter.formatCoinWithCode(disputeResult.getSellerPayoutAmount()), - disputeResult.summaryNotesProperty().get()); - - dispute.setIsClosed(true); - disputeManager.sendDisputeResultMessage(disputeResult, dispute, text); - - if (!finalPeersDispute.isClosed()) - UserThread.runAfter(() -> - new Popup<>().attention(Res.get("disputeSummaryWindow.close.closePeer")).show(), - 200, TimeUnit.MILLISECONDS); - - hide(); - - finalizeDisputeHandlerOptional.ifPresent(Runnable::run); } catch (AddressFormatException | TransactionVerificationException e2) { - e2.printStackTrace(); + log.error("Error at close dispute", e2); + return; } - } else { - log.warn("dispute.getDepositTxSerialized is null"); } + + disputeResult.setLoserPublisher(isLoserPublisherCheckBox.isSelected()); + disputeResult.setCloseDate(new Date()); + dispute.setDisputeResult(disputeResult); + dispute.setIsClosed(true); + String text = Res.get("disputeSummaryWindow.close.msg", + formatter.formatDateTime(disputeResult.getCloseDate()), + formatter.formatCoinWithCode(disputeResult.getBuyerPayoutAmount()), + formatter.formatCoinWithCode(disputeResult.getSellerPayoutAmount()), + disputeResult.summaryNotesProperty().get()); + + getDisputeManager(dispute).sendDisputeResultMessage(disputeResult, dispute, text); + + if (peersDisputeOptional.isPresent() && !peersDisputeOptional.get().isClosed() && !DevEnv.isDevMode()) { + UserThread.runAfter(() -> new Popup<>() + .attention(Res.get("disputeSummaryWindow.close.closePeer")) + .show(), + 200, TimeUnit.MILLISECONDS); + } + + finalizeDisputeHandlerOptional.ifPresent(Runnable::run); + + closeTicketButton.disableProperty().unbind(); + + hide(); }); cancelButton.setOnAction(e -> { @@ -602,6 +578,10 @@ private void addButtons(Contract contract) { }); } + private DisputeManager> getDisputeManager(Dispute dispute) { + return dispute.isMediationDispute() ? mediationManager : arbitrationManager; + } + /////////////////////////////////////////////////////////////////////////////////////////// // Controller diff --git a/desktop/src/main/java/bisq/desktop/main/overlays/windows/EmptyWalletWindow.java b/desktop/src/main/java/bisq/desktop/main/overlays/windows/EmptyWalletWindow.java index c6d0af5bbb7..239e64b0a69 100644 --- a/desktop/src/main/java/bisq/desktop/main/overlays/windows/EmptyWalletWindow.java +++ b/desktop/src/main/java/bisq/desktop/main/overlays/windows/EmptyWalletWindow.java @@ -205,7 +205,7 @@ private void addContent() { } private void doEmptyWallet(KeyParameter aesKey) { - if (GUIUtil.isReadyForTxBroadcast(p2PService, walletsSetup)) { + if (GUIUtil.isReadyForTxBroadcastOrShowPopup(p2PService, walletsSetup)) { if (!openOfferManager.getObservableList().isEmpty()) { UserThread.runAfter(() -> new Popup<>().warning(Res.get("emptyWalletWindow.openOffers.warn")) @@ -215,8 +215,6 @@ private void doEmptyWallet(KeyParameter aesKey) { } else { doEmptyWallet2(aesKey); } - } else { - GUIUtil.showNotReadyForTxBroadcastPopups(p2PService, walletsSetup); } } diff --git a/desktop/src/main/java/bisq/desktop/main/overlays/windows/FilterWindow.java b/desktop/src/main/java/bisq/desktop/main/overlays/windows/FilterWindow.java index 7d7d7627d25..e3abcbc2c28 100644 --- a/desktop/src/main/java/bisq/desktop/main/overlays/windows/FilterWindow.java +++ b/desktop/src/main/java/bisq/desktop/main/overlays/windows/FilterWindow.java @@ -136,6 +136,7 @@ private void addContent() { InputTextField bannedPaymentMethodsInputTextField = addTopLabelInputTextField(gridPane, ++rowIndex, Res.get("filterWindow.bannedPaymentMethods")).second; bannedPaymentMethodsInputTextField.setPromptText("E.g. PERFECT_MONEY"); // Do not translate InputTextField arbitratorsInputTextField = addInputTextField(gridPane, ++rowIndex, Res.get("filterWindow.arbitrators")); + InputTextField mediatorsInputTextField = addInputTextField(gridPane, ++rowIndex, Res.get("filterWindow.mediators")); InputTextField seedNodesInputTextField = addInputTextField(gridPane, ++rowIndex, Res.get("filterWindow.seedNode")); InputTextField priceRelayNodesInputTextField = addInputTextField(gridPane, ++rowIndex, Res.get("filterWindow.priceRelayNode")); InputTextField btcNodesInputTextField = addInputTextField(gridPane, ++rowIndex, Res.get("filterWindow.btcNode")); @@ -172,6 +173,9 @@ private void addContent() { if (filter.getArbitrators() != null) arbitratorsInputTextField.setText(filter.getArbitrators().stream().collect(Collectors.joining(", "))); + if (filter.getMediators() != null) + mediatorsInputTextField.setText(filter.getMediators().stream().collect(Collectors.joining(", "))); + if (filter.getSeedNodes() != null) seedNodesInputTextField.setText(filter.getSeedNodes().stream().collect(Collectors.joining(", "))); @@ -195,6 +199,7 @@ private void addContent() { List bannedCurrencies = new ArrayList<>(); List bannedPaymentMethods = new ArrayList<>(); List arbitrators = new ArrayList<>(); + List mediators = new ArrayList<>(); List seedNodes = new ArrayList<>(); List priceRelayNodes = new ArrayList<>(); List btcNodes = new ArrayList<>(); @@ -236,6 +241,10 @@ private void addContent() { arbitrators = new ArrayList<>(Arrays.asList(StringUtils.deleteWhitespace(arbitratorsInputTextField.getText()).split(","))); } + if (!mediatorsInputTextField.getText().isEmpty()) { + mediators = new ArrayList<>(Arrays.asList(StringUtils.deleteWhitespace(mediatorsInputTextField.getText()).split(","))); + } + if (!seedNodesInputTextField.getText().isEmpty()) { seedNodes = new ArrayList<>(Arrays.asList(StringUtils.deleteWhitespace(seedNodesInputTextField.getText()).split(","))); } @@ -261,7 +270,8 @@ private void addContent() { btcNodes, disableDaoCheckBox.isSelected(), disableDaoBelowVersionInputTextField.getText(), - disableTradeBelowVersionInputTextField.getText()), + disableTradeBelowVersionInputTextField.getText(), + mediators), keyInputTextField.getText())) hide(); else diff --git a/desktop/src/main/java/bisq/desktop/main/overlays/windows/ManualPayoutTxWindow.java b/desktop/src/main/java/bisq/desktop/main/overlays/windows/ManualPayoutTxWindow.java index b6ac7e84ed3..64b755d5a03 100644 --- a/desktop/src/main/java/bisq/desktop/main/overlays/windows/ManualPayoutTxWindow.java +++ b/desktop/src/main/java/bisq/desktop/main/overlays/windows/ManualPayoutTxWindow.java @@ -171,7 +171,7 @@ public void onFailure(TxBroadcastException exception) { } }; onAction(() -> { - if (GUIUtil.isReadyForTxBroadcast(p2PService, walletsSetup)) { + if (GUIUtil.isReadyForTxBroadcastOrShowPopup(p2PService, walletsSetup)) { try { tradeWalletService.emergencySignAndPublishPayoutTx(depositTxHex.getText(), Coin.parseCoin(buyerPayoutAmount.getText()), @@ -194,8 +194,6 @@ public void onFailure(TxBroadcastException exception) { e.printStackTrace(); UserThread.execute(() -> new Popup<>().warning(e.toString()).show()); } - } else { - GUIUtil.showNotReadyForTxBroadcastPopups(p2PService, walletsSetup); } }); } diff --git a/desktop/src/main/java/bisq/desktop/main/overlays/windows/OfferDetailsWindow.java b/desktop/src/main/java/bisq/desktop/main/overlays/windows/OfferDetailsWindow.java index 6111bd47de3..1b3dc847dfb 100644 --- a/desktop/src/main/java/bisq/desktop/main/overlays/windows/OfferDetailsWindow.java +++ b/desktop/src/main/java/bisq/desktop/main/overlays/windows/OfferDetailsWindow.java @@ -21,7 +21,7 @@ import bisq.desktop.components.AutoTooltipButton; import bisq.desktop.components.BusyAnimation; import bisq.desktop.main.overlays.Overlay; -import bisq.desktop.main.overlays.popups.Popup; +import bisq.desktop.util.GUIUtil; import bisq.desktop.util.Layout; import bisq.core.locale.BankUtil; @@ -70,6 +70,7 @@ public class OfferDetailsWindow extends Overlay { private final BSFormatter formatter; private final User user; private final KeyRing keyRing; + private final Navigation navigation; private Offer offer; private Coin tradeAmount; private Price tradePrice; @@ -88,6 +89,7 @@ public OfferDetailsWindow(BSFormatter formatter, User user, KeyRing keyRing, this.formatter = formatter; this.user = user; this.keyRing = keyRing; + this.navigation = navigation; type = Type.Confirmation; } @@ -293,7 +295,7 @@ else if (BankUtil.isBankNameRequired(countryCode)) textArea.setEditable(false); } - rows = 4; + rows = 3; if (countryCode != null) rows++; if (offer.getOfferFeePaymentTxId() != null) @@ -321,8 +323,6 @@ else if (BankUtil.isBankNameRequired(countryCode)) addConfirmationLabelLabel(gridPane, ++rowIndex, Res.get("offerDetailsWindow.countryBank"), CountryUtil.getNameAndCode(countryCode)); - addConfirmationLabelTextFieldWithCopyIcon(gridPane, ++rowIndex, Res.get("offerDetailsWindow.acceptedArbitrators"), - formatter.arbitratorAddressesToString(offer.getArbitratorNodeAddresses())); if (offer.getOfferFeePaymentTxId() != null) addLabelTxIdTextField(gridPane, ++rowIndex, Res.get("shared.makerFeeTxId"), offer.getOfferFeePaymentTxId()); @@ -391,20 +391,17 @@ private void addConfirmAndCancelButtons(boolean isPlaceOffer) { placeOfferTuple.forth.getChildren().add(cancelButton); button.setOnAction(e -> { - if (user.getAcceptedArbitrators() != null && - user.getAcceptedArbitrators().size() > 0) { + if (GUIUtil.canCreateOrTakeOfferOrShowPopup(user, navigation)) { button.setDisable(true); cancelButton.setDisable(true); busyAnimation.play(); if (isPlaceOffer) { spinnerInfoLabel.setText(Res.get("createOffer.fundsBox.placeOfferSpinnerInfo")); - placeOfferHandlerOptional.get().run(); + placeOfferHandlerOptional.ifPresent(Runnable::run); } else { spinnerInfoLabel.setText(Res.get("takeOffer.fundsBox.takeOfferSpinnerInfo")); - takeOfferHandlerOptional.get().run(); + takeOfferHandlerOptional.ifPresent(Runnable::run); } - } else { - new Popup<>().warning(Res.get("popup.warning.noArbitratorsAvailable")).show(); } }); } diff --git a/desktop/src/main/java/bisq/desktop/main/overlays/windows/TradeDetailsWindow.java b/desktop/src/main/java/bisq/desktop/main/overlays/windows/TradeDetailsWindow.java index 6c3d94152da..df90c34996f 100644 --- a/desktop/src/main/java/bisq/desktop/main/overlays/windows/TradeDetailsWindow.java +++ b/desktop/src/main/java/bisq/desktop/main/overlays/windows/TradeDetailsWindow.java @@ -24,16 +24,18 @@ import bisq.desktop.util.Layout; import bisq.core.account.witness.AccountAgeWitnessService; -import bisq.core.arbitration.DisputeManager; import bisq.core.locale.CurrencyUtil; import bisq.core.locale.Res; import bisq.core.offer.Offer; import bisq.core.payment.payload.PaymentAccountPayload; +import bisq.core.support.dispute.arbitration.ArbitrationManager; import bisq.core.trade.Contract; import bisq.core.trade.Trade; import bisq.core.trade.TradeManager; import bisq.core.util.BSFormatter; +import bisq.network.p2p.NodeAddress; + import bisq.common.UserThread; import org.bitcoinj.core.Utils; @@ -67,7 +69,7 @@ public class TradeDetailsWindow extends Overlay { protected static final Logger log = LoggerFactory.getLogger(TradeDetailsWindow.class); private final BSFormatter formatter; - private final DisputeManager disputeManager; + private final ArbitrationManager arbitrationManager; private final TradeManager tradeManager; private final AccountAgeWitnessService accountAgeWitnessService; private Trade trade; @@ -82,10 +84,12 @@ public class TradeDetailsWindow extends Overlay { /////////////////////////////////////////////////////////////////////////////////////////// @Inject - public TradeDetailsWindow(BSFormatter formatter, DisputeManager disputeManager, TradeManager tradeManager, + public TradeDetailsWindow(BSFormatter formatter, + ArbitrationManager arbitrationManager, + TradeManager tradeManager, AccountAgeWitnessService accountAgeWitnessService) { this.formatter = formatter; - this.disputeManager = disputeManager; + this.arbitrationManager = arbitrationManager; this.tradeManager = tradeManager; this.accountAgeWitnessService = accountAgeWitnessService; type = Type.Confirmation; @@ -185,8 +189,8 @@ private void addContent() { rows++; if (trade.getPayoutTx() != null) rows++; - boolean showDisputedTx = disputeManager.findOwnDispute(trade.getId()).isPresent() && - disputeManager.findOwnDispute(trade.getId()).get().getDisputePayoutTxId() != null; + boolean showDisputedTx = arbitrationManager.findOwnDispute(trade.getId()).isPresent() && + arbitrationManager.findOwnDispute(trade.getId()).get().getDisputePayoutTxId() != null; if (showDisputedTx) rows++; if (trade.hasFailed()) @@ -213,9 +217,13 @@ private void addContent() { Res.get("shared.takerTxFee", formatter.formatCoinWithCode(offer.getTxFee().multiply(3L))); addConfirmationLabelLabel(gridPane, ++rowIndex, Res.get("tradeDetailsWindow.txFee"), txFee); - if (trade.getArbitratorNodeAddress() != null) - addConfirmationLabelTextFieldWithCopyIcon(gridPane, ++rowIndex, Res.get("shared.arbitrator"), - trade.getArbitratorNodeAddress().getFullAddress()); + NodeAddress arbitratorNodeAddress = trade.getArbitratorNodeAddress(); + NodeAddress mediatorNodeAddress = trade.getMediatorNodeAddress(); + if (arbitratorNodeAddress != null && mediatorNodeAddress != null) { + addConfirmationLabelTextFieldWithCopyIcon(gridPane, ++rowIndex, + Res.get("tradeDetailsWindow.agentAddresses"), + arbitratorNodeAddress.getFullAddress() + " / " + mediatorNodeAddress.getFullAddress()); + } if (trade.getTradingPeerNodeAddress() != null) addConfirmationLabelTextFieldWithCopyIcon(gridPane, ++rowIndex, Res.get("tradeDetailsWindow.tradingPeersOnion"), @@ -266,7 +274,7 @@ private void addContent() { trade.getPayoutTx().getHashAsString()); if (showDisputedTx) addLabelTxIdTextField(gridPane, ++rowIndex, Res.get("tradeDetailsWindow.disputedPayoutTxId"), - disputeManager.findOwnDispute(trade.getId()).get().getDisputePayoutTxId()); + arbitrationManager.findOwnDispute(trade.getId()).get().getDisputePayoutTxId()); if (contract != null) { Button viewContractButton = addConfirmationLabelButton(gridPane, ++rowIndex, Res.get("shared.contractAsJson"), diff --git a/desktop/src/main/java/bisq/desktop/main/overlays/windows/UnlockArbitrationRegistrationWindow.java b/desktop/src/main/java/bisq/desktop/main/overlays/windows/UnlockDisputeAgentRegistrationWindow.java similarity index 94% rename from desktop/src/main/java/bisq/desktop/main/overlays/windows/UnlockArbitrationRegistrationWindow.java rename to desktop/src/main/java/bisq/desktop/main/overlays/windows/UnlockDisputeAgentRegistrationWindow.java index e4688f2d3e9..cb79bd7afbe 100644 --- a/desktop/src/main/java/bisq/desktop/main/overlays/windows/UnlockArbitrationRegistrationWindow.java +++ b/desktop/src/main/java/bisq/desktop/main/overlays/windows/UnlockDisputeAgentRegistrationWindow.java @@ -39,7 +39,7 @@ import static bisq.desktop.util.FormBuilder.add2ButtonsAfterGroup; import static bisq.desktop.util.FormBuilder.addTopLabelInputTextFieldWithVBox; -public class UnlockArbitrationRegistrationWindow extends Overlay { +public class UnlockDisputeAgentRegistrationWindow extends Overlay { private final boolean useDevPrivilegeKeys; private Button unlockButton; private InputTextField keyInputTextField; @@ -60,7 +60,7 @@ public interface PrivKeyHandler { // Public API /////////////////////////////////////////////////////////////////////////////////////////// - public UnlockArbitrationRegistrationWindow(boolean useDevPrivilegeKeys) { + public UnlockDisputeAgentRegistrationWindow(boolean useDevPrivilegeKeys) { this.useDevPrivilegeKeys = useDevPrivilegeKeys; if (keyInputTextField != null) keyInputTextField.textProperty().addListener(changeListener); @@ -85,7 +85,7 @@ public void show() { display(); } - public UnlockArbitrationRegistrationWindow onKey(PrivKeyHandler privKeyHandler) { + public UnlockDisputeAgentRegistrationWindow onKey(PrivKeyHandler privKeyHandler) { this.privKeyHandler = privKeyHandler; return this; } diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/closedtrades/ClosedTradesViewModel.java b/desktop/src/main/java/bisq/desktop/main/portfolio/closedtrades/ClosedTradesViewModel.java index cabac69b222..ffd2bbac05d 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/closedtrades/ClosedTradesViewModel.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/closedtrades/ClosedTradesViewModel.java @@ -109,7 +109,7 @@ String getBuyerSecurityDeposit(ClosedTradableListItem item) { if (tradable.getOffer() != null) return formatter.formatCoin(tradable.getOffer().getBuyerSecurityDeposit()); else - return ""; + return ""; } String getSellerSecurityDeposit(ClosedTradableListItem item) { @@ -119,7 +119,7 @@ String getSellerSecurityDeposit(ClosedTradableListItem item) { if (tradable.getOffer() != null) return formatter.formatCoin(tradable.getOffer().getSellerSecurityDeposit()); else - return ""; + return ""; } String getDirectionLabel(ClosedTradableListItem item) { @@ -146,9 +146,11 @@ String getState(ClosedTradableListItem item) { return Res.get("portfolio.closed.completed"); } else if (trade.getDisputeState() == Trade.DisputeState.DISPUTE_CLOSED) { return Res.get("portfolio.closed.ticketClosed"); + } else if (trade.getDisputeState() == Trade.DisputeState.MEDIATION_CLOSED) { + return Res.get("portfolio.closed.mediationTicketClosed"); } else { - log.error("That must not happen. We got a pending state but we are in the closed trades list."); - return trade.getState().toString(); + log.error("That must not happen. We got a pending state but we are in the closed trades list. state={}", trade.getState().toString()); + return Res.get("shared.na"); } } else if (item.getTradable() instanceof OpenOffer) { OpenOffer.State state = ((OpenOffer) item.getTradable()).getState(); diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/editoffer/EditOfferDataModel.java b/desktop/src/main/java/bisq/desktop/main/portfolio/editoffer/EditOfferDataModel.java index a575e5bbddd..f5de8a4763b 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/editoffer/EditOfferDataModel.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/editoffer/EditOfferDataModel.java @@ -18,6 +18,7 @@ package bisq.desktop.main.portfolio.editoffer; +import bisq.desktop.Navigation; import bisq.desktop.main.offer.MakerFeeProvider; import bisq.desktop.main.offer.MutableOfferDataModel; @@ -75,7 +76,8 @@ class EditOfferDataModel extends MutableOfferDataModel { ReferralIdService referralIdService, BSFormatter btcFormatter, CorePersistenceProtoResolver corePersistenceProtoResolver, - MakerFeeProvider makerFeeProvider) { + MakerFeeProvider makerFeeProvider, + Navigation navigation) { super(openOfferManager, btcWalletService, bsqWalletService, @@ -90,7 +92,8 @@ class EditOfferDataModel extends MutableOfferDataModel { txFeeEstimationService, referralIdService, btcFormatter, - makerFeeProvider); + makerFeeProvider, + navigation); this.corePersistenceProtoResolver = corePersistenceProtoResolver; } diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/editoffer/EditOfferViewModel.java b/desktop/src/main/java/bisq/desktop/main/portfolio/editoffer/EditOfferViewModel.java index d3896f2782a..9b4ab1e8ec8 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/editoffer/EditOfferViewModel.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/editoffer/EditOfferViewModel.java @@ -26,15 +26,12 @@ import bisq.desktop.util.validation.FiatVolumeValidator; import bisq.desktop.util.validation.SecurityDepositValidator; -import bisq.core.btc.setup.WalletsSetup; import bisq.core.offer.OpenOffer; import bisq.core.provider.price.PriceFeedService; import bisq.core.user.Preferences; import bisq.core.util.BSFormatter; import bisq.core.util.BsqFormatter; -import bisq.network.p2p.P2PService; - import bisq.common.handlers.ErrorMessageHandler; import bisq.common.handlers.ResultHandler; @@ -43,8 +40,30 @@ class EditOfferViewModel extends MutableOfferViewModel { @Inject - public EditOfferViewModel(EditOfferDataModel dataModel, FiatVolumeValidator fiatVolumeValidator, FiatPriceValidator fiatPriceValidator, AltcoinValidator altcoinValidator, BtcValidator btcValidator, BsqValidator bsqValidator, SecurityDepositValidator securityDepositValidator, P2PService p2PService, WalletsSetup walletsSetup, PriceFeedService priceFeedService, Navigation navigation, Preferences preferences, BSFormatter btcFormatter, BsqFormatter bsqFormatter) { - super(dataModel, fiatVolumeValidator, fiatPriceValidator, altcoinValidator, btcValidator, bsqValidator, securityDepositValidator, p2PService, walletsSetup, priceFeedService, navigation, preferences, btcFormatter, bsqFormatter); + public EditOfferViewModel(EditOfferDataModel dataModel, + FiatVolumeValidator fiatVolumeValidator, + FiatPriceValidator fiatPriceValidator, + AltcoinValidator altcoinValidator, + BtcValidator btcValidator, + BsqValidator bsqValidator, + SecurityDepositValidator securityDepositValidator, + PriceFeedService priceFeedService, + Navigation navigation, + Preferences preferences, + BSFormatter btcFormatter, + BsqFormatter bsqFormatter) { + super(dataModel, + fiatVolumeValidator, + fiatPriceValidator, + altcoinValidator, + btcValidator, + bsqValidator, + securityDepositValidator, + priceFeedService, + navigation, + preferences, + btcFormatter, + bsqFormatter); syncMinAmountWithAmount = false; } diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/openoffer/OpenOffersView.java b/desktop/src/main/java/bisq/desktop/main/portfolio/openoffer/OpenOffersView.java index 906394197bf..5ae125f56d9 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/openoffer/OpenOffersView.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/openoffer/OpenOffersView.java @@ -144,45 +144,40 @@ protected void deactivate() { } private void onDeactivateOpenOffer(OpenOffer openOffer) { - if (model.isBootstrapped()) { + if (model.isBootstrappedOrShowPopup()) { model.onDeactivateOpenOffer(openOffer, () -> log.debug("Deactivate offer was successful"), (message) -> { log.error(message); new Popup<>().warning(Res.get("offerbook.deactivateOffer.failed", message)).show(); }); - } else { - new Popup<>().information(Res.get("popup.warning.notFullyConnected")).show(); } } private void onActivateOpenOffer(OpenOffer openOffer) { - if (model.isBootstrapped()) { + if (model.isBootstrappedOrShowPopup()) { model.onActivateOpenOffer(openOffer, () -> log.debug("Activate offer was successful"), (message) -> { log.error(message); new Popup<>().warning(Res.get("offerbook.activateOffer.failed", message)).show(); }); - } else { - new Popup<>().information(Res.get("popup.warning.notFullyConnected")).show(); } } private void onRemoveOpenOffer(OpenOffer openOffer) { - if (model.isBootstrapped()) { + if (model.isBootstrappedOrShowPopup()) { String key = "RemoveOfferWarning"; - if (DontShowAgainLookup.showAgain(key)) + if (DontShowAgainLookup.showAgain(key)) { new Popup<>().warning(Res.get("popup.warning.removeOffer", model.formatter.formatCoinWithCode(openOffer.getOffer().getMakerFee()))) .actionButtonText(Res.get("shared.removeOffer")) .onAction(() -> doRemoveOpenOffer(openOffer)) .closeButtonText(Res.get("shared.dontRemoveOffer")) .dontShowAgainId(key) .show(); - else + } else { doRemoveOpenOffer(openOffer); - } else { - new Popup<>().information(Res.get("popup.warning.notFullyConnected")).show(); + } } } @@ -194,12 +189,13 @@ private void doRemoveOpenOffer(OpenOffer openOffer) { tableView.refresh(); String key = "WithdrawFundsAfterRemoveOfferInfo"; - if (DontShowAgainLookup.showAgain(key)) + if (DontShowAgainLookup.showAgain(key)) { new Popup<>().instruction(Res.get("offerbook.withdrawFundsHint", Res.get("navigation.funds.availableForWithdrawal"))) .actionButtonTextWithGoTo("navigation.funds.availableForWithdrawal") .onAction(() -> navigation.navigateTo(MainView.class, FundsView.class, WithdrawalView.class)) .dontShowAgainId(key) .show(); + } }, (message) -> { log.error(message); @@ -208,10 +204,8 @@ private void doRemoveOpenOffer(OpenOffer openOffer) { } private void onEditOpenOffer(OpenOffer openOffer) { - if (model.isBootstrapped()) { + if (model.isBootstrappedOrShowPopup()) { openOfferActionHandler.onEditOpenOffer(openOffer); - } else { - new Popup<>().information(Res.get("popup.warning.notFullyConnected")).show(); } } diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/openoffer/OpenOffersViewModel.java b/desktop/src/main/java/bisq/desktop/main/portfolio/openoffer/OpenOffersViewModel.java index 06959d78f48..8262b72301a 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/openoffer/OpenOffersViewModel.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/openoffer/OpenOffersViewModel.java @@ -19,6 +19,7 @@ import bisq.desktop.common.model.ActivatableWithDataModel; import bisq.desktop.common.model.ViewModel; +import bisq.desktop.util.GUIUtil; import bisq.core.locale.Res; import bisq.core.monetary.Price; @@ -116,7 +117,7 @@ boolean isDeactivated(OpenOfferListItem item) { return item != null && item.getOpenOffer() != null && item.getOpenOffer().isDeactivated(); } - boolean isBootstrapped() { - return p2PService.isBootstrapped(); + boolean isBootstrappedOrShowPopup() { + return GUIUtil.isBootstrappedOrShowPopup(p2PService); } } diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/BuyerSubView.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/BuyerSubView.java index 365e51627f9..aee1e70c63a 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/BuyerSubView.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/BuyerSubView.java @@ -27,6 +27,9 @@ import org.fxmisc.easybind.EasyBind; +import lombok.extern.slf4j.Slf4j; + +@Slf4j public class BuyerSubView extends TradeSubView { private TradeWizardItem step1; private TradeWizardItem step2; @@ -69,6 +72,8 @@ protected void addWizards() { @Override protected void onViewStateChanged(PendingTradesViewModel.State viewState) { + super.onViewStateChanged(viewState); + if (viewState != null) { PendingTradesViewModel.BuyerState buyerState = (PendingTradesViewModel.BuyerState) viewState; diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/PendingTradesDataModel.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/PendingTradesDataModel.java index 43f187028ef..8a9ce8f5d86 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/PendingTradesDataModel.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/PendingTradesDataModel.java @@ -20,22 +20,26 @@ import bisq.desktop.Navigation; import bisq.desktop.common.model.ActivatableDataModel; import bisq.desktop.main.MainView; -import bisq.desktop.main.disputes.DisputesView; import bisq.desktop.main.overlays.notifications.NotificationCenter; import bisq.desktop.main.overlays.popups.Popup; import bisq.desktop.main.overlays.windows.WalletPasswordWindow; +import bisq.desktop.main.support.SupportView; import bisq.desktop.util.GUIUtil; import bisq.core.account.witness.AccountAgeWitnessService; -import bisq.core.arbitration.Dispute; -import bisq.core.arbitration.DisputeAlreadyOpenException; -import bisq.core.arbitration.DisputeManager; import bisq.core.btc.setup.WalletsSetup; import bisq.core.btc.wallet.BtcWalletService; import bisq.core.locale.Res; import bisq.core.offer.Offer; import bisq.core.offer.OfferPayload; import bisq.core.payment.payload.PaymentAccountPayload; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.DisputeAlreadyOpenException; +import bisq.core.support.dispute.DisputeList; +import bisq.core.support.dispute.DisputeManager; +import bisq.core.support.dispute.arbitration.ArbitrationManager; +import bisq.core.support.dispute.mediation.MediationManager; +import bisq.core.support.traderchat.TraderChatManager; import bisq.core.trade.BuyerTrade; import bisq.core.trade.SellerTrade; import bisq.core.trade.Trade; @@ -44,7 +48,6 @@ import bisq.network.p2p.P2PService; -import bisq.common.crypto.KeyRing; import bisq.common.crypto.PubKeyRing; import bisq.common.handlers.ErrorMessageHandler; import bisq.common.handlers.FaultHandler; @@ -81,8 +84,8 @@ public class PendingTradesDataModel extends ActivatableDataModel { public final TradeManager tradeManager; public final BtcWalletService btcWalletService; - private final KeyRing keyRing; - public final DisputeManager disputeManager; + public final ArbitrationManager arbitrationManager; + public final MediationManager mediationManager; private final P2PService p2PService; private final WalletsSetup walletsSetup; @Getter @@ -97,10 +100,14 @@ public class PendingTradesDataModel extends ActivatableDataModel { final ObjectProperty selectedItemProperty = new SimpleObjectProperty<>(); public final StringProperty txId = new SimpleStringProperty(); + @Getter + private final TraderChatManager traderChatManager; public final Preferences preferences; private boolean activated; private ChangeListener tradeStateChangeListener; private Trade selectedTrade; + @Getter + private PubKeyRing pubKeyRing; /////////////////////////////////////////////////////////////////////////////////////////// // Constructor, initialization @@ -109,8 +116,10 @@ public class PendingTradesDataModel extends ActivatableDataModel { @Inject public PendingTradesDataModel(TradeManager tradeManager, BtcWalletService btcWalletService, - KeyRing keyRing, - DisputeManager disputeManager, + PubKeyRing pubKeyRing, + ArbitrationManager arbitrationManager, + MediationManager mediationManager, + TraderChatManager traderChatManager, Preferences preferences, P2PService p2PService, WalletsSetup walletsSetup, @@ -120,8 +129,10 @@ public PendingTradesDataModel(TradeManager tradeManager, NotificationCenter notificationCenter) { this.tradeManager = tradeManager; this.btcWalletService = btcWalletService; - this.keyRing = keyRing; - this.disputeManager = disputeManager; + this.pubKeyRing = pubKeyRing; + this.arbitrationManager = arbitrationManager; + this.mediationManager = mediationManager; + this.traderChatManager = traderChatManager; this.preferences = preferences; this.p2PService = p2PService; this.walletsSetup = walletsSetup; @@ -174,7 +185,12 @@ public void onFiatPaymentReceived(ResultHandler resultHandler, ErrorMessageHandl ((SellerTrade) getTrade()).onFiatPaymentReceived(resultHandler, errorMessageHandler); } - public void onWithdrawRequest(String toAddress, Coin amount, Coin fee, KeyParameter aesKey, ResultHandler resultHandler, FaultHandler faultHandler) { + public void onWithdrawRequest(String toAddress, + Coin amount, + Coin fee, + KeyParameter aesKey, + ResultHandler resultHandler, + FaultHandler faultHandler) { checkNotNull(getTrade(), "trade must not be null"); if (toAddress != null && toAddress.length() > 0) { @@ -213,11 +229,6 @@ public void onMoveToFailedTrades() { // Getters /////////////////////////////////////////////////////////////////////////////////////////// - @Nullable - public PendingTradesListItem getSelectedItem() { - return selectedItemProperty.get() != null ? selectedItemProperty.get() : null; - } - @Nullable public Trade getTrade() { return selectedItemProperty.get() != null ? selectedItemProperty.get().getTrade() : null; @@ -228,7 +239,7 @@ Offer getOffer() { return getTrade() != null ? getTrade().getOffer() : null; } - boolean isBuyOffer() { + private boolean isBuyOffer() { return getOffer() != null && getOffer().getDirection() == OfferPayload.Direction.BUY; } @@ -250,10 +261,15 @@ Coin getTradeFeeInBTC() { if (trade != null) { Offer offer = trade.getOffer(); if (isMaker()) { - if (offer.isCurrencyForMakerFeeBtc()) - return offer.getMakerFee(); - else - return Coin.ZERO;// getTradeFeeAsBsq is used for BSQ + if (offer != null) { + if (offer.isCurrencyForMakerFeeBtc()) + return offer.getMakerFee(); + else + return Coin.ZERO;// getTradeFeeAsBsq is used for BSQ + } else { + log.error("offer is null"); + return Coin.ZERO; + } } else { if (trade.isCurrencyForTakerFeeBtc()) return trade.getTakerFee(); @@ -271,10 +287,15 @@ Coin getTxFee() { if (trade != null) { if (isMaker()) { Offer offer = trade.getOffer(); - if (offer.isCurrencyForMakerFeeBtc()) - return offer.getTxFee(); - else - return offer.getTxFee().subtract(offer.getMakerFee()); // BSQ will be used as part of the miner fee + if (offer != null) { + if (offer.isCurrencyForMakerFeeBtc()) + return offer.getTxFee(); + else + return offer.getTxFee().subtract(offer.getMakerFee()); // BSQ will be used as part of the miner fee + } else { + log.error("offer is null"); + return Coin.ZERO; + } } else { if (trade.isCurrencyForTakerFeeBtc()) return trade.getTxFee().multiply(3); @@ -292,10 +313,16 @@ Coin getTradeFeeAsBsq() { if (trade != null) { if (isMaker()) { Offer offer = trade.getOffer(); - if (offer.isCurrencyForMakerFeeBtc()) - return Coin.ZERO; // getTradeFeeInBTC is used for BTC - else - return offer.getMakerFee(); + if (offer != null) { + if (offer.isCurrencyForMakerFeeBtc()) { + return Coin.ZERO; // getTradeFeeInBTC is used for BTC + } else { + return offer.getMakerFee(); + } + } else { + log.error("offer is null"); + return Coin.ZERO; + } } else { if (trade.isCurrencyForTakerFeeBtc()) return Coin.ZERO; // getTradeFeeInBTC is used for BTC @@ -312,10 +339,6 @@ public String getCurrencyCode() { return getOffer() != null ? getOffer().getCurrencyCode() : ""; } - public OfferPayload.Direction getDirection(Offer offer) { - isMaker = tradeManager.isMyOffer(offer); - return isMaker ? offer.getDirection() : offer.getMirroredDirection(); - } @Nullable public PaymentAccountPayload getSellersPaymentAccountPayload() { @@ -337,15 +360,6 @@ public String getReference() { return getOffer() != null ? getOffer().getShortId() : ""; } - public boolean isReadyForTxBroadcast() { - return GUIUtil.isReadyForTxBroadcast(p2PService, walletsSetup); - } - - public void showNotReadyForTxBroadcastPopups() { - GUIUtil.showNotReadyForTxBroadcastPopups(p2PService, walletsSetup); - } - - /////////////////////////////////////////////////////////////////////////////////////////// // Private /////////////////////////////////////////////////////////////////////////////////////////// @@ -370,8 +384,9 @@ else if (list.size() == 0) } private void selectItemByTradeId(String tradeId) { - if (activated) + if (activated) { list.stream().filter(e -> e.getTrade().getId().equals(tradeId)).findAny().ifPresent(this::doSelectItem); + } } private void doSelectItem(@Nullable PendingTradesListItem item) { @@ -380,20 +395,37 @@ private void doSelectItem(@Nullable PendingTradesListItem item) { if (item != null) { selectedTrade = item.getTrade(); + if (selectedTrade == null) { + log.error("selectedTrade is null"); + return; + } + + Transaction depositTx = selectedTrade.getDepositTx(); + String tradeId = selectedTrade.getId(); tradeStateChangeListener = (observable, oldValue, newValue) -> { - if (selectedTrade.getDepositTx() != null) { - txId.set(selectedTrade.getDepositTx().getHashAsString()); - notificationCenter.setSelectedTradeId(selectedTrade.getId()); + if (depositTx != null) { + txId.set(depositTx.getHashAsString()); + notificationCenter.setSelectedTradeId(tradeId); selectedTrade.stateProperty().removeListener(tradeStateChangeListener); + } else { + txId.set(""); } }; selectedTrade.stateProperty().addListener(tradeStateChangeListener); - isMaker = tradeManager.isMyOffer(selectedTrade.getOffer()); - if (selectedTrade.getDepositTx() != null) - txId.set(selectedTrade.getDepositTx().getHashAsString()); - else + + Offer offer = selectedTrade.getOffer(); + if (offer == null) { + log.error("offer is null"); + return; + } + + isMaker = tradeManager.isMyOffer(offer); + if (depositTx != null) { + txId.set(depositTx.getHashAsString()); + } else { txId.set(""); - notificationCenter.setSelectedTradeId(selectedTrade.getId()); + } + notificationCenter.setSelectedTradeId(tradeId); } else { selectedTrade = null; txId.set(""); @@ -403,78 +435,125 @@ private void doSelectItem(@Nullable PendingTradesListItem item) { } private void tryOpenDispute(boolean isSupportTicket) { - if (getTrade() != null) { - Transaction depositTx = getTrade().getDepositTx(); - if (depositTx != null) { - doOpenDispute(isSupportTicket, getTrade().getDepositTx()); - } else { - log.info("Trade.depositTx is null. We try to find the tx in our wallet."); - List candidates = new ArrayList<>(); - List transactions = btcWalletService.getRecentTransactions(100, true); - transactions.stream().forEach(transaction -> { - Coin valueSentFromMe = btcWalletService.getValueSentFromMeForTransaction(transaction); - if (!valueSentFromMe.isZero()) { - // spending tx - // MS tx - candidates.addAll(transaction.getOutputs().stream() - .filter(output -> !btcWalletService.isTransactionOutputMine(output)) - .filter(output -> output.getScriptPubKey().isPayToScriptHash()) - .map(transactionOutput -> transaction) - .collect(Collectors.toList())); - } - }); + Trade trade = getTrade(); + if (trade == null) { + log.error("Trade is null"); + return; + } - if (candidates.size() > 0) { - log.error("Trade.depositTx is null. We take the first possible MultiSig tx just to be able to open a dispute. " + - "candidates={}", candidates); - doOpenDispute(isSupportTicket, candidates.get(0)); - }/* else if (candidates.size() > 1) { - // Let remove that as it confused users and was from little help - new SelectDepositTxWindow().transactions(candidates) - .onSelect(transaction -> doOpenDispute(isSupportTicket, transaction)) - .closeButtonText(Res.get("shared.cancel")) - .show(); - }*/ else if (transactions.size() > 0) { - doOpenDispute(isSupportTicket, transactions.get(0)); - log.error("Trade.depositTx is null and we did not find any MultiSig transaction. We take any random tx just to be able to open a dispute"); - } else { - log.error("Trade.depositTx is null and we did not find any transaction."); + Transaction depositTx = trade.getDepositTx(); + if (depositTx != null) { + doOpenDispute(isSupportTicket, depositTx); + } else { + //TODO consider to remove that + log.info("Trade.depositTx is null. We try to find the tx in our wallet."); + List candidates = new ArrayList<>(); + List transactions = btcWalletService.getRecentTransactions(100, true); + transactions.forEach(transaction -> { + Coin valueSentFromMe = btcWalletService.getValueSentFromMeForTransaction(transaction); + if (!valueSentFromMe.isZero()) { + // spending tx + // MS tx + candidates.addAll(transaction.getOutputs().stream() + .filter(output -> !btcWalletService.isTransactionOutputMine(output)) + .filter(output -> output.getScriptPubKey().isPayToScriptHash()) + .map(transactionOutput -> transaction) + .collect(Collectors.toList())); } + }); + + if (candidates.size() > 0) { + log.error("Trade.depositTx is null. We take the first possible MultiSig tx just to be able to open a dispute. " + + "candidates={}", candidates); + doOpenDispute(isSupportTicket, candidates.get(0)); + } else if (transactions.size() > 0) { + doOpenDispute(isSupportTicket, transactions.get(0)); + log.error("Trade.depositTx is null and we did not find any MultiSig transaction. We take any random tx just to be able to open a dispute"); + } else { + log.error("Trade.depositTx is null and we did not find any transaction."); } - } else { - log.error("Trade is null"); } } private void doOpenDispute(boolean isSupportTicket, Transaction depositTx) { - byte[] depositTxSerialized = null; + Trade trade = getTrade(); + if (trade == null) { + log.warn("trade is null at doOpenDispute"); + return; + } + + Offer offer = trade.getOffer(); + if (offer == null) { + log.warn("offer is null at doOpenDispute"); + return; + } + + if (!GUIUtil.isBootstrappedOrShowPopup(p2PService)) { + return; + } + byte[] payoutTxSerialized = null; - String depositTxHashAsString = null; String payoutTxHashAsString = null; - if (depositTx != null) { - depositTxSerialized = depositTx.bitcoinSerialize(); - depositTxHashAsString = depositTx.getHashAsString(); + Transaction payoutTx = trade.getPayoutTx(); + if (payoutTx != null) { + payoutTxSerialized = payoutTx.bitcoinSerialize(); + payoutTxHashAsString = payoutTx.getHashAsString(); + } + Trade.DisputeState disputeState = trade.getDisputeState(); + DisputeManager> disputeManager; + boolean useMediation; + boolean useArbitration; + // If mediation is not activated we use arbitration + if (MediationManager.isMediationActivated()) { + // In case we re-open a dispute we allow Trade.DisputeState.MEDIATION_REQUESTED or + useMediation = disputeState == Trade.DisputeState.NO_DISPUTE || disputeState == Trade.DisputeState.MEDIATION_REQUESTED; + // in case of arbitration disputeState == Trade.DisputeState.ARBITRATION_REQUESTED + useArbitration = disputeState == Trade.DisputeState.MEDIATION_CLOSED || disputeState == Trade.DisputeState.DISPUTE_REQUESTED; } else { - log.warn("depositTx is null"); + useMediation = false; + useArbitration = true; } - Trade trade = getTrade(); - if (trade != null) { - Transaction payoutTx = trade.getPayoutTx(); - if (payoutTx != null) { - payoutTxSerialized = payoutTx.bitcoinSerialize(); - payoutTxHashAsString = payoutTx.getHashAsString(); - } else { - log.debug("payoutTx is null at doOpenDispute"); - } - - final PubKeyRing arbitratorPubKeyRing = trade.getArbitratorPubKeyRing(); - checkNotNull(arbitratorPubKeyRing, "arbitratorPubKeyRing must no tbe null"); - Dispute dispute = new Dispute(disputeManager.getDisputeStorage(), + if (useMediation) { + // If no dispute state set we start with mediation + disputeManager = mediationManager; + PubKeyRing mediatorPubKeyRing = trade.getMediatorPubKeyRing(); + checkNotNull(mediatorPubKeyRing, "mediatorPubKeyRing must not be null"); + byte[] depositTxSerialized = depositTx.bitcoinSerialize(); + String depositTxHashAsString = depositTx.getHashAsString(); + Dispute dispute = new Dispute(disputeManager.getStorage(), trade.getId(), - keyRing.getPubKeyRing().hashCode(), // traderId - trade.getOffer().getDirection() == OfferPayload.Direction.BUY ? isMaker : !isMaker, + pubKeyRing.hashCode(), // traderId + (offer.getDirection() == OfferPayload.Direction.BUY) == isMaker, isMaker, - keyRing.getPubKeyRing(), + pubKeyRing, + trade.getDate().getTime(), + trade.getContract(), + trade.getContractHash(), + depositTxSerialized, + payoutTxSerialized, + depositTxHashAsString, + payoutTxHashAsString, + trade.getContractAsJson(), + trade.getMakerContractSignature(), + trade.getTakerContractSignature(), + mediatorPubKeyRing, + isSupportTicket); + + trade.setDisputeState(Trade.DisputeState.MEDIATION_REQUESTED); + sendOpenNewDisputeMessage(dispute, false, disputeManager); + } else if (useArbitration) { + // Only if we have completed mediation we allow arbitration + disputeManager = arbitrationManager; + PubKeyRing arbitratorPubKeyRing = trade.getArbitratorPubKeyRing(); + checkNotNull(arbitratorPubKeyRing, "arbitratorPubKeyRing must not be null"); + byte[] depositTxSerialized = depositTx.bitcoinSerialize(); + String depositTxHashAsString = depositTx.getHashAsString(); + Dispute dispute = new Dispute(disputeManager.getStorage(), + trade.getId(), + pubKeyRing.hashCode(), // traderId + (offer.getDirection() == OfferPayload.Direction.BUY) == isMaker, + isMaker, + pubKeyRing, trade.getDate().getTime(), trade.getContract(), trade.getContractHash(), @@ -486,30 +565,27 @@ private void doOpenDispute(boolean isSupportTicket, Transaction depositTx) { trade.getMakerContractSignature(), trade.getTakerContractSignature(), arbitratorPubKeyRing, - isSupportTicket - ); + isSupportTicket); trade.setDisputeState(Trade.DisputeState.DISPUTE_REQUESTED); - if (p2PService.isBootstrapped()) { - sendOpenNewDisputeMessage(dispute, false); - } else { - new Popup<>().information(Res.get("popup.warning.notFullyConnected")).show(); - } + sendOpenNewDisputeMessage(dispute, false, disputeManager); } else { - log.warn("trade is null at doOpenDispute"); + log.warn("Invalid dispute state {}", disputeState.name()); } } - private void sendOpenNewDisputeMessage(Dispute dispute, boolean reOpen) { + private void sendOpenNewDisputeMessage(Dispute dispute, + boolean reOpen, + DisputeManager> disputeManager) { disputeManager.sendOpenNewDisputeMessage(dispute, reOpen, - () -> navigation.navigateTo(MainView.class, DisputesView.class), + () -> navigation.navigateTo(MainView.class, SupportView.class), (errorMessage, throwable) -> { if ((throwable instanceof DisputeAlreadyOpenException)) { errorMessage += "\n\n" + Res.get("portfolio.pending.openAgainDispute.msg"); new Popup<>().warning(errorMessage) .actionButtonText(Res.get("portfolio.pending.openAgainDispute.button")) - .onAction(() -> sendOpenNewDisputeMessage(dispute, true)) + .onAction(() -> sendOpenNewDisputeMessage(dispute, true, disputeManager)) .closeButtonText(Res.get("shared.cancel")) .show(); } else { @@ -517,5 +593,13 @@ private void sendOpenNewDisputeMessage(Dispute dispute, boolean reOpen) { } }); } + + public boolean isReadyForTxBroadcast() { + return GUIUtil.isReadyForTxBroadcastOrShowPopup(p2PService, walletsSetup); + } + + public boolean isBootstrappedOrShowPopup() { + return GUIUtil.isBootstrappedOrShowPopup(p2PService); + } } diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/PendingTradesView.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/PendingTradesView.java index bbe3ec78813..386edd104ea 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/PendingTradesView.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/PendingTradesView.java @@ -22,19 +22,20 @@ import bisq.desktop.components.AutoTooltipLabel; import bisq.desktop.components.HyperlinkWithIcon; import bisq.desktop.components.PeerInfoIcon; -import bisq.desktop.main.Chat.Chat; import bisq.desktop.main.MainView; import bisq.desktop.main.overlays.popups.Popup; import bisq.desktop.main.overlays.windows.TradeDetailsWindow; -import bisq.desktop.util.FormBuilder; +import bisq.desktop.main.shared.ChatView; import bisq.desktop.util.CssTheme; +import bisq.desktop.util.FormBuilder; import bisq.core.alert.PrivateNotificationManager; import bisq.core.app.AppOptionKeys; -import bisq.core.arbitration.messages.DisputeCommunicationMessage; import bisq.core.locale.Res; +import bisq.core.support.messages.ChatMessage; +import bisq.core.support.traderchat.TradeChatSession; +import bisq.core.support.traderchat.TraderChatManager; import bisq.core.trade.Trade; -import bisq.core.trade.TradeChatSession; import bisq.core.user.Preferences; import bisq.core.util.BSFormatter; @@ -122,8 +123,8 @@ public class PendingTradesView extends ActivatableViewAndModel buttonByTrade = new HashMap<>(); private Map badgeByTrade = new HashMap<>(); - private Map> listenerByTrade = new HashMap<>(); - private TradeChatSession.DisputeStateListener disputeStateListener; + private Map> listenerByTrade = new HashMap<>(); + private TraderChatManager.DisputeStateListener disputeStateListener; /////////////////////////////////////////////////////////////////////////////////////////// @@ -318,7 +319,7 @@ private void updateNewChatMessagesByTradeMap() { model.dataModel.list.forEach(t -> { Trade trade = t.getTrade(); newChatMessagesByTradeMap.put(trade.getId(), - trade.getCommunicationMessages().stream() + trade.getChatMessages().stream() .filter(m -> !m.isWasDisplayed()) .filter(m -> !m.isSystemMessage()) .count()); @@ -329,43 +330,41 @@ private void openChat(Trade trade) { if (chatPopupStage != null) chatPopupStage.close(); - if (trade.getCommunicationMessages().isEmpty()) { - ((TradeChatSession) model.dataModel.tradeManager.getChatManager().getChatSession()).addSystemMsg(trade); + TraderChatManager traderChatManager = model.dataModel.getTraderChatManager(); + if (trade.getChatMessages().isEmpty()) { + traderChatManager.addSystemMsg(trade); } - trade.getCommunicationMessages().forEach(m -> m.setWasDisplayed(true)); + trade.getChatMessages().forEach(m -> m.setWasDisplayed(true)); trade.persist(); tradeIdOfOpenChat = trade.getId(); - Chat tradeChat = new Chat(model.dataModel.tradeManager.getChatManager(), formatter); - tradeChat.setAllowAttachments(false); - tradeChat.setDisplayHeader(false); - tradeChat.initialize(); + ChatView chatView = new ChatView(traderChatManager, formatter); + chatView.setAllowAttachments(false); + chatView.setDisplayHeader(false); + chatView.initialize(); - AnchorPane pane = new AnchorPane(tradeChat); + AnchorPane pane = new AnchorPane(chatView); pane.setPrefSize(760, 500); - AnchorPane.setLeftAnchor(tradeChat, 10d); - AnchorPane.setRightAnchor(tradeChat, 10d); - AnchorPane.setTopAnchor(tradeChat, -20d); - AnchorPane.setBottomAnchor(tradeChat, 10d); + AnchorPane.setLeftAnchor(chatView, 10d); + AnchorPane.setRightAnchor(chatView, 10d); + AnchorPane.setTopAnchor(chatView, -20d); + AnchorPane.setBottomAnchor(chatView, 10d); boolean isTaker = !model.dataModel.isMaker(trade.getOffer()); - boolean isBuyer = model.dataModel.isBuyer(); - TradeChatSession chatSession = new TradeChatSession(trade, isTaker, isBuyer, - model.dataModel.tradeManager, - model.dataModel.tradeManager.getChatManager()); + TradeChatSession tradeChatSession = new TradeChatSession(trade, isTaker); disputeStateListener = tradeId -> { if (trade.getId().equals(tradeId)) { chatPopupStage.hide(); } }; - chatSession.addDisputeStateListener(disputeStateListener); + traderChatManager.addDisputeStateListener(disputeStateListener); - tradeChat.display(chatSession, null, pane.widthProperty()); + chatView.display(tradeChatSession, pane.widthProperty()); - tradeChat.activate(); - tradeChat.scrollToBottom(); + chatView.activate(); + chatView.scrollToBottom(); chatPopupStage = new Stage(); chatPopupStage.setTitle(Res.get("tradeChat.chatWindowTitle", trade.getShortId())); @@ -375,9 +374,9 @@ private void openChat(Trade trade) { chatPopupStage.initModality(Modality.NONE); chatPopupStage.initStyle(StageStyle.DECORATED); chatPopupStage.setOnHiding(event -> { - tradeChat.deactivate(); + chatView.deactivate(); // at close we set all as displayed. While open we ignore updates of the numNewMsg in the list icon. - trade.getCommunicationMessages().forEach(m -> m.setWasDisplayed(true)); + trade.getChatMessages().forEach(m -> m.setWasDisplayed(true)); trade.persist(); tradeIdOfOpenChat = null; @@ -388,7 +387,7 @@ private void openChat(Trade trade) { chatPopupStage.xProperty().removeListener(yPositionListener); } if (disputeStateListener != null) { - chatSession.removeDisputeStateListener(disputeStateListener); + traderChatManager.removeDisputeStateListener(disputeStateListener); } }); @@ -717,9 +716,9 @@ public void updateItem(final PendingTradesListItem newItem, boolean empty) { }); if (!listenerByTrade.containsKey(id)) { - ListChangeListener listener = c -> update(trade, badge); + ListChangeListener listener = c -> update(trade, badge); listenerByTrade.put(id, listener); - trade.getCommunicationMessages().addListener(listener); + trade.getChatMessages().addListener(listener); } update(trade, badge); diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/SellerSubView.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/SellerSubView.java index aac57aea6c1..33d69900162 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/SellerSubView.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/SellerSubView.java @@ -27,6 +27,9 @@ import org.fxmisc.easybind.EasyBind; +import lombok.extern.slf4j.Slf4j; + +@Slf4j public class SellerSubView extends TradeSubView { private TradeWizardItem step1; private TradeWizardItem step2; @@ -37,7 +40,7 @@ public class SellerSubView extends TradeSubView { // Constructor, Initialisation /////////////////////////////////////////////////////////////////////////////////////////// - public SellerSubView(PendingTradesViewModel model) { + SellerSubView(PendingTradesViewModel model) { super(model); } @@ -69,6 +72,8 @@ protected void addWizards() { @Override protected void onViewStateChanged(PendingTradesViewModel.State viewState) { + super.onViewStateChanged(viewState); + if (viewState != null) { PendingTradesViewModel.SellerState sellerState = (PendingTradesViewModel.SellerState) viewState; diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeStepInfo.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeStepInfo.java new file mode 100644 index 00000000000..6e75041d319 --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeStepInfo.java @@ -0,0 +1,196 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.desktop.main.portfolio.pendingtrades; + +import bisq.desktop.components.AutoTooltipButton; +import bisq.desktop.components.TitledGroupBg; + +import bisq.core.locale.Res; +import bisq.core.trade.Trade; + +import javafx.scene.control.Label; +import javafx.scene.layout.GridPane; + +import javafx.event.ActionEvent; +import javafx.event.EventHandler; + +import java.util.function.Supplier; + +import lombok.Getter; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; + +import javax.annotation.Nullable; + +@Slf4j +public class TradeStepInfo { + + public enum State { + UNDEFINED, + SHOW_GET_HELP_BUTTON, + IN_MEDIATION_SELF_REQUESTED, + IN_MEDIATION_PEER_REQUESTED, + MEDIATION_RESULT, + MEDIATION_RESULT_SELF_ACCEPTED, + MEDIATION_RESULT_PEER_ACCEPTED, + IN_ARBITRATION_SELF_REQUESTED, + IN_ARBITRATION_PEER_REQUESTED, + WARN_HALF_PERIOD, + WARN_PERIOD_OVER + } + + private final TitledGroupBg titledGroupBg; + private final Label label; + private final AutoTooltipButton button; + @Nullable + @Setter + private Trade trade; + @Getter + private State state = State.UNDEFINED; + private Supplier fistHalfOverWarnTextSupplier = () -> ""; + private Supplier periodOverWarnTextSupplier = () -> ""; + + TradeStepInfo(TitledGroupBg titledGroupBg, Label label, AutoTooltipButton button) { + this.titledGroupBg = titledGroupBg; + this.label = label; + this.button = button; + GridPane.setColumnIndex(button, 0); + + setState(State.SHOW_GET_HELP_BUTTON); + } + + void removeItselfFrom(GridPane leftGridPane) { + leftGridPane.getChildren().remove(titledGroupBg); + leftGridPane.getChildren().remove(label); + leftGridPane.getChildren().remove(button); + } + + public void setOnAction(EventHandler e) { + button.setOnAction(e); + } + + public void setFistHalfOverWarnTextSupplier(Supplier fistHalfOverWarnTextSupplier) { + this.fistHalfOverWarnTextSupplier = fistHalfOverWarnTextSupplier; + } + + public void setPeriodOverWarnTextSupplier(Supplier periodOverWarnTextSupplier) { + this.periodOverWarnTextSupplier = periodOverWarnTextSupplier; + } + + public void setState(State state) { + this.state = state; + switch (state) { + case UNDEFINED: + break; + case SHOW_GET_HELP_BUTTON: + // grey button + titledGroupBg.setText(Res.get("portfolio.pending.support.headline.getHelp")); + label.setText(Res.get("portfolio.pending.support.text.getHelp")); + button.setText(Res.get("portfolio.pending.support.button.getHelp").toUpperCase()); + button.setId(null); + button.getStyleClass().remove("action-button"); + button.setDisable(false); + break; + case IN_MEDIATION_SELF_REQUESTED: + // red button + titledGroupBg.setText(Res.get("portfolio.pending.mediationRequested")); + label.setText(Res.get("portfolio.pending.disputeOpenedMyUser", Res.get("portfolio.pending.communicateWithMediator"))); + button.setText(Res.get("portfolio.pending.mediationRequested").toUpperCase()); + button.setId("open-dispute-button"); + button.getStyleClass().remove("action-button"); + button.setDisable(true); + break; + case IN_MEDIATION_PEER_REQUESTED: + // red button + titledGroupBg.setText(Res.get("portfolio.pending.mediationRequested")); + label.setText(Res.get("portfolio.pending.disputeOpenedByPeer", Res.get("portfolio.pending.communicateWithMediator"))); + button.setText(Res.get("portfolio.pending.mediationRequested").toUpperCase()); + button.setId("open-dispute-button"); + button.getStyleClass().remove("action-button"); + button.setDisable(true); + break; + case MEDIATION_RESULT: + // green button + titledGroupBg.setText(Res.get("portfolio.pending.mediationResult.headline")); + label.setText(Res.get("portfolio.pending.mediationResult.info.noneAccepted")); + button.setText(Res.get("portfolio.pending.mediationResult.button").toUpperCase()); + button.setId(null); + button.getStyleClass().add("action-button"); + button.setDisable(false); + break; + case MEDIATION_RESULT_SELF_ACCEPTED: + // green button deactivated + titledGroupBg.setText(Res.get("portfolio.pending.mediationResult.headline")); + label.setText(Res.get("portfolio.pending.mediationResult.info.selfAccepted")); + button.setText(Res.get("portfolio.pending.mediationResult.button").toUpperCase()); + button.setId(null); + button.getStyleClass().add("action-button"); + button.setDisable(false); + break; + case MEDIATION_RESULT_PEER_ACCEPTED: + // green button + titledGroupBg.setText(Res.get("portfolio.pending.mediationResult.headline")); + label.setText(Res.get("portfolio.pending.mediationResult.info.peerAccepted")); + button.setText(Res.get("portfolio.pending.mediationResult.button").toUpperCase()); + button.setId(null); + button.getStyleClass().add("action-button"); + button.setDisable(false); + break; + case IN_ARBITRATION_SELF_REQUESTED: + // red button + titledGroupBg.setText(Res.get("portfolio.pending.arbitrationRequested")); + label.setText(Res.get("portfolio.pending.disputeOpenedMyUser", Res.get("portfolio.pending.communicateWithArbitrator"))); + button.setText(Res.get("portfolio.pending.arbitrationRequested").toUpperCase()); + button.setId("open-dispute-button"); + button.getStyleClass().remove("action-button"); + button.setDisable(true); + break; + case IN_ARBITRATION_PEER_REQUESTED: + // red button + titledGroupBg.setText(Res.get("portfolio.pending.arbitrationRequested")); + label.setText(Res.get("portfolio.pending.disputeOpenedByPeer", Res.get("portfolio.pending.communicateWithArbitrator"))); + button.setText(Res.get("portfolio.pending.arbitrationRequested").toUpperCase()); + button.setId("open-dispute-button"); + button.getStyleClass().remove("action-button"); + button.setDisable(true); + break; + case WARN_HALF_PERIOD: + // orange button + titledGroupBg.setText(Res.get("portfolio.pending.support.headline.halfPeriodOver")); + label.setText(fistHalfOverWarnTextSupplier.get()); + button.setText(Res.get("portfolio.pending.openSupport").toUpperCase()); + button.setId(null); + button.getStyleClass().remove("action-button"); + button.setDisable(false); + break; + case WARN_PERIOD_OVER: + // red button + titledGroupBg.setText(Res.get("portfolio.pending.support.headline.periodOver")); + label.setText(periodOverWarnTextSupplier.get()); + button.setText(Res.get("portfolio.pending.openSupport").toUpperCase()); + button.setId("open-dispute-button"); + button.getStyleClass().remove("action-button"); + button.setDisable(false); + break; + } + + if (trade != null && trade.getPayoutTx() != null) { + button.setDisable(true); + } + } +} diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeSubView.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeSubView.java index 33c9d548595..84b6b81aa7b 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeSubView.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeSubView.java @@ -39,26 +39,24 @@ import org.fxmisc.easybind.Subscription; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import lombok.extern.slf4j.Slf4j; import static bisq.desktop.util.FormBuilder.addButtonAfterGroup; import static bisq.desktop.util.FormBuilder.addMultilineLabel; import static bisq.desktop.util.FormBuilder.addTitledGroupBg; +@Slf4j public abstract class TradeSubView extends HBox { - protected final Logger log = LoggerFactory.getLogger(this.getClass()); - protected final PendingTradesViewModel model; protected VBox leftVBox; private AnchorPane contentPane; private TradeStepView tradeStepView; - private AutoTooltipButton openDisputeButton; - private NotificationGroup notificationGroup; + protected TradeStepInfo tradeStepInfo; private GridPane leftGridPane; private TitledGroupBg tradeProcessTitledGroupBg; private int leftGridPaneRowIndex = 0; - protected Subscription viewStateSubscription; + Subscription viewStateSubscription; + /////////////////////////////////////////////////////////////////////////////////////////// // Constructor, Initialisation @@ -81,11 +79,8 @@ protected void deactivate() { if (tradeStepView != null) tradeStepView.deactivate(); - if (openDisputeButton != null) - leftGridPane.getChildren().remove(openDisputeButton); - - if (notificationGroup != null) - notificationGroup.removeItselfFrom(leftGridPane); + if (tradeStepInfo != null) + tradeStepInfo.removeItselfFrom(leftGridPane); } private void buildViews() { @@ -105,60 +100,25 @@ private void buildViews() { addWizards(); - TitledGroupBg noticeTitledGroupBg = addTitledGroupBg(leftGridPane, leftGridPaneRowIndex, 1, "", - 0); - noticeTitledGroupBg.getStyleClass().add("last"); - Label label = addMultilineLabel(leftGridPane, leftGridPaneRowIndex, "", - Layout.FIRST_ROW_DISTANCE); - openDisputeButton = (AutoTooltipButton) addButtonAfterGroup(leftGridPane, ++leftGridPaneRowIndex, Res.get("portfolio.pending.openDispute")); - GridPane.setColumnIndex(openDisputeButton, 0); - openDisputeButton.setId("open-dispute-button"); - - notificationGroup = new NotificationGroup(noticeTitledGroupBg, label, openDisputeButton); - notificationGroup.setLabelAndHeadlineVisible(false); - notificationGroup.setButtonVisible(false); - } - - public static class NotificationGroup { - public final TitledGroupBg titledGroupBg; - public final Label label; - public final AutoTooltipButton button; - - public NotificationGroup(TitledGroupBg titledGroupBg, Label label, AutoTooltipButton button) { - this.titledGroupBg = titledGroupBg; - this.label = label; - this.button = button; - } - - public void setLabelAndHeadlineVisible(boolean isVisible) { - titledGroupBg.setVisible(isVisible); - label.setVisible(isVisible); - titledGroupBg.setManaged(isVisible); - label.setManaged(isVisible); - } - - public void setButtonVisible(boolean isVisible) { - button.setVisible(isVisible); - button.setManaged(isVisible); - } - - public void removeItselfFrom(GridPane leftGridPane) { - leftGridPane.getChildren().remove(titledGroupBg); - leftGridPane.getChildren().remove(label); - leftGridPane.getChildren().remove(button); - } + TitledGroupBg titledGroupBg = addTitledGroupBg(leftGridPane, leftGridPaneRowIndex, 1, "", 30); + titledGroupBg.getStyleClass().add("last"); + Label label = addMultilineLabel(leftGridPane, leftGridPaneRowIndex, "", 30); + AutoTooltipButton button = (AutoTooltipButton) addButtonAfterGroup(leftGridPane, ++leftGridPaneRowIndex, ""); + tradeStepInfo = new TradeStepInfo(titledGroupBg, label, button); } - protected void showItem(TradeWizardItem item) { + void showItem(TradeWizardItem item) { item.setActive(); createAndAddTradeStepView(item.getViewClass()); } - abstract protected void addWizards(); + protected abstract void addWizards(); - abstract protected void onViewStateChanged(PendingTradesViewModel.State viewState); + protected void onViewStateChanged(PendingTradesViewModel.State viewState) { + tradeStepInfo.setTrade(model.getTrade()); + } - protected void addWizardsToGridPane(TradeWizardItem tradeWizardItem) { + void addWizardsToGridPane(TradeWizardItem tradeWizardItem) { if (leftGridPaneRowIndex == 0) GridPane.setMargin(tradeWizardItem, new Insets(Layout.FIRST_ROW_DISTANCE + Layout.FLOATING_LABEL_DISTANCE, 0, 0, 0)); @@ -168,7 +128,7 @@ protected void addWizardsToGridPane(TradeWizardItem tradeWizardItem) { GridPane.setFillWidth(tradeWizardItem, true); } - protected void addLineSeparatorToGridPane() { + void addLineSeparatorToGridPane() { final Separator separator = new Separator(Orientation.VERTICAL); separator.setMinHeight(22); GridPane.setMargin(separator, new Insets(0, 0, 0, 13)); @@ -183,7 +143,7 @@ private void createAndAddTradeStepView(Class viewClass) try { tradeStepView = viewClass.getDeclaredConstructor(PendingTradesViewModel.class).newInstance(model); contentPane.getChildren().setAll(tradeStepView); - tradeStepView.setNotificationGroup(notificationGroup); + tradeStepView.setTradeStepInfo(tradeStepInfo); tradeStepView.activate(); } catch (Exception e) { log.error("Creating viewClass {} caused an error {}", viewClass, e.getMessage()); diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java index 809b5302ea6..c9907478b98 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java @@ -20,28 +20,38 @@ import bisq.desktop.components.InfoTextField; import bisq.desktop.components.TitledGroupBg; import bisq.desktop.components.TxIdTextField; +import bisq.desktop.main.overlays.Overlay; import bisq.desktop.main.overlays.popups.Popup; import bisq.desktop.main.portfolio.pendingtrades.PendingTradesViewModel; -import bisq.desktop.main.portfolio.pendingtrades.TradeSubView; +import bisq.desktop.main.portfolio.pendingtrades.TradeStepInfo; import bisq.desktop.util.Layout; -import bisq.core.arbitration.Dispute; import bisq.core.locale.Res; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.DisputeResult; +import bisq.core.trade.Contract; import bisq.core.trade.Trade; +import bisq.core.user.DontShowAgainLookup; import bisq.core.user.Preferences; import bisq.common.ClockWatcher; +import bisq.common.UserThread; +import bisq.common.app.Version; import bisq.common.util.Tuple3; +import bisq.common.util.Utilities; import de.jensd.fx.fontawesome.AwesomeDude; import de.jensd.fx.fontawesome.AwesomeIcon; import com.jfoenix.controls.JFXProgressBar; +import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.control.ProgressBar; import javafx.scene.control.ScrollPane; import javafx.scene.control.TextField; +import javafx.scene.input.KeyCode; +import javafx.scene.input.KeyEvent; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.ColumnConstraints; import javafx.scene.layout.GridPane; @@ -56,6 +66,8 @@ import javafx.beans.value.ChangeListener; +import javafx.event.EventHandler; + import java.util.Optional; import org.slf4j.Logger; @@ -76,18 +88,21 @@ public abstract class TradeStepView extends AnchorPane { protected final Preferences preferences; protected final GridPane gridPane; - private Subscription disputeStateSubscription; - private Subscription tradePeriodStateSubscription; + private Subscription tradePeriodStateSubscription, disputeStateSubscription, mediationResultStateSubscription; protected int gridRow = 0; - protected TitledGroupBg tradeInfoTitledGroupBg; private TextField timeLeftTextField; private ProgressBar timeLeftProgressBar; private TxIdTextField txIdTextField; - protected TradeSubView.NotificationGroup notificationGroup; + private TradeStepInfo tradeStepInfo; private Subscription txIdSubscription; private ClockWatcher.Listener clockListener; private final ChangeListener errorMessageListener; protected Label infoLabel; + private Overlay acceptMediationResultPopup; + + // TODO remove before release. Only in for making dev testing easier + private EventHandler keyEventEventHandler; + private Scene scene; /////////////////////////////////////////////////////////////////////////////////////////// @@ -136,7 +151,7 @@ protected TradeStepView(PendingTradesViewModel model) { errorMessageListener = (observable, oldValue, newValue) -> { if (newValue != null) - showSupportFields(); + new Popup<>().error(newValue).show(); }; clockListener = new ClockWatcher.Listener() { @@ -149,9 +164,39 @@ public void onMinuteTick() { updateTimeLeft(); } }; + + // TODO remove before relase. Only in for making dev testing easier + if (Version.VERSION.equals("1.1.5")) { + keyEventEventHandler = keyEvent -> { + String key; + if (Utilities.isAltOrCtrlPressed(KeyCode.UP, keyEvent)) { + if (trade.getTradePeriodState() == Trade.TradePeriodState.FIRST_HALF) { + trade.setTradePeriodState(Trade.TradePeriodState.SECOND_HALF); + } else if (trade.getTradePeriodState() == Trade.TradePeriodState.SECOND_HALF) { + trade.setTradePeriodState(Trade.TradePeriodState.TRADE_PERIOD_OVER); + } + } else if (Utilities.isAltOrCtrlPressed(KeyCode.DOWN, keyEvent)) { + if (trade.getTradePeriodState() == Trade.TradePeriodState.TRADE_PERIOD_OVER) { + trade.setTradePeriodState(Trade.TradePeriodState.SECOND_HALF); + key = "displayTradePeriodOver" + trade.getId(); + DontShowAgainLookup.dontShowAgain(key, false); + } else if (trade.getTradePeriodState() == Trade.TradePeriodState.SECOND_HALF) { + trade.setTradePeriodState(Trade.TradePeriodState.FIRST_HALF); + key = "displayHalfTradePeriodOver" + trade.getId(); + DontShowAgainLookup.dontShowAgain(key, false); + } + } + }; + } } public void activate() { + // TODO remove before relase. Only in for making dev testing easier + scene = getScene(); + if (Version.VERSION.equals("1.1.5") && scene != null) { + getScene().addEventHandler(KeyEvent.KEY_RELEASED, keyEventEventHandler); + } + if (txIdTextField != null) { if (txIdSubscription != null) txIdSubscription.unsubscribe(); @@ -165,11 +210,26 @@ public void activate() { } trade.errorMessageProperty().addListener(errorMessageListener); + if (!isMediationClosedState()) { + tradeStepInfo.setOnAction(e -> { + new Popup<>().attention(Res.get("portfolio.pending.support.popup.info")) + .actionButtonText(Res.get("portfolio.pending.support.popup.button")) + .onAction(this::openSupportTicket) + .closeButtonText(Res.get("shared.cancel")) + .show(); + }); + } + disputeStateSubscription = EasyBind.subscribe(trade.disputeStateProperty(), newValue -> { if (newValue != null) updateDisputeState(newValue); }); + mediationResultStateSubscription = EasyBind.subscribe(trade.mediationResultStateProperty(), newValue -> { + if (newValue != null) + updateMediationResultState(); + }); + tradePeriodStateSubscription = EasyBind.subscribe(trade.tradePeriodStateProperty(), newValue -> { if (newValue != null) updateTradePeriodState(newValue); @@ -181,7 +241,17 @@ public void activate() { infoLabel.setText(getInfoText()); } + private void openSupportTicket() { + applyOnDisputeOpened(); + model.dataModel.onOpenDispute(); + } + public void deactivate() { + // TODO remove before relase. Only in for making dev testing easier + if (Version.VERSION.equals("1.1.5") && scene != null) { + scene.removeEventHandler(KeyEvent.KEY_RELEASED, keyEventEventHandler); + } + if (txIdSubscription != null) txIdSubscription.unsubscribe(); @@ -194,14 +264,17 @@ public void deactivate() { if (disputeStateSubscription != null) disputeStateSubscription.unsubscribe(); + if (mediationResultStateSubscription != null) + mediationResultStateSubscription.unsubscribe(); + if (tradePeriodStateSubscription != null) tradePeriodStateSubscription.unsubscribe(); if (clockListener != null) model.clockWatcher.removeListener(clockListener); - if (notificationGroup != null) - notificationGroup.button.setOnAction(null); + if (tradeStepInfo != null) + tradeStepInfo.setOnAction(null); } /////////////////////////////////////////////////////////////////////////////////////////// @@ -214,7 +287,7 @@ protected void addContent() { } protected void addTradeInfoBlock() { - tradeInfoTitledGroupBg = addTitledGroupBg(gridPane, gridRow, 3, + TitledGroupBg tradeInfoTitledGroupBg = addTitledGroupBg(gridPane, gridRow, 3, Res.get("portfolio.pending.tradeInformation")); GridPane.setColumnSpan(tradeInfoTitledGroupBg, 2); @@ -304,189 +377,242 @@ private void updateTimeLeft() { // We have the dispute button and text field on the left side, but we handle the content here as it // is trade state specific - public void setNotificationGroup(TradeSubView.NotificationGroup notificationGroup) { - this.notificationGroup = notificationGroup; - } + public void setTradeStepInfo(TradeStepInfo tradeStepInfo) { + this.tradeStepInfo = tradeStepInfo; - private void showDisputeInfoLabel() { - if (notificationGroup != null) - notificationGroup.setLabelAndHeadlineVisible(true); + tradeStepInfo.setFistHalfOverWarnTextSupplier(this::getFistHalfOverWarnText); + tradeStepInfo.setPeriodOverWarnTextSupplier(this::getPeriodOverWarnText); } - private void showOpenDisputeButton() { - if (notificationGroup != null) { - notificationGroup.setButtonVisible(true); - notificationGroup.button.setOnAction(e -> { - notificationGroup.button.setDisable(true); - onDisputeOpened(); - model.dataModel.onOpenDispute(); - }); - } - } - protected void setWarningHeadline() { - if (notificationGroup != null) { - notificationGroup.titledGroupBg.setText(Res.get("shared.warning")); - } + protected String getFistHalfOverWarnText() { + return ""; } - protected void setInformationHeadline() { - if (notificationGroup != null) { - notificationGroup.titledGroupBg.setText(Res.get("portfolio.pending.notification")); - } - } - protected void setOpenDisputeHeadline() { - if (notificationGroup != null) { - notificationGroup.titledGroupBg.setText(Res.get("portfolio.pending.openDispute")); - } - } + /////////////////////////////////////////////////////////////////////////////////////////// + // Dispute + /////////////////////////////////////////////////////////////////////////////////////////// - protected void setDisputeOpenedHeadline() { - if (notificationGroup != null) { - notificationGroup.titledGroupBg.setText(Res.get("portfolio.pending.disputeOpened")); - } + protected String getPeriodOverWarnText() { + return ""; } - protected void setRequestSupportHeadline() { - if (notificationGroup != null) { - notificationGroup.titledGroupBg.setText(Res.get("portfolio.pending.openSupport")); - } + protected void applyOnDisputeOpened() { } - protected void setSupportOpenedHeadline() { - if (notificationGroup != null) { - notificationGroup.titledGroupBg.setText(Res.get("portfolio.pending.supportTicketOpened")); - } - } + private void updateDisputeState(Trade.DisputeState disputeState) { + deactivatePaymentButtons(false); + Optional ownDispute; + switch (disputeState) { + case NO_DISPUTE: + break; + case DISPUTE_REQUESTED: + if (tradeStepInfo != null) { + tradeStepInfo.setFistHalfOverWarnTextSupplier(this::getFistHalfOverWarnText); + } + applyOnDisputeOpened(); - /////////////////////////////////////////////////////////////////////////////////////////// - // Support - /////////////////////////////////////////////////////////////////////////////////////////// + ownDispute = model.dataModel.arbitrationManager.findOwnDispute(trade.getId()); + ownDispute.ifPresent(dispute -> { + if (tradeStepInfo != null) + tradeStepInfo.setState(TradeStepInfo.State.IN_ARBITRATION_SELF_REQUESTED); + }); - private void showSupportFields() { - if (notificationGroup != null) { - notificationGroup.button.updateText(Res.get("portfolio.pending.requestSupport")); - notificationGroup.button.setId("open-support-button"); - notificationGroup.button.setOnAction(e -> model.dataModel.onOpenSupportTicket()); - } - new Popup<>().warning(trade.errorMessageProperty().getValue() - + "\n\n" + Res.get("portfolio.pending.error.requestSupport")) - .show(); + break; + case DISPUTE_STARTED_BY_PEER: + if (tradeStepInfo != null) { + tradeStepInfo.setFistHalfOverWarnTextSupplier(this::getFistHalfOverWarnText); + } + applyOnDisputeOpened(); - } + ownDispute = model.dataModel.arbitrationManager.findOwnDispute(trade.getId()); + ownDispute.ifPresent(dispute -> { + if (tradeStepInfo != null) + tradeStepInfo.setState(TradeStepInfo.State.IN_ARBITRATION_PEER_REQUESTED); + }); + break; + case DISPUTE_CLOSED: + break; + case MEDIATION_REQUESTED: + if (tradeStepInfo != null) { + tradeStepInfo.setFistHalfOverWarnTextSupplier(this::getFistHalfOverWarnText); + } + applyOnDisputeOpened(); - /////////////////////////////////////////////////////////////////////////////////////////// - // Warning - /////////////////////////////////////////////////////////////////////////////////////////// + ownDispute = model.dataModel.mediationManager.findOwnDispute(trade.getId()); + ownDispute.ifPresent(dispute -> { + if (tradeStepInfo != null) + tradeStepInfo.setState(TradeStepInfo.State.IN_MEDIATION_SELF_REQUESTED); + }); - private void showWarning() { - showDisputeInfoLabel(); + break; + case MEDIATION_STARTED_BY_PEER: + if (tradeStepInfo != null) { + tradeStepInfo.setFistHalfOverWarnTextSupplier(this::getFistHalfOverWarnText); + } + applyOnDisputeOpened(); - if (notificationGroup != null) - notificationGroup.label.setText(getWarningText()); - } + ownDispute = model.dataModel.mediationManager.findOwnDispute(trade.getId()); + ownDispute.ifPresent(dispute -> { + if (tradeStepInfo != null) { + tradeStepInfo.setState(TradeStepInfo.State.IN_MEDIATION_PEER_REQUESTED); + } + }); + break; + case MEDIATION_CLOSED: + deactivatePaymentButtons(true); - private void removeWarning() { - hideNotificationGroup(); - } + if (tradeStepInfo != null) { + tradeStepInfo.setOnAction(e -> { + updateMediationResultState(); + }); + } - protected String getWarningText() { - return ""; - } + if (tradeStepInfo != null) { + tradeStepInfo.setState(TradeStepInfo.State.MEDIATION_RESULT); + } - /////////////////////////////////////////////////////////////////////////////////////////// - // Dispute - /////////////////////////////////////////////////////////////////////////////////////////// + updateMediationResultState(); + break; + } + } - private void onOpenForDispute() { - showDisputeInfoLabel(); - showOpenDisputeButton(); - setOpenDisputeHeadline(); + private void updateMediationResultState() { + if (isInArbitration()) { + if (isArbitrationStartedByPeer()) { + tradeStepInfo.setState(TradeStepInfo.State.IN_ARBITRATION_PEER_REQUESTED); + } else if (isArbitrationSelfStarted()) { + tradeStepInfo.setState(TradeStepInfo.State.IN_ARBITRATION_SELF_REQUESTED); + } + } else if (isMediationClosedState()) { + // We do not use the state itself as it is not guaranteed the last state reflects relevant information + // (e.g. we might receive a RECEIVED_SIG_MSG but then later a SIG_MSG_IN_MAILBOX). + if (hasSelfAccepted()) { + tradeStepInfo.setState(TradeStepInfo.State.MEDIATION_RESULT_SELF_ACCEPTED); + openMediationResultPopup(Res.get("portfolio.pending.mediationResult.popup.headline", trade.getShortId())); + } else if (peerAccepted()) { + tradeStepInfo.setState(TradeStepInfo.State.MEDIATION_RESULT_PEER_ACCEPTED); + if (acceptMediationResultPopup == null) { + openMediationResultPopup(Res.get("portfolio.pending.mediationResult.popup.headline.peerAccepted", trade.getShortId())); + } + } else { + tradeStepInfo.setState(TradeStepInfo.State.MEDIATION_RESULT); + openMediationResultPopup(Res.get("portfolio.pending.mediationResult.popup.headline", trade.getShortId())); + } + } + } - if (notificationGroup != null) - notificationGroup.label.setText(getOpenForDisputeText()); + private boolean isInArbitration() { + return isArbitrationStartedByPeer() || isArbitrationSelfStarted(); } - private void onDisputeOpened() { - showDisputeInfoLabel(); - showOpenDisputeButton(); - applyOnDisputeOpened(); - setDisputeOpenedHeadline(); + private boolean isArbitrationStartedByPeer() { + return trade.getDisputeState() == Trade.DisputeState.DISPUTE_STARTED_BY_PEER; + } - if (notificationGroup != null) - notificationGroup.button.setDisable(true); + private boolean isArbitrationSelfStarted() { + return trade.getDisputeState() == Trade.DisputeState.DISPUTE_REQUESTED; } - protected String getOpenForDisputeText() { - return ""; + private boolean isMediationClosedState() { + return trade.getDisputeState() == Trade.DisputeState.MEDIATION_CLOSED; } - protected void applyOnDisputeOpened() { + private boolean hasSelfAccepted() { + return trade.getProcessModel().getMediatedPayoutTxSignature() != null; } - protected void hideNotificationGroup() { - notificationGroup.setLabelAndHeadlineVisible(false); - notificationGroup.setButtonVisible(false); + private boolean peerAccepted() { + return trade.getProcessModel().getTradingPeer().getMediatedPayoutTxSignature() != null; } - private void updateDisputeState(Trade.DisputeState disputeState) { - Optional ownDispute; - switch (disputeState) { - case NO_DISPUTE: - break; - case DISPUTE_REQUESTED: - onDisputeOpened(); - ownDispute = model.dataModel.disputeManager.findOwnDispute(trade.getId()); - ownDispute.ifPresent(dispute -> { - String msg; - if (dispute.isSupportTicket()) { - setSupportOpenedHeadline(); - msg = Res.get("portfolio.pending.supportTicketOpenedMyUser", Res.get("portfolio.pending.communicateWithArbitrator")); - } else { - setDisputeOpenedHeadline(); - msg = Res.get("portfolio.pending.disputeOpenedMyUser", Res.get("portfolio.pending.communicateWithArbitrator")); - } - if (notificationGroup != null) - notificationGroup.label.setText(msg); - }); + private void openMediationResultPopup(String headLine) { + if (acceptMediationResultPopup != null) { + return; + } - break; - case DISPUTE_STARTED_BY_PEER: - onDisputeOpened(); - ownDispute = model.dataModel.disputeManager.findOwnDispute(trade.getId()); - ownDispute.ifPresent(dispute -> { - String msg; - if (dispute.isSupportTicket()) { - setSupportOpenedHeadline(); - msg = Res.get("portfolio.pending.supportTicketOpenedByPeer", Res.get("portfolio.pending.communicateWithArbitrator")); - } else { - setDisputeOpenedHeadline(); - msg = Res.get("portfolio.pending.disputeOpenedByPeer", Res.get("portfolio.pending.communicateWithArbitrator")); - } - if (notificationGroup != null) - notificationGroup.label.setText(msg); - }); - break; - case DISPUTE_CLOSED: - break; + Optional optionalDispute = model.dataModel.mediationManager.findDispute(trade.getId()); + if (!optionalDispute.isPresent()) { + return; } + + if (trade.getPayoutTx() != null) { + return; + } + + DisputeResult disputeResult = optionalDispute.get().getDisputeResultProperty().get(); + Contract contract = checkNotNull(trade.getContract(), "contract must not be null"); + boolean isMyRoleBuyer = contract.isMyRoleBuyer(model.dataModel.getPubKeyRing()); + String buyerPayoutAmount = model.btcFormatter.formatCoinWithCode(disputeResult.getBuyerPayoutAmount()); + String sellerPayoutAmount = model.btcFormatter.formatCoinWithCode(disputeResult.getSellerPayoutAmount()); + String myPayoutAmount = isMyRoleBuyer ? buyerPayoutAmount : sellerPayoutAmount; + String peersPayoutAmount = isMyRoleBuyer ? sellerPayoutAmount : buyerPayoutAmount; + + acceptMediationResultPopup = new Popup<>().width(900) + .headLine(headLine) + .instruction(Res.get("portfolio.pending.mediationResult.popup.info", + myPayoutAmount, peersPayoutAmount)) + .actionButtonText(Res.get("shared.accept")) + .onAction(() -> { + model.dataModel.mediationManager.acceptMediationResult(trade, + () -> { + log.info("onAcceptMediationResult completed"); + acceptMediationResultPopup = null; + }, + errorMessage -> { + UserThread.execute(() -> { + new Popup<>().error(errorMessage).show(); + if (acceptMediationResultPopup != null) { + acceptMediationResultPopup.hide(); + acceptMediationResultPopup = null; + } + }); + }); + }) + .secondaryActionButtonText(Res.get("portfolio.pending.mediationResult.popup.openArbitration")) + .onSecondaryAction(() -> { + model.dataModel.mediationManager.rejectMediationResult(trade); + model.dataModel.onOpenDispute(); + acceptMediationResultPopup = null; + }) + .onClose(() -> { + acceptMediationResultPopup = null; + }); + + acceptMediationResultPopup.show(); + } + + protected void deactivatePaymentButtons(boolean isDisabled) { } private void updateTradePeriodState(Trade.TradePeriodState tradePeriodState) { - if (trade.getDisputeState() != Trade.DisputeState.DISPUTE_REQUESTED && - trade.getDisputeState() != Trade.DisputeState.DISPUTE_STARTED_BY_PEER) { + if (trade.getDisputeState() == Trade.DisputeState.NO_DISPUTE) { switch (tradePeriodState) { case FIRST_HALF: + // just for dev testing. not possible to go back in time ;-) + if (tradeStepInfo.getState() == TradeStepInfo.State.WARN_PERIOD_OVER) { + tradeStepInfo.setState(TradeStepInfo.State.WARN_HALF_PERIOD); + } else if (tradeStepInfo.getState() == TradeStepInfo.State.WARN_HALF_PERIOD) { + tradeStepInfo.setState(TradeStepInfo.State.SHOW_GET_HELP_BUTTON); + tradeStepInfo.setFistHalfOverWarnTextSupplier(this::getFistHalfOverWarnText); + } break; case SECOND_HALF: - if (!trade.isFiatReceived()) - showWarning(); - else - removeWarning(); + if (!trade.isFiatReceived()) { + if (tradeStepInfo != null) { + tradeStepInfo.setFistHalfOverWarnTextSupplier(this::getFistHalfOverWarnText); + tradeStepInfo.setState(TradeStepInfo.State.WARN_HALF_PERIOD); + } + } else { + tradeStepInfo.setState(TradeStepInfo.State.SHOW_GET_HELP_BUTTON); + } break; case TRADE_PERIOD_OVER: - onOpenForDispute(); + if (tradeStepInfo != null) { + tradeStepInfo.setFistHalfOverWarnTextSupplier(this::getPeriodOverWarnText); + tradeStepInfo.setState(TradeStepInfo.State.WARN_PERIOD_OVER); + } break; } } diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep1View.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep1View.java index 0ba9900dcda..ab62f1d42b2 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep1View.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep1View.java @@ -51,8 +51,7 @@ protected String getInfoText() { /////////////////////////////////////////////////////////////////////////////////////////// @Override - protected String getWarningText() { - setWarningHeadline(); + protected String getFistHalfOverWarnText() { return Res.get("portfolio.pending.step1.warn"); } @@ -61,7 +60,7 @@ protected String getWarningText() { /////////////////////////////////////////////////////////////////////////////////////////// @Override - protected String getOpenForDisputeText() { + protected String getPeriodOverWarnText() { return Res.get("portfolio.pending.step1.openForDispute"); } } diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep2View.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep2View.java index 9c12794ede0..0ff9f97de88 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep2View.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep2View.java @@ -337,8 +337,7 @@ protected void addContent() { /////////////////////////////////////////////////////////////////////////////////////////// @Override - protected String getWarningText() { - setWarningHeadline(); + protected String getFistHalfOverWarnText() { return Res.get("portfolio.pending.step2_buyer.warn", model.dataModel.getCurrencyCode(), model.getDateForOpenDispute()); @@ -349,26 +348,22 @@ protected String getWarningText() { /////////////////////////////////////////////////////////////////////////////////////////// @Override - protected String getOpenForDisputeText() { + protected String getPeriodOverWarnText() { return Res.get("portfolio.pending.step2_buyer.openForDispute"); } @Override protected void applyOnDisputeOpened() { - // confirmButton.setDisable(true); } /////////////////////////////////////////////////////////////////////////////////////////// // UI Handlers /////////////////////////////////////////////////////////////////////////////////////////// - @SuppressWarnings("PointlessBooleanExpression") private void onPaymentStarted() { - if (model.p2PService.isBootstrapped()) { + if (model.dataModel.isBootstrappedOrShowPopup()) { if (model.dataModel.getSellersPaymentAccountPayload() instanceof CashDepositAccountPayload) { - //noinspection UnusedAssignment String key = "confirmPaperReceiptSent"; - //noinspection ConstantConditions if (!DevEnv.isDevMode() && DontShowAgainLookup.showAgain(key)) { Popup popup = new Popup<>(); popup.headLine(Res.get("portfolio.pending.step2_buyer.paperReceipt.headline")) @@ -382,8 +377,6 @@ private void onPaymentStarted() { showConfirmPaymentStartedPopup(); } } else if (model.dataModel.getSellersPaymentAccountPayload() instanceof WesternUnionAccountPayload) { - //noinspection UnusedAssignment - //noinspection ConstantConditions String key = "westernUnionMTCNSent"; if (!DevEnv.isDevMode() && DontShowAgainLookup.showAgain(key)) { String email = ((WesternUnionAccountPayload) model.dataModel.getSellersPaymentAccountPayload()).getEmail(); @@ -400,8 +393,6 @@ private void onPaymentStarted() { showConfirmPaymentStartedPopup(); } } else if (model.dataModel.getSellersPaymentAccountPayload() instanceof MoneyGramAccountPayload) { - //noinspection UnusedAssignment - //noinspection ConstantConditions String key = "moneyGramMTCNSent"; if (!DevEnv.isDevMode() && DontShowAgainLookup.showAgain(key)) { String email = ((MoneyGramAccountPayload) model.dataModel.getSellersPaymentAccountPayload()).getEmail(); @@ -418,8 +409,6 @@ private void onPaymentStarted() { showConfirmPaymentStartedPopup(); } } else if (model.dataModel.getSellersPaymentAccountPayload() instanceof HalCashAccountPayload) { - //noinspection UnusedAssignment - //noinspection ConstantConditions String key = "halCashCodeInfo"; if (!DevEnv.isDevMode() && DontShowAgainLookup.showAgain(key)) { String mobileNr = ((HalCashAccountPayload) model.dataModel.getSellersPaymentAccountPayload()).getMobileNr(); @@ -439,16 +428,11 @@ private void onPaymentStarted() { } else { showConfirmPaymentStartedPopup(); } - } else { - new Popup<>().information(Res.get("popup.warning.notFullyConnected")).show(); } } - @SuppressWarnings("PointlessBooleanExpression") private void showConfirmPaymentStartedPopup() { - //noinspection UnusedAssignment String key = "confirmPaymentStarted"; - //noinspection ConstantConditions if (!DevEnv.isDevMode() && DontShowAgainLookup.showAgain(key)) { Popup popup = new Popup<>(); popup.headLine(Res.get("portfolio.pending.step2_buyer.confirmStart.headline")) @@ -486,7 +470,6 @@ private void confirmPaymentStarted() { }); } - @SuppressWarnings("PointlessBooleanExpression") private void showPopup() { PaymentAccountPayload paymentAccountPayload = model.dataModel.getSellersPaymentAccountPayload(); if (paymentAccountPayload != null) { @@ -502,7 +485,6 @@ private void showPopup() { String paddedId = " " + id + " "; String amount = model.btcFormatter.formatVolumeWithCode(trade.getTradeVolume()); if (paymentAccountPayload instanceof AssetsAccountPayload) { - //noinspection UnusedAssignment message += Res.get("portfolio.pending.step2_buyer.altcoin", CurrencyUtil.getNameByCode(trade.getOffer().getCurrencyCode()), amount) + @@ -510,7 +492,6 @@ private void showPopup() { paymentDetailsForTradePopup + ".\n\n" + copyPaste; } else if (paymentAccountPayload instanceof CashDepositAccountPayload) { - //noinspection UnusedAssignment message += Res.get("portfolio.pending.step2_buyer.cash", amount) + accountDetails + @@ -540,7 +521,6 @@ private void showPopup() { copyPaste + "\n\n" + extra; } else if (paymentAccountPayload instanceof USPostalMoneyOrderAccountPayload) { - //noinspection UnusedAssignment message += Res.get("portfolio.pending.step2_buyer.postal", amount) + accountDetails + paymentDetailsForTradePopup + ".\n\n" + @@ -549,19 +529,16 @@ private void showPopup() { assign + refTextWarn; } else if (paymentAccountPayload instanceof F2FAccountPayload) { - //noinspection UnusedAssignment message += Res.get("portfolio.pending.step2_buyer.f2f", amount) + accountDetails + paymentDetailsForTradePopup + "\n\n" + copyPaste; } else if (paymentAccountPayload instanceof HalCashAccountPayload) { - //noinspection UnusedAssignment message += Res.get("portfolio.pending.step2_buyer.bank", amount) + accountDetails + paymentDetailsForTradePopup + ".\n\n" + copyPaste; } else if (paymentAccountPayload instanceof FasterPaymentsAccountPayload) { - //noinspection UnusedAssignment message += Res.get("portfolio.pending.step2_buyer.bank", amount) + accountDetails + paymentDetailsForTradePopup + ".\n\n" + @@ -572,7 +549,6 @@ private void showPopup() { refTextWarn + "\n\n" + fees; } else { - //noinspection UnusedAssignment message += Res.get("portfolio.pending.step2_buyer.bank", amount) + accountDetails + paymentDetailsForTradePopup + ".\n\n" + @@ -582,9 +558,7 @@ private void showPopup() { refTextWarn + "\n\n" + fees; } - //noinspection ConstantConditions,UnusedAssignment String key = "startPayment" + trade.getId(); - //noinspection ConstantConditions,ConstantConditions if (!DevEnv.isDevMode() && DontShowAgainLookup.showAgain(key)) { DontShowAgainLookup.dontShowAgain(key, true); new Popup<>().headLine(Res.get("popup.attention.forTradeWithId", id)) @@ -593,4 +567,9 @@ private void showPopup() { } } } + + @Override + protected void deactivatePaymentButtons(boolean isDisabled) { + confirmButton.setDisable(isDisabled); + } } diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep3View.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep3View.java index 457ea53bd26..115ee91e3b1 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep3View.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep3View.java @@ -28,7 +28,6 @@ import de.jensd.fx.fontawesome.AwesomeIcon; import javafx.scene.control.Label; -import javafx.scene.paint.Paint; import javafx.beans.value.ChangeListener; @@ -129,12 +128,11 @@ private void updateMessageStateInfo() { /////////////////////////////////////////////////////////////////////////////////////////// @Override - protected String getWarningText() { - setInformationHeadline(); + protected String getFistHalfOverWarnText() { String substitute = model.isBlockChainMethod() ? Res.get("portfolio.pending.step3_buyer.warn.part1a", model.dataModel.getCurrencyCode()) : Res.get("portfolio.pending.step3_buyer.warn.part1b"); - return Res.get("portfolio.pending.step3_buyer.warn.part2", substitute, model.getDateForOpenDispute()); + return Res.get("portfolio.pending.step3_buyer.warn.part2", substitute); } /////////////////////////////////////////////////////////////////////////////////////////// @@ -142,7 +140,7 @@ protected String getWarningText() { /////////////////////////////////////////////////////////////////////////////////////////// @Override - protected String getOpenForDisputeText() { + protected String getPeriodOverWarnText() { return Res.get("portfolio.pending.step3_buyer.openForDispute"); } diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java index 96d94c4c668..483e26f17b4 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java @@ -80,48 +80,23 @@ public class BuyerStep4View extends TradeStepView { public BuyerStep4View(PendingTradesViewModel model) { super(model); - - /* focusedPropertyListener = (ov, oldValue, newValue) -> { - if (oldValue && !newValue) - model.withdrawAddressFocusOut(withdrawAddressTextField.getText()); - };*/ } @Override public void activate() { super.activate(); - - // TODO valid. handler need improvement - //withdrawAddressTextField.focusedProperty().addListener(focusedPropertyListener); - //withdrawAddressTextField.setValidator(model.getBtcAddressValidator()); - // withdrawButton.disableProperty().bind(model.getWithdrawalButtonDisable()); - - // We need to handle both cases: Address not set and address already set (when returning from other view) - // We get address validation after focus out, so first make sure we loose focus and then set it again as hint for user to put address in - //TODO app wide focus - /* UserThread.execute(() -> { - withdrawAddressTextField.requestFocus(); - UserThread.execute(() -> { - this.requestFocus(); - UserThread.execute(() -> withdrawAddressTextField.requestFocus()); - }); - });*/ - - hideNotificationGroup(); } @Override public void deactivate() { super.deactivate(); - //withdrawAddressTextField.focusedProperty().removeListener(focusedPropertyListener); - // withdrawButton.disableProperty().unbind(); } + /////////////////////////////////////////////////////////////////////////////////////////// // Content /////////////////////////////////////////////////////////////////////////////////////////// - @SuppressWarnings("PointlessBooleanExpression") @Override protected void addContent() { gridPane.getColumnConstraints().get(1).setHgrow(Priority.SOMETIMES); @@ -164,7 +139,6 @@ protected void addContent() { withdrawToExternalWalletButton.setOnAction(e -> onWithdrawal()); String key = "tradeCompleted" + trade.getId(); - //noinspection ConstantConditions if (!DevEnv.isDevMode() && DontShowAgainLookup.showAgain(key)) { DontShowAgainLookup.dontShowAgain(key, true); new Notification().headLine(Res.get("notification.tradeCompleted.headline")) @@ -184,15 +158,13 @@ private void onWithdrawal() { useSavingsWalletButton.getStyleClass().remove("action-button"); withdrawToExternalWalletButton.setOnAction(e -> { - if (model.dataModel.isReadyForTxBroadcast()) + if (model.dataModel.isReadyForTxBroadcast()) { reviewWithdrawal(); - else - model.dataModel.showNotReadyForTxBroadcastPopups(); + } }); } - @SuppressWarnings("PointlessBooleanExpression") private void reviewWithdrawal() { Coin amount = trade.getPayoutAmount(); BtcWalletService walletService = model.dataModel.btcWalletService; @@ -205,7 +177,6 @@ private void reviewWithdrawal() { try { Transaction feeEstimationTransaction = walletService.getFeeEstimationTransaction(fromAddresses, toAddresses, amount, AddressEntry.Context.TRADE_PAYOUT); Coin fee = feeEstimationTransaction.getFee(); - //noinspection UnusedAssignment Coin receiverAmount = amount.subtract(fee); if (balance.isZero()) { new Popup<>().warning(Res.get("portfolio.pending.step5_buyer.alreadyWithdrawn")).show(); @@ -273,7 +244,12 @@ private void doWithdrawal(Coin amount, Coin fee) { doWithdrawRequest(toAddress, amount, fee, null, resultHandler, faultHandler); } - private void doWithdrawRequest(String toAddress, Coin amount, Coin fee, KeyParameter aesKey, ResultHandler resultHandler, FaultHandler faultHandler) { + private void doWithdrawRequest(String toAddress, + Coin amount, + Coin fee, + KeyParameter aesKey, + ResultHandler resultHandler, + FaultHandler faultHandler) { useSavingsWalletButton.setDisable(true); withdrawToExternalWalletButton.setDisable(true); model.dataModel.onWithdrawRequest(toAddress, @@ -284,7 +260,6 @@ private void doWithdrawRequest(String toAddress, Coin amount, Coin fee, KeyParam faultHandler); } - @SuppressWarnings("PointlessBooleanExpression") private void handleTradeCompleted() { useSavingsWalletButton.setDisable(true); withdrawToExternalWalletButton.setDisable(true); diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep1View.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep1View.java index 75be150a72d..9e50fc4fb5a 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep1View.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep1View.java @@ -51,8 +51,7 @@ protected String getInfoText() { /////////////////////////////////////////////////////////////////////////////////////////// @Override - protected String getWarningText() { - setWarningHeadline(); + protected String getFistHalfOverWarnText() { return Res.get("portfolio.pending.step1.warn"); } @@ -61,7 +60,7 @@ protected String getWarningText() { /////////////////////////////////////////////////////////////////////////////////////////// @Override - protected String getOpenForDisputeText() { + protected String getPeriodOverWarnText() { return Res.get("portfolio.pending.step1.openForDispute"); } } diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep2View.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep2View.java index 91db9d87bc3..2b85a5bfe7a 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep2View.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep2View.java @@ -70,8 +70,7 @@ protected String getInfoText() { /////////////////////////////////////////////////////////////////////////////////////////// @Override - protected String getWarningText() { - setInformationHeadline(); + protected String getFistHalfOverWarnText() { return Res.get("portfolio.pending.step2_seller.warn", model.dataModel.getCurrencyCode(), model.getDateForOpenDispute()); @@ -83,7 +82,7 @@ protected String getWarningText() { /////////////////////////////////////////////////////////////////////////////////////////// @Override - protected String getOpenForDisputeText() { + protected String getPeriodOverWarnText() { return Res.get("portfolio.pending.step2_seller.openForDispute"); } diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep3View.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep3View.java index 846e6d33747..e9514dccbb4 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep3View.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep3View.java @@ -246,12 +246,11 @@ protected String getInfoText() { /////////////////////////////////////////////////////////////////////////////////////////// @Override - protected String getWarningText() { - setWarningHeadline(); + protected String getFistHalfOverWarnText() { String substitute = model.isBlockChainMethod() ? Res.get("portfolio.pending.step3_seller.warn.part1a", model.dataModel.getCurrencyCode()) : Res.get("portfolio.pending.step3_seller.warn.part1b"); - return Res.get("portfolio.pending.step3_seller.warn.part2", substitute, model.getDateForOpenDispute()); + return Res.get("portfolio.pending.step3_seller.warn.part2", substitute); } @@ -261,27 +260,23 @@ protected String getWarningText() { /////////////////////////////////////////////////////////////////////////////////////////// @Override - protected String getOpenForDisputeText() { + protected String getPeriodOverWarnText() { return Res.get("portfolio.pending.step3_seller.openForDispute"); } @Override protected void applyOnDisputeOpened() { - // confirmButton.setDisable(true); } //////////////////////////////////////////////////////////////////////////////////////// // UI Handlers /////////////////////////////////////////////////////////////////////////////////////////// - @SuppressWarnings("PointlessBooleanExpression") private void onPaymentReceived() { // The confirmPaymentReceived call will trigger the trade protocol to do the payout tx. We want to be sure that we // are well connected to the Bitcoin network before triggering the broadcast. if (model.dataModel.isReadyForTxBroadcast()) { - //noinspection UnusedAssignment String key = "confirmPaymentReceived"; - //noinspection ConstantConditions if (!DevEnv.isDevMode() && DontShowAgainLookup.showAgain(key)) { PaymentAccountPayload paymentAccountPayload = model.dataModel.getSellersPaymentAccountPayload(); String message = Res.get("portfolio.pending.step3_seller.onPaymentReceived.part1", CurrencyUtil.getNameByCode(model.dataModel.getCurrencyCode())); @@ -309,15 +304,11 @@ private void onPaymentReceived() { } else { confirmPaymentReceived(); } - } else { - model.dataModel.showNotReadyForTxBroadcastPopups(); } } - @SuppressWarnings("PointlessBooleanExpression") private void showPopup() { PaymentAccountPayload paymentAccountPayload = model.dataModel.getSellersPaymentAccountPayload(); - //noinspection UnusedAssignment String key = "confirmPayment" + trade.getId(); String message = ""; String tradeVolumeWithCode = model.btcFormatter.formatVolumeWithCode(trade.getTradeVolume()); @@ -329,7 +320,6 @@ private void showPopup() { String explorerOrWalletString = trade.getOffer().getCurrencyCode().equals("XMR") ? Res.get("portfolio.pending.step3_seller.altcoin.wallet", currencyName) : Res.get("portfolio.pending.step3_seller.altcoin.explorer", currencyName); - //noinspection UnusedAssignment message = Res.get("portfolio.pending.step3_seller.altcoin", part1, explorerOrWalletString, address, tradeVolumeWithCode, currencyName); } else { if (paymentAccountPayload instanceof USPostalMoneyOrderAccountPayload) { @@ -354,11 +344,9 @@ else if (paymentAccountPayload instanceof F2FAccountPayload) Optional optionalHolderName = getOptionalHolderName(); if (optionalHolderName.isPresent()) { - //noinspection UnusedAssignment message = message + Res.get("portfolio.pending.step3_seller.bankCheck", optionalHolderName.get(), part); } } - //noinspection ConstantConditions if (!DevEnv.isDevMode() && DontShowAgainLookup.showAgain(key)) { DontShowAgainLookup.dontShowAgain(key, true); new Popup<>().headLine(Res.get("popup.attention.forTradeWithId", id)) @@ -403,6 +391,11 @@ else if (paymentAccountPayload instanceof SepaInstantAccountPayload) return Optional.empty(); } } + + @Override + protected void deactivatePaymentButtons(boolean isDisabled) { + confirmButton.setDisable(isDisabled); + } } diff --git a/desktop/src/main/java/bisq/desktop/main/presentation/MarketPricePresentation.java b/desktop/src/main/java/bisq/desktop/main/presentation/MarketPricePresentation.java index 870304ecf60..f28757ccf2c 100644 --- a/desktop/src/main/java/bisq/desktop/main/presentation/MarketPricePresentation.java +++ b/desktop/src/main/java/bisq/desktop/main/presentation/MarketPricePresentation.java @@ -19,7 +19,7 @@ import bisq.desktop.components.BalanceWithConfirmationTextField; import bisq.desktop.components.TxIdTextField; -import bisq.desktop.main.PriceFeedComboBoxItem; +import bisq.desktop.main.shared.PriceFeedComboBoxItem; import bisq.desktop.util.GUIUtil; import bisq.core.btc.wallet.BtcWalletService; @@ -87,7 +87,6 @@ public class MarketPricePresentation { // Constructor /////////////////////////////////////////////////////////////////////////////////////////// - @SuppressWarnings("WeakerAccess") @Inject public MarketPricePresentation(BtcWalletService btcWalletService, PriceFeedService priceFeedService, diff --git a/desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesViewModel.java b/desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesViewModel.java index db7febe0923..2f794b7d841 100644 --- a/desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesViewModel.java +++ b/desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesViewModel.java @@ -20,8 +20,8 @@ import bisq.desktop.common.model.ActivatableViewModel; -import bisq.core.arbitration.ArbitratorManager; import bisq.core.locale.LanguageUtil; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; import bisq.core.user.Preferences; import com.google.inject.Inject; @@ -40,11 +40,11 @@ public PreferencesViewModel(Preferences preferences, ArbitratorManager arbitrato } boolean needsArbitrationLanguageWarning() { - return !arbitratorManager.isArbitratorAvailableForLanguage(preferences.getUserLanguage()); + return !arbitratorManager.isAgentAvailableForLanguage(preferences.getUserLanguage()); } String getArbitrationLanguages() { - return arbitratorManager.getArbitratorsObservableMap().values().stream() + return arbitratorManager.getObservableMap().values().stream() .flatMap(arbitrator -> arbitrator.getLanguageCodes().stream()) .distinct() .map(languageCode -> LanguageUtil.getDisplayName(languageCode)) diff --git a/desktop/src/main/java/bisq/desktop/main/Chat/Chat.java b/desktop/src/main/java/bisq/desktop/main/shared/ChatView.java similarity index 80% rename from desktop/src/main/java/bisq/desktop/main/Chat/Chat.java rename to desktop/src/main/java/bisq/desktop/main/shared/ChatView.java index d6a10383684..356dbddcdff 100644 --- a/desktop/src/main/java/bisq/desktop/main/Chat/Chat.java +++ b/desktop/src/main/java/bisq/desktop/main/shared/ChatView.java @@ -15,7 +15,7 @@ * along with Bisq. If not, see . */ -package bisq.desktop.main.Chat; +package bisq.desktop.main.shared; import bisq.desktop.components.AutoTooltipButton; import bisq.desktop.components.AutoTooltipLabel; @@ -26,22 +26,17 @@ import bisq.desktop.main.overlays.popups.Popup; import bisq.desktop.util.GUIUtil; -import bisq.core.arbitration.Attachment; -import bisq.core.arbitration.messages.DisputeCommunicationMessage; -import bisq.core.chat.ChatManager; -import bisq.core.chat.ChatSession; import bisq.core.locale.Res; -import bisq.core.trade.TradeChatSession; +import bisq.core.support.SupportManager; +import bisq.core.support.SupportSession; +import bisq.core.support.dispute.Attachment; +import bisq.core.support.messages.ChatMessage; import bisq.core.util.BSFormatter; -import bisq.network.p2p.NodeAddress; -import bisq.network.p2p.P2PService; -import bisq.network.p2p.SendMailboxMessageListener; import bisq.network.p2p.network.Connection; import bisq.common.Timer; import bisq.common.UserThread; -import bisq.common.crypto.PubKeyRing; import bisq.common.util.Utilities; import com.google.common.io.ByteStreams; @@ -95,6 +90,7 @@ import java.util.Comparator; import java.util.Date; import java.util.List; +import java.util.Optional; import java.util.concurrent.TimeUnit; import org.slf4j.Logger; @@ -105,13 +101,13 @@ import javax.annotation.Nullable; -public class Chat extends AnchorPane { +public class ChatView extends AnchorPane { public static final Logger log = LoggerFactory.getLogger(TextFieldWithIcon.class); // UI private TextArea inputTextArea; private Button sendButton; - private ListView messageListView; + private ListView messageListView; private Label sendMsgInfoLabel; private BusyAnimation sendMsgBusyAnimation; private TableGroupHeadline tableGroupHeadline; @@ -128,10 +124,9 @@ public class Chat extends AnchorPane { boolean displayHeader; // Communication stuff, to be renamed to something more generic - private final P2PService p2PService; - private DisputeCommunicationMessage disputeCommunicationMessage; - private ObservableList disputeCommunicationMessages; - private ListChangeListener disputeDirectMessageListListener; + private ChatMessage chatMessage; + private ObservableList chatMessages; + private ListChangeListener disputeDirectMessageListListener; private Subscription inputTextAreaTextSubscription; private final List tempAttachments = new ArrayList<>(); private ChangeListener storedInMailboxPropertyListener, arrivedPropertyListener; @@ -139,12 +134,12 @@ public class Chat extends AnchorPane { protected final BSFormatter formatter; private EventHandler keyEventEventHandler; - private ChatManager chatManager; + private SupportManager supportManager; + private Optional optionalSupportSession = Optional.empty(); - public Chat(ChatManager chatManager, BSFormatter formatter) { - this.chatManager = chatManager; + public ChatView(SupportManager supportManager, BSFormatter formatter) { + this.supportManager = supportManager; this.formatter = formatter; - this.p2PService = chatManager.getP2PService(); allowAttachments = true; displayHeader = true; } @@ -154,8 +149,11 @@ public void initialize() { keyEventEventHandler = event -> { if (Utilities.isAltOrCtrlPressed(KeyCode.ENTER, event)) { - if (chatManager.getChatSession().chatIsOpen() && inputTextArea.isFocused()) - onTrySendMessage(); + optionalSupportSession.ifPresent(supportSession -> { + if (supportSession.chatIsOpen() && inputTextArea.isFocused()) { + onTrySendMessage(); + } + }); } }; } @@ -169,10 +167,15 @@ public void deactivate() { removeListenersOnSessionChange(); } - public void display(ChatSession chatSession, @Nullable Button extraButton, + public void display(SupportSession supportSession, ReadOnlyDoubleProperty widthProperty) { + display(supportSession, null, widthProperty); + } + + public void display(SupportSession supportSession, + @Nullable Button extraButton, ReadOnlyDoubleProperty widthProperty) { + optionalSupportSession = Optional.of(supportSession); removeListenersOnSessionChange(); - chatManager.setChatSession(chatSession); this.getChildren().clear(); this.extraButton = extraButton; this.widthProperty = widthProperty; @@ -185,8 +188,8 @@ public void display(ChatSession chatSession, @Nullable Button extraButton, AnchorPane.setBottomAnchor(tableGroupHeadline, 0d); AnchorPane.setLeftAnchor(tableGroupHeadline, 0d); - disputeCommunicationMessages = chatSession.getDisputeCommunicationMessages(); - SortedList sortedList = new SortedList<>(disputeCommunicationMessages); + chatMessages = supportSession.getObservableChatMessageList(); + SortedList sortedList = new SortedList<>(chatMessages); sortedList.setComparator(Comparator.comparing(o -> new Date(o.getDate()))); messageListView = new ListView<>(sortedList); messageListView.setId("message-list-view"); @@ -201,7 +204,8 @@ public void display(ChatSession chatSession, @Nullable Button extraButton, inputTextArea = new BisqTextArea(); inputTextArea.setPrefHeight(70); inputTextArea.setWrapText(true); - if (chatSession instanceof TradeChatSession || chatSession.isClient()) { + + if (!supportSession.isDisputeAgent()) { inputTextArea.setPromptText(Res.get("support.input.prompt")); } @@ -223,7 +227,7 @@ public void display(ChatSession chatSession, @Nullable Button extraButton, if (displayHeader) this.getChildren().add(tableGroupHeadline); - if (chatSession.chatIsOpen()) { + if (supportSession.chatIsOpen()) { HBox buttonBox = new HBox(); buttonBox.setSpacing(10); if (allowAttachments) @@ -257,25 +261,25 @@ public void display(ChatSession chatSession, @Nullable Button extraButton, messageListView.setCellFactory(new Callback<>() { @Override - public ListCell call(ListView list) { + public ListCell call(ListView list) { return new ListCell<>() { ChangeListener sendMsgBusyAnimationListener; - final Pane bg = new Pane(); - final ImageView arrow = new ImageView(); - final Label headerLabel = new AutoTooltipLabel(); - final Label messageLabel = new AutoTooltipLabel(); - final Label copyIcon = new Label(); - final HBox attachmentsBox = new HBox(); - final AnchorPane messageAnchorPane = new AnchorPane(); - final Label statusIcon = new Label(); - final Label statusInfoLabel = new Label(); - final HBox statusHBox = new HBox(); - final double arrowWidth = 15d; - final double attachmentsBoxHeight = 20d; - final double border = 10d; - final double bottomBorder = 25d; - final double padding = border + 10d; - final double msgLabelPaddingRight = padding + 20d; + Pane bg = new Pane(); + ImageView arrow = new ImageView(); + Label headerLabel = new AutoTooltipLabel(); + Label messageLabel = new AutoTooltipLabel(); + Label copyIcon = new Label(); + HBox attachmentsBox = new HBox(); + AnchorPane messageAnchorPane = new AnchorPane(); + Label statusIcon = new Label(); + Label statusInfoLabel = new Label(); + HBox statusHBox = new HBox(); + double arrowWidth = 15d; + double attachmentsBoxHeight = 20d; + double border = 10d; + double bottomBorder = 25d; + double padding = border + 10d; + double msgLabelPaddingRight = padding + 20d; { bg.setMinHeight(30); @@ -292,7 +296,7 @@ public ListCell call(ListView Utilities.copyToClipboard(messageLabel.getText())); @@ -316,7 +320,7 @@ public void updateItem(final DisputeCommunicationMessage message, boolean empty) AnchorPane.setBottomAnchor(attachmentsBox, bottomBorder + 10); boolean senderIsTrader = message.isSenderIsTrader(); - boolean isMyMsg = chatSession.isClient() == senderIsTrader; + boolean isMyMsg = supportSession.isClient() == senderIsTrader; arrow.setVisible(!message.isSystemMessage()); arrow.setManaged(!message.isSystemMessage()); @@ -339,7 +343,7 @@ public void updateItem(final DisputeCommunicationMessage message, boolean empty) bg.setId("message-bubble-blue"); messageLabel.getStyleClass().add("my-message"); copyIcon.getStyleClass().add("my-message"); - if (chatSession.isClient()) + if (supportSession.isClient()) arrow.setId("bubble_arrow_blue_left"); else arrow.setId("bubble_arrow_blue_right"); @@ -360,7 +364,7 @@ public void updateItem(final DisputeCommunicationMessage message, boolean empty) bg.setId("message-bubble-grey"); messageLabel.getStyleClass().add("message"); copyIcon.getStyleClass().add("message"); - if (chatSession.isClient()) + if (supportSession.isClient()) arrow.setId("bubble_arrow_grey_right"); else arrow.setId("bubble_arrow_grey_left"); @@ -419,7 +423,7 @@ public void updateItem(final DisputeCommunicationMessage message, boolean empty) getStyleClass().add("message"); }}); message.getAttachments().forEach(attachment -> { - final Label icon = new Label(); + Label icon = new Label(); setPadding(new Insets(0, 0, 3, 0)); if (isMyMsg) icon.getStyleClass().add("attachment-icon"); @@ -462,7 +466,7 @@ public void updateItem(final DisputeCommunicationMessage message, boolean empty) } } - private void updateMsgState(DisputeCommunicationMessage message) { + private void updateMsgState(ChatMessage message) { boolean visible; AwesomeIcon icon = null; String text = null; @@ -517,7 +521,7 @@ private void updateMsgState(DisputeCommunicationMessage message) { /////////////////////////////////////////////////////////////////////////////////////////// private void onTrySendMessage() { - if (p2PService.isBootstrapped()) { + if (supportManager.isBootstrapped()) { String text = inputTextArea.getText(); if (!text.isEmpty()) { if (text.length() < 5_000) { @@ -592,13 +596,13 @@ private void onOpenAttachment(Attachment attachment) { } private void onSendMessage(String inputText) { - if (disputeCommunicationMessage != null) { - disputeCommunicationMessage.arrivedProperty().removeListener(arrivedPropertyListener); - disputeCommunicationMessage.storedInMailboxProperty().removeListener(storedInMailboxPropertyListener); - disputeCommunicationMessage.sendMessageErrorProperty().removeListener(sendMessageErrorPropertyListener); + if (chatMessage != null) { + chatMessage.arrivedProperty().removeListener(arrivedPropertyListener); + chatMessage.storedInMailboxProperty().removeListener(storedInMailboxPropertyListener); + chatMessage.sendMessageErrorProperty().removeListener(sendMessageErrorPropertyListener); } - disputeCommunicationMessage = sendDisputeDirectMessage(inputText, new ArrayList<>(tempAttachments)); + chatMessage = sendDisputeDirectMessage(inputText, new ArrayList<>(tempAttachments)); tempAttachments.clear(); scrollToBottom(); @@ -634,65 +638,27 @@ private void onSendMessage(String inputText) { hideSendMsgInfo(timer); } }; - if (disputeCommunicationMessage != null) { - disputeCommunicationMessage.arrivedProperty().addListener(arrivedPropertyListener); - disputeCommunicationMessage.storedInMailboxProperty().addListener(storedInMailboxPropertyListener); - disputeCommunicationMessage.sendMessageErrorProperty().addListener(sendMessageErrorPropertyListener); + if (chatMessage != null) { + chatMessage.arrivedProperty().addListener(arrivedPropertyListener); + chatMessage.storedInMailboxProperty().addListener(storedInMailboxPropertyListener); + chatMessage.sendMessageErrorProperty().addListener(sendMessageErrorPropertyListener); } } - private DisputeCommunicationMessage sendDisputeDirectMessage(String text, ArrayList attachments) { - DisputeCommunicationMessage message = new DisputeCommunicationMessage( - chatManager.getChatSession().getType(), - chatManager.getChatSession().getTradeId(), - chatManager.getChatSession().getClientPubKeyRing().hashCode(), - chatManager.getChatSession().isClient(), - text, - p2PService.getAddress() - ); - - message.addAllAttachments(attachments); - NodeAddress peersNodeAddress = chatManager.getChatSession().getPeerNodeAddress(message); - PubKeyRing receiverPubKeyRing = chatManager.getChatSession().getPeerPubKeyRing(message); - - chatManager.getChatSession().addDisputeCommunicationMessage(message); - - if (receiverPubKeyRing != null) { - log.info("Send {} to peer {}. tradeId={}, uid={}", - message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); - - p2PService.sendEncryptedMailboxMessage(peersNodeAddress, - receiverPubKeyRing, - message, - new SendMailboxMessageListener() { - @Override - public void onArrived() { - log.info("{} arrived at peer {}. tradeId={}, uid={}", - message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); - message.setArrived(true); - chatManager.getChatSession().persist(); - } - - @Override - public void onStoredInMailbox() { - log.info("{} stored in mailbox for peer {}. tradeId={}, uid={}", - message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid()); - message.setStoredInMailbox(true); - chatManager.getChatSession().persist(); - } - - @Override - public void onFault(String errorMessage) { - log.error("{} failed: Peer {}. tradeId={}, uid={}, errorMessage={}", - message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid(), errorMessage); - message.setSendMessageError(errorMessage); - chatManager.getChatSession().persist(); - } - } + private ChatMessage sendDisputeDirectMessage(String text, ArrayList attachments) { + return optionalSupportSession.map(supportSession -> { + ChatMessage message = new ChatMessage( + supportManager.getSupportType(), + supportSession.getTradeId(), + supportSession.getClientPubKeyRing().hashCode(), + supportSession.isClient(), + text, + supportManager.getMyAddress(), + attachments ); - } - - return message; + supportManager.addAndPersistChatMessage(message); + return supportManager.sendChatMessage(message); + }).orElse(null); } /////////////////////////////////////////////////////////////////////////////////////////// @@ -734,20 +700,20 @@ private void addListenersOnSessionChange(ReadOnlyDoubleProperty widthProperty) { tableGroupHeadline.prefWidthProperty().bind(widthProperty); messageListView.prefWidthProperty().bind(widthProperty); this.prefWidthProperty().bind(widthProperty); - disputeCommunicationMessages.addListener(disputeDirectMessageListListener); + chatMessages.addListener(disputeDirectMessageListListener); inputTextAreaTextSubscription = EasyBind.subscribe(inputTextArea.textProperty(), t -> sendButton.setDisable(t.isEmpty())); } } private void removeListenersOnSessionChange() { - if (disputeCommunicationMessages != null && disputeDirectMessageListListener != null) - disputeCommunicationMessages.removeListener(disputeDirectMessageListListener); + if (chatMessages != null && disputeDirectMessageListListener != null) + chatMessages.removeListener(disputeDirectMessageListListener); - if (disputeCommunicationMessage != null) { + if (chatMessage != null) { if (arrivedPropertyListener != null) - disputeCommunicationMessage.arrivedProperty().removeListener(arrivedPropertyListener); + chatMessage.arrivedProperty().removeListener(arrivedPropertyListener); if (storedInMailboxPropertyListener != null) - disputeCommunicationMessage.storedInMailboxProperty().removeListener(storedInMailboxPropertyListener); + chatMessage.storedInMailboxProperty().removeListener(storedInMailboxPropertyListener); } if (messageListView != null) diff --git a/desktop/src/main/java/bisq/desktop/main/PriceFeedComboBoxItem.java b/desktop/src/main/java/bisq/desktop/main/shared/PriceFeedComboBoxItem.java similarity index 97% rename from desktop/src/main/java/bisq/desktop/main/PriceFeedComboBoxItem.java rename to desktop/src/main/java/bisq/desktop/main/shared/PriceFeedComboBoxItem.java index 36b34586b36..60b717e364d 100644 --- a/desktop/src/main/java/bisq/desktop/main/PriceFeedComboBoxItem.java +++ b/desktop/src/main/java/bisq/desktop/main/shared/PriceFeedComboBoxItem.java @@ -15,7 +15,7 @@ * along with Bisq. If not, see . */ -package bisq.desktop.main; +package bisq.desktop.main.shared; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; diff --git a/desktop/src/main/java/bisq/desktop/main/disputes/DisputesView.fxml b/desktop/src/main/java/bisq/desktop/main/support/SupportView.fxml similarity index 83% rename from desktop/src/main/java/bisq/desktop/main/disputes/DisputesView.fxml rename to desktop/src/main/java/bisq/desktop/main/support/SupportView.fxml index b916b4519ea..7c5fc259ac0 100644 --- a/desktop/src/main/java/bisq/desktop/main/disputes/DisputesView.fxml +++ b/desktop/src/main/java/bisq/desktop/main/support/SupportView.fxml @@ -20,11 +20,12 @@ - - + + diff --git a/desktop/src/main/java/bisq/desktop/main/support/SupportView.java b/desktop/src/main/java/bisq/desktop/main/support/SupportView.java new file mode 100644 index 00000000000..b7fc867bcd8 --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/main/support/SupportView.java @@ -0,0 +1,227 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.desktop.main.support; + +import bisq.desktop.Navigation; +import bisq.desktop.common.model.Activatable; +import bisq.desktop.common.view.ActivatableViewAndModel; +import bisq.desktop.common.view.CachingViewLoader; +import bisq.desktop.common.view.FxmlView; +import bisq.desktop.common.view.View; +import bisq.desktop.common.view.ViewLoader; +import bisq.desktop.main.MainView; +import bisq.desktop.main.overlays.popups.Popup; +import bisq.desktop.main.support.dispute.agent.arbitration.ArbitratorView; +import bisq.desktop.main.support.dispute.agent.mediation.MediatorView; +import bisq.desktop.main.support.dispute.client.arbitration.ArbitrationClientView; +import bisq.desktop.main.support.dispute.client.mediation.MediationClientView; + +import bisq.core.locale.Res; +import bisq.core.support.dispute.arbitration.ArbitrationManager; +import bisq.core.support.dispute.arbitration.arbitrator.Arbitrator; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; +import bisq.core.support.dispute.mediation.MediationManager; +import bisq.core.support.dispute.mediation.mediator.Mediator; +import bisq.core.support.dispute.mediation.mediator.MediatorManager; + +import bisq.network.p2p.NodeAddress; + +import bisq.common.app.DevEnv; +import bisq.common.crypto.KeyRing; +import bisq.common.crypto.PubKeyRing; + +import javax.inject.Inject; + +import javafx.fxml.FXML; + +import javafx.scene.control.Tab; +import javafx.scene.control.TabPane; + +import javafx.beans.value.ChangeListener; + +import javafx.collections.MapChangeListener; + +@FxmlView +public class SupportView extends ActivatableViewAndModel { + + @FXML + Tab tradersArbitrationDisputesTab, tradersMediationDisputesTab; + + private Tab arbitratorTab, mediatorTab; + + private final Navigation navigation; + private final ArbitratorManager arbitratorManager; + private final MediatorManager mediatorManager; + private final ArbitrationManager arbitrationManager; + private final MediationManager mediationManager; + private final KeyRing keyRing; + + private Navigation.Listener navigationListener; + private ChangeListener tabChangeListener; + private Tab currentTab; + private final ViewLoader viewLoader; + private MapChangeListener arbitratorMapChangeListener; + private MapChangeListener mediatorMapChangeListener; + + @Inject + public SupportView(CachingViewLoader viewLoader, + Navigation navigation, + ArbitratorManager arbitratorManager, + MediatorManager mediatorManager, + ArbitrationManager arbitrationManager, + MediationManager mediationManager, + KeyRing keyRing) { + this.viewLoader = viewLoader; + this.navigation = navigation; + this.arbitratorManager = arbitratorManager; + this.mediatorManager = mediatorManager; + this.arbitrationManager = arbitrationManager; + this.mediationManager = mediationManager; + this.keyRing = keyRing; + } + + @Override + public void initialize() { + // has to be called before loadView + updateAgentTabs(); + + tradersArbitrationDisputesTab.setText(Res.get("support.tab.arbitration.support").toUpperCase()); + tradersMediationDisputesTab.setText(Res.get("support.tab.mediation.support").toUpperCase()); + navigationListener = viewPath -> { + if (viewPath.size() == 3 && viewPath.indexOf(SupportView.class) == 1) + loadView(viewPath.tip()); + }; + + tabChangeListener = (ov, oldValue, newValue) -> { + if (newValue == tradersArbitrationDisputesTab) + navigation.navigateTo(MainView.class, SupportView.class, ArbitrationClientView.class); + else if (newValue == tradersMediationDisputesTab) + navigation.navigateTo(MainView.class, SupportView.class, MediationClientView.class); + else if (newValue == arbitratorTab) + navigation.navigateTo(MainView.class, SupportView.class, ArbitratorView.class); + else if (newValue == mediatorTab) + navigation.navigateTo(MainView.class, SupportView.class, MediatorView.class); + }; + + arbitratorMapChangeListener = change -> updateAgentTabs(); + mediatorMapChangeListener = change -> updateAgentTabs(); + + } + + private void updateAgentTabs() { + PubKeyRing myPubKeyRing = keyRing.getPubKeyRing(); + boolean isActiveArbitrator = arbitratorManager.getObservableMap().values().stream() + .anyMatch(e -> e.getPubKeyRing() != null && e.getPubKeyRing().equals(myPubKeyRing)); + boolean isActiveMediator = mediatorManager.getObservableMap().values().stream() + .anyMatch(e -> e.getPubKeyRing() != null && e.getPubKeyRing().equals(myPubKeyRing)); + + if (arbitratorTab == null) { + // In case a arbitrator has become inactive he still might get disputes from pending trades + boolean hasDisputesAsArbitrator = arbitrationManager.getDisputesAsObservableList().stream() + .anyMatch(d -> d.getAgentPubKeyRing().equals(myPubKeyRing)); + if (isActiveArbitrator || hasDisputesAsArbitrator) { + arbitratorTab = new Tab(); + arbitratorTab.setClosable(false); + root.getTabs().add(arbitratorTab); + } + } + if (mediatorTab == null) { + // In case a mediator has become inactive he still might get disputes from pending trades + boolean hasDisputesAsMediator = mediationManager.getDisputesAsObservableList().stream() + .anyMatch(d -> d.getAgentPubKeyRing().equals(myPubKeyRing)); + if (isActiveMediator || hasDisputesAsMediator) { + mediatorTab = new Tab(); + mediatorTab.setClosable(false); + root.getTabs().add(mediatorTab); + } + } + + // We might get that method called before we have the map is filled in the arbitratorManager + if (arbitratorTab != null) { + arbitratorTab.setText(Res.get("support.tab.ArbitratorsSupportTickets", Res.get("shared.arbitrator2")).toUpperCase()); + } + if (mediatorTab != null) { + mediatorTab.setText(Res.get("support.tab.ArbitratorsSupportTickets", Res.get("shared.mediator")).toUpperCase()); + } + } + + @Override + protected void activate() { + arbitratorManager.updateMap(); + arbitratorManager.getObservableMap().addListener(arbitratorMapChangeListener); + + mediatorManager.updateMap(); + mediatorManager.getObservableMap().addListener(mediatorMapChangeListener); + + updateAgentTabs(); + + root.getSelectionModel().selectedItemProperty().addListener(tabChangeListener); + navigation.addListener(navigationListener); + + if (root.getSelectionModel().getSelectedItem() == tradersMediationDisputesTab) { + navigation.navigateTo(MainView.class, SupportView.class, MediationClientView.class); + } else if (root.getSelectionModel().getSelectedItem() == tradersArbitrationDisputesTab) { + navigation.navigateTo(MainView.class, SupportView.class, ArbitrationClientView.class); + } else if (arbitratorTab != null) { + navigation.navigateTo(MainView.class, SupportView.class, ArbitratorView.class); + } else if (mediatorTab != null) { + navigation.navigateTo(MainView.class, SupportView.class, MediatorView.class); + } + + String key = "supportInfo"; + if (!DevEnv.isDevMode()) + new Popup<>().backgroundInfo(Res.get("support.backgroundInfo")) + .width(900) + .dontShowAgainId(key) + .show(); + } + + @Override + protected void deactivate() { + arbitratorManager.getObservableMap().removeListener(arbitratorMapChangeListener); + mediatorManager.getObservableMap().removeListener(mediatorMapChangeListener); + root.getSelectionModel().selectedItemProperty().removeListener(tabChangeListener); + navigation.removeListener(navigationListener); + currentTab = null; + } + + private void loadView(Class viewClass) { + // we want to get activate/deactivate called, so we remove the old view on tab change + if (currentTab != null) + currentTab.setContent(null); + + View view = viewLoader.load(viewClass); + + if (view instanceof MediationClientView) { + currentTab = tradersMediationDisputesTab; + } else if (view instanceof ArbitrationClientView) { + currentTab = tradersArbitrationDisputesTab; + } else if (view instanceof ArbitratorView) { + currentTab = arbitratorTab; + } else if (view instanceof MediatorView) { + currentTab = mediatorTab; + } else { + currentTab = null; + } + + if (currentTab != null) { + currentTab.setContent(view.getRoot()); + root.getSelectionModel().select(currentTab); + } + } +} diff --git a/desktop/src/main/java/bisq/desktop/main/disputes/trader/TraderDisputeView.java b/desktop/src/main/java/bisq/desktop/main/support/dispute/DisputeView.java similarity index 92% rename from desktop/src/main/java/bisq/desktop/main/disputes/trader/TraderDisputeView.java rename to desktop/src/main/java/bisq/desktop/main/support/dispute/DisputeView.java index 13783cfd5f4..95d919049d5 100644 --- a/desktop/src/main/java/bisq/desktop/main/disputes/trader/TraderDisputeView.java +++ b/desktop/src/main/java/bisq/desktop/main/support/dispute/DisputeView.java @@ -15,7 +15,7 @@ * along with Bisq. If not, see . */ -package bisq.desktop.main.disputes.trader; +package bisq.desktop.main.support.dispute; import bisq.desktop.common.view.ActivatableView; import bisq.desktop.common.view.FxmlView; @@ -24,39 +24,35 @@ import bisq.desktop.components.AutoTooltipTableColumn; import bisq.desktop.components.HyperlinkWithIcon; import bisq.desktop.components.InputTextField; -import bisq.desktop.main.Chat.Chat; import bisq.desktop.main.overlays.popups.Popup; import bisq.desktop.main.overlays.windows.ContractWindow; import bisq.desktop.main.overlays.windows.DisputeSummaryWindow; import bisq.desktop.main.overlays.windows.SendPrivateNotificationWindow; import bisq.desktop.main.overlays.windows.TradeDetailsWindow; +import bisq.desktop.main.shared.ChatView; import bisq.desktop.util.GUIUtil; import bisq.core.account.witness.AccountAgeWitnessService; import bisq.core.alert.PrivateNotificationManager; -import bisq.core.app.AppOptionKeys; -import bisq.core.arbitration.Dispute; -import bisq.core.arbitration.DisputeChatSession; -import bisq.core.arbitration.DisputeManager; import bisq.core.locale.CurrencyUtil; import bisq.core.locale.Res; +import bisq.core.support.SupportType; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.DisputeList; +import bisq.core.support.dispute.DisputeManager; +import bisq.core.support.dispute.DisputeSession; import bisq.core.trade.Contract; import bisq.core.trade.Trade; import bisq.core.trade.TradeManager; import bisq.core.util.BSFormatter; import bisq.network.p2p.NodeAddress; -import bisq.network.p2p.P2PService; import bisq.common.app.Version; import bisq.common.crypto.KeyRing; import bisq.common.crypto.PubKeyRing; import bisq.common.util.Utilities; -import com.google.inject.name.Named; - -import javax.inject.Inject; - import com.google.common.collect.Lists; import javafx.scene.Scene; @@ -102,11 +98,10 @@ import lombok.Getter; -// will be probably only used for arbitration communication, will be renamed and the icon changed @FxmlView -public class TraderDisputeView extends ActivatableView { +public abstract class DisputeView extends ActivatableView { - private final DisputeManager disputeManager; + protected final DisputeManager> disputeManager; protected final KeyRing keyRing; private final TradeManager tradeManager; protected final BSFormatter formatter; @@ -114,7 +109,6 @@ public class TraderDisputeView extends ActivatableView { private final PrivateNotificationManager privateNotificationManager; private final ContractWindow contractWindow; private final TradeDetailsWindow tradeDetailsWindow; - private final P2PService p2PService; private final AccountAgeWitnessService accountAgeWitnessService; private final boolean useDevPrivilegeKeys; @@ -123,9 +117,9 @@ public class TraderDisputeView extends ActivatableView { private SortedList sortedList; @Getter - private Dispute selectedDispute; + protected Dispute selectedDispute; - private Chat disputeChat; + protected ChatView chatView; private ChangeListener selectedDisputeClosedPropertyListener; private Subscription selectedDisputeSubscription; @@ -141,18 +135,16 @@ public class TraderDisputeView extends ActivatableView { // Constructor, lifecycle /////////////////////////////////////////////////////////////////////////////////////////// - @Inject - public TraderDisputeView(DisputeManager disputeManager, - KeyRing keyRing, - TradeManager tradeManager, - BSFormatter formatter, - DisputeSummaryWindow disputeSummaryWindow, - PrivateNotificationManager privateNotificationManager, - ContractWindow contractWindow, - TradeDetailsWindow tradeDetailsWindow, - P2PService p2PService, - AccountAgeWitnessService accountAgeWitnessService, - @Named(AppOptionKeys.USE_DEV_PRIVILEGE_KEYS) boolean useDevPrivilegeKeys) { + public DisputeView(DisputeManager> disputeManager, + KeyRing keyRing, + TradeManager tradeManager, + BSFormatter formatter, + DisputeSummaryWindow disputeSummaryWindow, + PrivateNotificationManager privateNotificationManager, + ContractWindow contractWindow, + TradeDetailsWindow tradeDetailsWindow, + AccountAgeWitnessService accountAgeWitnessService, + boolean useDevPrivilegeKeys) { this.disputeManager = disputeManager; this.keyRing = keyRing; this.tradeManager = tradeManager; @@ -161,7 +153,6 @@ public TraderDisputeView(DisputeManager disputeManager, this.privateNotificationManager = privateNotificationManager; this.contractWindow = contractWindow; this.tradeDetailsWindow = tradeDetailsWindow; - this.p2PService = p2PService; this.accountAgeWitnessService = accountAgeWitnessService; this.useDevPrivilegeKeys = useDevPrivilegeKeys; } @@ -229,7 +220,7 @@ public void initialize() { dateColumn.setSortType(TableColumn.SortType.DESCENDING); tableView.getSortOrder().add(dateColumn); - selectedDisputeClosedPropertyListener = (observable, oldValue, newValue) -> disputeChat.setInputBoxVisible(!newValue); + selectedDisputeClosedPropertyListener = (observable, oldValue, newValue) -> chatView.setInputBoxVisible(!newValue); keyEventEventHandler = event -> { if (Utilities.isAltOrCtrlPressed(KeyCode.L, event)) { @@ -276,7 +267,7 @@ public void initialize() { .append(dispute.getTraderId()) .append("\n*******************************************************************************************\n") .append("\n"); - dispute.getDisputeCommunicationMessages().forEach(m -> { + dispute.getChatMessages().forEach(m -> { String role = m.isSenderIsTrader() ? ">> Trader's msg: " : "<< Arbitrator's msg: "; stringBuilder.append(role) .append(m.getMessage()) @@ -317,14 +308,13 @@ public void initialize() { } }; - disputeChat = new Chat(disputeManager.getChatManager(), formatter); - disputeChat.initialize(); + chatView = new ChatView(disputeManager, formatter); + chatView.initialize(); } @Override protected void activate() { filterTextField.textProperty().addListener(filterTextFieldListener); - disputeManager.cleanupDisputes(); filteredList = new FilteredList<>(disputeManager.getDisputesAsObservableList()); applyFilteredListPredicate(filterTextField.getText()); @@ -340,9 +330,9 @@ protected void activate() { if (selectedItem != null) tableView.getSelectionModel().select(selectedItem); - if (disputeChat != null) { - disputeChat.activate(); - disputeChat.scrollToBottom(); + if (chatView != null) { + chatView.activate(); + chatView.scrollToBottom(); } scene = root.getScene(); @@ -409,13 +399,17 @@ protected void deactivate() { if (scene != null) scene.removeEventHandler(KeyEvent.KEY_RELEASED, keyEventEventHandler); - if (disputeChat != null) - disputeChat.deactivate(); + if (chatView != null) + chatView.deactivate(); } + protected abstract SupportType getType(); + + protected abstract DisputeSession getConcreteDisputeChatSession(Dispute dispute); + protected void applyFilteredListPredicate(String filterString) { // If in trader view we must not display arbitrators own disputes as trader (must not happen anyway) - filteredList.setPredicate(dispute -> !dispute.getArbitratorPubKeyRing().equals(keyRing.getPubKeyRing())); + filteredList.setPredicate(dispute -> !dispute.getAgentPubKeyRing().equals(keyRing.getPubKeyRing())); } @@ -427,19 +421,19 @@ private void onOpenContract(Dispute dispute) { contractWindow.show(dispute); } - private void removeListenersOnSelectDispute() { + protected void removeListenersOnSelectDispute() { if (selectedDispute != null) { if (selectedDisputeClosedPropertyListener != null) selectedDispute.isClosedProperty().removeListener(selectedDisputeClosedPropertyListener); } } - private void addListenersOnSelectDispute() { + protected void addListenersOnSelectDispute() { if (selectedDispute != null) selectedDispute.isClosedProperty().addListener(selectedDisputeClosedPropertyListener); } - private void onSelectDispute(Dispute dispute) { + protected void onSelectDispute(Dispute dispute) { removeListenersOnSelectDispute(); if (dispute == null) { if (root.getChildren().size() > 2) @@ -448,29 +442,24 @@ private void onSelectDispute(Dispute dispute) { selectedDispute = null; } else if (selectedDispute != dispute) { this.selectedDispute = dispute; - if (disputeChat != null) { - Button closeDisputeButton = null; - if (!dispute.isClosed() && !disputeManager.isTrader(dispute)) { - closeDisputeButton = new AutoTooltipButton(Res.get("support.closeTicket")); - closeDisputeButton.setOnAction(e -> onCloseDispute(getSelectedDispute())); - } - disputeChat.display(new DisputeChatSession(dispute, disputeManager), closeDisputeButton, - root.widthProperty() - ); + if (chatView != null) { + handleOnSelectDispute(dispute); } if (root.getChildren().size() > 2) root.getChildren().remove(2); - root.getChildren().add(2, disputeChat); + root.getChildren().add(2, chatView); } addListenersOnSelectDispute(); } - private void onCloseDispute(Dispute dispute) { + protected abstract void handleOnSelectDispute(Dispute dispute); + + protected void onCloseDispute(Dispute dispute) { long protocolVersion = dispute.getContract().getOfferPayload().getProtocolVersion(); if (protocolVersion == Version.TRADE_PROTOCOL_VERSION) { - disputeSummaryWindow.onFinalizeDispute(() -> disputeChat.removeInputBox()) + disputeSummaryWindow.onFinalizeDispute(() -> chatView.removeInputBox()) .show(dispute); } else { new Popup<>() diff --git a/desktop/src/main/java/bisq/desktop/main/disputes/arbitrator/ArbitratorDisputeView.java b/desktop/src/main/java/bisq/desktop/main/support/dispute/agent/DisputeAgentView.java similarity index 63% rename from desktop/src/main/java/bisq/desktop/main/disputes/arbitrator/ArbitratorDisputeView.java rename to desktop/src/main/java/bisq/desktop/main/support/dispute/agent/DisputeAgentView.java index f21f53fa395..ae6a41a89c2 100644 --- a/desktop/src/main/java/bisq/desktop/main/disputes/arbitrator/ArbitratorDisputeView.java +++ b/desktop/src/main/java/bisq/desktop/main/support/dispute/agent/DisputeAgentView.java @@ -15,44 +15,45 @@ * along with Bisq. If not, see . */ -package bisq.desktop.main.disputes.arbitrator; +package bisq.desktop.main.support.dispute.agent; import bisq.desktop.common.view.FxmlView; -import bisq.desktop.main.disputes.trader.TraderDisputeView; +import bisq.desktop.components.AutoTooltipButton; import bisq.desktop.main.overlays.windows.ContractWindow; import bisq.desktop.main.overlays.windows.DisputeSummaryWindow; import bisq.desktop.main.overlays.windows.TradeDetailsWindow; +import bisq.desktop.main.support.dispute.DisputeView; import bisq.core.account.witness.AccountAgeWitnessService; import bisq.core.alert.PrivateNotificationManager; import bisq.core.app.AppOptionKeys; -import bisq.core.arbitration.DisputeManager; +import bisq.core.locale.Res; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.DisputeList; +import bisq.core.support.dispute.DisputeManager; +import bisq.core.support.dispute.DisputeSession; import bisq.core.trade.TradeManager; import bisq.core.util.BSFormatter; -import bisq.network.p2p.P2PService; - import bisq.common.crypto.KeyRing; import com.google.inject.name.Named; -import javax.inject.Inject; +import javafx.scene.control.Button; @FxmlView -public class ArbitratorDisputeView extends TraderDisputeView { - - @Inject - public ArbitratorDisputeView(DisputeManager disputeManager, - KeyRing keyRing, - TradeManager tradeManager, - BSFormatter formatter, - DisputeSummaryWindow disputeSummaryWindow, - PrivateNotificationManager privateNotificationManager, - ContractWindow contractWindow, - TradeDetailsWindow tradeDetailsWindow, - P2PService p2PService, - AccountAgeWitnessService accountAgeWitnessService, - @Named(AppOptionKeys.USE_DEV_PRIVILEGE_KEYS) boolean useDevPrivilegeKeys) { +public abstract class DisputeAgentView extends DisputeView { + + public DisputeAgentView(DisputeManager> disputeManager, + KeyRing keyRing, + TradeManager tradeManager, + BSFormatter formatter, + DisputeSummaryWindow disputeSummaryWindow, + PrivateNotificationManager privateNotificationManager, + ContractWindow contractWindow, + TradeDetailsWindow tradeDetailsWindow, + AccountAgeWitnessService accountAgeWitnessService, + @Named(AppOptionKeys.USE_DEV_PRIVILEGE_KEYS) boolean useDevPrivilegeKeys) { super(disputeManager, keyRing, tradeManager, @@ -61,7 +62,6 @@ public ArbitratorDisputeView(DisputeManager disputeManager, privateNotificationManager, contractWindow, tradeDetailsWindow, - p2PService, accountAgeWitnessService, useDevPrivilegeKeys); } @@ -89,11 +89,21 @@ protected void applyFilteredListPredicate(String filterString) { matchesBuyersPaymentAccountData || matchesSellersPaymentAccountData; boolean open = !dispute.isClosed() && filterString.toLowerCase().equals("open"); - boolean isMyCase = dispute.getArbitratorPubKeyRing().equals(keyRing.getPubKeyRing()); + boolean isMyCase = dispute.getAgentPubKeyRing().equals(keyRing.getPubKeyRing()); return isMyCase && (open || filterString.isEmpty() || anyMatch); }); } + @Override + protected void handleOnSelectDispute(Dispute dispute) { + Button closeDisputeButton = null; + if (!dispute.isClosed() && !disputeManager.isTrader(dispute)) { + closeDisputeButton = new AutoTooltipButton(Res.get("support.closeTicket")); + closeDisputeButton.setOnAction(e -> onCloseDispute(getSelectedDispute())); + } + DisputeSession chatSession = getConcreteDisputeChatSession(dispute); + chatView.display(chatSession, closeDisputeButton, root.widthProperty()); + } } diff --git a/desktop/src/main/java/bisq/desktop/main/disputes/trader/TraderDisputeView.fxml b/desktop/src/main/java/bisq/desktop/main/support/dispute/agent/arbitration/ArbitratorView.fxml similarity index 90% rename from desktop/src/main/java/bisq/desktop/main/disputes/trader/TraderDisputeView.fxml rename to desktop/src/main/java/bisq/desktop/main/support/dispute/agent/arbitration/ArbitratorView.fxml index 8afdc696956..82b341ce253 100644 --- a/desktop/src/main/java/bisq/desktop/main/disputes/trader/TraderDisputeView.fxml +++ b/desktop/src/main/java/bisq/desktop/main/support/dispute/agent/arbitration/ArbitratorView.fxml @@ -19,7 +19,7 @@ - @@ -27,3 +27,4 @@ + diff --git a/desktop/src/main/java/bisq/desktop/main/support/dispute/agent/arbitration/ArbitratorView.java b/desktop/src/main/java/bisq/desktop/main/support/dispute/agent/arbitration/ArbitratorView.java new file mode 100644 index 00000000000..c84baa62704 --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/main/support/dispute/agent/arbitration/ArbitratorView.java @@ -0,0 +1,78 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.desktop.main.support.dispute.agent.arbitration; + +import bisq.desktop.common.view.FxmlView; +import bisq.desktop.main.overlays.windows.ContractWindow; +import bisq.desktop.main.overlays.windows.DisputeSummaryWindow; +import bisq.desktop.main.overlays.windows.TradeDetailsWindow; +import bisq.desktop.main.support.dispute.agent.DisputeAgentView; + +import bisq.core.account.witness.AccountAgeWitnessService; +import bisq.core.alert.PrivateNotificationManager; +import bisq.core.app.AppOptionKeys; +import bisq.core.support.SupportType; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.DisputeSession; +import bisq.core.support.dispute.arbitration.ArbitrationManager; +import bisq.core.support.dispute.arbitration.ArbitrationSession; +import bisq.core.trade.TradeManager; +import bisq.core.util.BSFormatter; + +import bisq.common.crypto.KeyRing; + +import com.google.inject.name.Named; + +import javax.inject.Inject; + +@FxmlView +public class ArbitratorView extends DisputeAgentView { + + @Inject + public ArbitratorView(ArbitrationManager arbitrationManager, + KeyRing keyRing, + TradeManager tradeManager, + BSFormatter formatter, + DisputeSummaryWindow disputeSummaryWindow, + PrivateNotificationManager privateNotificationManager, + ContractWindow contractWindow, + TradeDetailsWindow tradeDetailsWindow, + AccountAgeWitnessService accountAgeWitnessService, + @Named(AppOptionKeys.USE_DEV_PRIVILEGE_KEYS) boolean useDevPrivilegeKeys) { + super(arbitrationManager, + keyRing, + tradeManager, + formatter, + disputeSummaryWindow, + privateNotificationManager, + contractWindow, + tradeDetailsWindow, + accountAgeWitnessService, + useDevPrivilegeKeys); + } + + @Override + protected SupportType getType() { + return SupportType.ARBITRATION; + } + + @Override + protected DisputeSession getConcreteDisputeChatSession(Dispute dispute) { + return new ArbitrationSession(dispute, disputeManager.isTrader(dispute)); + } +} diff --git a/desktop/src/main/java/bisq/desktop/main/disputes/arbitrator/ArbitratorDisputeView.fxml b/desktop/src/main/java/bisq/desktop/main/support/dispute/agent/mediation/MediatorView.fxml similarity index 90% rename from desktop/src/main/java/bisq/desktop/main/disputes/arbitrator/ArbitratorDisputeView.fxml rename to desktop/src/main/java/bisq/desktop/main/support/dispute/agent/mediation/MediatorView.fxml index 7876f9c7bd4..add07073d79 100644 --- a/desktop/src/main/java/bisq/desktop/main/disputes/arbitrator/ArbitratorDisputeView.fxml +++ b/desktop/src/main/java/bisq/desktop/main/support/dispute/agent/mediation/MediatorView.fxml @@ -19,7 +19,7 @@ - @@ -27,4 +27,3 @@ - diff --git a/desktop/src/main/java/bisq/desktop/main/support/dispute/agent/mediation/MediatorView.java b/desktop/src/main/java/bisq/desktop/main/support/dispute/agent/mediation/MediatorView.java new file mode 100644 index 00000000000..16d87143ce8 --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/main/support/dispute/agent/mediation/MediatorView.java @@ -0,0 +1,78 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.desktop.main.support.dispute.agent.mediation; + +import bisq.desktop.common.view.FxmlView; +import bisq.desktop.main.overlays.windows.ContractWindow; +import bisq.desktop.main.overlays.windows.DisputeSummaryWindow; +import bisq.desktop.main.overlays.windows.TradeDetailsWindow; +import bisq.desktop.main.support.dispute.agent.DisputeAgentView; + +import bisq.core.account.witness.AccountAgeWitnessService; +import bisq.core.alert.PrivateNotificationManager; +import bisq.core.app.AppOptionKeys; +import bisq.core.support.SupportType; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.DisputeSession; +import bisq.core.support.dispute.mediation.MediationManager; +import bisq.core.support.dispute.mediation.MediationSession; +import bisq.core.trade.TradeManager; +import bisq.core.util.BSFormatter; + +import bisq.common.crypto.KeyRing; + +import com.google.inject.name.Named; + +import javax.inject.Inject; + +@FxmlView +public class MediatorView extends DisputeAgentView { + + @Inject + public MediatorView(MediationManager mediationManager, + KeyRing keyRing, + TradeManager tradeManager, + BSFormatter formatter, + DisputeSummaryWindow disputeSummaryWindow, + PrivateNotificationManager privateNotificationManager, + ContractWindow contractWindow, + TradeDetailsWindow tradeDetailsWindow, + AccountAgeWitnessService accountAgeWitnessService, + @Named(AppOptionKeys.USE_DEV_PRIVILEGE_KEYS) boolean useDevPrivilegeKeys) { + super(mediationManager, + keyRing, + tradeManager, + formatter, + disputeSummaryWindow, + privateNotificationManager, + contractWindow, + tradeDetailsWindow, + accountAgeWitnessService, + useDevPrivilegeKeys); + } + + @Override + protected SupportType getType() { + return SupportType.MEDIATION; + } + + @Override + protected DisputeSession getConcreteDisputeChatSession(Dispute dispute) { + return new MediationSession(dispute, disputeManager.isTrader(dispute)); + } +} diff --git a/desktop/src/main/java/bisq/desktop/main/support/dispute/client/DisputeClientView.java b/desktop/src/main/java/bisq/desktop/main/support/dispute/client/DisputeClientView.java new file mode 100644 index 00000000000..4575b2e5803 --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/main/support/dispute/client/DisputeClientView.java @@ -0,0 +1,58 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.desktop.main.support.dispute.client; + +import bisq.desktop.common.view.FxmlView; +import bisq.desktop.main.overlays.windows.ContractWindow; +import bisq.desktop.main.overlays.windows.DisputeSummaryWindow; +import bisq.desktop.main.overlays.windows.TradeDetailsWindow; +import bisq.desktop.main.support.dispute.DisputeView; + +import bisq.core.account.witness.AccountAgeWitnessService; +import bisq.core.alert.PrivateNotificationManager; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.DisputeList; +import bisq.core.support.dispute.DisputeManager; +import bisq.core.support.dispute.DisputeSession; +import bisq.core.trade.TradeManager; +import bisq.core.util.BSFormatter; + +import bisq.common.crypto.KeyRing; + +@FxmlView +public abstract class DisputeClientView extends DisputeView { + public DisputeClientView(DisputeManager> DisputeManager, + KeyRing keyRing, + TradeManager tradeManager, + BSFormatter formatter, + DisputeSummaryWindow disputeSummaryWindow, + PrivateNotificationManager privateNotificationManager, + ContractWindow contractWindow, + TradeDetailsWindow tradeDetailsWindow, + AccountAgeWitnessService accountAgeWitnessService, + boolean useDevPrivilegeKeys) { + super(DisputeManager, keyRing, tradeManager, formatter, disputeSummaryWindow, privateNotificationManager, + contractWindow, tradeDetailsWindow, accountAgeWitnessService, useDevPrivilegeKeys); + } + + @Override + protected void handleOnSelectDispute(Dispute dispute) { + DisputeSession chatSession = getConcreteDisputeChatSession(dispute); + chatView.display(chatSession, root.widthProperty()); + } +} diff --git a/desktop/src/main/java/bisq/desktop/main/support/dispute/client/arbitration/ArbitrationClientView.fxml b/desktop/src/main/java/bisq/desktop/main/support/dispute/client/arbitration/ArbitrationClientView.fxml new file mode 100644 index 00000000000..5d9fb0c65de --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/main/support/dispute/client/arbitration/ArbitrationClientView.fxml @@ -0,0 +1,29 @@ + + + + + + + + + + + + diff --git a/desktop/src/main/java/bisq/desktop/main/support/dispute/client/arbitration/ArbitrationClientView.java b/desktop/src/main/java/bisq/desktop/main/support/dispute/client/arbitration/ArbitrationClientView.java new file mode 100644 index 00000000000..0b81ab83afc --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/main/support/dispute/client/arbitration/ArbitrationClientView.java @@ -0,0 +1,70 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.desktop.main.support.dispute.client.arbitration; + +import bisq.desktop.common.view.FxmlView; +import bisq.desktop.main.overlays.windows.ContractWindow; +import bisq.desktop.main.overlays.windows.DisputeSummaryWindow; +import bisq.desktop.main.overlays.windows.TradeDetailsWindow; +import bisq.desktop.main.support.dispute.client.DisputeClientView; + +import bisq.core.account.witness.AccountAgeWitnessService; +import bisq.core.alert.PrivateNotificationManager; +import bisq.core.app.AppOptionKeys; +import bisq.core.support.SupportType; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.DisputeSession; +import bisq.core.support.dispute.arbitration.ArbitrationManager; +import bisq.core.support.dispute.arbitration.ArbitrationSession; +import bisq.core.trade.TradeManager; +import bisq.core.util.BSFormatter; + +import bisq.common.crypto.KeyRing; + +import com.google.inject.name.Named; + +import javax.inject.Inject; + +@FxmlView +public class ArbitrationClientView extends DisputeClientView { + @Inject + public ArbitrationClientView(ArbitrationManager arbitrationManager, + KeyRing keyRing, + TradeManager tradeManager, + BSFormatter formatter, + DisputeSummaryWindow disputeSummaryWindow, + PrivateNotificationManager privateNotificationManager, + ContractWindow contractWindow, + TradeDetailsWindow tradeDetailsWindow, + AccountAgeWitnessService accountAgeWitnessService, + @Named(AppOptionKeys.USE_DEV_PRIVILEGE_KEYS) boolean useDevPrivilegeKeys) { + super(arbitrationManager, keyRing, tradeManager, formatter, disputeSummaryWindow, + privateNotificationManager, contractWindow, tradeDetailsWindow, accountAgeWitnessService, + useDevPrivilegeKeys); + } + + @Override + protected SupportType getType() { + return SupportType.ARBITRATION; + } + + @Override + protected DisputeSession getConcreteDisputeChatSession(Dispute dispute) { + return new ArbitrationSession(dispute, disputeManager.isTrader(dispute)); + } +} diff --git a/desktop/src/main/java/bisq/desktop/main/support/dispute/client/mediation/MediationClientView.fxml b/desktop/src/main/java/bisq/desktop/main/support/dispute/client/mediation/MediationClientView.fxml new file mode 100644 index 00000000000..b0feee5558f --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/main/support/dispute/client/mediation/MediationClientView.fxml @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/desktop/src/main/java/bisq/desktop/main/support/dispute/client/mediation/MediationClientView.java b/desktop/src/main/java/bisq/desktop/main/support/dispute/client/mediation/MediationClientView.java new file mode 100644 index 00000000000..551fdef6680 --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/main/support/dispute/client/mediation/MediationClientView.java @@ -0,0 +1,70 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.desktop.main.support.dispute.client.mediation; + +import bisq.desktop.common.view.FxmlView; +import bisq.desktop.main.overlays.windows.ContractWindow; +import bisq.desktop.main.overlays.windows.DisputeSummaryWindow; +import bisq.desktop.main.overlays.windows.TradeDetailsWindow; +import bisq.desktop.main.support.dispute.client.DisputeClientView; + +import bisq.core.account.witness.AccountAgeWitnessService; +import bisq.core.alert.PrivateNotificationManager; +import bisq.core.app.AppOptionKeys; +import bisq.core.support.SupportType; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.DisputeSession; +import bisq.core.support.dispute.mediation.MediationManager; +import bisq.core.support.dispute.mediation.MediationSession; +import bisq.core.trade.TradeManager; +import bisq.core.util.BSFormatter; + +import bisq.common.crypto.KeyRing; + +import com.google.inject.name.Named; + +import javax.inject.Inject; + +@FxmlView +public class MediationClientView extends DisputeClientView { + @Inject + public MediationClientView(MediationManager mediationManager, + KeyRing keyRing, + TradeManager tradeManager, + BSFormatter formatter, + DisputeSummaryWindow disputeSummaryWindow, + PrivateNotificationManager privateNotificationManager, + ContractWindow contractWindow, + TradeDetailsWindow tradeDetailsWindow, + AccountAgeWitnessService accountAgeWitnessService, + @Named(AppOptionKeys.USE_DEV_PRIVILEGE_KEYS) boolean useDevPrivilegeKeys) { + super(mediationManager, keyRing, tradeManager, formatter, disputeSummaryWindow, + privateNotificationManager, contractWindow, tradeDetailsWindow, accountAgeWitnessService, + useDevPrivilegeKeys); + } + + @Override + protected SupportType getType() { + return SupportType.MEDIATION; + } + + @Override + protected DisputeSession getConcreteDisputeChatSession(Dispute dispute) { + return new MediationSession(dispute, disputeManager.isTrader(dispute)); + } +} diff --git a/desktop/src/main/java/bisq/desktop/util/GUIUtil.java b/desktop/src/main/java/bisq/desktop/util/GUIUtil.java index 1afbc534333..abb0b04975d 100644 --- a/desktop/src/main/java/bisq/desktop/util/GUIUtil.java +++ b/desktop/src/main/java/bisq/desktop/util/GUIUtil.java @@ -17,10 +17,14 @@ package bisq.desktop.util; +import bisq.desktop.Navigation; import bisq.desktop.app.BisqApp; import bisq.desktop.components.AutoTooltipLabel; import bisq.desktop.components.BisqTextArea; import bisq.desktop.components.indicator.TxConfidenceIndicator; +import bisq.desktop.main.MainView; +import bisq.desktop.main.account.AccountView; +import bisq.desktop.main.account.content.fiataccounts.FiatAccountsView; import bisq.desktop.main.overlays.popups.Popup; import bisq.core.app.BisqEnvironment; @@ -195,8 +199,12 @@ public static void showFeeInfoBeforeExecute(Runnable runnable) { } } - public static void exportAccounts(ArrayList accounts, String fileName, - Preferences preferences, Stage stage, PersistenceProtoResolver persistenceProtoResolver, CorruptedDatabaseFilesHandler corruptedDatabaseFilesHandler) { + public static void exportAccounts(ArrayList accounts, + String fileName, + Preferences preferences, + Stage stage, + PersistenceProtoResolver persistenceProtoResolver, + CorruptedDatabaseFilesHandler corruptedDatabaseFilesHandler) { if (!accounts.isEmpty()) { String directory = getDirectoryFromChooser(preferences, stage); if (directory != null && !directory.isEmpty()) { @@ -210,8 +218,12 @@ public static void exportAccounts(ArrayList accounts, String fil } } - public static void importAccounts(User user, String fileName, Preferences preferences, Stage stage, - PersistenceProtoResolver persistenceProtoResolver, CorruptedDatabaseFilesHandler corruptedDatabaseFilesHandler) { + public static void importAccounts(User user, + String fileName, + Preferences preferences, + Stage stage, + PersistenceProtoResolver persistenceProtoResolver, + CorruptedDatabaseFilesHandler corruptedDatabaseFilesHandler) { FileChooser fileChooser = new FileChooser(); File initDir = new File(preferences.getDirectoryChooserPath()); if (initDir.isDirectory()) { @@ -357,7 +369,8 @@ protected void updateItem(CurrencyListItem item, boolean empty) { }; } - public static Callback, ListCell> getCurrencyListItemCellFactory(String postFixSingle, String postFixMulti, + public static Callback, ListCell> getCurrencyListItemCellFactory(String postFixSingle, + String postFixMulti, Preferences preferences) { return p -> new ListCell<>() { @Override @@ -589,7 +602,9 @@ protected void updateItem(PaymentMethod method, boolean empty) { }; } - public static void updateConfidence(TransactionConfidence confidence, Tooltip tooltip, TxConfidenceIndicator txConfidenceIndicator) { + public static void updateConfidence(TransactionConfidence confidence, + Tooltip tooltip, + TxConfidenceIndicator txConfidenceIndicator) { if (confidence != null) { switch (confidence.getConfidenceType()) { case UNKNOWN: @@ -741,21 +756,56 @@ public static String getBitcoinURI(String address, Coin amount, String label) { ""; } - public static boolean isReadyForTxBroadcast(P2PService p2PService, WalletsSetup walletsSetup) { - return p2PService.isBootstrapped() && - walletsSetup.isDownloadComplete() && - walletsSetup.hasSufficientPeersForBroadcast(); + public static boolean isBootstrappedOrShowPopup(P2PService p2PService) { + if (!p2PService.isBootstrapped()) { + new Popup<>().information(Res.get("popup.warning.notFullyConnected")).show(); + return false; + } + + return true; } - public static void showNotReadyForTxBroadcastPopups(P2PService p2PService, WalletsSetup walletsSetup) { - if (!p2PService.isBootstrapped()) - new Popup<>().information(Res.get("popup.warning.notFullyConnected")).show(); - else if (!walletsSetup.hasSufficientPeersForBroadcast()) + public static boolean isReadyForTxBroadcastOrShowPopup(P2PService p2PService, WalletsSetup walletsSetup) { + if (!GUIUtil.isBootstrappedOrShowPopup(p2PService)) { + return false; + } + + if (!walletsSetup.hasSufficientPeersForBroadcast()) { new Popup<>().information(Res.get("popup.warning.notSufficientConnectionsToBtcNetwork", walletsSetup.getMinBroadcastConnections())).show(); - else if (!walletsSetup.isDownloadComplete()) + return false; + } + + if (!walletsSetup.isDownloadComplete()) { new Popup<>().information(Res.get("popup.warning.downloadNotComplete")).show(); - else - log.warn("showNotReadyForTxBroadcastPopups called but no case matched. This should never happen if isReadyForTxBroadcast was called before."); + return false; + } + + return true; + } + + public static boolean canCreateOrTakeOfferOrShowPopup(User user, Navigation navigation) { + if (!user.hasAcceptedArbitrators()) { + new Popup<>().warning(Res.get("popup.warning.noArbitratorsAvailable")).show(); + return false; + } + + if (!user.hasAcceptedMediators()) { + new Popup<>().warning(Res.get("popup.warning.noMediatorsAvailable")).show(); + return false; + } + + if (user.currentPaymentAccountProperty().get() == null) { + new Popup<>().headLine(Res.get("popup.warning.noTradingAccountSetup.headline")) + .instruction(Res.get("popup.warning.noTradingAccountSetup.msg")) + .actionButtonTextWithGoTo("navigation.account") + .onAction(() -> { + navigation.setReturnPath(navigation.getCurrentPath()); + navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class); + }).show(); + return false; + } + + return true; } public static void showWantToBurnBTCPopup(Coin miningFee, Coin amount, BSFormatter btcFormatter) { @@ -861,8 +911,13 @@ public static void removeChildrenFromGridPaneRows(GridPane gridPane, int start, } } - public static void showBsqFeeInfoPopup(Coin fee, Coin miningFee, Coin btcForIssuance, int txSize, BsqFormatter bsqFormatter, - BSFormatter btcFormatter, String type, + public static void showBsqFeeInfoPopup(Coin fee, + Coin miningFee, + Coin btcForIssuance, + int txSize, + BsqFormatter bsqFormatter, + BSFormatter btcFormatter, + String type, Runnable actionHandler) { String confirmationMessage; @@ -899,7 +954,11 @@ public static void showBsqFeeInfoPopup(Coin fee, Coin miningFee, int txSize, Bsq showBsqFeeInfoPopup(fee, miningFee, null, txSize, bsqFormatter, btcFormatter, type, actionHandler); } - public static void setFitToRowsForTableView(TableView tableView, int rowHeight, int headerHeight, int minNumRows, int maxNumRows) { + public static void setFitToRowsForTableView(TableView tableView, + int rowHeight, + int headerHeight, + int minNumRows, + int maxNumRows) { int size = tableView.getItems().size(); int minHeight = rowHeight * minNumRows + headerHeight; int maxHeight = rowHeight * maxNumRows + headerHeight; @@ -1005,7 +1064,9 @@ public static ListCell getComboBoxButtonCell(String title, ComboBox co } @NotNull - public static ListCell getComboBoxButtonCell(String title, ComboBox comboBox, Boolean hideOriginalPrompt) { + public static ListCell getComboBoxButtonCell(String title, + ComboBox comboBox, + Boolean hideOriginalPrompt) { return new ListCell<>() { @Override protected void updateItem(T item, boolean empty) { diff --git a/desktop/src/test/java/bisq/desktop/GuiceSetupTest.java b/desktop/src/test/java/bisq/desktop/GuiceSetupTest.java index 482ab242333..7b0f54a5ee3 100644 --- a/desktop/src/test/java/bisq/desktop/GuiceSetupTest.java +++ b/desktop/src/test/java/bisq/desktop/GuiceSetupTest.java @@ -36,6 +36,15 @@ import bisq.core.payment.TradeLimits; import bisq.core.proto.network.CoreNetworkProtoResolver; import bisq.core.proto.persistable.CorePersistenceProtoResolver; +import bisq.core.support.dispute.arbitration.ArbitrationDisputeListService; +import bisq.core.support.dispute.arbitration.ArbitrationManager; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorService; +import bisq.core.support.dispute.mediation.MediationDisputeListService; +import bisq.core.support.dispute.mediation.MediationManager; +import bisq.core.support.dispute.mediation.mediator.MediatorManager; +import bisq.core.support.dispute.mediation.mediator.MediatorService; +import bisq.core.support.traderchat.TraderChatManager; import bisq.core.user.Preferences; import bisq.core.user.User; import bisq.core.util.BSFormatter; @@ -133,6 +142,15 @@ public void testGuiceSetup() { assertSingleton(PriceAlert.class); assertSingleton(MarketAlerts.class); assertSingleton(ChargeBackRisk.class); + assertSingleton(ArbitratorService.class); + assertSingleton(ArbitratorManager.class); + assertSingleton(ArbitrationManager.class); + assertSingleton(ArbitrationDisputeListService.class); + assertSingleton(MediatorService.class); + assertSingleton(MediatorManager.class); + assertSingleton(MediationManager.class); + assertSingleton(MediationDisputeListService.class); + assertSingleton(TraderChatManager.class); assertNotSingleton(Storage.class); } diff --git a/desktop/src/test/java/bisq/desktop/main/funds/transactions/TransactionAwareTradableFactoryTest.java b/desktop/src/test/java/bisq/desktop/main/funds/transactions/TransactionAwareTradableFactoryTest.java index a939f3c802e..8b93668bc3f 100644 --- a/desktop/src/test/java/bisq/desktop/main/funds/transactions/TransactionAwareTradableFactoryTest.java +++ b/desktop/src/test/java/bisq/desktop/main/funds/transactions/TransactionAwareTradableFactoryTest.java @@ -17,7 +17,7 @@ package bisq.desktop.main.funds.transactions; -import bisq.core.arbitration.DisputeManager; +import bisq.core.support.dispute.arbitration.ArbitrationManager; import bisq.core.offer.OpenOffer; import bisq.core.trade.Tradable; import bisq.core.trade.Trade; @@ -32,9 +32,9 @@ public class TransactionAwareTradableFactoryTest { @Test public void testCreateWhenNotOpenOfferOrTrade() { - DisputeManager manager = mock(DisputeManager.class); + ArbitrationManager arbitrationManager = mock(ArbitrationManager.class); - TransactionAwareTradableFactory factory = new TransactionAwareTradableFactory(manager); + TransactionAwareTradableFactory factory = new TransactionAwareTradableFactory(arbitrationManager); Tradable delegate = mock(Tradable.class); assertFalse(delegate instanceof OpenOffer); diff --git a/desktop/src/test/java/bisq/desktop/main/funds/transactions/TransactionAwareTradeTest.java b/desktop/src/test/java/bisq/desktop/main/funds/transactions/TransactionAwareTradeTest.java index b2ae9e5d37f..66d26038ecd 100644 --- a/desktop/src/test/java/bisq/desktop/main/funds/transactions/TransactionAwareTradeTest.java +++ b/desktop/src/test/java/bisq/desktop/main/funds/transactions/TransactionAwareTradeTest.java @@ -17,8 +17,8 @@ package bisq.desktop.main.funds.transactions; -import bisq.core.arbitration.Dispute; -import bisq.core.arbitration.DisputeManager; +import bisq.core.support.dispute.Dispute; +import bisq.core.support.dispute.arbitration.ArbitrationManager; import bisq.core.trade.Trade; import org.bitcoinj.core.Transaction; @@ -39,7 +39,7 @@ public class TransactionAwareTradeTest { private static final String XID = "123"; private Transaction transaction; - private DisputeManager manager; + private ArbitrationManager arbitrationManager; private Trade delegate; private TransactionAwareTradable trade; @@ -49,8 +49,8 @@ public void setUp() { when(transaction.getHashAsString()).thenReturn(XID); this.delegate = mock(Trade.class, RETURNS_DEEP_STUBS); - this.manager = mock(DisputeManager.class, RETURNS_DEEP_STUBS); - this.trade = new TransactionAwareTrade(this.delegate, this.manager); + this.arbitrationManager = mock(ArbitrationManager.class, RETURNS_DEEP_STUBS); + this.trade = new TransactionAwareTrade(this.delegate, this.arbitrationManager); } @Test @@ -85,7 +85,7 @@ public void testIsRelatedToTransactionWhenDisputedPayoutTx() { when(dispute.getDisputePayoutTxId()).thenReturn(XID); when(dispute.getTradeId()).thenReturn(tradeId); - when(manager.getDisputesAsObservableList()) + when(arbitrationManager.getDisputesAsObservableList()) .thenReturn(FXCollections.observableArrayList(Collections.singleton(dispute))); when(delegate.getId()).thenReturn(tradeId); diff --git a/desktop/src/test/java/bisq/desktop/main/offer/createoffer/CreateOfferDataModelTest.java b/desktop/src/test/java/bisq/desktop/main/offer/createoffer/CreateOfferDataModelTest.java index e2291be163b..e588735a914 100644 --- a/desktop/src/test/java/bisq/desktop/main/offer/createoffer/CreateOfferDataModelTest.java +++ b/desktop/src/test/java/bisq/desktop/main/offer/createoffer/CreateOfferDataModelTest.java @@ -61,7 +61,7 @@ public void setUp() { null, preferences, user, null, null, priceFeedService, null, null, feeService, feeEstimationService, - null, null, makerFeeProvider); + null, null, makerFeeProvider, null); } @Test diff --git a/desktop/src/test/java/bisq/desktop/main/offer/createoffer/CreateOfferViewModelTest.java b/desktop/src/test/java/bisq/desktop/main/offer/createoffer/CreateOfferViewModelTest.java index 6b4aa521165..6fcb5950bac 100644 --- a/desktop/src/test/java/bisq/desktop/main/offer/createoffer/CreateOfferViewModelTest.java +++ b/desktop/src/test/java/bisq/desktop/main/offer/createoffer/CreateOfferViewModelTest.java @@ -104,11 +104,16 @@ public void setUp() { when(bsqFormatter.formatCoin(any())).thenReturn("0"); when(bsqWalletService.getAvailableConfirmedBalance()).thenReturn(Coin.ZERO); - CreateOfferDataModel dataModel = new CreateOfferDataModel(null, btcWalletService, bsqWalletService, empty, user, null, null, priceFeedService, null, accountAgeWitnessService, feeService, txFeeEstimationService, null, bsFormatter, mock(MakerFeeProvider.class)); + CreateOfferDataModel dataModel = new CreateOfferDataModel(null, btcWalletService, + bsqWalletService, empty, user, null, null, priceFeedService, null, + accountAgeWitnessService, feeService, txFeeEstimationService, + null, bsFormatter, mock(MakerFeeProvider.class), null); dataModel.initWithData(OfferPayload.Direction.BUY, new CryptoCurrency("BTC", "bitcoin")); dataModel.activate(); - model = new CreateOfferViewModel(dataModel, null, fiatPriceValidator, altcoinValidator, btcValidator, null, securityDepositValidator, null, null, priceFeedService, null, preferences, bsFormatter, bsqFormatter); + model = new CreateOfferViewModel(dataModel, null, fiatPriceValidator, altcoinValidator, + btcValidator, null, securityDepositValidator, priceFeedService, null, + preferences, bsFormatter, bsqFormatter); model.activate(); } diff --git a/desktop/src/test/java/bisq/desktop/main/offer/offerbook/OfferBookViewModelTest.java b/desktop/src/test/java/bisq/desktop/main/offer/offerbook/OfferBookViewModelTest.java index 272d241c468..d0224d29774 100644 --- a/desktop/src/test/java/bisq/desktop/main/offer/offerbook/OfferBookViewModelTest.java +++ b/desktop/src/test/java/bisq/desktop/main/offer/offerbook/OfferBookViewModelTest.java @@ -446,7 +446,10 @@ private PaymentAccount getCryptoAccount(String currencyCode) { return paymentAccount; } - private PaymentAccount getSepaAccount(String currencyCode, String countryCode, String bic, ArrayList countryCodes) { + private PaymentAccount getSepaAccount(String currencyCode, + String countryCode, + String bic, + ArrayList countryCodes) { CountryBasedPaymentAccount paymentAccount = new SepaAccount(); paymentAccount.setSingleTradeCurrency(new FiatCurrency(currencyCode)); paymentAccount.setCountry(new Country(countryCode, null, null)); @@ -471,7 +474,10 @@ private PaymentAccount getSameBankAccount(String currencyCode, String countryCod return paymentAccount; } - private PaymentAccount getSpecificBanksAccount(String currencyCode, String countryCode, String bankId, ArrayList bankIds) { + private PaymentAccount getSpecificBanksAccount(String currencyCode, + String countryCode, + String bankId, + ArrayList bankIds) { SpecificBanksAccount paymentAccount = new SpecificBanksAccount(); paymentAccount.setSingleTradeCurrency(new FiatCurrency(currencyCode)); paymentAccount.setCountry(new Country(countryCode, null, null)); @@ -499,7 +505,10 @@ private Offer getAliPayPaymentMethod(String currencyCode) { null); } - private Offer getSEPAPaymentMethod(String currencyCode, String countryCode, ArrayList countryCodes, String bankId) { + private Offer getSEPAPaymentMethod(String currencyCode, + String countryCode, + ArrayList countryCodes, + String bankId) { return getPaymentMethod(currencyCode, PaymentMethod.SEPA_ID, countryCode, @@ -526,7 +535,10 @@ private Offer getSameBankPaymentMethod(String currencyCode, String countryCode, new ArrayList<>(Collections.singletonList(bankId))); } - private Offer getSpecificBanksPaymentMethod(String currencyCode, String countryCode, String bankId, ArrayList bankIds) { + private Offer getSpecificBanksPaymentMethod(String currencyCode, + String countryCode, + String bankId, + ArrayList bankIds) { return getPaymentMethod(currencyCode, PaymentMethod.SPECIFIC_BANKS_ID, countryCode, @@ -535,7 +547,12 @@ private Offer getSpecificBanksPaymentMethod(String currencyCode, String countryC bankIds); } - private Offer getPaymentMethod(String currencyCode, String paymentMethodId, String countryCode, ArrayList countryCodes, String bankId, ArrayList bankIds) { + private Offer getPaymentMethod(String currencyCode, + String paymentMethodId, + String countryCode, + ArrayList countryCodes, + String bankId, + ArrayList bankIds) { return getOffer(currencyCode, paymentMethodId, countryCode, @@ -545,7 +562,12 @@ private Offer getPaymentMethod(String currencyCode, String paymentMethodId, Stri } - private Offer getOffer(String tradeCurrencyCode, String paymentMethodId, String countryCode, ArrayList acceptedCountryCodes, String bankId, ArrayList acceptedBanks) { + private Offer getOffer(String tradeCurrencyCode, + String paymentMethodId, + String countryCode, + ArrayList acceptedCountryCodes, + String bankId, + ArrayList acceptedBanks) { return new Offer(new OfferPayload(null, 0, null, diff --git a/desktop/src/test/java/bisq/desktop/main/portfolio/editoffer/EditOfferDataModelTest.java b/desktop/src/test/java/bisq/desktop/main/portfolio/editoffer/EditOfferDataModelTest.java index ee0dc5a2e97..776aa627a18 100644 --- a/desktop/src/test/java/bisq/desktop/main/portfolio/editoffer/EditOfferDataModelTest.java +++ b/desktop/src/test/java/bisq/desktop/main/portfolio/editoffer/EditOfferDataModelTest.java @@ -93,7 +93,7 @@ public void setUp() { btcWalletService, bsqWalletService, empty, user, null, null, priceFeedService, null, accountAgeWitnessService, feeService, null, null, - null, null, mock(MakerFeeProvider.class)); + null, null, mock(MakerFeeProvider.class), null); } @Test diff --git a/desktop/src/test/java/bisq/desktop/main/settings/preferences/PreferencesViewModelTest.java b/desktop/src/test/java/bisq/desktop/main/settings/preferences/PreferencesViewModelTest.java index 3f3fc0b2cd1..441c12a3576 100644 --- a/desktop/src/test/java/bisq/desktop/main/settings/preferences/PreferencesViewModelTest.java +++ b/desktop/src/test/java/bisq/desktop/main/settings/preferences/PreferencesViewModelTest.java @@ -19,8 +19,8 @@ import bisq.desktop.maker.PreferenceMakers; -import bisq.core.arbitration.Arbitrator; -import bisq.core.arbitration.ArbitratorManager; +import bisq.core.support.dispute.arbitration.arbitrator.Arbitrator; +import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; import bisq.core.user.Preferences; import bisq.network.p2p.NodeAddress; @@ -70,7 +70,7 @@ public void testGetArbitrationLanguages() { Preferences preferences = PreferenceMakers.empty; - when(arbitratorManager.getArbitratorsObservableMap()).thenReturn(arbitrators); + when(arbitratorManager.getObservableMap()).thenReturn(arbitrators); PreferencesViewModel model = new PreferencesViewModel(preferences, arbitratorManager); diff --git a/monitor/src/main/java/bisq/monitor/metric/P2PSeedNodeSnapshotBase.java b/monitor/src/main/java/bisq/monitor/metric/P2PSeedNodeSnapshotBase.java index d379fb2fde8..2b7fb9097b3 100644 --- a/monitor/src/main/java/bisq/monitor/metric/P2PSeedNodeSnapshotBase.java +++ b/monitor/src/main/java/bisq/monitor/metric/P2PSeedNodeSnapshotBase.java @@ -58,7 +58,7 @@ * */ @Slf4j -abstract public class P2PSeedNodeSnapshotBase extends Metric implements MessageListener { +public abstract class P2PSeedNodeSnapshotBase extends Metric implements MessageListener { private static final String HOSTS = "run.hosts"; private static final String TOR_PROXY_PORT = "run.torProxyPort"; @@ -103,7 +103,7 @@ protected void execute() { report(); } - abstract protected List getRequests(); + protected abstract List getRequests(); protected void send(NetworkNode networkNode, NetworkEnvelope message) { @@ -172,5 +172,5 @@ public void onMessage(NetworkEnvelope networkEnvelope, Connection connection) { connection.removeMessageListener(this); } - abstract protected boolean treatMessage(NetworkEnvelope networkEnvelope, Connection connection); + protected abstract boolean treatMessage(NetworkEnvelope networkEnvelope, Connection connection); } diff --git a/p2p/src/main/java/bisq/network/p2p/AckMessageSourceType.java b/p2p/src/main/java/bisq/network/p2p/AckMessageSourceType.java index adfddf681ee..679c1384591 100644 --- a/p2p/src/main/java/bisq/network/p2p/AckMessageSourceType.java +++ b/p2p/src/main/java/bisq/network/p2p/AckMessageSourceType.java @@ -21,5 +21,7 @@ public enum AckMessageSourceType { UNDEFINED, OFFER_MESSAGE, TRADE_MESSAGE, - DISPUTE_MESSAGE + ARBITRATION_MESSAGE, + MEDIATION_MESSAGE, + TRADE_CHAT_MESSAGE } diff --git a/p2p/src/main/java/bisq/network/p2p/BootstrapListener.java b/p2p/src/main/java/bisq/network/p2p/BootstrapListener.java index f3c161f5ba0..3b82d4945bd 100644 --- a/p2p/src/main/java/bisq/network/p2p/BootstrapListener.java +++ b/p2p/src/main/java/bisq/network/p2p/BootstrapListener.java @@ -44,7 +44,7 @@ public void onDataReceived() { } @Override - abstract public void onUpdatedDataReceived(); + public abstract void onUpdatedDataReceived(); @Override public void onRequestCustomBridges() { diff --git a/p2p/src/main/java/bisq/network/p2p/network/NetworkNode.java b/p2p/src/main/java/bisq/network/p2p/network/NetworkNode.java index 94262d8f7ff..82b30c46ef4 100644 --- a/p2p/src/main/java/bisq/network/p2p/network/NetworkNode.java +++ b/p2p/src/main/java/bisq/network/p2p/network/NetworkNode.java @@ -94,7 +94,7 @@ public abstract class NetworkNode implements MessageListener { // Calls this (and other registered) setup listener's ``onTorNodeReady()`` and ``onHiddenServicePublished`` // when the events happen. - abstract public void start(@Nullable SetupListener setupListener); + public abstract void start(@Nullable SetupListener setupListener); public SettableFuture sendMessage(@NotNull NodeAddress peersNodeAddress, NetworkEnvelope networkEnvelope) { @@ -462,7 +462,7 @@ private void printInboundConnections() { log.debug(sb.toString()); } - abstract protected Socket createSocket(NodeAddress peersNodeAddress) throws IOException; + protected abstract Socket createSocket(NodeAddress peersNodeAddress) throws IOException; @Nullable public NodeAddress getNodeAddress() { diff --git a/p2p/src/main/java/bisq/network/p2p/storage/persistence/MapStoreService.java b/p2p/src/main/java/bisq/network/p2p/storage/persistence/MapStoreService.java index 7b87201bd42..5449a3f3a97 100644 --- a/p2p/src/main/java/bisq/network/p2p/storage/persistence/MapStoreService.java +++ b/p2p/src/main/java/bisq/network/p2p/storage/persistence/MapStoreService.java @@ -52,9 +52,9 @@ public MapStoreService(File storageDir, Storage storage) { // API /////////////////////////////////////////////////////////////////////////////////////////// - abstract public Map getMap(); + public abstract Map getMap(); - abstract public boolean canHandle(R payload); + public abstract boolean canHandle(R payload); R putIfAbsent(P2PDataStorage.ByteArray hash, R payload) { R previous = getMap().putIfAbsent(hash, payload); diff --git a/p2p/src/main/java/bisq/network/p2p/storage/persistence/StoreService.java b/p2p/src/main/java/bisq/network/p2p/storage/persistence/StoreService.java index 81875d9c713..5476ad9403e 100644 --- a/p2p/src/main/java/bisq/network/p2p/storage/persistence/StoreService.java +++ b/p2p/src/main/java/bisq/network/p2p/storage/persistence/StoreService.java @@ -73,7 +73,7 @@ protected T getStore() { return store; } - abstract public String getFileName(); + public abstract String getFileName(); /////////////////////////////////////////////////////////////////////////////////////////// @@ -133,5 +133,5 @@ protected void readStore() { } } - abstract protected T createStore(); + protected abstract T createStore(); } From 617ae35adf070ea06db11571a0f403e84bd00a21 Mon Sep 17 00:00:00 2001 From: chimp1984 Date: Wed, 11 Sep 2019 16:53:53 +0200 Subject: [PATCH 22/45] Fix wrong error string --- .../protocol/tasks/maker/MakerProcessPayDepositRequest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerProcessPayDepositRequest.java b/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerProcessPayDepositRequest.java index 4a2cf510f79..3a8088905ce 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerProcessPayDepositRequest.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerProcessPayDepositRequest.java @@ -98,7 +98,7 @@ protected void run() { "payDepositRequest.getMediatorNodeAddress() must not be null"); trade.setMediatorNodeAddress(mediatorNodeAddress); Mediator mediator = checkNotNull(user.getAcceptedMediatorByAddress(mediatorNodeAddress), - "user.getAcceptedArbitratorByAddress(arbitratorNodeAddress) must not be null"); + "user.getAcceptedMediatorByAddress(mediatorNodeAddress) must not be null"); trade.setMediatorPubKeyRing(checkNotNull(mediator.getPubKeyRing(), "mediator.getPubKeyRing() must not be null")); From 5e48845d4c7e93583d5d3eb978540e60ae42d165 Mon Sep 17 00:00:00 2001 From: chimp1984 Date: Wed, 11 Sep 2019 17:52:57 +0200 Subject: [PATCH 23/45] Remove dev log, change log level --- core/src/main/java/bisq/core/trade/Trade.java | 2 +- .../tasks/mediation/SendMediatedPayoutSignatureMessage.java | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/core/src/main/java/bisq/core/trade/Trade.java b/core/src/main/java/bisq/core/trade/Trade.java index f88b50ca042..a86ea93fa7b 100644 --- a/core/src/main/java/bisq/core/trade/Trade.java +++ b/core/src/main/java/bisq/core/trade/Trade.java @@ -668,7 +668,7 @@ public void onComplete() { /////////////////////////////////////////////////////////////////////////////////////////// public void setState(State state) { - log.debug("Set new state at {} (id={}): {}", this.getClass().getSimpleName(), getShortId(), state); + log.info("Set new state at {} (id={}): {}", this.getClass().getSimpleName(), getShortId(), state); if (state.getPhase().ordinal() < this.state.getPhase().ordinal()) { String message = "We got a state change to a previous phase.\n" + "Old state is: " + this.state + ". New state is: " + state; diff --git a/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SendMediatedPayoutSignatureMessage.java b/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SendMediatedPayoutSignatureMessage.java index 6289c6d2725..88e6450da47 100644 --- a/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SendMediatedPayoutSignatureMessage.java +++ b/core/src/main/java/bisq/core/trade/protocol/tasks/mediation/SendMediatedPayoutSignatureMessage.java @@ -52,7 +52,6 @@ protected void run() { Contract contract = checkNotNull(trade.getContract(), "contract must not be null"); PubKeyRing peersPubKeyRing = contract.getPeersPubKeyRing(pubKeyRing); NodeAddress peersNodeAddress = contract.getPeersNodeAddress(pubKeyRing); - log.error("sendBuyerSendPayoutSignatureMessage to peerAddress " + peersNodeAddress); P2PService p2PService = processModel.getP2PService(); MediatedPayoutTxSignatureMessage message = new MediatedPayoutTxSignatureMessage(processModel.getMediatedPayoutTxSignature(), trade.getId(), From 4a3d070259663b9955925cd7540a43c30f18ef6e Mon Sep 17 00:00:00 2001 From: chimp1984 Date: Wed, 11 Sep 2019 17:53:39 +0200 Subject: [PATCH 24/45] Close trader chat popup once trade gets closed Fixes https://github.com/bisq-network/bisq/issues/3243 --- .../support/traderchat/TraderChatManager.java | 20 ----------- .../pendingtrades/PendingTradesView.java | 36 +++++++++++++++---- 2 files changed, 29 insertions(+), 27 deletions(-) diff --git a/core/src/main/java/bisq/core/support/traderchat/TraderChatManager.java b/core/src/main/java/bisq/core/support/traderchat/TraderChatManager.java index de5659e5bfd..4f631ef8532 100644 --- a/core/src/main/java/bisq/core/support/traderchat/TraderChatManager.java +++ b/core/src/main/java/bisq/core/support/traderchat/TraderChatManager.java @@ -21,7 +21,6 @@ import bisq.core.locale.Res; import bisq.core.support.SupportManager; import bisq.core.support.SupportType; -import bisq.core.support.dispute.messages.DisputeResultMessage; import bisq.core.support.messages.ChatMessage; import bisq.core.support.messages.SupportMessage; import bisq.core.trade.Trade; @@ -39,7 +38,6 @@ import javafx.collections.ObservableList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.stream.Collectors; import lombok.extern.slf4j.Slf4j; @@ -50,13 +48,6 @@ public class TraderChatManager extends SupportManager { private final TradeManager tradeManager; private final PubKeyRing pubKeyRing; - public interface DisputeStateListener { - void onDisputeClosed(String tradeId); - } - - // Needed to avoid ConcurrentModificationException as we remove a listener at the handler call - private List disputeStateListeners = new CopyOnWriteArrayList<>(); - /////////////////////////////////////////////////////////////////////////////////////////// // Constructor @@ -147,23 +138,12 @@ protected AckMessageSourceType getAckMessageSourceType() { // API /////////////////////////////////////////////////////////////////////////////////////////// - public void addDisputeStateListener(TraderChatManager.DisputeStateListener disputeStateListener) { - disputeStateListeners.add(disputeStateListener); - } - - public void removeDisputeStateListener(TraderChatManager.DisputeStateListener disputeStateListener) { - disputeStateListeners.remove(disputeStateListener); - } - public void dispatchMessage(SupportMessage message) { if (canProcessMessage(message)) { log.info("Received {} with tradeId {} and uid {}", message.getClass().getSimpleName(), message.getTradeId(), message.getUid()); if (message instanceof ChatMessage) { onChatMessage((ChatMessage) message); - } else if (message instanceof DisputeResultMessage) { - // We notify about dispute closed state - disputeStateListeners.forEach(e -> e.onDisputeClosed(message.getTradeId())); } else { log.warn("Unsupported message at dispatchMessage. message={}", message); } diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/PendingTradesView.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/PendingTradesView.java index 386edd104ea..2f44a005864 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/PendingTradesView.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/PendingTradesView.java @@ -32,6 +32,7 @@ import bisq.core.alert.PrivateNotificationManager; import bisq.core.app.AppOptionKeys; import bisq.core.locale.Res; +import bisq.core.support.dispute.mediation.MediationResultState; import bisq.core.support.messages.ChatMessage; import bisq.core.support.traderchat.TradeChatSession; import bisq.core.support.traderchat.TraderChatManager; @@ -124,7 +125,9 @@ public class PendingTradesView extends ActivatableViewAndModel buttonByTrade = new HashMap<>(); private Map badgeByTrade = new HashMap<>(); private Map> listenerByTrade = new HashMap<>(); - private TraderChatManager.DisputeStateListener disputeStateListener; + private ChangeListener tradeStateListener; + private ChangeListener disputeStateListener; + private ChangeListener mediationResultStateListener; /////////////////////////////////////////////////////////////////////////////////////////// @@ -354,12 +357,30 @@ private void openChat(Trade trade) { boolean isTaker = !model.dataModel.isMaker(trade.getOffer()); TradeChatSession tradeChatSession = new TradeChatSession(trade, isTaker); - disputeStateListener = tradeId -> { - if (trade.getId().equals(tradeId)) { + tradeStateListener = (observable, oldValue, newValue) -> { + if (trade.isPayoutPublished()) { + if (chatPopupStage.isShowing()) { + chatPopupStage.hide(); + } + } + }; + trade.stateProperty().addListener(tradeStateListener); + + disputeStateListener = (observable, oldValue, newValue) -> { + if (newValue == Trade.DisputeState.DISPUTE_CLOSED) { + chatPopupStage.hide(); + } + }; + trade.disputeStateProperty().addListener(disputeStateListener); + + mediationResultStateListener = (observable, oldValue, newValue) -> { + if (newValue == MediationResultState.PAYOUT_TX_PUBLISHED || + newValue == MediationResultState.RECEIVED_PAYOUT_TX_PUBLISHED_MSG || + newValue == MediationResultState.PAYOUT_TX_SEEN_IN_NETWORK) { chatPopupStage.hide(); } }; - traderChatManager.addDisputeStateListener(disputeStateListener); + trade.mediationResultStateProperty().addListener(mediationResultStateListener); chatView.display(tradeChatSession, pane.widthProperty()); @@ -386,9 +407,10 @@ private void openChat(Trade trade) { if (yPositionListener != null) { chatPopupStage.xProperty().removeListener(yPositionListener); } - if (disputeStateListener != null) { - traderChatManager.removeDisputeStateListener(disputeStateListener); - } + + trade.stateProperty().removeListener(tradeStateListener); + trade.disputeStateProperty().addListener(disputeStateListener); + trade.mediationResultStateProperty().addListener(mediationResultStateListener); }); Scene scene = new Scene(pane); From 6b6957918da5045292fb93101bf2a5d834d6df8b Mon Sep 17 00:00:00 2001 From: wiz Date: Thu, 12 Sep 2019 02:08:47 +0900 Subject: [PATCH 25/45] Add missing CSS classes for trade message states and status icon --- desktop/src/main/java/bisq/desktop/bisq.css | 28 +++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/desktop/src/main/java/bisq/desktop/bisq.css b/desktop/src/main/java/bisq/desktop/bisq.css index 2ee2cd1ed15..e0d7fbbffab 100644 --- a/desktop/src/main/java/bisq/desktop/bisq.css +++ b/desktop/src/main/java/bisq/desktop/bisq.css @@ -1389,6 +1389,30 @@ textfield */ -fx-fill: -bs-color-primary-dark; } +.trade-msg-state-undefined { + -fx-text-fill: -bs-yellow; +} + +.trade-msg-state-sent { + -fx-text-fill: -bs-yellow-light; +} + +.trade-msg-state-arrived { + -fx-text-fill: -bs-turquoise; +} + +.trade-msg-state-stored { + -fx-text-fill: -bs-color-blue-4; +} + +.trade-msg-state-acknowledged { + -fx-text-fill: -bs-color-primary; +} + +.trade-msg-state-failed { + -fx-text-fill: -bs-rd-error-red; +} + #open-support-button { -fx-font-weight: bold; -fx-font-size: 1.077em; @@ -2009,3 +2033,7 @@ textfield */ -fx-background-color: -bs-red-soft; -fx-text-fill: -bs-background-color; } + +.status-icon { + -fx-text-fill: -fx-faint-focus-color; +} From 0c4a07e1e64018ac5c65b057bdc915b232d209d7 Mon Sep 17 00:00:00 2001 From: wiz Date: Thu, 12 Sep 2019 02:09:13 +0900 Subject: [PATCH 26/45] Tweak light/dark theme CSS colors for trade chat state messages --- desktop/src/main/java/bisq/desktop/theme-dark.css | 2 +- desktop/src/main/java/bisq/desktop/theme-light.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/desktop/src/main/java/bisq/desktop/theme-dark.css b/desktop/src/main/java/bisq/desktop/theme-dark.css index 13d57d26ef4..1306aa4f856 100644 --- a/desktop/src/main/java/bisq/desktop/theme-dark.css +++ b/desktop/src/main/java/bisq/desktop/theme-dark.css @@ -12,7 +12,7 @@ -fx-accent: #25b135; -fx-box-border: #1d1d21; -fx-focus-color: #2ea33c; - -fx-faint-focus-color: rgba(11, 76, 96, 0.13); + -fx-faint-focus-color: #0f87c3; -fx-selection-bar: #1a6e1e; -fx-selection-bar-non-focused: #2a7e2e; -fx-default-button: derive(-fx-accent, 95%); diff --git a/desktop/src/main/java/bisq/desktop/theme-light.css b/desktop/src/main/java/bisq/desktop/theme-light.css index cc2ee52aeaf..6dfedcfe025 100644 --- a/desktop/src/main/java/bisq/desktop/theme-light.css +++ b/desktop/src/main/java/bisq/desktop/theme-light.css @@ -95,7 +95,7 @@ -bs-green-soft: derive(-bs-rd-green, 60%); -bs-red-soft: derive(-bs-rd-error-red, 60%); -fx-focus-color: -fx-accent; - -fx-faint-focus-color: #0f87c322; + -fx-faint-focus-color: #0f87c3; -fx-selection-bar: #e1f5e3; -fx-selection-bar-non-focused: -fx-selection-bar; -fx-default-button: derive(-fx-accent, 95%); From 3b35386d65b1ce5f1370277c1544efd126863bb2 Mon Sep 17 00:00:00 2001 From: battleofwizards Date: Wed, 11 Sep 2019 21:40:18 +0200 Subject: [PATCH 27/45] Add support for Monero integrated addresses; fix #3242 --- assets/src/main/java/bisq/asset/coins/Monero.java | 2 +- assets/src/test/java/bisq/asset/coins/MoneroTest.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/assets/src/main/java/bisq/asset/coins/Monero.java b/assets/src/main/java/bisq/asset/coins/Monero.java index 68c2c774f68..91f22d4cb6c 100644 --- a/assets/src/main/java/bisq/asset/coins/Monero.java +++ b/assets/src/main/java/bisq/asset/coins/Monero.java @@ -25,6 +25,6 @@ public class Monero extends Coin { public Monero() { - super("Monero", "XMR", new CryptoNoteAddressValidator(18, 42)); + super("Monero", "XMR", new CryptoNoteAddressValidator(18, 19, 42)); } } diff --git a/assets/src/test/java/bisq/asset/coins/MoneroTest.java b/assets/src/test/java/bisq/asset/coins/MoneroTest.java index 0b28aa5ef77..48841ee5aa3 100644 --- a/assets/src/test/java/bisq/asset/coins/MoneroTest.java +++ b/assets/src/test/java/bisq/asset/coins/MoneroTest.java @@ -31,6 +31,11 @@ public void testValidAddresses() { assertValidAddress("4BJHitCigGy6giuYsJFP26KGkTKiQDJ6HJP1pan2ir2CCV8Twc2WWmo4fu1NVXt8XLGYAkjo5cJ3yH68Lfz9ZXEUJ9MeqPW"); assertValidAddress("46tM15KsogEW5MiVmBn7waPF8u8ZsB6aHjJk7BAv1wvMKfWhQ2h2so5BCJ9cRakfPt5BFo452oy3K8UK6L2u2v7aJ3Nf7P2"); assertValidAddress("86iQTnEqQ9mXJFvBvbY3KU5do5Jh2NCkpTcZsw3TMZ6oKNJhELvAreZFQ1p8EknRRTKPp2vg9fJvy47Q4ARVChjLMuUAFQJ"); + + // integrated addresses + assertValidAddress("4LL9oSLmtpccfufTMvppY6JwXNouMBzSkbLYfpAV5Usx3skxNgYeYTRj5UzqtReoS44qo9mtmXCqY45DJ852K5Jv2bYXZKKQePHES9khPK"); + assertValidAddress("4GdoN7NCTi8a5gZug7PrwZNKjvHFmKeV11L6pNJPgj5QNEHsN6eeX3DaAQFwZ1ufD4LYCZKArktt113W7QjWvQ7CWD1FFMXoYHeE6M55P9"); + assertValidAddress("4GdoN7NCTi8a5gZug7PrwZNKjvHFmKeV11L6pNJPgj5QNEHsN6eeX3DaAQFwZ1ufD4LYCZKArktt113W7QjWvQ7CW82yHFEGvSG3NJRNtH"); } @Test From e71b6d69a7a18a93037c27533b1e150fc84da492 Mon Sep 17 00:00:00 2001 From: chimp1984 Date: Fri, 13 Sep 2019 00:38:59 +0200 Subject: [PATCH 28/45] Remove CapabilityRequiringPayload from NewBlockBroadcastMessage We remove the CapabilityRequiringPayload interface to avoid risks that new BSQ blocks are not well distributed in case the capability is not exchanged at the time when the message is sent. We need to improve the capability handling so that we can be sure that we know the actual capability of the peer. --- .../node/messages/NewBlockBroadcastMessage.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/core/src/main/java/bisq/core/dao/node/messages/NewBlockBroadcastMessage.java b/core/src/main/java/bisq/core/dao/node/messages/NewBlockBroadcastMessage.java index b7b50c5fe33..658ace48e02 100644 --- a/core/src/main/java/bisq/core/dao/node/messages/NewBlockBroadcastMessage.java +++ b/core/src/main/java/bisq/core/dao/node/messages/NewBlockBroadcastMessage.java @@ -20,20 +20,21 @@ import bisq.core.dao.node.full.RawBlock; import bisq.network.p2p.storage.messages.BroadcastMessage; -import bisq.network.p2p.storage.payload.CapabilityRequiringPayload; -import bisq.common.app.Capabilities; -import bisq.common.app.Capability; import bisq.common.app.Version; import bisq.common.proto.network.NetworkEnvelope; import lombok.EqualsAndHashCode; import lombok.Getter; +// We remove the CapabilityRequiringPayload interface to avoid risks that new BSQ blocks are not well distributed in +// case the capability is not exchanged at the time when the message is sent. We need to improve the capability handling +// so that we can be sure that we know the actual capability of the peer. + // This message is sent only to lite DAO nodes (full nodes get block from their local bitcoind) @EqualsAndHashCode(callSuper = true) @Getter -public final class NewBlockBroadcastMessage extends BroadcastMessage implements CapabilityRequiringPayload { +public final class NewBlockBroadcastMessage extends BroadcastMessage /*implements CapabilityRequiringPayload*/ { private final RawBlock block; public NewBlockBroadcastMessage(RawBlock block) { @@ -63,8 +64,8 @@ public static NetworkEnvelope fromProto(protobuf.NewBlockBroadcastMessage proto, messageVersion); } - @Override - public Capabilities getRequiredCapabilities() { - return new Capabilities(Capability.RECEIVE_BSQ_BLOCK); - } +// @Override +// public Capabilities getRequiredCapabilities() { +// return new Capabilities(Capability.RECEIVE_BSQ_BLOCK); +// } } From 4d2a51ebb0ddfbffb476da7b035e78fa8716ba7a Mon Sep 17 00:00:00 2001 From: wiz Date: Thu, 12 Sep 2019 12:05:18 +0900 Subject: [PATCH 29/45] Add new FormBuilder method for Label + TextField + AutocompleteComboBox --- .../java/bisq/desktop/util/FormBuilder.java | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/desktop/src/main/java/bisq/desktop/util/FormBuilder.java b/desktop/src/main/java/bisq/desktop/util/FormBuilder.java index ab623d07e44..28b90b771bf 100644 --- a/desktop/src/main/java/bisq/desktop/util/FormBuilder.java +++ b/desktop/src/main/java/bisq/desktop/util/FormBuilder.java @@ -1187,6 +1187,51 @@ public static Tuple2> addLabelAutocompleteComboBox(GridPa return new Tuple2<>(labelVBoxTuple2.first, comboBox); } + /////////////////////////////////////////////////////////////////////////////////////////// + // Label + TextField + AutocompleteComboBox + /////////////////////////////////////////////////////////////////////////////////////////// + + public static Tuple4> addTopLabelTextFieldAutocompleteComboBox( + GridPane gridPane, + int rowIndex, + String titleTextfield, + String titleCombobox + ) + { + return addTopLabelTextFieldAutocompleteComboBox(gridPane, rowIndex, titleTextfield, titleCombobox, 0); + } + + public static Tuple4> addTopLabelTextFieldAutocompleteComboBox( + GridPane gridPane, + int rowIndex, + String titleTextfield, + String titleCombobox, + double top + ) + { + HBox hBox = new HBox(); + hBox.setSpacing(10); + + final VBox topLabelVBox1 = getTopLabelVBox(5); + final Label topLabel1 = getTopLabel(titleTextfield); + final TextField textField = new BisqTextField(); + topLabelVBox1.getChildren().addAll(topLabel1, textField); + + final VBox topLabelVBox2 = getTopLabelVBox(5); + final Label topLabel2 = getTopLabel(titleCombobox); + AutocompleteComboBox comboBox = new AutocompleteComboBox<>(); + comboBox.setPromptText(titleCombobox); + ((JFXComboBox) comboBox).setLabelFloat(true); + topLabelVBox2.getChildren().addAll(topLabel2, comboBox); + + hBox.getChildren().addAll(topLabelVBox1, topLabelVBox2); + + GridPane.setRowIndex(hBox, rowIndex); + GridPane.setMargin(hBox, new Insets(top, 0, 0, 0)); + gridPane.getChildren().add(hBox); + + return new Tuple4<>(topLabel1, textField, topLabel2, comboBox); + } /////////////////////////////////////////////////////////////////////////////////////////// // Label + ComboBox + ComboBox From a09557fc4505b8ca0087cfb750307923a238dd27 Mon Sep 17 00:00:00 2001 From: wiz Date: Sun, 8 Sep 2019 07:50:37 +0900 Subject: [PATCH 30/45] Add new payment method: Japan Bank Transfer (furikomi) --- common/src/main/proto/pb.proto | 11 + .../bisq/core/payment/JapanBankAccount.java | 124 +++ .../core/payment/PaymentAccountFactory.java | 2 + .../payload/JapanBankAccountPayload.java | 147 +++ .../core/payment/payload/PaymentMethod.java | 5 + .../bisq/core/proto/CoreProtoResolver.java | 3 + .../resources/i18n/displayStrings.properties | 4 +- .../i18n/displayStrings_ja.properties | 3 + .../paymentmethods/JapanBankTransferForm.java | 395 ++++++++ .../paymentmethods/data/JapanBankData.java | 885 ++++++++++++++++++ .../fiataccounts/FiatAccountsView.java | 8 + .../main/java/bisq/desktop/util/GUIUtil.java | 2 + .../JapanBankAccountNameValidator.java | 52 + .../JapanBankAccountNumberValidator.java | 41 + .../JapanBankBranchCodeValidator.java | 32 + .../JapanBankBranchNameValidator.java | 52 + .../JapanBankTransferValidator.java | 37 + 17 files changed, 1802 insertions(+), 1 deletion(-) create mode 100644 core/src/main/java/bisq/core/payment/JapanBankAccount.java create mode 100644 core/src/main/java/bisq/core/payment/payload/JapanBankAccountPayload.java create mode 100644 desktop/src/main/java/bisq/desktop/components/paymentmethods/JapanBankTransferForm.java create mode 100644 desktop/src/main/java/bisq/desktop/components/paymentmethods/data/JapanBankData.java create mode 100644 desktop/src/main/java/bisq/desktop/util/validation/JapanBankAccountNameValidator.java create mode 100644 desktop/src/main/java/bisq/desktop/util/validation/JapanBankAccountNumberValidator.java create mode 100644 desktop/src/main/java/bisq/desktop/util/validation/JapanBankBranchCodeValidator.java create mode 100644 desktop/src/main/java/bisq/desktop/util/validation/JapanBankBranchNameValidator.java create mode 100644 desktop/src/main/java/bisq/desktop/util/validation/JapanBankTransferValidator.java diff --git a/common/src/main/proto/pb.proto b/common/src/main/proto/pb.proto index 503d0d9e024..e287f18040d 100644 --- a/common/src/main/proto/pb.proto +++ b/common/src/main/proto/pb.proto @@ -828,6 +828,7 @@ message PaymentAccountPayload { PromptPayAccountPayload prompt_pay_account_payload = 25; AdvancedCashAccountPayload advanced_cash_account_payload = 26; InstantCryptoCurrencyAccountPayload instant_crypto_currency_account_payload = 27; + JapanBankAccountPayload japan_bank_account_payload = 28; } map exclude_from_json_data = 15; } @@ -885,6 +886,16 @@ message NationalBankAccountPayload { message SameBankAccountPayload { } +message JapanBankAccountPayload { + string bank_name = 1; + string bank_code = 2; + string bank_branch_name = 3; + string bank_branch_code = 4; + string bank_account_type = 5; + string bank_account_name = 6; + string bank_account_number = 7; +} + message SpecificBanksAccountPayload { repeated string accepted_banks = 1; } diff --git a/core/src/main/java/bisq/core/payment/JapanBankAccount.java b/core/src/main/java/bisq/core/payment/JapanBankAccount.java new file mode 100644 index 00000000000..b2d9fede114 --- /dev/null +++ b/core/src/main/java/bisq/core/payment/JapanBankAccount.java @@ -0,0 +1,124 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.payment; + +import bisq.core.payment.payload.JapanBankAccountPayload; +import bisq.core.payment.payload.PaymentAccountPayload; +import bisq.core.payment.payload.PaymentMethod; +import bisq.core.payment.payload.JapanBankAccountPayload; + +import org.jetbrains.annotations.NotNull; + +import lombok.Getter; +import lombok.Setter; + +import bisq.core.locale.Country; +import bisq.core.locale.FiatCurrency; +import bisq.core.payment.payload.JapanBankAccountPayload; + +public final class JapanBankAccount extends PaymentAccount +{ + public JapanBankAccount() + { + super(PaymentMethod.JAPAN_BANK); + setSingleTradeCurrency(new FiatCurrency("JPY")); + } + + @Override + protected PaymentAccountPayload createPayload() + { + return new JapanBankAccountPayload(paymentMethod.getId(), id); + } + + // bank code + public String getBankCode() + { + return ((JapanBankAccountPayload) paymentAccountPayload).getBankCode(); + } + public void setBankCode(String bankCode) + { + if (bankCode == null) bankCode = ""; + ((JapanBankAccountPayload) paymentAccountPayload).setBankCode(bankCode); + } + + // bank name + public String getBankName() + { + return ((JapanBankAccountPayload) paymentAccountPayload).getBankName(); + } + public void setBankName(String bankName) + { + if (bankName == null) bankName = ""; + ((JapanBankAccountPayload) paymentAccountPayload).setBankName(bankName); + } + + // branch code + public String getBankBranchCode() + { + return ((JapanBankAccountPayload) paymentAccountPayload).getBankBranchCode(); + } + public void setBankBranchCode(String bankBranchCode) + { + if (bankBranchCode == null) bankBranchCode = ""; + ((JapanBankAccountPayload) paymentAccountPayload).setBankBranchCode(bankBranchCode); + } + + // branch name + public String getBankBranchName() + { + return ((JapanBankAccountPayload) paymentAccountPayload).getBankBranchName(); + } + public void setBankBranchName(String bankBranchName) + { + if (bankBranchName == null) bankBranchName = ""; + ((JapanBankAccountPayload) paymentAccountPayload).setBankBranchName(bankBranchName); + } + + // account type + public String getBankAccountType() + { + return ((JapanBankAccountPayload) paymentAccountPayload).getBankAccountType(); + } + public void setBankAccountType(String bankAccountType) + { + if (bankAccountType == null) bankAccountType = ""; + ((JapanBankAccountPayload) paymentAccountPayload).setBankAccountType(bankAccountType); + } + + // account number + public String getBankAccountNumber() + { + return ((JapanBankAccountPayload) paymentAccountPayload).getBankAccountNumber(); + } + public void setBankAccountNumber(String bankAccountNumber) + { + if (bankAccountNumber == null) bankAccountNumber = ""; + ((JapanBankAccountPayload) paymentAccountPayload).setBankAccountNumber(bankAccountNumber); + } + + // account name + public String getBankAccountName() + { + return ((JapanBankAccountPayload) paymentAccountPayload).getBankAccountName(); + } + public void setBankAccountName(String bankAccountName) + { + if (bankAccountName == null) bankAccountName = ""; + ((JapanBankAccountPayload) paymentAccountPayload).setBankAccountName(bankAccountName); + } +} diff --git a/core/src/main/java/bisq/core/payment/PaymentAccountFactory.java b/core/src/main/java/bisq/core/payment/PaymentAccountFactory.java index 044967cd7a6..e858e01e3b0 100644 --- a/core/src/main/java/bisq/core/payment/PaymentAccountFactory.java +++ b/core/src/main/java/bisq/core/payment/PaymentAccountFactory.java @@ -44,6 +44,8 @@ public static PaymentAccount getPaymentAccount(PaymentMethod paymentMethod) { return new SameBankAccount(); case PaymentMethod.SPECIFIC_BANKS_ID: return new SpecificBanksAccount(); + case PaymentMethod.JAPAN_BANK_ID: + return new JapanBankAccount(); case PaymentMethod.ALI_PAY_ID: return new AliPayAccount(); case PaymentMethod.WECHAT_PAY_ID: diff --git a/core/src/main/java/bisq/core/payment/payload/JapanBankAccountPayload.java b/core/src/main/java/bisq/core/payment/payload/JapanBankAccountPayload.java new file mode 100644 index 00000000000..d33a37150d1 --- /dev/null +++ b/core/src/main/java/bisq/core/payment/payload/JapanBankAccountPayload.java @@ -0,0 +1,147 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.core.payment.payload; + +import bisq.core.locale.Res; + +import com.google.protobuf.Message; + +import org.springframework.util.CollectionUtils; + +import java.nio.charset.Charset; + +import java.util.HashMap; +import java.util.Map; + +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.extern.slf4j.Slf4j; + +// Cannot be deleted as it would break old trade history entries +// Removed due too high chargeback risk +@Deprecated +@EqualsAndHashCode(callSuper = true) +@ToString +@Setter +@Getter +@Slf4j +public final class JapanBankAccountPayload extends PaymentAccountPayload { + // bank + private String bankName = ""; + private String bankCode = ""; + // branch + private String bankBranchName = ""; + private String bankBranchCode = ""; + // account + private String bankAccountType = ""; + private String bankAccountName = ""; + private String bankAccountNumber = ""; + + public JapanBankAccountPayload(String paymentMethod, String id) { + super(paymentMethod, id); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // PROTO BUFFER + /////////////////////////////////////////////////////////////////////////////////////////// + + private JapanBankAccountPayload(String paymentMethod, + String id, + String bankName, + String bankCode, + String bankBranchName, + String bankBranchCode, + String bankAccountType, + String bankAccountName, + String bankAccountNumber, + long maxTradePeriod, + Map excludeFromJsonDataMap) { + super(paymentMethod, + id, + maxTradePeriod, + excludeFromJsonDataMap); + + this.bankName = bankName; + this.bankCode = bankCode; + this.bankBranchName = bankBranchName; + this.bankBranchCode = bankBranchCode; + this.bankAccountType = bankAccountType; + this.bankAccountName = bankAccountName; + this.bankAccountNumber = bankAccountNumber; + } + + @Override + public Message toProtoMessage() { + return getPaymentAccountPayloadBuilder() + .setJapanBankAccountPayload( + protobuf.JapanBankAccountPayload.newBuilder() + .setBankName(bankName) + .setBankCode(bankCode) + .setBankBranchName(bankBranchName) + .setBankBranchCode(bankBranchCode) + .setBankAccountType(bankAccountType) + .setBankAccountName(bankAccountName) + .setBankAccountNumber(bankAccountNumber) + ).build(); + } + + public static JapanBankAccountPayload fromProto(protobuf.PaymentAccountPayload proto) { + protobuf.JapanBankAccountPayload japanBankAccountPayload = proto.getJapanBankAccountPayload(); + return new JapanBankAccountPayload(proto.getPaymentMethodId(), + proto.getId(), + japanBankAccountPayload.getBankName(), + japanBankAccountPayload.getBankCode(), + japanBankAccountPayload.getBankBranchName(), + japanBankAccountPayload.getBankBranchCode(), + japanBankAccountPayload.getBankAccountType(), + japanBankAccountPayload.getBankAccountName(), + japanBankAccountPayload.getBankAccountNumber(), + proto.getMaxTradePeriod(), + CollectionUtils.isEmpty(proto.getExcludeFromJsonDataMap()) ? null : new HashMap<>(proto.getExcludeFromJsonDataMap())); + } + + + /////////////////////////////////////////////////////////////////////////////////////////// + // API + /////////////////////////////////////////////////////////////////////////////////////////// + + @Override + public String getPaymentDetails() + { + return Res.get(paymentMethodId) + " - " + getPaymentDetailsForTradePopup().replace("\n", ", "); + } + + @Override + public String getPaymentDetailsForTradePopup() + { + return bankName + "(" + bankCode + ")\n" + + bankBranchName + "(" + bankBranchCode + ")\n" + + bankAccountType + ": " + bankAccountNumber + "\n" + + bankAccountName + "\n"; + } + + + @Override + public byte[] getAgeWitnessInputData() { + String all = this.bankName + this.bankBranchName + this.bankAccountType + this.bankAccountNumber + this.bankAccountName; + return super.getAgeWitnessInputData(all.getBytes(Charset.forName("UTF-8"))); + } +} diff --git a/core/src/main/java/bisq/core/payment/payload/PaymentMethod.java b/core/src/main/java/bisq/core/payment/payload/PaymentMethod.java index 883efc7866d..983d0177e62 100644 --- a/core/src/main/java/bisq/core/payment/payload/PaymentMethod.java +++ b/core/src/main/java/bisq/core/payment/payload/PaymentMethod.java @@ -72,6 +72,7 @@ public final class PaymentMethod implements PersistablePayload, Comparable { public static final String SEPA_INSTANT_ID = "SEPA_INSTANT"; public static final String FASTER_PAYMENTS_ID = "FASTER_PAYMENTS"; public static final String NATIONAL_BANK_ID = "NATIONAL_BANK"; + public static final String JAPAN_BANK_ID = "JAPAN_BANK"; public static final String SAME_BANK_ID = "SAME_BANK"; public static final String SPECIFIC_BANKS_ID = "SPECIFIC_BANKS"; public static final String SWISH_ID = "SWISH"; @@ -108,6 +109,7 @@ public final class PaymentMethod implements PersistablePayload, Comparable { public static PaymentMethod SEPA_INSTANT; public static PaymentMethod FASTER_PAYMENTS; public static PaymentMethod NATIONAL_BANK; + public static PaymentMethod JAPAN_BANK; public static PaymentMethod SAME_BANK; public static PaymentMethod SPECIFIC_BANKS; public static PaymentMethod SWISH; @@ -176,6 +178,9 @@ public final class PaymentMethod implements PersistablePayload, Comparable { PERFECT_MONEY = new PaymentMethod(PERFECT_MONEY_ID, DAY, DEFAULT_TRADE_LIMIT_LOW_RISK), ADVANCED_CASH = new PaymentMethod(ADVANCED_CASH_ID, DAY, DEFAULT_TRADE_LIMIT_VERY_LOW_RISK), + // Japan + JAPAN_BANK = new PaymentMethod(JAPAN_BANK_ID, DAY, DEFAULT_TRADE_LIMIT_LOW_RISK), + // China ALI_PAY = new PaymentMethod(ALI_PAY_ID, DAY, DEFAULT_TRADE_LIMIT_LOW_RISK), WECHAT_PAY = new PaymentMethod(WECHAT_PAY_ID, DAY, DEFAULT_TRADE_LIMIT_LOW_RISK), diff --git a/core/src/main/java/bisq/core/proto/CoreProtoResolver.java b/core/src/main/java/bisq/core/proto/CoreProtoResolver.java index 6bc80505ccb..4799786b7db 100644 --- a/core/src/main/java/bisq/core/proto/CoreProtoResolver.java +++ b/core/src/main/java/bisq/core/proto/CoreProtoResolver.java @@ -33,6 +33,7 @@ import bisq.core.payment.payload.HalCashAccountPayload; import bisq.core.payment.payload.InstantCryptoCurrencyPayload; import bisq.core.payment.payload.InteracETransferAccountPayload; +import bisq.core.payment.payload.JapanBankAccountPayload;; import bisq.core.payment.payload.MoneyBeamAccountPayload; import bisq.core.payment.payload.MoneyGramAccountPayload; import bisq.core.payment.payload.NationalBankAccountPayload; @@ -113,6 +114,8 @@ public PaymentAccountPayload fromProto(protobuf.PaymentAccountPayload proto) { return FasterPaymentsAccountPayload.fromProto(proto); case INTERAC_E_TRANSFER_ACCOUNT_PAYLOAD: return InteracETransferAccountPayload.fromProto(proto); + case JAPAN_BANK_ACCOUNT_PAYLOAD: + return JapanBankAccountPayload.fromProto(proto); case UPHOLD_ACCOUNT_PAYLOAD: return UpholdAccountPayload.fromProto(proto); case MONEY_BEAM_ACCOUNT_PAYLOAD: diff --git a/core/src/main/resources/i18n/displayStrings.properties b/core/src/main/resources/i18n/displayStrings.properties index 2c4c392acad..cdea48da0a0 100644 --- a/core/src/main/resources/i18n/displayStrings.properties +++ b/core/src/main/resources/i18n/displayStrings.properties @@ -2852,7 +2852,6 @@ payment.f2f.info.openURL=Open web page payment.f2f.offerbook.tooltip.countryAndCity=Country and city: {0} / {1} payment.f2f.offerbook.tooltip.extra=Additional information: {0} - # We use constants from the code so we do not use our normal naming convention # dynamic values are not recognized by IntelliJ @@ -2865,6 +2864,7 @@ CASH_DEPOSIT=Cash Deposit MONEY_GRAM=MoneyGram WESTERN_UNION=Western Union F2F=Face to face (in person) +JAPAN_BANK=Japan Zengin Furikomi # suppress inspection "UnusedProperty" NATIONAL_BANK_SHORT=National banks @@ -2882,6 +2882,8 @@ MONEY_GRAM_SHORT=MoneyGram WESTERN_UNION_SHORT=Western Union # suppress inspection "UnusedProperty" F2F_SHORT=F2F +# suppress inspection "UnusedProperty" +JAPAN_BANK_SHORT=Japan Furikomi # Do not translate brand names # suppress inspection "UnusedProperty" diff --git a/core/src/main/resources/i18n/displayStrings_ja.properties b/core/src/main/resources/i18n/displayStrings_ja.properties index 1e1509dc64c..535a49368dd 100644 --- a/core/src/main/resources/i18n/displayStrings_ja.properties +++ b/core/src/main/resources/i18n/displayStrings_ja.properties @@ -2317,6 +2317,7 @@ CASH_DEPOSIT=現金入金 MONEY_GRAM=MoneyGram WESTERN_UNION=Western Union F2F=対面(直接) +JAPAN_BANK=日本全銀振込 # suppress inspection "UnusedProperty" NATIONAL_BANK_SHORT=国立銀行 @@ -2334,6 +2335,8 @@ MONEY_GRAM_SHORT=MoneyGram WESTERN_UNION_SHORT=Western Union # suppress inspection "UnusedProperty" F2F_SHORT=対面 +# suppress inspection "UnusedProperty" +JAPAN_BANK_SHORT=日本全銀振込 # Do not translate brand names # suppress inspection "UnusedProperty" diff --git a/desktop/src/main/java/bisq/desktop/components/paymentmethods/JapanBankTransferForm.java b/desktop/src/main/java/bisq/desktop/components/paymentmethods/JapanBankTransferForm.java new file mode 100644 index 00000000000..86074556a33 --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/components/paymentmethods/JapanBankTransferForm.java @@ -0,0 +1,395 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.desktop.components.paymentmethods; + +import bisq.common.util.Tuple2; +import bisq.common.util.Tuple3; +import bisq.common.util.Tuple4; + +import bisq.desktop.components.InputTextField; +import bisq.desktop.components.AutocompleteComboBox; +import bisq.desktop.util.FormBuilder; +import bisq.desktop.util.Layout; +import bisq.desktop.util.validation.LengthValidator; +import bisq.desktop.util.validation.RegexValidator; +import bisq.desktop.util.validation.JapanBankTransferValidator; +import bisq.desktop.util.validation.JapanBankBranchCodeValidator; +import bisq.desktop.util.validation.JapanBankBranchNameValidator; +import bisq.desktop.util.validation.JapanBankAccountNumberValidator; +import bisq.desktop.util.validation.JapanBankAccountNameValidator; +import bisq.desktop.components.paymentmethods.data.JapanBankData; + +import bisq.core.account.witness.AccountAgeWitnessService; +import bisq.core.locale.Res; +import bisq.core.locale.TradeCurrency; +import bisq.core.payment.PaymentAccount; +import bisq.core.payment.JapanBankAccount; +import bisq.core.payment.payload.PaymentAccountPayload; +import bisq.core.payment.payload.JapanBankAccountPayload; +import bisq.core.util.BSFormatter; +import bisq.core.util.validation.InputValidator; + +import org.apache.commons.lang3.StringUtils; + +import javafx.scene.control.TextField; +import javafx.scene.layout.GridPane; +import javafx.scene.control.Label; +import javafx.scene.control.ComboBox; +import javafx.scene.control.ToggleGroup; +import javafx.scene.control.RadioButton; +import javafx.util.StringConverter; + +import static bisq.desktop.util.FormBuilder.*; +import static bisq.desktop.util.GUIUtil.getComboBoxButtonCell; + +public class JapanBankTransferForm extends PaymentMethodForm +{ + private final JapanBankAccount japanBankAccount; + protected ComboBox bankComboBox, bankAccountTypeComboBox; + private InputTextField bankAccountNumberInputTextField; + + private JapanBankTransferValidator japanBankTransferValidator; + private JapanBankBranchNameValidator japanBankBranchNameValidator; + private JapanBankBranchCodeValidator japanBankBranchCodeValidator; + private JapanBankAccountNameValidator japanBankAccountNameValidator; + private JapanBankAccountNumberValidator japanBankAccountNumberValidator; + + private LengthValidator lengthValidator; + private RegexValidator regexValidator; + + public static int addFormForBuyer(GridPane gridPane, int gridRow, // {{{ + PaymentAccountPayload paymentAccountPayload) + { + JapanBankAccountPayload japanBankAccount = ((JapanBankAccountPayload) paymentAccountPayload); + + addCompactTopLabelTextFieldWithCopyIcon(gridPane, ++gridRow, + JapanBankData.getString("payment.account.owner"), + ((JapanBankAccountPayload) paymentAccountPayload).getBankName()); + + TextField bankCodeTextField = addCompactTopLabelTextField(gridPane, ++gridRow, JapanBankData.getString("bank.code"), japanBankAccount.getBankCode()).second; + bankCodeTextField.setPrefWidth(30); + bankCodeTextField.setEditable(false); + + TextField bankNameTextField = addCompactTopLabelTextField(gridPane, gridRow, 1, JapanBankData.getString("bank.name"), japanBankAccount.getBankName()).second; + bankNameTextField.setPrefWidth(70); + bankNameTextField.setEditable(false); + + TextField branchCodeTextField = addCompactTopLabelTextField(gridPane, ++gridRow, JapanBankData.getString("branch.code"), japanBankAccount.getBankBranchCode()).second; + branchCodeTextField.setPrefWidth(30); + branchCodeTextField.setEditable(false); + + TextField branchNameTextField = addCompactTopLabelTextField(gridPane, ++gridRow, 1, JapanBankData.getString("branch.name"), japanBankAccount.getBankBranchName()).second; + branchNameTextField.setPrefWidth(70); + branchNameTextField.setEditable(false); + + TextField accountNumberTextField = addCompactTopLabelTextField(gridPane, ++gridRow, JapanBankData.getString("account.number"), japanBankAccount.getBankAccountNumber()).second; + accountNumberTextField.setPrefWidth(30); + accountNumberTextField.setEditable(false); + + TextField accountNameTextField = addCompactTopLabelTextField(gridPane, gridRow, 1, JapanBankData.getString("account.name"), japanBankAccount.getBankAccountName()).second; + accountNameTextField.setPrefWidth(70); + accountNameTextField.setEditable(false); + + return gridRow; + } // }}} + + public JapanBankTransferForm(PaymentAccount paymentAccount, + AccountAgeWitnessService accountAgeWitnessService, + JapanBankTransferValidator japanBankTransferValidator, + InputValidator inputValidator, GridPane gridPane, + int gridRow, BSFormatter formatter) + { + super(paymentAccount, accountAgeWitnessService, inputValidator, gridPane, gridRow, formatter); + this.japanBankAccount = (JapanBankAccount) paymentAccount; + + this.japanBankTransferValidator = japanBankTransferValidator; + this.japanBankBranchCodeValidator = new JapanBankBranchCodeValidator(); + this.japanBankAccountNumberValidator = new JapanBankAccountNumberValidator(); + + this.lengthValidator = new LengthValidator(); + this.regexValidator = new RegexValidator(); + this.japanBankBranchNameValidator = new JapanBankBranchNameValidator(lengthValidator, regexValidator); + this.japanBankAccountNameValidator = new JapanBankAccountNameValidator(lengthValidator, regexValidator); + } + + @Override + public void addFormForDisplayAccount() // {{{ + { + gridRowFrom = gridRow; + + addTopLabelTextField(gridPane, ++gridRow, Res.get("payment.account.name"), + japanBankAccount.getAccountName(), Layout.FIRST_ROW_AND_GROUP_DISTANCE); + + addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("shared.paymentMethod"), + Res.get(japanBankAccount.getPaymentMethod().getId())); + + addBankDisplay(); + addBankBranchDisplay(); + addBankAccountDisplay(); + addBankAccountTypeDisplay(); + + addLimitations(true); + } // }}} + private void addBankDisplay() // {{{ + { + String bankText = japanBankAccount.getBankCode() + " " + japanBankAccount.getBankName(); + TextField bankTextField = addCompactTopLabelTextField(gridPane, ++gridRow, JapanBankData.getString("bank"), bankText).second; + bankTextField.setEditable(false); + } // }}} + private void addBankBranchDisplay() // {{{ + { + String branchText = japanBankAccount.getBankBranchCode() + " " + japanBankAccount.getBankBranchName(); + TextField branchTextField = addCompactTopLabelTextField(gridPane, ++gridRow, JapanBankData.getString("branch"), branchText).second; + branchTextField.setEditable(false); + } // }}} + private void addBankAccountDisplay() // {{{ + { + String accountText = japanBankAccount.getBankAccountNumber() + " " + japanBankAccount.getBankAccountName(); + TextField accountTextField = addCompactTopLabelTextField(gridPane, ++gridRow, JapanBankData.getString("account"), accountText).second; + accountTextField.setEditable(false); + } // }}} + private void addBankAccountTypeDisplay() // {{{ + { + TradeCurrency singleTradeCurrency = japanBankAccount.getSingleTradeCurrency(); + String currency = singleTradeCurrency != null ? singleTradeCurrency.getNameAndCode() : "null"; + String accountTypeText = currency + " " + japanBankAccount.getBankAccountType(); + TextField accountTypeTextField = addCompactTopLabelTextField(gridPane, ++gridRow, JapanBankData.getString("account.type"), accountTypeText).second; + accountTypeTextField.setEditable(false); + } // }}} + + @Override + public void addFormForAddAccount() // {{{ + { + gridRowFrom = gridRow; + + addBankInput(); + addBankBranchInput(); + addBankAccountInput(); + addBankAccountTypeInput(); + + addLimitations(false); + addAccountNameTextFieldWithAutoFillToggleButton(); + } // }}} + private void addBankInput() // {{{ + { + gridRow++; + + Tuple4> tuple4 = addTopLabelTextFieldAutocompleteComboBox(gridPane, gridRow, JapanBankData.getString("bank.code"), JapanBankData.getString("bank.name"), 10); + + // Bank Code (readonly) + TextField bankCodeField = tuple4.second; + bankCodeField.setPrefWidth(175); + bankCodeField.setMaxWidth(175); + bankCodeField.setEditable(false); + + // Bank Selector + bankComboBox = tuple4.forth; + bankComboBox.setPromptText(JapanBankData.getString("bank.select")); + bankComboBox.setButtonCell(getComboBoxButtonCell(JapanBankData.getString("bank.name"), bankComboBox)); + bankComboBox.getEditor().focusedProperty().addListener(observable -> { + bankComboBox.setPromptText(""); + }); + bankComboBox.setConverter(new StringConverter() { + @Override + public String toString(String bank) { + return bank != null ? bank : ""; + } + public String fromString(String s) { + return s != null ? s : ""; + } + }); + ((AutocompleteComboBox) bankComboBox).setAutocompleteItems(JapanBankData.prettyPrintBankList()); + + bankComboBox.setPrefWidth(425); + bankComboBox.setVisibleRowCount(425); + + ((AutocompleteComboBox) bankComboBox).setOnChangeConfirmed(e -> { + // get selected value + String bank = bankComboBox.getSelectionModel().getSelectedItem(); + + // parse first 4 characters as bank code + String bankCode = StringUtils.substring(bank, 0, 4); + if (bankCode != null) + { + // set bank code field to this value + bankCodeField.setText(bankCode); + // save to payload + japanBankAccount.setBankCode(bankCode); + + // parse remainder as bank name + String bankNameFull = StringUtils.substringAfter(bank, JapanBankData.SPACE); + if (bankNameFull != null) + { + // parse beginning as japanese bank name + String bankNameJa = StringUtils.substringBefore(bankNameFull, JapanBankData.SPACE); + if (bankNameJa != null) + { + // set bank name field to this value + bankComboBox.getEditor().setText(bankNameJa); + // save to payload + japanBankAccount.setBankName(bankNameJa); + } + } + } + + + updateFromInputs(); + }); + } // }}} + private void addBankBranchInput() // {{{ + { + gridRow++; + Tuple2 tuple2 = addInputTextFieldInputTextField(gridPane, gridRow, JapanBankData.getString("branch.code"), JapanBankData.getString("branch.name")); + + // branch code + InputTextField bankBranchCodeInputTextField = tuple2.first; + bankBranchCodeInputTextField.setValidator(japanBankBranchCodeValidator); + bankBranchCodeInputTextField.setPrefWidth(175); + bankBranchCodeInputTextField.setMaxWidth(175); + bankBranchCodeInputTextField.textProperty().addListener((ov, oldValue, newValue) -> { + japanBankAccount.setBankBranchCode(newValue); + updateFromInputs(); + }); + + // branch name + InputTextField bankBranchNameInputTextField = tuple2.second; + bankBranchNameInputTextField.setValidator(japanBankBranchNameValidator); + bankBranchNameInputTextField.setPrefWidth(425); + bankBranchNameInputTextField.setMaxWidth(425); + bankBranchNameInputTextField.textProperty().addListener((ov, oldValue, newValue) -> { + japanBankAccount.setBankBranchName(newValue); + updateFromInputs(); + }); + } // }}} + private void addBankAccountInput() // {{{ + { + gridRow++; + Tuple2 tuple2 = addInputTextFieldInputTextField(gridPane, gridRow, JapanBankData.getString("account.number"), JapanBankData.getString("account.name")); + + // account number + bankAccountNumberInputTextField = tuple2.first; + bankAccountNumberInputTextField.setValidator(japanBankAccountNumberValidator); + bankAccountNumberInputTextField.setPrefWidth(175); + bankAccountNumberInputTextField.setMaxWidth(175); + bankAccountNumberInputTextField.textProperty().addListener((ov, oldValue, newValue) -> { + japanBankAccount.setBankAccountNumber(newValue); + updateFromInputs(); + }); + + // account name + InputTextField bankAccountNameInputTextField = tuple2.second; + bankAccountNameInputTextField.setValidator(japanBankAccountNameValidator); + bankAccountNameInputTextField.setPrefWidth(425); + bankAccountNameInputTextField.setMaxWidth(425); + bankAccountNameInputTextField.textProperty().addListener((ov, oldValue, newValue) -> { + japanBankAccount.setBankAccountName(newValue); + updateFromInputs(); + }); + } // }}} + private void addBankAccountTypeInput() // {{{ + { + // account currency + gridRow++; + + TradeCurrency singleTradeCurrency = japanBankAccount.getSingleTradeCurrency(); + String nameAndCode = singleTradeCurrency != null ? singleTradeCurrency.getNameAndCode() : "null"; + addCompactTopLabelTextField(gridPane, gridRow, Res.get("shared.currency"), nameAndCode); + + // account type + gridRow++; + + ToggleGroup toggleGroup = new ToggleGroup(); + Tuple3 tuple3 = + addTopLabelRadioButtonRadioButton( + gridPane, gridRow, toggleGroup, + JapanBankData.getString("account.type.select"), + JapanBankData.getString("account.type.futsu"), + JapanBankData.getString("account.type.touza"), + 0 + ); + + toggleGroup.getToggles().get(0).setSelected(true); + japanBankAccount.setBankAccountType(JapanBankData.getString("account.type.futsu.ja")); + + RadioButton futsu = tuple3.second; + RadioButton touza = tuple3.third; + + toggleGroup.selectedToggleProperty().addListener + ( + (ov, oldValue, newValue) -> + { + if (futsu.isSelected()) + japanBankAccount.setBankAccountType(JapanBankData.getString("account.type.futsu.ja")); + if (touza.isSelected()) + japanBankAccount.setBankAccountType(JapanBankData.getString("account.type.touza.ja")); + } + ); + } // }}} + + @Override + public void updateFromInputs() // {{{ + { + System.out.println("JapanBankTransferForm: updateFromInputs()"); + System.out.println("bankName: "+japanBankAccount.getBankName()); + System.out.println("bankCode: "+japanBankAccount.getBankCode()); + System.out.println("bankBranchName: "+japanBankAccount.getBankBranchName()); + System.out.println("bankBranchCode: "+japanBankAccount.getBankBranchCode()); + System.out.println("bankAccountType: "+japanBankAccount.getBankAccountType()); + System.out.println("bankAccountName: "+japanBankAccount.getBankAccountName()); + System.out.println("bankAccountNumber: "+japanBankAccount.getBankAccountNumber()); + super.updateFromInputs(); + } // }}} + + @Override + protected void autoFillNameTextField() // {{{ + { + if (useCustomAccountNameToggleButton != null && !useCustomAccountNameToggleButton.isSelected()) + { + accountNameTextField.setText( + Res.get(paymentAccount.getPaymentMethod().getId()) + .concat(": ") + .concat(japanBankAccount.getBankName()) + .concat(" ") + .concat(japanBankAccount.getBankBranchName()) + .concat(" ") + .concat(japanBankAccount.getBankAccountNumber()) + .concat(" ") + .concat(japanBankAccount.getBankAccountName()) + ); + } + } // }}} + + @Override + public void updateAllInputsValid() // {{{ + { + boolean result = + ( + isAccountNameValid() && + inputValidator.validate(japanBankAccount.getBankCode()).isValid && + inputValidator.validate(japanBankAccount.getBankName()).isValid && + japanBankBranchCodeValidator.validate(japanBankAccount.getBankBranchCode()).isValid && + japanBankBranchNameValidator.validate(japanBankAccount.getBankBranchName()).isValid && + japanBankAccountNumberValidator.validate(japanBankAccount.getBankAccountNumber()).isValid && + japanBankAccountNameValidator.validate(japanBankAccount.getBankAccountName()).isValid && + inputValidator.validate(japanBankAccount.getBankAccountType()).isValid + ); + allInputsValid.set(result); + } // }}} +} + +// vim:ts=4:sw=4:expandtab:foldmethod=marker:nowrap: diff --git a/desktop/src/main/java/bisq/desktop/components/paymentmethods/data/JapanBankData.java b/desktop/src/main/java/bisq/desktop/components/paymentmethods/data/JapanBankData.java new file mode 100644 index 00000000000..89f0e4f0bae --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/components/paymentmethods/data/JapanBankData.java @@ -0,0 +1,885 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.desktop.components.paymentmethods.data; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.HashMap; +import com.google.common.collect.ImmutableMap; + +import bisq.core.locale.Country; +import bisq.desktop.util.GUIUtil; + +/* + Japan's National Banking Association assigns 4 digit codes to all + Financial Institutions, so we use that as the primary "Bank ID", + add the English names for the top ~30 major international banks, + and remove local farmers agricultural cooperative associations + to keep the list to a reasonable size. Please update annually. + + Source: Zengin Net list of Financial Institutions + Last Updated: July 16, 2019 + URL: https://www.zengin-net.jp/company/member/ + PDF: https://www.zengin-net.jp/company/pdf/member1.pdf + PDF: https://www.zengin-net.jp/company/pdf/member2.pdf + + Source: Bank of Japan list of Financial Institutions + Last Updated: July 16, 2019 + URL: https://www5.boj.or.jp/bojnet/codenew/mokujinew.htm + File: code1_20190716.xlsx + Excel sheet: 金融機関等コード一覧 +*/ + +public class JapanBankData +{ + /* + Returns the main list of ~500 banks in Japan with bank codes, + but since 90%+ of people will be using one of ~30 major banks, + we hard-code those at the top for easier pull-down selection, + and add their English names in paranthesis for foreigners. + */ + public static List prettyPrintBankList() // {{{ + { + List prettyList = new ArrayList(); + + // add mega banks at the top + for (Map.Entry bank: megaBanksEnglish.entrySet()) + { + String bankId = bank.getKey(); + String bankNameEn = bank.getValue(); + String bankNameJa = majorBanksJapanese.get(bankId); + if (bankNameJa == null) bankNameJa = minorBanksJapanese.get(bankId); + prettyList.add(prettyPrintMajorBank(bankId, bankNameJa, bankNameEn)); + } + + // append the major banks next + for (Map.Entry bank : majorBanksJapanese.entrySet()) + { + String bankId = bank.getKey(); + String bankNameJa = bank.getValue(); + // avoid duplicates + if (megaBanksEnglish.get(bankId) != null) continue; + prettyList.add(prettyPrintBank(bankId, bankNameJa)); + } + + // append the minor local banks last + for (Map.Entry bank : minorBanksJapanese.entrySet()) + { + String bankId = bank.getKey(); + String bankNameJa = bank.getValue(); + prettyList.add(prettyPrintBank(bankId, bankNameJa)); + } + + return prettyList; + } // }}} + + // Pretty print major banks like this: (0001) みずほ (Mizuho Bank) + private static String prettyPrintMajorBank(String bankId, String bankNameJa, String bankNameEn) // {{{ + { + return ID_OPEN + bankId + ID_CLOSE + SPACE + + JA_OPEN + bankNameJa + JA_CLOSE + SPACE + + EN_OPEN + bankNameEn + EN_CLOSE; + } // }}} + // Pretty print other banks like this: (9524) みずほ証券 + private static String prettyPrintBank(String bankId, String bankName) // {{{ + { + return ID_OPEN + bankId + ID_CLOSE + SPACE + + JA_OPEN + bankName + JA_CLOSE; + } // }}} + + // top 30 mega banks with english + private static final Map megaBanksEnglish = ImmutableMap. builder() + // {{{ japan post office + .put("9900", "Japan Post Bank Yucho") + // }}} + // {{{ japan mega-banks + .put("0001", "Mizuho Bank") + .put("0005", "Mitsubishi UFJ Bank (MUFG)") + .put("0009", "Sumitomo Mitsui Banking Corporation (SMBC)") + .put("0010", "Resona Bank") + // }}} + // {{{ major online banks + .put("0033", "Japan Net Bank") + .put("0034", "Seven Bank (7-11)") + .put("0035", "Sony Bank") + .put("0036", "Rakuten Bank") + .put("0038", "SBI Sumishin Net Bank") + .put("0039", "Jibun Bank") + .put("0040", "Aeon Bank") + .put("0042", "Lawson Bank") + // }}} + // {{{ major trust banks, etc. + .put("0150", "Suruga Bank") + .put("0288", "Mitsubishi UFJ Trust Bank") + .put("0289", "Mizuho Trust Bank") + .put("0294", "Sumitomo Trust Bank") + .put("0300", "SMBC Trust Bank (PRESTIA)") + .put("0304", "Nomura Trust Bank") + .put("0307", "Orix Trust Bank") + .put("0310", "GMO Aozora Net Bank") + .put("0321", "Japan Securities Trust Bank") + .put("0397", "Shinsei Bank") + .put("0398", "Aozora Bank") + .put("0402", "JP Morgan Chase Bank") + .put("0442", "BNY Mellon") + .put("0458", "DBS Bank") + .put("0472", "SBJ Shinhan Bank Japan") + // }}} + .build(); + + // major ~200 banks + private static final Map majorBanksJapanese = ImmutableMap. builder() + // {{{ ゆうちょ銀行 (9900) + .put("9900", "ゆうちょ銀行") + // }}} + // {{{ 都市銀行 (0001 ~ 0029) + .put("0001", "みずほ銀行") + .put("0005", "三菱UFJ銀行") + .put("0009", "三井住友銀行") + .put("0010", "りそな銀行") + .put("0017", "埼玉りそな銀行") + // }}} + // {{{ ネット専業銀行等 (0030 ~ 0049) + .put("0033", "ジャパンネット銀行") + .put("0034", "セブン銀行") + .put("0035", "ソニー銀行") + .put("0036", "楽天銀行") + .put("0038", "住信SBIネット銀行") + .put("0039", "じぶん銀行") + .put("0040", "イオン銀行") + .put("0041", "大和ネクスト銀行") + .put("0042", "ローソン銀行") + // }}} + // {{{ 協会 (0050 ~ 0099) + .put("0051", "全銀協") + .put("0052", "横浜銀行協会") + .put("0053", "釧路銀行協会") + .put("0054", "札幌銀行協会") + .put("0056", "函館銀行協会") + .put("0057", "青森銀行協会") + .put("0058", "秋田銀行協会") + .put("0059", "宮城銀行協会") + .put("0060", "福島銀行協会") + .put("0061", "群馬銀行協会") + .put("0062", "新潟銀行協会") + .put("0063", "石川銀行協会") + .put("0064", "山梨銀行協会") + .put("0065", "長野銀行協会") + .put("0066", "静岡銀行協会") + .put("0067", "名古屋銀行協会") + .put("0068", "京都銀行協会") + .put("0069", "大阪銀行協会") + .put("0070", "神戸銀行協会") + .put("0071", "岡山銀行協会") + .put("0072", "広島銀行協会") + .put("0073", "島根銀行協会") + .put("0074", "山口銀行協会") + .put("0075", "香川銀行協会") + .put("0076", "愛媛銀行協会") + .put("0077", "高知銀行協会") + .put("0078", "北九州銀行協会") + .put("0079", "福岡銀行協会") + .put("0080", "大分銀行協会") + .put("0081", "長崎銀行協会") + .put("0082", "熊本銀行協会") + .put("0083", "鹿児島銀行協会") + .put("0084", "沖縄銀行協会") + .put("0090", "全銀ネット") + .put("0095", "CLSBANK") + // }}} + // {{{ 地方銀行 (0116 ~ 0190) + .put("0116", "北海道銀行") + .put("0117", "青森銀行") + .put("0118", "みちのく銀行") + .put("0119", "秋田銀行") + .put("0120", "北都銀行") + .put("0121", "荘内銀行") + .put("0122", "山形銀行") + .put("0123", "岩手銀行") + .put("0124", "東北銀行") + .put("0125", "七十七銀行") + .put("0126", "東邦銀行") + .put("0128", "群馬銀行") + .put("0129", "足利銀行") + .put("0130", "常陽銀行") + .put("0131", "筑波銀行") + .put("0133", "武蔵野銀行") + .put("0134", "千葉銀行") + .put("0135", "千葉興業銀行") + .put("0137", "きらぼし銀行") + .put("0138", "横浜銀行") + .put("0140", "第四銀行") + .put("0141", "北越銀行") + .put("0142", "山梨中央銀行") + .put("0143", "八十二銀行") + .put("0144", "北陸銀行") + .put("0145", "富山銀行") + .put("0146", "北國銀行") + .put("0147", "福井銀行") + .put("0149", "静岡銀行") + .put("0150", "スルガ銀行") + .put("0151", "清水銀行") + .put("0152", "大垣共立銀行") + .put("0153", "十六銀行") + .put("0154", "三重銀行") + .put("0155", "百五銀行") + .put("0157", "滋賀銀行") + .put("0158", "京都銀行") + .put("0159", "関西みらい銀行") + .put("0161", "池田泉州銀行") + .put("0162", "南都銀行") + .put("0163", "紀陽銀行") + .put("0164", "但馬銀行") + .put("0166", "鳥取銀行") + .put("0167", "山陰合同銀行") + .put("0168", "中国銀行") + .put("0169", "広島銀行") + .put("0170", "山口銀行") + .put("0172", "阿波銀行") + .put("0173", "百十四銀行") + .put("0174", "伊予銀行") + .put("0175", "四国銀行") + .put("0177", "福岡銀行") + .put("0178", "筑邦銀行") + .put("0179", "佐賀銀行") + .put("0180", "十八銀行") + .put("0181", "親和銀行") + .put("0182", "肥後銀行") + .put("0183", "大分銀行") + .put("0184", "宮崎銀行") + .put("0185", "鹿児島銀行") + .put("0187", "琉球銀行") + .put("0188", "沖縄銀行") + .put("0190", "西日本シティ銀行") + .put("0191", "北九州銀行") + // }}} + // {{{ 信託銀行 (0288 ~ 0326) + .put("0288", "三菱UFJ信託銀行") + .put("0289", "みずほ信託銀行") + .put("0294", "三井住友信託銀行") + .put("0295", "BNYM信託") + .put("0297", "日本マスタートラスト信託銀行") + .put("0299", "ステート信託") + .put("0300", "SMBC信託銀行 プレスティア") + .put("0304", "野村信託銀行") + .put("0307", "オリックス銀行") + .put("0310", "GMOあおぞらネット銀行") + .put("0311", "農中信託") + .put("0320", "新生信託") + .put("0321", "日証金信託") + .put("0324", "日本トラスティサービス信託銀行") + .put("0325", "資産管理サービス信託銀行") + // }}} + // {{{ 旧長期信用銀行 (0397 ~ 0398) + .put("0397", "新生銀行") + .put("0398", "あおぞら銀行") + // }}} + // {{{ foreign banks (0400 ~ 0497) + .put("0401", "シティバンク、エヌ・エイ 銀行") + .put("0402", "JPモルガン・チェース銀行") + .put("0403", "アメリカ銀行") + .put("0411", "香港上海銀行") + .put("0413", "スタンチヤート") + .put("0414", "バークレイズ") + .put("0421", "アグリコル") + .put("0423", "ハナ") + .put("0424", "印度") + .put("0425", "兆豐國際商銀") + .put("0426", "バンコツク") + .put("0429", "バンクネガラ") + .put("0430", "ドイツ銀行") + .put("0432", "ブラジル") + .put("0438", "ユーオバシーズ") + .put("0439", "ユービーエス") + .put("0442", "BNYメロン") + .put("0443", "ビー・エヌ・ピー・パリバ銀行") + .put("0444", "チヤイニーズ") + .put("0445", "ソシエテ") + .put("0456", "ユバフ") + .put("0458", "DBS") + .put("0459", "パキスタン") + .put("0460", "クレデイスイス") + .put("0461", "コメルツ銀行") + .put("0463", "ウニクレデイト") + .put("0468", "インドステイト") + .put("0471", "カナダロイヤル") + .put("0472", "SBJ銀行") + .put("0477", "ウリイ") + .put("0482", "アイエヌジー") + .put("0484", "ナツトオース") + .put("0485", "アンズバンク") + .put("0487", "コモンウエルス") + .put("0489", "バンクチヤイナ") + .put("0495", "ステストリート") + .put("0498", "中小企業") + // }}} + // {{{ 第二地方銀行 (0501 ~ 0597) + .put("0501", "北洋銀行") + .put("0508", "きらやか銀行") + .put("0509", "北日本銀行") + .put("0512", "仙台銀行") + .put("0513", "福島銀行") + .put("0514", "大東銀行") + .put("0516", "東和銀行") + .put("0517", "栃木銀行") + .put("0522", "京葉銀行") + .put("0525", "東日本銀行") + .put("0526", "東京スター銀行") + .put("0530", "神奈川銀行") + .put("0532", "大光銀行") + .put("0533", "長野銀行") + .put("0534", "富山第一銀行") + .put("0537", "福邦銀行") + .put("0538", "静岡中央銀行") + .put("0542", "愛知銀行") + .put("0543", "名古屋銀行") + .put("0544", "中京銀行") + .put("0546", "第三銀行") + .put("0555", "大正銀行") + .put("0562", "みなと銀行") + .put("0565", "島根銀行") + .put("0566", "トマト銀行") + .put("0569", "もみじ銀行") + .put("0570", "西京銀行") + .put("0572", "徳島銀行") + .put("0573", "香川銀行") + .put("0576", "愛媛銀行") + .put("0578", "高知銀行") + .put("0582", "福岡中央銀行") + .put("0583", "佐賀共栄銀行") + .put("0585", "長崎銀行") + .put("0587", "熊本銀行") + .put("0590", "豊和銀行") + .put("0591", "宮崎太陽銀行") + .put("0594", "南日本銀行") + .put("0596", "沖縄海邦銀行") + // }}} + // {{{ more foreign banks (0600 ~ 0999) + .put("0603", "韓国産業") + .put("0607", "彰化商業") + .put("0608", "ウエルズフアゴ") + .put("0611", "第一商業") + .put("0612", "台湾") + .put("0615", "交通") + .put("0616", "メトロポリタン") + .put("0617", "フイリピン") + .put("0619", "中国工商") + .put("0621", "中國信託商業") + .put("0623", "インテーザ") + .put("0624", "國民") + .put("0625", "中国建設") + .put("0626", "イタウウニ") + .put("0627", "BBVA") + .put("0630", "中国農業") + .put("0631", "台新") + .put("0632", "玉山") + .put("0633", "台湾企銀") + .put("0808", "ドイツ証券") + .put("0813", "ソシエテ証券") + .put("0821", "ビーピー証券") + .put("0822", "バークレイ証券") + .put("0831", "アグリコル証券") + .put("0832", "ジエイピー証券") + .put("0842", "ゴルドマン証券") + .put("0845", "ナツトウエ証券") + .put("0900", "日本相互証券") + .put("0905", "東京金融取引所") + .put("0909", "日本クリア機構") + .put("0910", "ほふりクリア") + .put("0964", "しんきん証券") + .put("0966", "HSBC証券") + .put("0968", "セント東短証券") + .put("0971", "UBS証券") + .put("0972", "メリル日本証券") + // }}} + .build(); + + // minor ~280 lesser known banks + private static final Map minorBanksJapanese = ImmutableMap. builder() + // {{{ 信用金庫 (1001 ~ 1996) + .put("1000", "信金中央金庫") + .put("1001", "北海道信金") + .put("1003", "室蘭信金") + .put("1004", "空知信金") + .put("1006", "苫小牧信金") + .put("1008", "北門信金") + .put("1009", "伊達信金") + .put("1010", "北空知信金") + .put("1011", "日高信金") + .put("1013", "渡島信金") + .put("1014", "道南うみ街信金") + .put("1020", "旭川信金") + .put("1021", "稚内信金") + .put("1022", "留萌信金") + .put("1024", "北星信金") + .put("1026", "帯広信金") + .put("1027", "釧路信金") + .put("1028", "大地みらい信金") + .put("1030", "北見信金") + .put("1031", "網走信金") + .put("1033", "遠軽信金") + .put("1104", "東奥信金") + .put("1105", "青い森信金") + .put("1120", "秋田信金") + .put("1123", "羽後信金") + .put("1140", "山形信金") + .put("1141", "米沢信金") + .put("1142", "鶴岡信金") + .put("1143", "新庄信金") + .put("1150", "盛岡信金") + .put("1152", "宮古信金") + .put("1153", "一関信金") + .put("1154", "北上信金") + .put("1155", "花巻信金") + .put("1156", "水沢信金") + .put("1170", "杜の都信金") + .put("1171", "宮城第一信金") + .put("1172", "石巻信金") + .put("1174", "仙南信金") + .put("1181", "会津信金") + .put("1182", "郡山信金") + .put("1184", "白河信金") + .put("1185", "須賀川信金") + .put("1186", "ひまわり信金") + .put("1188", "あぶくま信金") + .put("1189", "二本松信金") + .put("1190", "福島信金") + .put("1203", "高崎信金") + .put("1204", "桐生信金") + .put("1206", "アイオー信金") + .put("1208", "利根郡信金") + .put("1209", "館林信金") + .put("1210", "北群馬信金") + .put("1211", "しののめ信金") + .put("1221", "足利小山信金") + .put("1222", "栃木信金") + .put("1223", "鹿沼相互信金") + .put("1224", "佐野信金") + .put("1225", "大田原信金") + .put("1227", "烏山信金") + .put("1240", "水戸信金") + .put("1242", "結城信金") + .put("1250", "埼玉県信金") + .put("1251", "川口信金") + .put("1252", "青木信金") + .put("1253", "飯能信金") + .put("1260", "千葉信金") + .put("1261", "銚子信金") + .put("1262", "東京ベイ信金") + .put("1264", "館山信金") + .put("1267", "佐原信金") + .put("1280", "横浜信金") + .put("1281", "かながわ信金") + .put("1282", "湘南信金") + .put("1283", "川崎信金") + .put("1286", "平塚信金") + .put("1288", "さがみ信金") + .put("1289", "中栄信金") + .put("1290", "中南信金") + .put("1303", "朝日信金") + .put("1305", "興産信金") + .put("1310", "さわやか信金") + .put("1311", "東京シテイ信金") + .put("1319", "芝信金") + .put("1320", "東京東信金") + .put("1321", "東栄信金") + .put("1323", "亀有信金") + .put("1326", "小松川信金") + .put("1327", "足立成和信金") + .put("1333", "東京三協信金") + .put("1336", "西京信金") + .put("1341", "西武信金") + .put("1344", "城南信金") + .put("1345", "東京)昭和信金") + .put("1346", "目黒信金") + .put("1348", "世田谷信金") + .put("1349", "東京信金") + .put("1351", "城北信金") + .put("1352", "滝野川信金") + .put("1356", "巣鴨信金") + .put("1358", "青梅信金") + .put("1360", "多摩信金") + .put("1370", "新潟信金") + .put("1371", "長岡信金") + .put("1373", "三条信金") + .put("1374", "新発田信金") + .put("1375", "柏崎信金") + .put("1376", "上越信金") + .put("1377", "新井信金") + .put("1379", "村上信金") + .put("1380", "加茂信金") + .put("1385", "甲府信金") + .put("1386", "山梨信金") + .put("1390", "長野信金") + .put("1391", "松本信金") + .put("1392", "上田信金") + .put("1393", "諏訪信金") + .put("1394", "飯田信金") + .put("1396", "アルプス信金") + .put("1401", "富山信金") + .put("1402", "高岡信金") + .put("1405", "にいかわ信金") + .put("1406", "氷見伏木信金") + .put("1412", "砺波信金") + .put("1413", "石動信金") + .put("1440", "金沢信金") + .put("1442", "のと共栄信金") + .put("1444", "北陸信金") + .put("1445", "鶴来信金") + .put("1448", "興能信金") + .put("1470", "福井信金") + .put("1471", "敦賀信金") + .put("1473", "小浜信金") + .put("1475", "越前信金") + .put("1501", "しず焼津信金") + .put("1502", "静清信金") + .put("1503", "浜松磐田信金") + .put("1505", "沼津信金") + .put("1506", "三島信金") + .put("1507", "富士宮信金") + .put("1513", "島田掛川信金") + .put("1515", "静岡)富士信金") + .put("1517", "遠州信金") + .put("1530", "岐阜信金") + .put("1531", "大垣西濃信金") + .put("1532", "高山信金") + .put("1533", "東濃信金") + .put("1534", "関信金") + .put("1538", "八幡信金") + .put("1550", "愛知信金") + .put("1551", "豊橋信金") + .put("1552", "岡崎信金") + .put("1553", "いちい信金") + .put("1554", "瀬戸信金") + .put("1555", "半田信金") + .put("1556", "知多信金") + .put("1557", "豊川信金") + .put("1559", "豊田信金") + .put("1560", "碧海信金") + .put("1561", "西尾信金") + .put("1562", "蒲郡信金") + .put("1563", "尾西信金") + .put("1565", "中日信金") + .put("1566", "東春信金") + .put("1580", "津信金") + .put("1581", "北伊勢上野信金") + .put("1583", "桑名三重信金") + .put("1585", "紀北信金") + .put("1602", "滋賀中央信金") + .put("1603", "長浜信金") + .put("1604", "湖東信金") + .put("1610", "京都信金") + .put("1611", "京都中央信金") + .put("1620", "京都北都信金") + .put("1630", "大阪信金") + .put("1633", "大阪厚生信金") + .put("1635", "大阪シテイ信金") + .put("1636", "大阪商工信金") + .put("1643", "永和信金") + .put("1645", "北おおさか信金") + .put("1656", "枚方信金") + .put("1666", "奈良信金") + .put("1667", "大和信金") + .put("1668", "奈良中央信金") + .put("1671", "新宮信金") + .put("1674", "きのくに信金") + .put("1680", "神戸信金") + .put("1685", "姫路信金") + .put("1686", "播州信金") + .put("1687", "兵庫信金") + .put("1688", "尼崎信金") + .put("1689", "日新信金") + .put("1691", "淡路信金") + .put("1692", "但馬信金") + .put("1694", "西兵庫信金") + .put("1695", "中兵庫信金") + .put("1696", "但陽信金") + .put("1701", "鳥取信金") + .put("1702", "米子信金") + .put("1703", "倉吉信金") + .put("1710", "しまね信金") + .put("1711", "日本海信金") + .put("1712", "島根中央信金") + .put("1732", "おかやま信金") + .put("1734", "水島信金") + .put("1735", "津山信金") + .put("1738", "玉島信金") + .put("1740", "備北信金") + .put("1741", "吉備信金") + .put("1742", "日生信金") + .put("1743", "備前信金") + .put("1750", "広島信金") + .put("1752", "呉信金") + .put("1756", "しまなみ信金") + .put("1758", "広島みどり信金") + .put("1780", "萩山口信金") + .put("1781", "西中国信金") + .put("1789", "東山口信金") + .put("1801", "徳島信金") + .put("1803", "阿南信金") + .put("1830", "高松信金") + .put("1833", "観音寺信金") + .put("1860", "愛媛信金") + .put("1862", "宇和島信金") + .put("1864", "東予信金") + .put("1866", "川之江信金") + .put("1880", "幡多信金") + .put("1881", "高知信金") + .put("1901", "福岡信金") + .put("1903", "福岡ひびき信金") + .put("1908", "大牟田柳川信金") + .put("1909", "筑後信金") + .put("1910", "飯塚信金") + .put("1917", "大川信金") + .put("1920", "遠賀信金") + .put("1930", "唐津信金") + .put("1931", "佐賀信金") + .put("1933", "九州ひぜん信金") + .put("1942", "たちばな信金") + .put("1951", "熊本信金") + .put("1952", "熊本第一信金") + .put("1954", "熊本中央信金") + .put("1960", "大分信金") + .put("1962", "大分みらい信金") + .put("1980", "宮崎都城信金") + .put("1985", "高鍋信金") + .put("1990", "鹿児島信金") + .put("1991", "鹿児島相互信金") + .put("1993", "奄美大島信金") + .put("1996", "コザ信金") + // }}} + // {{{ 信用組合 (2011 ~ 2895) + .put("2004", "商工組合中央金庫") + .put("2010", "全国信用協同組合連合会") + .put("2213", "整理回収機構") + // }}} + // {{{ 労働金庫 (2951 ~ 2997) + .put("2950", "労働金庫連合会") + // }}} + // {{{ 農林中央金庫 (3000) + .put("3000", "農林中央金庫") + // }}} + // {{{ 信用農業協同組合連合会 (3001 ~ 3046) + .put("3001", "北海道信用農業協同組合連合会") + .put("3003", "岩手県信用農業協同組合連合会") + .put("3008", "茨城県信用農業協同組合連合会") + .put("3011", "埼玉県信用農業協同組合連合会") + .put("3013", "東京都信用農業協同組合連合会") + .put("3014", "神奈川県信用農業協同組合連合会") + .put("3015", "山梨県信用農業協同組合連合会") + .put("3016", "長野県信用農業協同組合連合会") + .put("3017", "新潟県信用農業協同組合連合会") + .put("3019", "石川県信用農業協同組合連合会") + .put("3020", "岐阜県信用農業協同組合連合会") + .put("3021", "静岡県信用農業協同組合連合会") + .put("3022", "愛知県信用農業協同組合連合会") + .put("3023", "三重県信用農業協同組合連合会") + .put("3024", "福井県信用農業協同組合連合会") + .put("3025", "滋賀県信用農業協同組合連合会") + .put("3026", "京都府信用農業協同組合連合会") + .put("3027", "大阪府信用農業協同組合連合会") + .put("3028", "兵庫県信用農業協同組合連合会") + .put("3030", "和歌山県信用農業協同組合連合会") + .put("3031", "鳥取県信用農業協同組合連合会") + .put("3034", "広島県信用農業協同組合連合会") + .put("3035", "山口県信用農業協同組合連合会") + .put("3036", "徳島県信用農業協同組合連合会") + .put("3037", "香川県信用農業協同組合連合会") + .put("3038", "愛媛県信用農業協同組合連合会") + .put("3039", "高知県信用農業協同組合連合会") + .put("3040", "福岡県信用農業協同組合連合会") + .put("3041", "佐賀県信用農業協同組合連合会") + .put("3044", "大分県信用農業協同組合連合会") + .put("3045", "宮崎県信用農業協同組合連合会") + .put("3046", "鹿児島県信用農業協同組合連合会") + // }}} + // {{{ "JA Bank" agricultural cooperative associations (3056 ~ 9375) + // REMOVED: the farmers should use a real bank if they want to sell bitcoin + // }}} + // {{{ 信用漁業協同組合連合会 (9450 ~ 9496) + .put("9450", "北海道信用漁業協同組合連合会") + .put("9451", "青森県信用漁業協同組合連合会") + .put("9452", "岩手県信用漁業協同組合連合会") + .put("9453", "宮城県漁業協同組合") + .put("9456", "福島県信用漁業協同組合連合会") + .put("9457", "茨城県信用漁業協同組合連合会") + .put("9461", "千葉県信用漁業協同組合連合会") + .put("9462", "東京都信用漁業協同組合連合会") + .put("9466", "新潟県信用漁業協同組合連合会") + .put("9467", "富山県信用漁業協同組合連合会") + .put("9468", "石川県信用漁業協同組合連合会") + .put("9470", "静岡県信用漁業協同組合連合会") + .put("9471", "愛知県信用漁業協同組合連合会") + .put("9472", "三重県信用漁業協同組合連合会") + .put("9473", "福井県信用漁業協同組合連合会") + .put("9475", "京都府信用漁業協同組合連合会") + .put("9477", "なぎさ信用漁業協同組合連合会") + .put("9480", "鳥取県信用漁業協同組合連合会") + .put("9481", "JFしまね漁業協同組合") + .put("9483", "広島県信用漁業協同組合連合会") + .put("9484", "山口県漁業協同組合") + .put("9485", "徳島県信用漁業協同組合連合会") + .put("9486", "香川県信用漁業協同組合連合会") + .put("9487", "愛媛県信用漁業協同組合連合会") + .put("9488", "高知県信用漁業協同組合連合会") + .put("9489", "福岡県信用漁業協同組合連合会") + .put("9490", "佐賀県信用漁業協同組合連合会") + .put("9491", "長崎県信用漁業協同組合連合会") + .put("9493", "大分県漁業協同組合") + .put("9494", "宮崎県信用漁業協同組合連合会") + .put("9495", "鹿児島県信用漁業協同組合連合会") + .put("9496", "沖縄県信用漁業協同組合連合会") + // }}} + // {{{ securities firms + .put("9500", "東京短資") + .put("9501", "セントラル短資") + .put("9507", "上田八木短資") + .put("9510", "日本証券金融") + .put("9520", "野村証券") + .put("9521", "日興証券") + .put("9523", "大和証券") + .put("9524", "みずほ証券") + .put("9528", "岡三証券") + .put("9530", "岩井コスモ証券") + .put("9532", "三菱UFJ証券") + .put("9534", "丸三証券") + .put("9535", "東洋証券") + .put("9537", "水戸証券") + .put("9539", "東海東京証券") + .put("9542", "むさし証券") + .put("9545", "いちよし証券") + .put("9573", "極東証券") + .put("9574", "立花証券") + .put("9579", "光世証券") + .put("9584", "ちばぎん証券") + .put("9589", "シテイ証券") + .put("9594", "CS証券") + .put("9595", "スタンレー証券") + .put("9930", "日本政策投資") + .put("9932", "政策金融公庫") + .put("9933", "国際協力") + .put("9945", "預金保険機構") + // }}} + .build(); + + private final static String ID_OPEN = ""; + private final static String ID_CLOSE = ""; + private final static String JA_OPEN = ""; + private final static String JA_CLOSE = ""; + private final static String EN_OPEN = ""; + private final static String EN_CLOSE = ""; + public final static String SPACE = " "; + + // don't localize these strings into all languages, + // all we want is either Japanese or English here. + public static final String getString(String id) + { + boolean ja = GUIUtil.getUserLanguage().equals("ja"); + + switch (id) + { + case "bank": + if (ja) return "銀行名 ・金融機関名"; + return "Japan Bank or Financial Institution"; + case "bank.select": + if (ja) return "金融機関 ・銀行検索 (名称入力検索)"; + return "Search for Bank or Financial Institution"; + case "bank.code": + if (ja) return "銀行コード"; + return "Zengin Bank Code"; + case "bank.name": + if (ja) return "金融機関名 ・銀行名"; + return "Financial Institution / Bank Name"; + + case "branch": + if (ja) return "支店名"; + return "Bank Branch"; + case "branch.code": + if (ja) return "支店コード"; + return "Zengin Bank Branch Code"; + case "branch.code.validation.error": + if (ja) return "入力は3桁の支店コードでなければなりません"; + return "Input must be a 3 digit branch code"; + case "branch.name": + if (ja) return "支店名"; + return "Bank Branch Name"; + + case "account": + if (ja) return "銀行口座"; + return "Japan Bank Account"; + + case "account.type": + if (ja) return "口座科目"; + return "Bank Account Type"; + case "account.type.select": + if (ja) return "口座科目"; + return "Select Account Type"; + // displayed while creating account + case "account.type.futsu": + if (ja) return "普通"; + return "FUTSUU (ordinary) account"; + case "account.type.touza": + if (ja) return "当座"; + return "TOUZA (checking) account"; + case "account.type.chochiku": + if (ja) return "貯金"; + return "CHOCHIKU (special) account"; + // used when saving account info + case "account.type.futsu.ja": + return "普通"; + case "account.type.touza.ja": + return "当座"; + case "account.type.chochiku.ja": + return "貯金"; + + case "account.number": + if (ja) return "口座番号"; + return "Bank Account Number"; + case "account.number.validation.error": + if (ja) return "入力は4〜8桁の口座番号でなければなりません"; + return "Input must be 4 ~ 8 digit account number"; + case "account.name": + if (ja) return "口座名義"; + return "Bank Account Name"; + + // for japanese-only input fields + case "japanese.validation.error": + if (ja) return "入力は漢字、ひらがな、またはカタカナでなければなりません"; + return "Input must be Kanji, Hiragana, or Katakana"; + case "japanese.validation.regex": + // epic regex to only match japanese input + return "[" + // match any of the these characters: + // "A-z" + // full-width alphabet + // "0-9" + // full-width numerals + "一-龯" + // all japanese kanji (0x4e00 ~ 0x9fcf) + "ぁ-ゔ" + // full-width hiragana (0x3041 ~ 0x3094) + "ァ-・" + // full-width katakana (0x30a1 ~ 0x30fb) + "ぁ-ゞ" + // half-width hiragana + "ァ-ン゙゚" + // half-width katakana + "ヽヾ゛゜ー" + // 0x309e, 0x309b, 0x309c, 0x30fc + " " + // full-width space + " " + // half-width space + "]+"; // for any length + } + + return "null"; + } +} + +// vim:ts=4:sw=4:expandtab:foldmethod=marker:nowrap: diff --git a/desktop/src/main/java/bisq/desktop/main/account/content/fiataccounts/FiatAccountsView.java b/desktop/src/main/java/bisq/desktop/main/account/content/fiataccounts/FiatAccountsView.java index 4edf7508d42..1d3ef77588b 100644 --- a/desktop/src/main/java/bisq/desktop/main/account/content/fiataccounts/FiatAccountsView.java +++ b/desktop/src/main/java/bisq/desktop/main/account/content/fiataccounts/FiatAccountsView.java @@ -28,6 +28,7 @@ import bisq.desktop.components.paymentmethods.FasterPaymentsForm; import bisq.desktop.components.paymentmethods.HalCashForm; import bisq.desktop.components.paymentmethods.InteracETransferForm; +import bisq.desktop.components.paymentmethods.JapanBankTransferForm; import bisq.desktop.components.paymentmethods.MoneyBeamForm; import bisq.desktop.components.paymentmethods.MoneyGramForm; import bisq.desktop.components.paymentmethods.NationalBankForm; @@ -59,6 +60,7 @@ import bisq.desktop.util.validation.HalCashValidator; import bisq.desktop.util.validation.IBANValidator; import bisq.desktop.util.validation.InteracETransferValidator; +import bisq.desktop.util.validation.JapanBankTransferValidator; import bisq.desktop.util.validation.MoneyBeamValidator; import bisq.desktop.util.validation.PerfectMoneyValidator; import bisq.desktop.util.validation.PopmoneyValidator; @@ -76,6 +78,7 @@ import bisq.core.payment.ClearXchangeAccount; import bisq.core.payment.F2FAccount; import bisq.core.payment.HalCashAccount; +import bisq.core.payment.JapanBankAccount; import bisq.core.payment.MoneyGramAccount; import bisq.core.payment.PaymentAccount; import bisq.core.payment.PaymentAccountFactory; @@ -131,6 +134,7 @@ public class FiatAccountsView extends PaymentAccountsView. + */ + +package bisq.desktop.util.validation; + +import bisq.core.util.validation.InputValidator; +import bisq.desktop.components.paymentmethods.data.JapanBankData; +import javax.inject.Inject; + +public final class JapanBankAccountNameValidator extends InputValidator +{ + @Override + public ValidationResult validate(String input) { + ValidationResult result = super.validate(input); + + if (result.isValid) + result = lengthValidator.validate(input); + if (result.isValid) + result = regexValidator.validate(input); + + return result; + } + + private LengthValidator lengthValidator; + private RegexValidator regexValidator; + + @Inject + public JapanBankAccountNameValidator(LengthValidator lengthValidator, RegexValidator regexValidator) { + + lengthValidator.setMinLength(1); + lengthValidator.setMaxLength(40); + this.lengthValidator = lengthValidator; + + regexValidator.setPattern(JapanBankData.getString("japanese.validation.regex")); + regexValidator.setErrorMessage(JapanBankData.getString("japanese.validation.error")); + this.regexValidator = regexValidator; + } +} diff --git a/desktop/src/main/java/bisq/desktop/util/validation/JapanBankAccountNumberValidator.java b/desktop/src/main/java/bisq/desktop/util/validation/JapanBankAccountNumberValidator.java new file mode 100644 index 00000000000..e45d9b3b1d1 --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/util/validation/JapanBankAccountNumberValidator.java @@ -0,0 +1,41 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.desktop.util.validation; + +import bisq.core.util.validation.InputValidator; +import bisq.desktop.components.paymentmethods.data.JapanBankData; + +public final class JapanBankAccountNumberValidator extends InputValidator +{ + @Override + public ValidationResult validate(String input) + { + boolean lengthOK = ( + isNumberWithFixedLength(input, 3) || + isNumberWithFixedLength(input, 4) || + isNumberWithFixedLength(input, 5) || + isNumberWithFixedLength(input, 6) || + isNumberWithFixedLength(input, 7) || + isNumberWithFixedLength(input, 8)); + + if (lengthOK) + return super.validate(input); + + return new ValidationResult(false, JapanBankData.getString("account.number.validation.error")); + } +} diff --git a/desktop/src/main/java/bisq/desktop/util/validation/JapanBankBranchCodeValidator.java b/desktop/src/main/java/bisq/desktop/util/validation/JapanBankBranchCodeValidator.java new file mode 100644 index 00000000000..3a9673dd677 --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/util/validation/JapanBankBranchCodeValidator.java @@ -0,0 +1,32 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.desktop.util.validation; + +import bisq.core.util.validation.InputValidator; +import bisq.desktop.components.paymentmethods.data.JapanBankData; + +public final class JapanBankBranchCodeValidator extends InputValidator +{ + @Override + public ValidationResult validate(String input) + { + if (isNumberWithFixedLength(input, 3)) + return super.validate(input); + return new ValidationResult(false, JapanBankData.getString("branch.code.validation.error")); + } +} diff --git a/desktop/src/main/java/bisq/desktop/util/validation/JapanBankBranchNameValidator.java b/desktop/src/main/java/bisq/desktop/util/validation/JapanBankBranchNameValidator.java new file mode 100644 index 00000000000..1bd49a7970f --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/util/validation/JapanBankBranchNameValidator.java @@ -0,0 +1,52 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.desktop.util.validation; + +import bisq.core.util.validation.InputValidator; +import bisq.desktop.components.paymentmethods.data.JapanBankData; +import javax.inject.Inject; + +public final class JapanBankBranchNameValidator extends InputValidator +{ + @Override + public ValidationResult validate(String input) { + ValidationResult result = super.validate(input); + + if (result.isValid) + result = lengthValidator.validate(input); + if (result.isValid) + result = regexValidator.validate(input); + + return result; + } + + private LengthValidator lengthValidator; + private RegexValidator regexValidator; + + @Inject + public JapanBankBranchNameValidator(LengthValidator lengthValidator, RegexValidator regexValidator) { + + lengthValidator.setMinLength(1); + lengthValidator.setMaxLength(40); + this.lengthValidator = lengthValidator; + + regexValidator.setPattern(JapanBankData.getString("japanese.validation.regex")); + regexValidator.setErrorMessage(JapanBankData.getString("japanese.validation.error")); + this.regexValidator = regexValidator; + } +} diff --git a/desktop/src/main/java/bisq/desktop/util/validation/JapanBankTransferValidator.java b/desktop/src/main/java/bisq/desktop/util/validation/JapanBankTransferValidator.java new file mode 100644 index 00000000000..4094de1bc6e --- /dev/null +++ b/desktop/src/main/java/bisq/desktop/util/validation/JapanBankTransferValidator.java @@ -0,0 +1,37 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.desktop.util.validation; + +import bisq.core.util.validation.InputValidator; + +public final class JapanBankTransferValidator extends InputValidator { + + /////////////////////////////////////////////////////////////////////////////////////////// + // Public methods + /////////////////////////////////////////////////////////////////////////////////////////// + + @Override + public ValidationResult validate(String input) { + // TODO + return super.validate(input); + } + + /////////////////////////////////////////////////////////////////////////////////////////// + // Private methods + /////////////////////////////////////////////////////////////////////////////////////////// +} From 8f2009683c0840968dd619230e60ba2123a42aab Mon Sep 17 00:00:00 2001 From: Christoph Atteneder Date: Fri, 13 Sep 2019 11:24:40 +0200 Subject: [PATCH 31/45] Fix typo fist > first --- .../pendingtrades/TradeStepInfo.java | 8 ++++---- .../pendingtrades/steps/TradeStepView.java | 19 +++++++++---------- .../steps/buyer/BuyerStep1View.java | 2 +- .../steps/buyer/BuyerStep2View.java | 2 +- .../steps/buyer/BuyerStep3View.java | 2 +- .../steps/seller/SellerStep1View.java | 2 +- .../steps/seller/SellerStep2View.java | 2 +- .../steps/seller/SellerStep3View.java | 2 +- 8 files changed, 19 insertions(+), 20 deletions(-) diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeStepInfo.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeStepInfo.java index 6e75041d319..4d913302819 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeStepInfo.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeStepInfo.java @@ -62,7 +62,7 @@ public enum State { private Trade trade; @Getter private State state = State.UNDEFINED; - private Supplier fistHalfOverWarnTextSupplier = () -> ""; + private Supplier firstHalfOverWarnTextSupplier = () -> ""; private Supplier periodOverWarnTextSupplier = () -> ""; TradeStepInfo(TitledGroupBg titledGroupBg, Label label, AutoTooltipButton button) { @@ -84,8 +84,8 @@ public void setOnAction(EventHandler e) { button.setOnAction(e); } - public void setFistHalfOverWarnTextSupplier(Supplier fistHalfOverWarnTextSupplier) { - this.fistHalfOverWarnTextSupplier = fistHalfOverWarnTextSupplier; + public void setFirstHalfOverWarnTextSupplier(Supplier firstHalfOverWarnTextSupplier) { + this.firstHalfOverWarnTextSupplier = firstHalfOverWarnTextSupplier; } public void setPeriodOverWarnTextSupplier(Supplier periodOverWarnTextSupplier) { @@ -172,7 +172,7 @@ public void setState(State state) { case WARN_HALF_PERIOD: // orange button titledGroupBg.setText(Res.get("portfolio.pending.support.headline.halfPeriodOver")); - label.setText(fistHalfOverWarnTextSupplier.get()); + label.setText(firstHalfOverWarnTextSupplier.get()); button.setText(Res.get("portfolio.pending.openSupport").toUpperCase()); button.setId(null); button.getStyleClass().remove("action-button"); diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java index c9907478b98..8175e486a4d 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java @@ -339,7 +339,6 @@ protected void addInfoBlock() { GridPane.setColumnSpan(titledGroupBg, 2); infoLabel = addMultilineLabel(gridPane, gridRow, "", Layout.COMPACT_FIRST_ROW_AND_COMPACT_GROUP_DISTANCE); -// infoLabel = addMultilineLabel(gridPane, gridRow, "", 0); GridPane.setColumnSpan(infoLabel, 2); } @@ -380,12 +379,12 @@ private void updateTimeLeft() { public void setTradeStepInfo(TradeStepInfo tradeStepInfo) { this.tradeStepInfo = tradeStepInfo; - tradeStepInfo.setFistHalfOverWarnTextSupplier(this::getFistHalfOverWarnText); + tradeStepInfo.setFirstHalfOverWarnTextSupplier(this::getFirstHalfOverWarnText); tradeStepInfo.setPeriodOverWarnTextSupplier(this::getPeriodOverWarnText); } - protected String getFistHalfOverWarnText() { + protected String getFirstHalfOverWarnText() { return ""; } @@ -409,7 +408,7 @@ private void updateDisputeState(Trade.DisputeState disputeState) { break; case DISPUTE_REQUESTED: if (tradeStepInfo != null) { - tradeStepInfo.setFistHalfOverWarnTextSupplier(this::getFistHalfOverWarnText); + tradeStepInfo.setFirstHalfOverWarnTextSupplier(this::getFirstHalfOverWarnText); } applyOnDisputeOpened(); @@ -422,7 +421,7 @@ private void updateDisputeState(Trade.DisputeState disputeState) { break; case DISPUTE_STARTED_BY_PEER: if (tradeStepInfo != null) { - tradeStepInfo.setFistHalfOverWarnTextSupplier(this::getFistHalfOverWarnText); + tradeStepInfo.setFirstHalfOverWarnTextSupplier(this::getFirstHalfOverWarnText); } applyOnDisputeOpened(); @@ -436,7 +435,7 @@ private void updateDisputeState(Trade.DisputeState disputeState) { break; case MEDIATION_REQUESTED: if (tradeStepInfo != null) { - tradeStepInfo.setFistHalfOverWarnTextSupplier(this::getFistHalfOverWarnText); + tradeStepInfo.setFirstHalfOverWarnTextSupplier(this::getFirstHalfOverWarnText); } applyOnDisputeOpened(); @@ -449,7 +448,7 @@ private void updateDisputeState(Trade.DisputeState disputeState) { break; case MEDIATION_STARTED_BY_PEER: if (tradeStepInfo != null) { - tradeStepInfo.setFistHalfOverWarnTextSupplier(this::getFistHalfOverWarnText); + tradeStepInfo.setFirstHalfOverWarnTextSupplier(this::getFirstHalfOverWarnText); } applyOnDisputeOpened(); @@ -595,13 +594,13 @@ private void updateTradePeriodState(Trade.TradePeriodState tradePeriodState) { tradeStepInfo.setState(TradeStepInfo.State.WARN_HALF_PERIOD); } else if (tradeStepInfo.getState() == TradeStepInfo.State.WARN_HALF_PERIOD) { tradeStepInfo.setState(TradeStepInfo.State.SHOW_GET_HELP_BUTTON); - tradeStepInfo.setFistHalfOverWarnTextSupplier(this::getFistHalfOverWarnText); + tradeStepInfo.setFirstHalfOverWarnTextSupplier(this::getFirstHalfOverWarnText); } break; case SECOND_HALF: if (!trade.isFiatReceived()) { if (tradeStepInfo != null) { - tradeStepInfo.setFistHalfOverWarnTextSupplier(this::getFistHalfOverWarnText); + tradeStepInfo.setFirstHalfOverWarnTextSupplier(this::getFirstHalfOverWarnText); tradeStepInfo.setState(TradeStepInfo.State.WARN_HALF_PERIOD); } } else { @@ -610,7 +609,7 @@ private void updateTradePeriodState(Trade.TradePeriodState tradePeriodState) { break; case TRADE_PERIOD_OVER: if (tradeStepInfo != null) { - tradeStepInfo.setFistHalfOverWarnTextSupplier(this::getPeriodOverWarnText); + tradeStepInfo.setFirstHalfOverWarnTextSupplier(this::getPeriodOverWarnText); tradeStepInfo.setState(TradeStepInfo.State.WARN_PERIOD_OVER); } break; diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep1View.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep1View.java index ab62f1d42b2..2c1d75fa501 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep1View.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep1View.java @@ -51,7 +51,7 @@ protected String getInfoText() { /////////////////////////////////////////////////////////////////////////////////////////// @Override - protected String getFistHalfOverWarnText() { + protected String getFirstHalfOverWarnText() { return Res.get("portfolio.pending.step1.warn"); } diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep2View.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep2View.java index 0ff9f97de88..fe029f0f519 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep2View.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep2View.java @@ -337,7 +337,7 @@ protected void addContent() { /////////////////////////////////////////////////////////////////////////////////////////// @Override - protected String getFistHalfOverWarnText() { + protected String getFirstHalfOverWarnText() { return Res.get("portfolio.pending.step2_buyer.warn", model.dataModel.getCurrencyCode(), model.getDateForOpenDispute()); diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep3View.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep3View.java index 115ee91e3b1..372a7d44801 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep3View.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep3View.java @@ -128,7 +128,7 @@ private void updateMessageStateInfo() { /////////////////////////////////////////////////////////////////////////////////////////// @Override - protected String getFistHalfOverWarnText() { + protected String getFirstHalfOverWarnText() { String substitute = model.isBlockChainMethod() ? Res.get("portfolio.pending.step3_buyer.warn.part1a", model.dataModel.getCurrencyCode()) : Res.get("portfolio.pending.step3_buyer.warn.part1b"); diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep1View.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep1View.java index 9e50fc4fb5a..a2034ec31d5 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep1View.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep1View.java @@ -51,7 +51,7 @@ protected String getInfoText() { /////////////////////////////////////////////////////////////////////////////////////////// @Override - protected String getFistHalfOverWarnText() { + protected String getFirstHalfOverWarnText() { return Res.get("portfolio.pending.step1.warn"); } diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep2View.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep2View.java index 2b85a5bfe7a..e3f519a0a10 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep2View.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep2View.java @@ -70,7 +70,7 @@ protected String getInfoText() { /////////////////////////////////////////////////////////////////////////////////////////// @Override - protected String getFistHalfOverWarnText() { + protected String getFirstHalfOverWarnText() { return Res.get("portfolio.pending.step2_seller.warn", model.dataModel.getCurrencyCode(), model.getDateForOpenDispute()); diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep3View.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep3View.java index e9514dccbb4..01bca7fb2b7 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep3View.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep3View.java @@ -246,7 +246,7 @@ protected String getInfoText() { /////////////////////////////////////////////////////////////////////////////////////////// @Override - protected String getFistHalfOverWarnText() { + protected String getFirstHalfOverWarnText() { String substitute = model.isBlockChainMethod() ? Res.get("portfolio.pending.step3_seller.warn.part1a", model.dataModel.getCurrencyCode()) : Res.get("portfolio.pending.step3_seller.warn.part1b"); From 84d91582d61939bd384e742ded9029e0dc29ed88 Mon Sep 17 00:00:00 2001 From: Christoph Atteneder Date: Fri, 13 Sep 2019 11:40:38 +0200 Subject: [PATCH 32/45] Hide support request info, when trade is complete --- .../main/portfolio/pendingtrades/TradeStepInfo.java | 8 +++++++- .../main/portfolio/pendingtrades/steps/TradeStepView.java | 3 +++ .../pendingtrades/steps/buyer/BuyerStep4View.java | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeStepInfo.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeStepInfo.java index 4d913302819..e27e285a65e 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeStepInfo.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeStepInfo.java @@ -51,7 +51,8 @@ public enum State { IN_ARBITRATION_SELF_REQUESTED, IN_ARBITRATION_PEER_REQUESTED, WARN_HALF_PERIOD, - WARN_PERIOD_OVER + WARN_PERIOD_OVER, + TRADE_COMPLETED } private final TitledGroupBg titledGroupBg; @@ -187,6 +188,11 @@ public void setState(State state) { button.getStyleClass().remove("action-button"); button.setDisable(false); break; + case TRADE_COMPLETED: + // hide group + titledGroupBg.setVisible(false); + label.setVisible(false); + button.setVisible(false); } if (trade != null && trade.getPayoutTx() != null) { diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java index 8175e486a4d..e0fd522d8f1 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java @@ -383,6 +383,9 @@ public void setTradeStepInfo(TradeStepInfo tradeStepInfo) { tradeStepInfo.setPeriodOverWarnTextSupplier(this::getPeriodOverWarnText); } + protected void hideTradeStepInfo() { + tradeStepInfo.setState(TradeStepInfo.State.TRADE_COMPLETED); + } protected String getFirstHalfOverWarnText() { return ""; diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java index 483e26f17b4..dcc1db013f9 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java @@ -85,6 +85,8 @@ public BuyerStep4View(PendingTradesViewModel model) { @Override public void activate() { super.activate(); + // Don't display any trade step info when trade is complete + hideTradeStepInfo(); } @Override From 982f610a165b3725e860eaeab38da5329879f78e Mon Sep 17 00:00:00 2001 From: Christoph Atteneder Date: Fri, 13 Sep 2019 11:57:57 +0200 Subject: [PATCH 33/45] Add alternative text until mediation is activated --- core/src/main/resources/i18n/displayStrings.properties | 8 +++++++- .../main/portfolio/pendingtrades/TradeStepInfo.java | 4 +++- .../main/portfolio/pendingtrades/steps/TradeStepView.java | 4 +++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/core/src/main/resources/i18n/displayStrings.properties b/core/src/main/resources/i18n/displayStrings.properties index cdea48da0a0..9b54cf9471f 100644 --- a/core/src/main/resources/i18n/displayStrings.properties +++ b/core/src/main/resources/i18n/displayStrings.properties @@ -760,9 +760,15 @@ portfolio.pending.support.headline.getHelp=Need help? portfolio.pending.support.text.getHelp=If you have any problems you can try to contact the trade peer in the trade \ chat or ask the Bisq community at https://bisq.community. \ If your issue still isn't resolved, you can request more help from a mediator. +portfolio.pending.support.text.getHelp.arbitrator=If you have any problems you can try to contact the trade peer in the trade \ + chat or ask the Bisq community at https://bisq.community. \ + If your issue still isn't resolved, you can request more help from an arbitrator. portfolio.pending.support.button.getHelp=Get support portfolio.pending.support.popup.info=If your issue with the trade remains unsolved, you can open a support \ - ticket to request help from the mediator. If you have not received the payment, please wait until the trade period is over.\n\n\ + ticket to request help from a mediator. If you have not received the payment, please wait until the trade period is over.\n\n\ + Are you sure you want to open a support ticket? +portfolio.pending.support.popup.info.aribtrator=If your issue with the trade remains unsolved, you can open a support \ + ticket to request help from an arbitrator. If you have not received the payment, please wait until the trade period is over.\n\n\ Are you sure you want to open a support ticket? portfolio.pending.support.popup.button=Open support ticket portfolio.pending.support.headline.halfPeriodOver=Check payment diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeStepInfo.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeStepInfo.java index e27e285a65e..a04dc306ee1 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeStepInfo.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeStepInfo.java @@ -21,6 +21,7 @@ import bisq.desktop.components.TitledGroupBg; import bisq.core.locale.Res; +import bisq.core.support.dispute.mediation.MediationManager; import bisq.core.trade.Trade; import javafx.scene.control.Label; @@ -101,7 +102,8 @@ public void setState(State state) { case SHOW_GET_HELP_BUTTON: // grey button titledGroupBg.setText(Res.get("portfolio.pending.support.headline.getHelp")); - label.setText(Res.get("portfolio.pending.support.text.getHelp")); + label.setText(MediationManager.isMediationActivated() ? + Res.get("portfolio.pending.support.text.getHelp") : Res.get("portfolio.pending.support.text.getHelp.arbitrator")); button.setText(Res.get("portfolio.pending.support.button.getHelp").toUpperCase()); button.setId(null); button.getStyleClass().remove("action-button"); diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java index e0fd522d8f1..ec6f96e743a 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java @@ -29,6 +29,7 @@ import bisq.core.locale.Res; import bisq.core.support.dispute.Dispute; import bisq.core.support.dispute.DisputeResult; +import bisq.core.support.dispute.mediation.MediationManager; import bisq.core.trade.Contract; import bisq.core.trade.Trade; import bisq.core.user.DontShowAgainLookup; @@ -212,7 +213,8 @@ public void activate() { if (!isMediationClosedState()) { tradeStepInfo.setOnAction(e -> { - new Popup<>().attention(Res.get("portfolio.pending.support.popup.info")) + new Popup<>().attention(MediationManager.isMediationActivated() ? + Res.get("portfolio.pending.support.popup.info") : Res.get("portfolio.pending.support.popup.info.aribtrator")) .actionButtonText(Res.get("portfolio.pending.support.popup.button")) .onAction(this::openSupportTicket) .closeButtonText(Res.get("shared.cancel")) From 15f71c9e02a5c0b40d36c23043501262a67f49cc Mon Sep 17 00:00:00 2001 From: Christoph Atteneder Date: Fri, 13 Sep 2019 12:16:40 +0200 Subject: [PATCH 34/45] Add information what to do next after mediation is completed --- core/src/main/resources/i18n/displayStrings.properties | 2 ++ .../desktop/main/overlays/windows/DisputeSummaryWindow.java | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/core/src/main/resources/i18n/displayStrings.properties b/core/src/main/resources/i18n/displayStrings.properties index 9b54cf9471f..eaff2c3afc3 100644 --- a/core/src/main/resources/i18n/displayStrings.properties +++ b/core/src/main/resources/i18n/displayStrings.properties @@ -2203,6 +2203,8 @@ Summary:\n\ Payout amount for BTC buyer: {1}\n\ Payout amount for BTC seller: {2}\n\n\ Summary notes:\n{3} +disputeSummaryWindow.close.nextStepsForMediation=\n\nNext steps:\n +Open ongoing trade and accept or reject the suggested mediation disputeSummaryWindow.close.closePeer=You need to close also the trading peers ticket! emptyWalletWindow.headline={0} emergency wallet tool diff --git a/desktop/src/main/java/bisq/desktop/main/overlays/windows/DisputeSummaryWindow.java b/desktop/src/main/java/bisq/desktop/main/overlays/windows/DisputeSummaryWindow.java index ea55d87e6a3..671054074c6 100644 --- a/desktop/src/main/java/bisq/desktop/main/overlays/windows/DisputeSummaryWindow.java +++ b/desktop/src/main/java/bisq/desktop/main/overlays/windows/DisputeSummaryWindow.java @@ -556,6 +556,10 @@ private void addButtons(Contract contract) { formatter.formatCoinWithCode(disputeResult.getSellerPayoutAmount()), disputeResult.summaryNotesProperty().get()); + if (dispute.isMediationDispute()) { + text += Res.get("disputeSummaryWindow.close.nextStepsForMediation"); + } + getDisputeManager(dispute).sendDisputeResultMessage(disputeResult, dispute, text); if (peersDisputeOptional.isPresent() && !peersDisputeOptional.get().isClosed() && !DevEnv.isDevMode()) { From bd656d5b3e0298c3f9f2da0b12b298159e16a41c Mon Sep 17 00:00:00 2001 From: Christoph Atteneder Date: Fri, 13 Sep 2019 13:39:29 +0200 Subject: [PATCH 35/45] Rename review and accept or reject button to prevent confusion --- core/src/main/resources/i18n/displayStrings.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/resources/i18n/displayStrings.properties b/core/src/main/resources/i18n/displayStrings.properties index eaff2c3afc3..17e411bd28b 100644 --- a/core/src/main/resources/i18n/displayStrings.properties +++ b/core/src/main/resources/i18n/displayStrings.properties @@ -797,7 +797,7 @@ portfolio.pending.mediationResult.headline=Suggested payout from mediation portfolio.pending.mediationResult.info.noneAccepted=Complete the trade by accepting the mediator's suggestion for the trade payout. portfolio.pending.mediationResult.info.selfAccepted=You have accepted the mediator's suggestion. Waiting for peer to accept as well. portfolio.pending.mediationResult.info.peerAccepted=Your trade peer has accepted the mediator's suggestion. Do you accept as well? -portfolio.pending.mediationResult.button=Accept or reject +portfolio.pending.mediationResult.button=View proposed resolution portfolio.pending.mediationResult.popup.headline=Mediation result for trade with ID: {0} portfolio.pending.mediationResult.popup.headline.peerAccepted=Your trade peer has accepted the mediator''s suggestion for trade {0} portfolio.pending.mediationResult.popup.info=The mediator has suggested the following payout:\n\ From f28d262a8af199bacc9e3bb7c1161ff70e9d3014 Mon Sep 17 00:00:00 2001 From: Christoph Atteneder Date: Fri, 13 Sep 2019 14:45:10 +0200 Subject: [PATCH 36/45] Update data stores --- .../AccountAgeWitnessStore_BTC_MAINNET | Bin 1093315 -> 1111357 bytes .../main/resources/DaoStateStore_BTC_MAINNET | 8907 ++++++++++++++++- .../TradeStatistics2Store_BTC_MAINNET | Bin 10718217 -> 11045214 bytes 3 files changed, 8480 insertions(+), 427 deletions(-) diff --git a/p2p/src/main/resources/AccountAgeWitnessStore_BTC_MAINNET b/p2p/src/main/resources/AccountAgeWitnessStore_BTC_MAINNET index 96bf915c513e21fe2c666e0ef4e5c9e8a7a2235d..7543d52fc3a51bfb7804b2f36e15930959db85cb 100644 GIT binary patch delta 27601 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
-+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

|!`Q?)dX1=blkBg+Bw-&6`Y&4R-gITtt!X*}qEZ zUrU&tOe$y@Y+wtZGnO%-4^CGD->VA#KX_)zpz2qEPsbQv!K|SM)gdYe(6d%DBSfj% zb>LGm=B@|)g@|6ao(Y-!*#_`eF^Vvv0Cd*|yvvkL;QcXd0CdeJToVSH$ZX?uM6GF>e?2UO8Wu zk}`yba~u2wG+&2#mqF?2!UoGRE(5rGryL`0JelUOG^eCV$aR9Koi3gwL;2X zmwA>eE9-W4=)9(-U0X}vilZM}A76J=K!0qT@`NvTFqNrxyd&iu&{H#aKopG8umif) zrkxNe0O;d8nUIRud%(Bt1}xkIrN3jFff0l;u?IRcr3cX+jAH;gQ4d$+bbau>djbFH zLz#EjI%4GML%pQ$gD4QAejohRXg@?7FmCS$JBXulj9CYm#)R2+#u@d`YEG?o+e9vS z|1&Q4Ny$K7;W05VADJIuzGG49hoP)AfZl(Yd7ed;8G`3y{5FLBT{VJeAAo*lg!`V& zaqz|%{unhFDFAx(IMa?ry*vf}K1T8>W(xPF=E8YbW)JU*uH3-8EpJ;Km#h$hYCgZ~ zDy1z>GcB3alnGOjYBYiJ^UgAjx$krvx9Dnoy`3rdGOnJ#|LO8M0YcRNYdBj#`J9ES zzjqc&CY^;^h&>097e*h30At2^rVaO@$F0@(7N}i`ed@47XFboYq*S^T#lEHDODX&F zOdYEIJd`W|&>|P`VAC)KFNz0*-Z|q@=_Zjs@ndk7?sW4xa)w zGf-qsVY`q%Zw5~>xXshm&XCr(XV*(VF}Qepm4e;<`&FnR{6~#|O1=bV9CQhG`u!5* z!Q5uKXIt)}uPvqlLnVY-hz;^$r2YH;(P^eQb06cqot09sVmnwiKTPL74JPfM)$&%bei zV&?uUi~5`Q9C;>W1i}g||2FeFldIDo#U9yLyzl4}&A7?1ty*IP)mo^lDZ*7que`@J zU=oW%hWhp$usW=Gr#+#y=$`NXmge>72j$}iEBr?`%!Sks8#t?Mj1Y_|8)&@b5cb5` zy<2x#uM6U)R~=N?H%+LFo+k9XD5I<&KvkT403}~OfRbm+8Y)UM&z`Or(LUL$+3=s2 zv4Io{qjP_iQqm8hdP=?`$LN2_0_v|V>}d02C^-*6pLmQj=?pvYeNO-ajOBLFlXUDMQpOMg&}Z!- zUlGNbI_8{qbBEHbb}j2 zTmWt4hLc*=hvu?=;lu*-Ypx1^Vy1Q1s9LioRu> zw(5PXB->f1Rny3SF{t;k8I8UjhGhV)7Qvj(qKw`{*$n{t_IsR6^yIQcC6|@^mluhUKzlEF9|_E+3CE5DWG176*|9#(s?V7~L4f z7~&scN_zVdA_oAS^AXq1+<5SR`G9rt@aHmY`53?BnWNO=M2N&Nx)K085@CXg(q7}G z=(*2k*(*)w!S|vHyl1&JXgp%92~H{~k!ef($lBp3dP8F3{mW3!v#7e65ms;D6=^ zK>+%DKF%E13&9@*&>n@*xwwcuN2s+lVV%qzQcc5Ae!OP^E;%kpo}SL^fx9Je)LA^?(@b_IYB1ibkU| zAjkSN;|bBJ6}GqpAP$Y6ao*Mc=b{*2M#X+qR+Ah}$wL)muP7L2Z(5nQT#>-^gz(jA zWogHAMj8$tQmBy>9!6drPd&>h#WqNnCT*}QZ2)cC#)MnB>7C$vJHY?f$y~>vY`d6> z)R`{ufnB)%qkG`*?f|-^2d_E5^?{GaknRTz;7Gk62F1l+5beZR0-zm!;Y+Rk4L%j) z?{B6S*Se{J*!3xN-z|v)=x%?wZIQb6Y-FGE=BbccHNZSe@du!!4}dNkfFVE_d;YhX z8rnHjJI~~M%-nbSPYqYtqUyvb`~-&>f`pVZ1RMAR=$aw?QO?6gEuq=uxnFu4PTX?4 z-k4;spc9JR-XvC)(o08hZ`1q>8z^E-jRH>og`t~wk`uA6-*$J#qfhtaEn_a-=_*M? zk#8Jd!q83l3nTOJ7!+NDA%|f#2BWASM?#D^45@MG4ISeU6#{6{3EZ&jC;l5>D<7Mi zux*ZuXkXZj?o_KWa5+zbzl;$+#ngH(!h(JR?zu9{ z_<1Ia_dFQ%7}UTTrG^;r*GddoCd;4t%7iEe<0q4q!u7H|)~P}kY&|k56`>SfP`NZZ z1EJ?}BSk_wgvC0}pa{J42{wyIZxmrcwt2?^?+BptI4nps(GuX@F|J{hNU&0<(CH98 z#mJq`(xT=|Ld3+_D#;op47~5Jj@pqa$+TQi)c!uXdU|VDF?#Lv9nT)CXRsDh&u2hU zYYan-_!)587E%!H$8eKk)ld#IA-af>gYg!lc_tid3xY@q;}im$ilYFGTEt2rX5ZeR zllD!^$7omeiX$mOqWQ#{PUPeCv>p0Mj5HkDM;eNjNkg@D&4Q>1LreyCbU_B99RS*1 zh6No+?6bOBOTK$nUBkcB8E4wgCcq3xPNHQ-GrPFp?CY zfnw)Dl@w#GsVnch?s|bP!_|hQ}h74KWq-=u113qrOD7!6|-ia-NvPKv$mcUL9EQM$#fWEdA_r~?h!OLS9E{Fa3V!V|1&+^);(Ol!L)o z0W~sL9iqQ00JRvY0D7G|3)0uKmEf;pM6G1mP&-yZv>4;UD(Ff!8W0%+Xnzgd6=tph z|7$gPwKXhQ22QO7{{uiPu4BRD1(yxr%`x_36kajLUkuuSSUj}JI|CqqhcK}W3z#)j_-HPffj6Do>UyLalFFkwoP=LE4a*7U$hcWkg zJ8L0f^dWS3=)0V?ipPLJa#rN^d55}$C@&;56AE-f0qQ?p*yD5ny<3;1!lK-FfxiYI z9Bnic^BkT_Z~oYEgjGMYKjrM8*25{9*7=dr0s#q zGSq`;J%F~>W5Lsyb0gsMt`9|b>a#Rv z5Fy?Yt{HY`k`>5T>rS41WVlXL!P`o%M0nHBq8T>&>UgjDz>z9bD&9C;q&e zQF+z@)ur0Lg$~tphLy`9N)((_jv8t#5=$_RF1*?MN#p#15!BSz0iOz_Uz@Sk%;x$y z)@X=1Fp|X`{f50J4u@__KdOQzd(&M?>Cy+RL=nPd!YFKs@0|C>N?T1|d%oW;bHkWI zP5r&_L0Q_)j`fto-Sz3pnkx#_Z>b$hA(m^!_J_+dB9S0$B(judyR!0GT*1P159qa< z+)pW1-q}QMQ(5VvGK8KM3Svs>Ja^V&8KQ>Cm~m_Nkwzy^MsofZU%f4F1mdV5C~OSw zH9B9jm||RW^@&r1uA)!=89d9-DL8dDT5taqlo|e^R6w;wupV>mACfz7oR6}d=5}U% z_2=iSc3>xbl68Yg{BR3lZYk+UmoFVk4wRX+k~k+Dh$=%|hM*?CzGod* z;8tnJ1YYSivGY4Tms~HQF3D-v)QKEfs<$)N5I7tf~l-Mum5z;$GAa8PwRvRUL z2p8W`VCX+NyP-i>+@UoZx!FdPm(io6ECmMPz;6$De(CSp=o80cx^_I;boy?>HT1j7 zVG?>O8e=Wwb|2ljbHg*VYyJrlr9G)e>q7_sokfujwh;naZ4CCnU3Gau@MhUf;Xcl- z8YNMy0*WN3Z$j@rM~0Wuy5p>EV%#fzv3qx{w>;MHWR3H=1o>XY*?TKcUTAKzfPTzk zGbOp5MYiUpJ?RgKpTb>Vx71@6f`U`2kEL%;E>#R*h{dk_1(RRk?^yVvmZ~K>St4DbO;UQ&I{eSF9Vovem zr1Rf5T@);Co+q+EM}45Fq5?G+v^v0`s#wMj;>Ma^_-Y=>xo=XSbHCCsKv_fA&JTr# zzqK!=uPtYni*vOHxx?+376le5DX%l{ZNJWp%wLRz?;m@Y(pqcTJ7*HB{iyjRllRzX z!dd^^>mL-_4ALIR&cCby8tbtx8*bU-b=J5kCnx+Tvc~esvZ#8KsR@Hj4b*-J@tGJ6!*L4;?l$S?+Ps*p@Ii8*glRYg-q_aXGJnIt$zfV0bMvWxo>R+D@wyFKDqaBvQuh=sNZ5`T;t|$gAs3 zuz=3F#-3mkQrj(D;yyW;ZA~<*sa}V~wpO|fp?@CFCt(+H7Vk>ehc{K`cnsSG&&8^NK>M6|5d>U~mMt3mE!sSVgs~@W77flH1kvnV? zHo+}duk{L@C%9v=!>v!*ns@Ta?oFtyt3FSKf`*-Xk+s;UZ*13l$cMxUhE4-oh9kBjPE zy+z6;FK4gboPA3pHP`7UstvDhEv3rC*vedS)3c|DwF5#0#jC{?>oO9|lWex3u@YCf zQyUCp2a0h`t-r5N-PO$&SmaMks70T3uw9>r1l>R0l+w>)*T5V( zLF9)4ct%27X0o@jxte!#%|^cc8;kd2$1#HMt6#e?^8{)e$%Z`fA%|_t<`!9a@;7~6 zyJe$ed+bVgxAO9mfNu05tjP{;5(?RWM2Jhjy#8}Po*C;O9@_ceAx#^dqLFzh;nkO4 z&>Zq#*#v_)E1oLDRPH^hX)3nvf@Q&bV`&9r)RIcVjR~zTU>}1K6k$*=uQm7C9;x22 z_wP{f^xyX(ggD@SFfqLINO{4dx?r(muABljFJ|Cx5;m>zqs7{*>gp5LU=*#_Nc8= z8Evhox-+;0O7LVv;5w!ShL4#0Z)zWooR@4)Yc;J`?=nXzC*{zvoOtOnyztgSnI#gI1G zB9bgi#B^DnyYOPLOWjJ^`RKXkzyI_&PN?a3p)(wWb68}SC{fXGR5;*m=ADdgRGVrP z{P8^NNg=^ok4QMt*~dkma)@*9Le8fLcrBDH$~R))Zu;uF?95H%k>dRa8lEx{c_2yb zOK=(`x8IMsbg%f}l3SNmGT%?GM8eloc#VZDL=qX?JA653J^O^sX{UMvzdv{1UQxd; z3Ki0$JpwxWn#lD<+-p4l zVw?Frsje+j_HZDIqFZ3jrT=7z7>N+_nkiyCNA^dhTK5*`ehbYvee~Q9eQU33ffBoN zMP!)7(wT1xu4~xkl}%VhN2Ig}sMn^kXfW?fC_E!D%ooYvnkL_nz5l2!>)4Zqd+NVO z%jO4OYM5tvbxvOX+UGt`gQvYP*xrc*HPv{f_oYGPI+JkW zH^+C&E*@Q>vqEM4AmO>r7E}Lna1z*K#iH6nQ$cxj;J;lpEIHG6R#G!kNa+JR=fBRX>_^Vf! z$@vyNW1}|z*Kgr0MyHEH&e)dEsZI^_Shw0t|6+E(m&1-#lS@$$-!=`dBvw`wMpAdz zqOPmwx)%gCl*lhio#)jvc3}~6?MmT8iF|p{bT*-|$z!{`#}6NqLG9+0q47a6vcMKO zd<%qcDbkM=MF|Es%9&Hswqud3Wt($)_0Zh)SNi3GhdkN@<^kq6^uCnzfigM7jL4Y}Hw&>$3m;b2{gJ7-h70rNdz4 zFBXLvOH^l%mb{piwAmf&6ZNm_&!MR(3QY|N@!J9wRZ%wyLfSL?(x=#d*F8R_6+e8h zk8XdMUxeJ=<_E$0AZDHDLhdSsjUjeDcfSW~wYzOEU6L++{MK9qtG2XK`pY`e>!L*1 zX48<;G``A)sAoJmyQ9q#t@le%ld$YJ9Akr)Xpbmyr|f6w=-B%U@2{QjI~De(*X-4U zgUF|--U%8_Nmukcx6p-<>sAk!I{e_Z=4FNbkE8GIjz$BS?N4C+tt%RU2*vwFPOmpj z_7}SDQrei%Q*PZgKMTFA{enLW=y_E1J7J@6LN&H;`(f#UnRV-vnyOc?(TzsY{T~Ey z5|<1`k1;l?4yo@YT&C4Uos;n?;4f6tb~(|3!n?<+{{Jg@r!qB6^!CLqb}4!+?zM4F zQ@Mdt8mfQYQVl!EFcOuLBP2cx&K~q!!e~EwW7ah(dpF*rh&EL6?E`#UhAy-a-N@i3 zANp;%OXLh+&f^q+w_?PIpK#eG6xx#PE1)N@i7FvN-$Lp0MHxLugWYeHRSkAk-7=W@ z1-;Hm!bx1-7FSh>-L(r7hey*ZML%tLU~5_1y8f&ODlCr7EmKW&6g6XU)n}eoIJF2B zZpgYbFT5aoA}ixs#N)T6o)#aniX<-S4w1vzj}7UL-@$>KWStlpN&`FHd?B(!Cx zbS-U9?)`;A|91J6(ut&KC4;Dz&6YnamB}_Yb*TFNV|vbQWg}Bm`RW^9?>Rje{WOy} zyi%Hwf6yO0?EXaR$#{a>YrW=3)RFOP40`{LP`FSosjeXzac{5XobYG0Uz>_Pn3cLc zK?U8x9YT8fd(pcLLU;KCF27~9#7ox7g+Wmrnlr^ZXQGkD3S8ZdT|N)3}_JIXhnKl-Su(V=`6l(_s*DVIUn5xD0`?8>Vn>% zDVj5#_;^&%USk!xVu$zqb;tMKw#aWGBvGC3uqSj)sbZ+D2LIQ~PAWOBZOdJB`Ii3v z?x0&w4ADq!cWNo^Tr8@={k>gmiI_yNBAEzjSEpCS4gt zbxFlAQ)#w}9upzC%(sNcV;r63i`-G=uv}B)XuPFDI>`1JUk=7E~4`r3b zW)BocJ1wT6cdy}_jP&3i(Vt8%mkJv8l>3sSYRi`X>0?l9;%{{dJ#lZ2Eu-s3aDlUZ z$;;81#T_&2W!R0XIZ;iuIhT-K!Ow4SH!~)x&E_u6v6ap)y*72v{qVJ`)~ZR@1q+s; z;*NLOWrl;*#$T1uMlzgR(%b__g%2v)Jx&TNRmG0THntF1r?;Vr&hl@i zbfGdQhRM}Eb0aiixN*3HFMXVSsY+D-ki&b_In){kpSNDjna<&^-}J2KxafJ0xuxpa zL{gJuK+fA}LCbeVeD2v9{3+fzNF7miA4n+iZx_dd$vxnBq~*&E)xgWg`xhBb_Pq!+eLD?x zeROv!qn-3P@-v9^%Bm5mk+Q=j8>HWNK5h0+@-x|o8X7`NA(Ol^;(X`o&*<)w`=cMX z-QvpI^UDWD0+v~fpx-Gulcn^nW1ON{T<nKG#U7SxsDj)Q!lu@CgNa z;}ybo)UZjfQgO3)MD{|;% z8x7G=qeHKN9=78woz5L#tDbqS8THn>I#hAszGTih!&`??#iw|8AW`0)7v~};gdDD+&3GOVE+vJs(kH}X0 z0s;NrhvN(1PWt+%eA7Xf5C4TdT4sJJ!eZVG>x;$Vdb~SlktEi8|hSIF{0Ce>o2&H(I@FKL4p(Vb{u4euveLNlkwF;IST+XH(E|~Xfc!aPEgWK1Pt)PQ$GSAE*B7+w_@s;nb8l&)crO9|PNFwY%!GJf z?#y*JGk>RgugLJmzWi4&sUkd4l`C^hRLL=Vj>6fJnyqZ9<2IdkMozc@rlhCMtsu%2{U0E!T#Wgvz%4KT) zeldw0yUr>ry(#@?kylV;Y#cmRdACGtOp-X{dP;nEU3STGL5hf+ch|Ucu$2;uFG)#) zc{pH=Sb_*)Y-HE+^130iwwvYP5d6Ywt7>Txa_FwlfD-zf#9+O==De01pStH~k{FVi z^?FUl_ng~nP-v77Tq+&0MNDHJ_tZ=Ke7Uc-GmKTYKlDF)`pzoNW!9)Dy!sbB3p**M zxQ=^oaO-RFhd;uVZnJ%3x&G&Ut}fb({*?Y~f)6{AV(+E667?ZYoQjvVtOXBz+CR(? z?CbGnqMuXaRRW3%5j#sZp+)+u~n)6q|`}rmY^UXfw zQ2jLQ{}+H;#EZ?$W~sfEVR#>zzraARUS=vB)x_5HLYuz}7ju)~M%dkmQ%T>gZ>r}i zu|YQC1nbnD9OUol_FG7+@x}JdB3u_1cC_^Kyj0FIH~d?&*ChGO>sr+PB(xLG@=l%@ ztjAlE?w|2ZZJYU`u-Iv1TV$om!MAMW`yuQZG-*$fSUsCNWPIG??hN;JLkG45)n0R5 zm7Lb(kABrQ#0uz70j&Iv*YqPyA%3=c-Mn}b~rK6^|&X8+RL=%GeThkMO-qitHk*gM&@!o|~fZD2fKuNi{A zXW9A)=|eSQQe18tG9mTSl;lSDX^lm2-iJ1Yd_RFg3f{Vw(kBPS9*Ggx&dHCSnbz0Y zsvl)qRdXn>Q9{cFIYiV1LRD3bi;am9{hH3cKjrNf<;@9In>>CpGrPiW6B533?}8Fv z*y80PM9#@W1CPpiGqkNw8)i%Ma@+hqZbFT9cID7suO!4*iW0wSo+`Xntv2kAcPd^J z(B=5(@vGyg@O?lL)MgP9SC`=WCK#ODJ<;m$#Gp&F?P~2E{=YlX$fGtVrIa4xifIxkdVtctkLWEOfuDq}S}49`Ix#u1pvHOc_iC$UFC0)|(L={+ zWmc#+Faf{(JE|t$B}KGFERJ5bvvQ8bt}vZTJG;#F4wo3BT<^F6xIx;aDLz3&g-zGn zDv|I`8(KANgQC>8rpNEl+gGmePe*7CEpfOPe(RCDcP+`3M0w-GxdPhHO5B!BoVpcU`E}^; zisBA4&SZXQ+La}ShA2DtNk6p7>^tH?1Y_43Wor?al^=PRdkl`oMU+Uytwm4b!|{D@ z>>YfXGHdt6lpWJ{%nZs+7b$VxKI-z_4+;Ei;nQk##UpX17$KIm!STMI)2LXPZbN?T zDf@|`^lJG0BOe|$(BB-zTR7Zl2`!JSJB$QZs}s|=z9O5~&;0riHMvBj2VD7)kovWg(%>^C*J~9gfw0Cd4^DP~Dmc_vvfa5Q47az1+YgjYy?32Xw z`)}`QBxfx#9leGA<>vOmbx?u0y4UIKag~qXkYAVLbS(Pus!p$8g(Ap5+7%x5J`EO! zMOYPQ^s8v|ys?n{T?QRGI!0Ti-<(1N33Q8)`u$Ekn9x{%nR8k*clXk?%YAP)=lc6s z28hWS$$Z!EoZ*lQRKeGJBr z^Y%rFe_(RI?vM^jZ*bKp`#PcawbmLfiP$ZV=7qa`^Ze>I zIn$}OeV?SpF#0*sgI6!_^Tn;j3DxtBglYeW&kYsV+F3(mI%l-9WYMdP4BViKLUC9s z+Dr@C)w=WU7OVMP9n#)ezwdp#?T7-Ow$K7fuS|TB`-m4g8FDkvTq|?gr)OEi-|0#@ z4fLZDe}`P>oA@3Uu|(z=pIzObFg^d(uItb1F6?19>!5zufp5?n&XwY=EN*S@>7&}3 z>z{}=$6u?eH!!?Pv|dI@WfPu4+N@TbD^9H2$gC9CUoRDBr>z_IeXXr#ii0sq{m~7# z&eX#e@gQ!0@k}$`j|5Y%p~R7AUTfovPOXwbQ+2(arS#lZarieqO}~SpqfGA{|10gp zzY@IWhxU!6KGe|qCJtVOw28wj1oZByl10`YA9YTQSA%=HeP3ttG}K+$T>({P(<2T~ z`_xu!IKOx8gSV1ub5{t|b}U!1+Fy%)|9u|^B|3kK`_1JpTBKV3b@K-O4#B}JdG@oY zLeY^xG+t5ltcX{wZr$bX8D9?yq5honfJD9FIjIxtQ-oY;RA_;idS6KL- z+AjIW=AbSZxLcziS#rPs(0E#Fgf`WobBVmCG(hU;AlF}v8 zafy|Zu4Mt~Qt9rH`pv%Y|NEIZ_sp3y&-0wK++4K$EulZXTaQ7(z$hKwH{``Yk+iH8 z>G_4ewF|t=rFAAPGC9snYC@rC***Hy4?{ct;cGBUHR#D6r@}{QZ=krc!t)xbK z%QJcf$$yPm;S*%7FdUxIdNE9u5W?>D+iFJ&Xmf-Re{3^HeqK-$i2(h>9mQ}bUWypV zWMGWm75_Ao&th_FxW}B&Z<1RZdz06Aeo4o$i>95w2 zPvhWc-E{Gxuoo{@N*mTvc)fDnynNVJ!e79Mlk$l3(qjatO(mwi0;R6 z=Zg$9YQBusp19kMj5x4a_tgU~lV*rXg9Mivmh|ynkkwy%mFXv&LNQl(w41>9-;3W{ zQ5$m%#1n;P&+TTMWoIIw937d=2CmGf^Ou0{Xp>VbYW)fW!&Ul}>`7(srM>SKmvso@ z;>C@3wC2D{TC5{9cl8?#3|E78N{gc%3OptP#i%wQ+-oyK$Y8p7Z4<^48_dPMNPRZv zrgbG(1^?tT)a&Z|cCl*($sna9hW<@|yvJ-Zkv6_x%th(ZKRd2t4p#=k6a64&$w9`z zi;jb`@p`VB>Egw8P<(YvL+Z`>2M0l8>Btwj%uk^hGXfGC_c#1-a!{G9agnHso09UT#<~1t)Iz_8gdD;mqmB&=U zRd82fAYDkwnJih%9Qj>@nTfRY*&Do`^`Z=vr;K({QPnyOgez2Aw!f+4Ifw55Q@^}7 zAzIsYqUkf}jL84eO5Se3=#n(#g0KR?yP`L*pW;vlmPu76%(EaXpdqLQ)ojGTXXD-{ zEoYT3?Dx$?ZZy|+nP$Xgt4x5Vj?b`4yM&5?>10a7Gmna^R*q ztsd2`Mf);I6v}wN+D(xX4L9(41y%>T=#krT5;m(K?eA3y7#~^gQ{iQ*oVKyAmG@G2 z0t;ibSSpH6VW8Nhd9{>VEi?6V-I9db{U{63V9w*cpmeyP06PC1<{k^egT2cf=Yl^) z;Ju&Xg%*5fel%_hntONuz&WZ`pxYrU*Xl1^CZ`3EjN_($>3=(7?(ygWm@NC71RXPP z4RaTR{LGVfXx~2Q7Z-o~!RKkVc4q!dr$EU>JPpZ&!PAIXf(0Ky~(g*i1ig*$D`vp;P;@&k<6-Z_3?D z%7WOW(f-1V@{NZt+GM@}{=?Kl8me#-+sB3&fAV}ic+o~X$=qL6ieKrG6J`7o$SeKz z7w$svJa!u)U2ffADE)pL4aHngKW0Y}ZIZ~U1=B9kT{M*E0d_wN>BiSfvKf}=2igmF z)u@$%MPemagF$-gSE!Z|)5Jpc1eg;H5-hvW9Qz-mkAaDhuHIg128hmRg|B0B&J%1u ziT$La;80Iuo%0Mg-^afmp7CzJkAUMWt(k^;X<;E*&u@^~ef})1{a^U)?a_)m85COh zEfCq1LT*Kc^|8<^^Np6*JQiX^D}#UA4yxVOQZ?Jd3JT^Le^60(BkaOH#G3e?U&gLb zwe74i;RExvcnfzoXE6Wm4^&W*-+aKzA(J+ZXC^X+@lG|fJV#KShUU9jG+;kcQU=df z&IjxX4kY((ZpEl)^1qz@cGnvNG1u0uG6KP$O8W-*Is1LEFy~&OoQb@Or&3~^nQ!2= zbR%Uyyw(EIt{p$&7*B(+cQ}w0WHi3zLx~%TNptCB4hgcK3$_Ep&F*>7+{sB;16IJ>Q!Da`r74w?S^9btai%s)=@3{#o=08`$Ns{WZ zkbs__sSbz@c*lFz`NgzX%x%L`X4!TyA4Xe)#@K4Wnv0Ow_q>vsNYQQVaT-}q^y-jF zsmgc_vO>nzsHpw|ww+xj<4&p?Z-<+jYPB0acOxuX>JiBXw4s@8t^eoS6Z-fMGka$H zeY~yA+W)1}T)M(|fKNz&8C-+ZCbo%z#I7N@*iDL+D2{hbnHi!fXkYd?4Fbx-16t6X zZ7f8v2(D3{PKh~Nn{{}+d?uoEbn}}r#7?QKMX}b zdMEPza-jx(IFg>HvPt83*pU~vza%-VYevtu=80=$3dnlf+DL#OwZ7ls8u(;!Fd1eY zD~%}1jZt#Y@YBZb+1p2(ytV~W?K`We!-jyR z;JGy_`S3LyRMWht+R?g`+t;?4#DdtjGDa ziE91iCrWCMe}ZAJTsrl=dx)5X$3$)`DxrhBz>e6?=Y3h` zle;4=F8Hx+c8R%M?x8$r94v8w%XnstgVc!1H`=N7i+k=rdie;ycwfcHgF#sUExEeWX$}X zgBH#zLPL9;%tQuLL2E!5oeX|Zh=XaZf@7T}rq6zo=0EN}1$?sF;W>XiTqV98}j*tZI=q)jd)tQ{I?Ndw#r6ljv#y z=_8b2$d_&5nplvbvp4r{Y`?eZe=g7M|3rgV=)?;*;F&l^7b5&(z(bJiq2I4(B?~f- z*6#W9NMhe~XpGoW>tambY$oG{jy?a;q9|c&!BMmnI@xVBetq z_+$K}TS)6o{$)hy=Ed0?7GX6jk9$uY1TEDOzOCeQl6VKw)h+#<_MB)Yv;NVX!@0%w zrQAUZz&#=mw*1PH#FsFUIvRY{#6KtdRtE0!n(D;eyk{uz40LB?LoCKv3J*(XYs0K> zKF~{xoA~?QME4Yn^Ys&mJw#?_I$O|aX*?8LmhN&j{@0p|iM<$jlk@(KyE=;JMu3-h zUo+%*F5$_{NS}p9T}#0O3PB{Brm!>AoAzh81jL6p)8F<@SMl(UR5Ev*h=}?&r`_4B zX=!d`NxIi~6QueN=221D=o+r_2H!R>XHBC@bOEkJHnTAA+L3RYU~s!Szm+_G2QQ55 z(TI%VU}4b|2tFEpUa9>2c=y0Gh5%lzfm?n95PFyhd6N z=v;QAC;YEf@E;B!l;ai};o2J8+}xZ_b0evoMP-Zg;7?!)WP;HtJv@Y%N&Oc(Z|3d3 zd@b%QA};C1p1{Ag3A)ECr{OFOhInyCM0g+f)On9ziph;yUmo6QD!w)=+XZ5&NpzrZ z!32K+O0bMN=N_9T4}Rt?rm=Xs4UEU!t_QTCs3EuxQA<1<5&4vq*BJ5k^8s$&>|KzMtH13gNn4` zAqDT$JykPp7hQr0^fNXWUD%SkTk$Sq8D{NxTFjsp3h&>qD$Q zPkm1^d<N9f;+y*#Z6b>&Q2?w%fbABr^o1!Z^!$bpb$N;nPGS-}gjA)nhd_zp#v_Ay=k`E7Dm zsWtDL*JZF#)kJSq_-Pyeh?#Vt-|0}_IjViz%67!GkcN(5pbZu@u1^M0(N+cmr2jhH zf&$OSsq-qc5czK|RFekA&$)rQ$RBAm^aT?Ea&sOsGvQw?_4tod6t!O%)%>uo92@{E zzCYjn3C`9&FM|h=1st+g+A=99-kKZ9c+1@_Z7D>Ztife{)>Ps4THy@aZ`lVA855GyO6<;A3m_M4gCXw4MxN|iHW1f)y&2EkSP}2 z^@+^Q*q;QNC^RT~LfKvr7TFPF+Z<(=L#Asr!7F%Cqv&QnF?1WWk0jH*V)Z2>N2B@>{OJ+`Cv z2A}^vRK#vAhP7n#(9Q4zhTvOrADzw7%^*O3SDL{@RI<^v#e;9$H$pMtDTHF zvD1A)tqVz!ejwB#)D?PgKrQ{7xDf7c+17lKc%z%g?tA-a%@hvEf}p;lNjS!(2Er0E zvQ%1ii^==S=_nSiRL^xa-3~4l2H-+lrPG8GG=d}xN&K>di%_s?)g7uf=UhwOeu~za z_aKAP4oMRAPD1zr(&m#_^)XM{PG&tO-@Rp3nWpA#9t4WFd;4gx!x3SdH0fjhWFUyD zWp(KaVMVJZ%;@LUy`ap#6GHYQ(*&p(`tPxCE_ZEf_y@_OURv?8qE$+@$6z1MjPzD? z{~Q5k-`!@`CToZS;!YcAVquauOq4T%I`h$fx{SPPnV`UkY#w9tFM8#bNlxYe@rlcz z4Asu>1Ap6^bKy2H>(CUW&J!t;2IuRCF=xZ{jOAda5z^pa_#I?mFyF8yU6@K{P&QqBtu_$0mubO+J_Js`U5nxAT3{eepXDz@^SH zuLZUYB1V%+24qHbsn`kUZJWkhfLJKc1_7_3)+t(>T#2v^aqF zXVO`0{2aH`KzBqp#GWn*6QRKNe9p!%onmgQEVk&Mo6D$p^SmTRBf=b|?jxsJ=_K==`mmJo!}PytOMH1>wBs_>C_V zE-!EmX@$*iJoJcUW|H;P0!hS8D42iEO2n;_d#YgRnl1>S`czX<#Fz*nFfN@Q7Zbnm z?gQ7lQ_OqW^DVV~;y`o|Wf3mZ$dqW#LaOt8sV+Fd6K$KIu5r9hbDx;r?>w-ux>nPI zwpqbB5LwvK<&gbYOm9F-nLT!R`ql}%6yUSfNGJ03t%;u*kn$ngGuo$Hk3)llY+co4 zJOc}>H9=jY{K2GOj3*W)$dS5PGQ0GM4LX>5=C20n}cin7$HaF?MWgSzN8cM05F# zHivYHJry}Pr3+IsTgtkIr9Q{7HOc`biwr^mM zC6*65Q~E*y8rVAsHzLqOgn?kUn#FHQl6g6Kh~~{^bLL}lg2)-rlGg%J|JpvH&E5+k zmrOgr;&bbXB4V~)$^-&+bW2cMF_HBDYME8Tz1?}{tIx%xYC^qNBNBvJ{v&{|?KQA& z=F$Lh5Ft&Nzt~aUE%RS>AUVBtvIzDw=Qs?0g!WZXQLcZ`bxA6RLJQyg;CZpJZ_3hA z)z0f##DmYE0RrqT=<_WiGvRg+54OdoFf+JR=Pmo z50_!++hleCy-K=Tk+pB!;9W#F$Na2<$ zv4ud*9-6%Us`$YR{QDy=!-sDiGy!c~n zz6U8z<#ag?`)N>$kjySRew45~{l;>A<>0%~Xzl<_gYTdteEtj6NZtX>42a;>!NE3F zIrG8TcvCT#hl<{ecbk29uDMuMkhTEHjUJ->bT4xZP zWb6qL-A{_=FcEh>|Ei{`qTu&kaiN?Sia6L=HKZYdN@lYF10=_If;fwuT{&0yiQ_B= zNrmfg(^kM%$q>Zje_H^Uu3lfCaATyZjjtB}7D=vS{+MKdvjK&fWLWzB+6us0DvCjX z|IqA#U-4fG5_}mRbQ9ZiDnL+W06o;iy#{q0Nbpo_^SPT88G$VGK0|{4lqX(#39NjL zrB_=Sx&a<`(rQ-n%t-+U(NXc`>x{jejK*3o*@17XUrr19(GM`PAs#eicTs|?dZD@N zgiwgdcjZ3^RKT2n*g72ILkNJiJ%^e)m*fIGIfZ&TIFN>?WVFOL3Uo|5#I=%nk^uxX z2oB#Rk0x~-u)^@vXD@s^=2rX$q*XQ~Q_;7{02c9aOH?&W|D1C_KGoOR6O!Jtmhd+R PgyfXaJ@aWQ&|~}`*46NW delta 11561 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 Ix%z7V2k|QK?f?J) diff --git a/p2p/src/main/resources/DaoStateStore_BTC_MAINNET b/p2p/src/main/resources/DaoStateStore_BTC_MAINNET index 96f5cd63dfd..081e7c4dba1 100644 --- a/p2p/src/main/resources/DaoStateStore_BTC_MAINNET +++ b/p2p/src/main/resources/DaoStateStore_BTC_MAINNET @@ -1,7 +1,6 @@ - - - -Զ ܗ$"-@000000000000000000079aa6bfa46eb8fc20474e8673d6e8a123b211236bf82d"@0000000000000000001b8c271a4477a28d4ea7d4d4d1add6d96f386e3f1517092 +  + +Х$"-@000000000000000000079aa6bfa46eb8fc20474e8673d6e8a123b211236bf82d"@0000000000000000001b8c271a4477a28d4ea7d4d4d1add6d96f386e3f1517092  1@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""@000000000000000000079aa6bfa46eb8fc20474e8673d6e8a123b211236bf82d(-2 @f537aed6794dddfeaa344b8573620def63808994e4f58561220bebbf9c762474B02b0e7075d408a909da193a10ab8972fdda0f3c372aac0096ddbe4e4307239d0b2B @@ -91379,22 +91378,6899 @@ L ڸ@09c1ce57e56d4572c92feedec44bf3fa07556504f02d0f53ac5526ce6af5798c""1ByGdHQbQPzAkrzhZtaLh9MrYXML7UXNyD"UOP_DUP OP_HASH160 785598633d81fb9b9cbfad4fb4577eef6d5b373f OP_EQUALVERIFY OP_CHECKSIG*276a914785598633d81fb9b9cbfad4fb4577eef6d5b373f88ac*"1ByGdHQbQPzAkrzhZtaLh9MrYXML7UXNyD8$J  +@09c1ce57e56d4572c92feedec44bf3fa07556504f02d0f53ac5526ce6af5798c""1NrScNmpbiiEdThxQJub4TGuKj6VP9B2oN"UOP_DUP OP_HASH160 efb466d3fb85d84293ec537f4735542d24576b97 OP_EQUALVERIFY OP_CHECKSIG*276a914efb466d3fb85d84293ec537f4735542d24576b9788ac*"1NrScNmpbiiEdThxQJub4TGuKj6VP9B2oN8$J  ߪ@09c1ce57e56d4572c92feedec44bf3fa07556504f02d0f53ac5526ce6af5798c""1KpFGihJFk59NmCuynceKUCwD8EuBbGss3"UOP_DUP OP_HASH160 ce61ba26de0a8c2128b1524b8d8560e495792786 OP_EQUALVERIFY OP_CHECKSIG*276a914ce61ba26de0a8c2128b1524b8d8560e49579278688ac*"1KpFGihJFk59NmCuynceKUCwD8EuBbGss38$J  -$-@00000000000000000015a6b8b0db543fdb19f94414a66474e16ae21cdb2f167c"@0000000000000000001110c7f747e6c32ae3e89fb4301516494787630014de602$-@00000000000000000017b3e53a42adad213d954e1f8e9532d9ca3ac5f72e60c0"@00000000000000000015a6b8b0db543fdb19f94414a66474e16ae21cdb2f167c2$-@0000000000000000000204fdf0da90a996a20153633d833a60ce7617f1151e52"@00000000000000000017b3e53a42adad213d954e1f8e9532d9ca3ac5f72e60c02$-@00000000000000000001910281cd93b430ddacdcb5acfbce091131904220ba60"@0000000000000000000204fdf0da90a996a20153633d833a60ce7617f1151e522$-@00000000000000000009d53296e765c4f25b0bbd36fa1b87bf1216d7c85d0819"@00000000000000000001910281cd93b430ddacdcb5acfbce091131904220ba602$ؗ-@00000000000000000008d0791663a7eab67e5ffda22a995eb28c8f2d6a0ea140"@00000000000000000009d53296e765c4f25b0bbd36fa1b87bf1216d7c85d08192$-@0000000000000000000404bbe3823ca041967dfcd2eccaff4e748223e925c949"@00000000000000000008d0791663a7eab67e5ffda22a995eb28c8f2d6a0ea1402$ʳ-@0000000000000000000f5c18c7c0114e49bb4215abd797d9b72eed7689aa646a"@0000000000000000000404bbe3823ca041967dfcd2eccaff4e748223e925c9492$-@00000000000000000014d814affe4b822c01122edada5dd2890ef8979bc6d211"@0000000000000000000f5c18c7c0114e49bb4215abd797d9b72eed7689aa646a2$-@0000000000000000000ce9d6c0d9b9c8c3bdc9c686cc3df50d3eb98564f39ffd"@00000000000000000014d814affe4b822c01122edada5dd2890ef8979bc6d2112$-@0000000000000000000c5fdb8ea8d3e6e45436550dfdbc9753fb540565fc2a13"@0000000000000000000ce9d6c0d9b9c8c3bdc9c686cc3df50d3eb98564f39ffd2—$-@000000000000000000108edba901fa29aafd6814856f69645c29966c88098397"@0000000000000000000c5fdb8ea8d3e6e45436550dfdbc9753fb540565fc2a132×$-@00000000000000000018e70eaafc93ea6244b09e7689b3238883633e6a9a656f"@000000000000000000108edba901fa29aafd6814856f69645c29966c880983972ė$-@0000000000000000001a1caf7aa6223c43800543e8941f22cc57d509773ff930"@00000000000000000018e70eaafc93ea6244b09e7689b3238883633e6a9a656f2ŗ$-@000000000000000000199a4090f86838fb7ccd93387237528d97dc5ca9d3a169"@0000000000000000001a1caf7aa6223c43800543e8941f22cc57d509773ff9302Ɨ$-@00000000000000000018d05595e879ecdf20ff2fe3089b709b7c51710d05bb3a"@000000000000000000199a4090f86838fb7ccd93387237528d97dc5ca9d3a1692Ǘ$-@00000000000000000018134c2b21d1053bc3d389970b6105ad6630476cdfc9c4"@00000000000000000018d05595e879ecdf20ff2fe3089b709b7c51710d05bb3a2ȗ$-@000000000000000000082182fe87acded2ef419ed7a6dc8960324c4c55054635"@00000000000000000018134c2b21d1053bc3d389970b6105ad6630476cdfc9c42ɗ$-@00000000000000000014547481cb40153a4ba26d604791dab4c1a9490e028d70"@000000000000000000082182fe87acded2ef419ed7a6dc8960324c4c550546352ʗ$-@0000000000000000000865e7263ef7fb0c911c6a76020046726204d8485aba98"@00000000000000000014547481cb40153a4ba26d604791dab4c1a9490e028d702˗$裝-@000000000000000000047210d67326caf3d4b23af29222a5bfe6f5ba07ba62c5"@0000000000000000000865e7263ef7fb0c911c6a76020046726204d8485aba982̗$-@0000000000000000001978a0ac921fb15f81ded035b1da15c87c350dd3c8fec8"@000000000000000000047210d67326caf3d4b23af29222a5bfe6f5ba07ba62c52͗$-@000000000000000000148000267937adcbccb8942335e101637502ac20f11493"@0000000000000000001978a0ac921fb15f81ded035b1da15c87c350dd3c8fec82Η$܂-@00000000000000000018685683f549275af8e46eb62785f78989776b55bb5c79"@000000000000000000148000267937adcbccb8942335e101637502ac20f114932ϗ$-@00000000000000000018319b8d9a567c0311fe801eb96b0081260b0110ab50e2"@00000000000000000018685683f549275af8e46eb62785f78989776b55bb5c792З$Ѫ-@00000000000000000000499904f8767d5e5fdf58cd4d26ff0a63fdf730950cd3"@00000000000000000018319b8d9a567c0311fe801eb96b0081260b0110ab50e22ї$-@0000000000000000000c59ca7625cc017f0c497d143d73ab36bb4401853b8226"@00000000000000000000499904f8767d5e5fdf58cd4d26ff0a63fdf730950cd32җ$-@000000000000000000080ff7803f73af03c1d8f622b41dc7ffe4c186f5663c06"@0000000000000000000c59ca7625cc017f0c497d143d73ab36bb4401853b82262ӗ$Ӏ-@0000000000000000000227d5e98e468584723b3bd89c8b93dd38de5227bb7294"@000000000000000000080ff7803f73af03c1d8f622b41dc7ffe4c186f5663c062ԗ$-@0000000000000000001932d6c9abf4984ced6ab1134afa7bbd1b6e76c9980910"@0000000000000000000227d5e98e468584723b3bd89c8b93dd38de5227bb72942՗$́-@000000000000000000153d1d58959bbd752e7c20d46e0817afc26509276619bc"@0000000000000000001932d6c9abf4984ced6ab1134afa7bbd1b6e76c99809102֗$-@000000000000000000169c65397ec112bb63ba094d3940ee190a4bbe3e57874e"@000000000000000000153d1d58959bbd752e7c20d46e0817afc26509276619bc2ח$-@00000000000000000015ebe0586fbb700358515405636b02f527403f3386bf85"@000000000000000000169c65397ec112bb63ba094d3940ee190a4bbe3e57874e2ؗ$-@0000000000000000000a82610d5345c7653c1d544b402e9c981b0ba113536fd2"@00000000000000000015ebe0586fbb700358515405636b02f527403f3386bf852ٗ$-@0000000000000000000bc03237dbc488db13989f289c44decfac9770842e76ff"@0000000000000000000a82610d5345c7653c1d544b402e9c981b0ba113536fd22ڗ$Ȋ-@00000000000000000003ba4a80373a4837878cce57807eb8a772a26af841d6ca"@0000000000000000000bc03237dbc488db13989f289c44decfac9770842e76ff2ۗ$-@0000000000000000001260579e6fbfd6e4fa4419a1ad394dca8ed027ec5b0bc0"@00000000000000000003ba4a80373a4837878cce57807eb8a772a26af841d6ca2ܗ$-@00000000000000000011bb869546cb8849456cc18bd21329c7b172a7add6f7e1"@0000000000000000001260579e6fbfd6e4fa4419a1ad394dca8ed027ec5b0bc024"   +$-@00000000000000000015a6b8b0db543fdb19f94414a66474e16ae21cdb2f167c"@0000000000000000001110c7f747e6c32ae3e89fb4301516494787630014de602$-@00000000000000000017b3e53a42adad213d954e1f8e9532d9ca3ac5f72e60c0"@00000000000000000015a6b8b0db543fdb19f94414a66474e16ae21cdb2f167c2$-@0000000000000000000204fdf0da90a996a20153633d833a60ce7617f1151e52"@00000000000000000017b3e53a42adad213d954e1f8e9532d9ca3ac5f72e60c02$-@00000000000000000001910281cd93b430ddacdcb5acfbce091131904220ba60"@0000000000000000000204fdf0da90a996a20153633d833a60ce7617f1151e522$-@00000000000000000009d53296e765c4f25b0bbd36fa1b87bf1216d7c85d0819"@00000000000000000001910281cd93b430ddacdcb5acfbce091131904220ba602$ؗ-@00000000000000000008d0791663a7eab67e5ffda22a995eb28c8f2d6a0ea140"@00000000000000000009d53296e765c4f25b0bbd36fa1b87bf1216d7c85d08192$-@0000000000000000000404bbe3823ca041967dfcd2eccaff4e748223e925c949"@00000000000000000008d0791663a7eab67e5ffda22a995eb28c8f2d6a0ea1402$ʳ-@0000000000000000000f5c18c7c0114e49bb4215abd797d9b72eed7689aa646a"@0000000000000000000404bbe3823ca041967dfcd2eccaff4e748223e925c9492$-@00000000000000000014d814affe4b822c01122edada5dd2890ef8979bc6d211"@0000000000000000000f5c18c7c0114e49bb4215abd797d9b72eed7689aa646a2$-@0000000000000000000ce9d6c0d9b9c8c3bdc9c686cc3df50d3eb98564f39ffd"@00000000000000000014d814affe4b822c01122edada5dd2890ef8979bc6d2112$-@0000000000000000000c5fdb8ea8d3e6e45436550dfdbc9753fb540565fc2a13"@0000000000000000000ce9d6c0d9b9c8c3bdc9c686cc3df50d3eb98564f39ffd2—$-@000000000000000000108edba901fa29aafd6814856f69645c29966c88098397"@0000000000000000000c5fdb8ea8d3e6e45436550dfdbc9753fb540565fc2a132×$-@00000000000000000018e70eaafc93ea6244b09e7689b3238883633e6a9a656f"@000000000000000000108edba901fa29aafd6814856f69645c29966c880983972ė$-@0000000000000000001a1caf7aa6223c43800543e8941f22cc57d509773ff930"@00000000000000000018e70eaafc93ea6244b09e7689b3238883633e6a9a656f2ŗ$-@000000000000000000199a4090f86838fb7ccd93387237528d97dc5ca9d3a169"@0000000000000000001a1caf7aa6223c43800543e8941f22cc57d509773ff9302Ɨ$-@00000000000000000018d05595e879ecdf20ff2fe3089b709b7c51710d05bb3a"@000000000000000000199a4090f86838fb7ccd93387237528d97dc5ca9d3a1692Ǘ$-@00000000000000000018134c2b21d1053bc3d389970b6105ad6630476cdfc9c4"@00000000000000000018d05595e879ecdf20ff2fe3089b709b7c51710d05bb3a2ȗ$-@000000000000000000082182fe87acded2ef419ed7a6dc8960324c4c55054635"@00000000000000000018134c2b21d1053bc3d389970b6105ad6630476cdfc9c42ɗ$-@00000000000000000014547481cb40153a4ba26d604791dab4c1a9490e028d70"@000000000000000000082182fe87acded2ef419ed7a6dc8960324c4c550546352ʗ$-@0000000000000000000865e7263ef7fb0c911c6a76020046726204d8485aba98"@00000000000000000014547481cb40153a4ba26d604791dab4c1a9490e028d702˗$裝-@000000000000000000047210d67326caf3d4b23af29222a5bfe6f5ba07ba62c5"@0000000000000000000865e7263ef7fb0c911c6a76020046726204d8485aba982̗$-@0000000000000000001978a0ac921fb15f81ded035b1da15c87c350dd3c8fec8"@000000000000000000047210d67326caf3d4b23af29222a5bfe6f5ba07ba62c52͗$-@000000000000000000148000267937adcbccb8942335e101637502ac20f11493"@0000000000000000001978a0ac921fb15f81ded035b1da15c87c350dd3c8fec82Η$܂-@00000000000000000018685683f549275af8e46eb62785f78989776b55bb5c79"@000000000000000000148000267937adcbccb8942335e101637502ac20f114932ϗ$-@00000000000000000018319b8d9a567c0311fe801eb96b0081260b0110ab50e2"@00000000000000000018685683f549275af8e46eb62785f78989776b55bb5c792З$Ѫ-@00000000000000000000499904f8767d5e5fdf58cd4d26ff0a63fdf730950cd3"@00000000000000000018319b8d9a567c0311fe801eb96b0081260b0110ab50e22ї$-@0000000000000000000c59ca7625cc017f0c497d143d73ab36bb4401853b8226"@00000000000000000000499904f8767d5e5fdf58cd4d26ff0a63fdf730950cd32җ$-@000000000000000000080ff7803f73af03c1d8f622b41dc7ffe4c186f5663c06"@0000000000000000000c59ca7625cc017f0c497d143d73ab36bb4401853b82262ӗ$Ӏ-@0000000000000000000227d5e98e468584723b3bd89c8b93dd38de5227bb7294"@000000000000000000080ff7803f73af03c1d8f622b41dc7ffe4c186f5663c062ԗ$-@0000000000000000001932d6c9abf4984ced6ab1134afa7bbd1b6e76c9980910"@0000000000000000000227d5e98e468584723b3bd89c8b93dd38de5227bb72942՗$́-@000000000000000000153d1d58959bbd752e7c20d46e0817afc26509276619bc"@0000000000000000001932d6c9abf4984ced6ab1134afa7bbd1b6e76c99809102֗$-@000000000000000000169c65397ec112bb63ba094d3940ee190a4bbe3e57874e"@000000000000000000153d1d58959bbd752e7c20d46e0817afc26509276619bc2ח$-@00000000000000000015ebe0586fbb700358515405636b02f527403f3386bf85"@000000000000000000169c65397ec112bb63ba094d3940ee190a4bbe3e57874e2ؗ$-@0000000000000000000a82610d5345c7653c1d544b402e9c981b0ba113536fd2"@00000000000000000015ebe0586fbb700358515405636b02f527403f3386bf852ٗ$-@0000000000000000000bc03237dbc488db13989f289c44decfac9770842e76ff"@0000000000000000000a82610d5345c7653c1d544b402e9c981b0ba113536fd22ڗ$Ȋ-@00000000000000000003ba4a80373a4837878cce57807eb8a772a26af841d6ca"@0000000000000000000bc03237dbc488db13989f289c44decfac9770842e76ff2ۗ$-@0000000000000000001260579e6fbfd6e4fa4419a1ad394dca8ed027ec5b0bc0"@00000000000000000003ba4a80373a4837878cce57807eb8a772a26af841d6ca2ܗ$-@00000000000000000011bb869546cb8849456cc18bd21329c7b172a7add6f7e1"@0000000000000000001260579e6fbfd6e4fa4419a1ad394dca8ed027ec5b0bc02ݗ$Ɗ-@000000000000000000107483d881e36691274e51f1d8407f62688fc6b4212bff"@00000000000000000011bb869546cb8849456cc18bd21329c7b172a7add6f7e12ޗ$τ-@0000000000000000000a655457bc5ea2c5744468b81b2945be14f4ae649d5e9c"@000000000000000000107483d881e36691274e51f1d8407f62688fc6b4212bff2ߗ$܄-@0000000000000000000ee504fc5b35c92713711a977682970a442b346fd22c95"@0000000000000000000a655457bc5ea2c5744468b81b2945be14f4ae649d5e9c2$-@00000000000000000018b0236dbac50824fc5c7638a903ef2e7f267141f3ccba"@0000000000000000000ee504fc5b35c92713711a977682970a442b346fd22c952$-@000000000000000000181fa2a24978c6b5e7e3bca372350712ae26a4b5270ed0"@00000000000000000018b0236dbac50824fc5c7638a903ef2e7f267141f3ccba2 $ƅ-@0000000000000000000db15627760e42b40f670bc5f3b95d105250627d9b6a74"@000000000000000000181fa2a24978c6b5e7e3bca372350712ae26a4b5270ed02 + +1@980752f1373bd48b72132e2aa258f0e796b90b05de9dfd68053ecd806cf06cdf$"@0000000000000000000db15627760e42b40f670bc5f3b95d105250627d9b6a74(ƅ-2 +@cc7499fddbcfb61b58fa9679d999a09531bf659e203762908f42627832d9c95bB020320b78ab6a9492ec98cb6433dc48c77853f61d9625076af0b9798ad8ee68d1f2 +@5df006209fa67c912f22fc139955285ad0c383dd2df66867b483485352187c8aB0277f33505e5547826e410d874409eab6d51046914703d1c33a49c7b5c56b633bcB +O@980752f1373bd48b72132e2aa258f0e796b90b05de9dfd68053ecd806cf06cdf""1GoCX95vWJk97o7dNUvLBjJYwZcCRYWQbx"UOP_DUP OP_HASH160 ad46a319e952c2d69ed26aff2fc603f6123a4c6d OP_EQUALVERIFY OP_CHECKSIG*276a914ad46a319e952c2d69ed26aff2fc603f6123a4c6d88ac*"1GoCX95vWJk97o7dNUvLBjJYwZcCRYWQbx8$J  +z@980752f1373bd48b72132e2aa258f0e796b90b05de9dfd68053ecd806cf06cdf""1MBtaABZSrHxN1dLKBnk3ivoB7kGt6hWYp"UOP_DUP OP_HASH160 dd71b9a52a56724e4f239aec05c0df3960097de1 OP_EQUALVERIFY OP_CHECKSIG*276a914dd71b9a52a56724e4f239aec05c0df3960097de188ac*"1MBtaABZSrHxN1dLKBnk3ivoB7kGt6hWYp8$J 9$Dž-@00000000000000000019f4b570407c35501599017dc3ada11e93c9510b4f8b05"@0000000000000000000db15627760e42b40f670bc5f3b95d105250627d9b6a742$٢-@0000000000000000000ec5096aadf8f69d16109bc0bf7df8d388fb79ee3715a3"@00000000000000000019f4b570407c35501599017dc3ada11e93c9510b4f8b052 + +1@d660b74cdd652275b0033b99aa37b887ecc452663b054a727e38c120482222bc$"@0000000000000000000ec5096aadf8f69d16109bc0bf7df8d388fb79ee3715a3(٢-2 +@34bb7e9965486dd8e4d2e4e18afc0b4c4599ccd60db8a8aa88165a98bcf64aa7B03091105bc143dd7733845bfef8d6e934465f4992270bf46338042319495cb64c12 +@4dfc9882c8eec9819f66e534838addf9e02fed6bcb7b7f90b303755050469939B03d077c91192ad3d93841afa0f49a959a3f6370638a38a00e163244e2ccee011352 +@34bb7e9965486dd8e4d2e4e18afc0b4c4599ccd60db8a8aa88165a98bcf64aa7B03d144db60fe9d5a7cea591ee6309974970644073962b87cd77dbc5a35843c6e442 +@504035fda76ef2dcef3781ea35c0e8f1bb21987698ddc53cffbedeb2d6bdbfb4B03495a12ed530492e3f171038e821a02a28927a3951e87068024448c8f75f753992 +@1b9ca1726e25ed241b8aa2676e1e468054ed4fd4545b1aa5deed157e2d30de46B033906c5fcb09daa2720c59a38a3dc6b445bfe645ed759ceace9e3cd6ac598a8fd2 +@40456e6edcd1aa8409e41bc13c3a1b750ff47630b08f61c8a17152d5aee0ea3eB02cf3873e3c0f159cc807f5843a7d268d64d38b625f6f4f3c11702309cc6990a052 +@5a26bdfdad6005175af8b21ee0298e201a26d2bc5961b4f0ad5ad796ccde4727B0397c3529f1720f11b6edb25126185f00028d04e5de8bacf77931369e7092c90bcB +@d660b74cdd652275b0033b99aa37b887ecc452663b054a727e38c120482222bc""1P9RRRz5W1bHo9XSkaxCdpmwkXrUmZ5eS3"UOP_DUP OP_HASH160 f2ea7b121f1057480021c51b0749366078189b74 OP_EQUALVERIFY OP_CHECKSIG*276a914f2ea7b121f1057480021c51b0749366078189b7488ac*"1P9RRRz5W1bHo9XSkaxCdpmwkXrUmZ5eS38$J  +@d660b74cdd652275b0033b99aa37b887ecc452663b054a727e38c120482222bc""1EFwb9xthtzgnGti3Hn9SjFviTKJNKCT1w"UOP_DUP OP_HASH160 916d06f340e5629920a489a1481e04705f655a66 OP_EQUALVERIFY OP_CHECKSIG*276a914916d06f340e5629920a489a1481e04705f655a6688ac*"1EFwb9xthtzgnGti3Hn9SjFviTKJNKCT1w8$J  +ܛ@d660b74cdd652275b0033b99aa37b887ecc452663b054a727e38c120482222bc""1GFUzhpwVdT9oEmo6dx7LsGLnaQ7uo9nzP"UOP_DUP OP_HASH160 a747144558ca8f5cc524f7ddb384006dd5a01d6e OP_EQUALVERIFY OP_CHECKSIG*276a914a747144558ca8f5cc524f7ddb384006dd5a01d6e88ac*"1GFUzhpwVdT9oEmo6dx7LsGLnaQ7uo9nzP8$J r $І-@0000000000000000000fa296f87c75570d4ba917a19ddaa8508339e0e5c069ad"@0000000000000000000ec5096aadf8f69d16109bc0bf7df8d388fb79ee3715a32 + + + +1@b58eae0c23b4d46fd4f369c31c51fdb464f8dc5fc852b6d96450d1f37b28516d$"@0000000000000000000fa296f87c75570d4ba917a19ddaa8508339e0e5c069ad(І-2 +@28de2e2fd214d3a3cb1bb1345b53855ccb33cb9d382c38956113859123447d2fB035b639b130d5159e2232e1f4e23f1b8ee302307747824e0b87c7bcf8d1b31f5a32 +@28de2e2fd214d3a3cb1bb1345b53855ccb33cb9d382c38956113859123447d2fB025bbeb10c949ae4376953e74e174d4ac13772c247845c01688de5a87802d09f33B +y@b58eae0c23b4d46fd4f369c31c51fdb464f8dc5fc852b6d96450d1f37b28516d""1LxfAz1qyPHUhPXUvrJyYaLufoKER8xgwp"UOP_DUP OP_HASH160 daf121dc93c20360428439b9e6718d1be2783e67 OP_EQUALVERIFY OP_CHECKSIG*276a914daf121dc93c20360428439b9e6718d1be2783e6788ac*"1LxfAz1qyPHUhPXUvrJyYaLufoKER8xgwp8$J  +@b58eae0c23b4d46fd4f369c31c51fdb464f8dc5fc852b6d96450d1f37b28516d""1AyCEhWhfR7rvB6x1WYz5QScAvnctzrpPh"UOP_DUP OP_HASH160 6d59ce2f0ee53a732c998dd714b99bb74c1ee830 OP_EQUALVERIFY OP_CHECKSIG*276a9146d59ce2f0ee53a732c998dd714b99bb74c1ee83088ac*"1AyCEhWhfR7rvB6x1WYz5QScAvnctzrpPh8$J  +ՠf@b58eae0c23b4d46fd4f369c31c51fdb464f8dc5fc852b6d96450d1f37b28516d""1JnXxCj75KpygNB6jC8pNHmgRs7B2SDSi1"UOP_DUP OP_HASH160 c316b19f1d5a648bfa4252ff44506ebb9807ce66 OP_EQUALVERIFY OP_CHECKSIG*276a914c316b19f1d5a648bfa4252ff44506ebb9807ce6688ac*"1JnXxCj75KpygNB6jC8pNHmgRs7B2SDSi18$J '$̆-@000000000000000000068513c4982d5419e9d7bf23168f444a38ded2db96d2b7"@0000000000000000000fa296f87c75570d4ba917a19ddaa8508339e0e5c069ad2$-@0000000000000000001371d5ee6385d64bdf2e9ffd7dacfc58ec7d005b874bc0"@000000000000000000068513c4982d5419e9d7bf23168f444a38ded2db96d2b72$-@00000000000000000015057f9f124e6e9bb56c95ea2daf98f2d5bb45cb8d0d2b"@0000000000000000001371d5ee6385d64bdf2e9ffd7dacfc58ec7d005b874bc02$-@0000000000000000000ffe319e6399517a3586a634bdc4d087e3d892cde45295"@00000000000000000015057f9f124e6e9bb56c95ea2daf98f2d5bb45cb8d0d2b2$-@00000000000000000002e739e98251e843453ac0a17971578b71115827f0e494"@0000000000000000000ffe319e6399517a3586a634bdc4d087e3d892cde452952 $-@0000000000000000000f4f6663788e8af61e59600969162afe65024c640334c4"@00000000000000000002e739e98251e843453ac0a17971578b71115827f0e4942 + + + +1@b5ab433c32a819643e0724b81d873cd75b8390afbed3c171a0925be9f2ff7c0e$"@0000000000000000000f4f6663788e8af61e59600969162afe65024c640334c4(-2 +@ccd249d35a10ea42b80e4478eaf742d0aa4e95f659a6b6a970c436c555cfd261B0278b53e6c50789ff91703a47058f8148cea21d45fb241d510c284f47c28a630ac2 +@05028dc8a1c20cf04c69834fafff2c50bdf167e9f67579b0aca5963a94cc6e31B023e0f013519aea3047f6eac2794fc5dc18562c2784d5e958cfeadb221875217cbB +@b5ab433c32a819643e0724b81d873cd75b8390afbed3c171a0925be9f2ff7c0e""1BCwjwMdiz5XC9agkXPNveQTptg6WUnJdu"UOP_DUP OP_HASH160 6ff3873fad3f8f5efc6381f30d82fd0cc036840f OP_EQUALVERIFY OP_CHECKSIG*276a9146ff3873fad3f8f5efc6381f30d82fd0cc036840f88ac*"1BCwjwMdiz5XC9agkXPNveQTptg6WUnJdu8$J  +@b5ab433c32a819643e0724b81d873cd75b8390afbed3c171a0925be9f2ff7c0e""1GAxVSKFGagVNreYo7kmet9QpSC6MhnEDL"UOP_DUP OP_HASH160 a66bf38cea55f9b61b5000e47eacacf288d23b7e OP_EQUALVERIFY OP_CHECKSIG*276a914a66bf38cea55f9b61b5000e47eacacf288d23b7e88ac*"1GAxVSKFGagVNreYo7kmet9QpSC6MhnEDL8$J  +@b5ab433c32a819643e0724b81d873cd75b8390afbed3c171a0925be9f2ff7c0e""1MgF98Pdv2Hdh4PnFWuUrGvHix5ELK8Mx6"UOP_DUP OP_HASH160 e2ce8ab16b11716d0085b7208dfd82f602b251ba OP_EQUALVERIFY OP_CHECKSIG*276a914e2ce8ab16b11716d0085b7208dfd82f602b251ba88ac*"1MgF98Pdv2Hdh4PnFWuUrGvHix5ELK8Mx68$J ;$ɏ-@00000000000000000016bbb3502154ddee6b761171a9b4f0a06ec7cec33c024d"@0000000000000000000f4f6663788e8af61e59600969162afe65024c640334c42 $ș-@00000000000000000014c2fdf08a96dbc22ca924163e786cf560fb4ca346df08"@00000000000000000016bbb3502154ddee6b761171a9b4f0a06ec7cec33c024d2 + + + +1@01c62b79e6f54e2bb43c72a40e015e18c498936e1b982536712aacde252f6bde$"@00000000000000000014c2fdf08a96dbc22ca924163e786cf560fb4ca346df08(ș-2 +@e5a4d3b9825650fc88dfd0226f579a890b6b4191f6c555f52f12157a83b9dcf8B025ddd69e9014021d7f38b841320c6646e7406a4b2c89edf10528b107d691dfd7a2 +@e5a4d3b9825650fc88dfd0226f579a890b6b4191f6c555f52f12157a83b9dcf8B03f50163c651b02cc0f5a721030451b5f7a031d57dfc472e8a049429079cd02197B +@01c62b79e6f54e2bb43c72a40e015e18c498936e1b982536712aacde252f6bde""1BHUAseu97mvuQEdLhe8rPx5UvgcmYpEUD"UOP_DUP OP_HASH160 70ce9802c32eb5e9542d322a58e75f1dccc01c13 OP_EQUALVERIFY OP_CHECKSIG*276a91470ce9802c32eb5e9542d322a58e75f1dccc01c1388ac*"1BHUAseu97mvuQEdLhe8rPx5UvgcmYpEUD8$J  +@01c62b79e6f54e2bb43c72a40e015e18c498936e1b982536712aacde252f6bde""13DNw4XUyo8iLb4Hws1zkfuQWSHwa7mCv1"UOP_DUP OP_HASH160 18478d1433ee7bd4b0ca200535d4ec07bb25eee8 OP_EQUALVERIFY OP_CHECKSIG*276a91418478d1433ee7bd4b0ca200535d4ec07bb25eee888ac*"13DNw4XUyo8iLb4Hws1zkfuQWSHwa7mCv18$J  +@01c62b79e6f54e2bb43c72a40e015e18c498936e1b982536712aacde252f6bde""17NjV7PuaAxejQZDSm5VBgYXuneqZVf9BE"UOP_DUP OP_HASH160 45ecf44d894bd909ec6978af0b1df8959a06d57a OP_EQUALVERIFY OP_CHECKSIG*276a91445ecf44d894bd909ec6978af0b1df8959a06d57a88ac*"17NjV7PuaAxejQZDSm5VBgYXuneqZVf9BE8$J ; $-@00000000000000000007211224f5502061d2db85ee60177dfa066a16ff30f248"@00000000000000000014c2fdf08a96dbc22ca924163e786cf560fb4ca346df082 + + + +1@801fc32b8e98495d928b251b3580cd88c6197c47dbca55b7bc713a9f4b8db0bb$"@00000000000000000007211224f5502061d2db85ee60177dfa066a16ff30f248(-2 +@b5ab433c32a819643e0724b81d873cd75b8390afbed3c171a0925be9f2ff7c0eB0225dec826222d663cb921fc3370b9d3fcea1dbd47398530f7da52859e35436e6a2 +@f393f26bd73fe5e3291a087097a4de2f174b756dd98d02a5b3431f5e6a3cbccdB035d1aaa8d59b5b3b422e398eff7dcde749a31cbd1f770bd3699c9431220cd6c12B +@801fc32b8e98495d928b251b3580cd88c6197c47dbca55b7bc713a9f4b8db0bb""16jvvfLCidcmaJmzyKoBKGGNFkJvD3emaV"UOP_DUP OP_HASH160 3ef71d2195f5f34d641151b7c0d3e16d32ea9033 OP_EQUALVERIFY OP_CHECKSIG*276a9143ef71d2195f5f34d641151b7c0d3e16d32ea903388ac*"16jvvfLCidcmaJmzyKoBKGGNFkJvD3emaV8$J  +@801fc32b8e98495d928b251b3580cd88c6197c47dbca55b7bc713a9f4b8db0bb""176SSaVHbojiGEWD32Ab3xbBzbew5DWAen"UOP_DUP OP_HASH160 42d812530fa0ee33b93123c398849da22a7313a1 OP_EQUALVERIFY OP_CHECKSIG*276a91442d812530fa0ee33b93123c398849da22a7313a188ac*"176SSaVHbojiGEWD32Ab3xbBzbew5DWAen8$J  +@801fc32b8e98495d928b251b3580cd88c6197c47dbca55b7bc713a9f4b8db0bb""1CgXvuobpmWE22XsxUucwZhUqQNCPde36Y"UOP_DUP OP_HASH160 80236cbdabb3805790a6ffe8cdbadb7a279eb0d7 OP_EQUALVERIFY OP_CHECKSIG*276a91480236cbdabb3805790a6ffe8cdbadb7a279eb0d788ac*"1CgXvuobpmWE22XsxUucwZhUqQNCPde36Y8$J &$-@000000000000000000123c1c3148cb7920ba2cd8e4542df65f0a202d50980493"@00000000000000000007211224f5502061d2db85ee60177dfa066a16ff30f2482$-@0000000000000000000b9d44f92a15d3ae7fc96bf741504b662bada0f0ae4ff0"@000000000000000000123c1c3148cb7920ba2cd8e4542df65f0a202d509804932 $-@0000000000000000001370df341c10b65fa568ae6ab82307ecee2196f4533642"@0000000000000000000b9d44f92a15d3ae7fc96bf741504b662bada0f0ae4ff02 + + + +1@4471c1180df37983720cd46b49646591d14dd8846871c4b9f08ffef3d58c0901$"@0000000000000000001370df341c10b65fa568ae6ab82307ecee2196f4533642(-2 +@d6c5575c8d281e7dc3fcab29d4dcaacb2cfdd47702113fa04426b0371c10ff15B022b296c0081041adf146eb1b2987cb9554c70fc5525f440006a33c875eae8112d2 +@debae795ffbb0cd2f32fcb09915c142e0a9c10267c734a0fc52b7fb0a8032834B023d5d7aad152dbc1348b759b21323cfc8894d73dc6a26c313c308a2fd2c802319B +V@4471c1180df37983720cd46b49646591d14dd8846871c4b9f08ffef3d58c0901"!1iVnSpqMEG5nXUymwArqE5qbA9pfrPh5S"UOP_DUP OP_HASH160 07d914ebb4cff53283e3e388884622701afc2859 OP_EQUALVERIFY OP_CHECKSIG*276a91407d914ebb4cff53283e3e388884622701afc285988ac*!1iVnSpqMEG5nXUymwArqE5qbA9pfrPh5S8$J  + @4471c1180df37983720cd46b49646591d14dd8846871c4b9f08ffef3d58c0901""1Cdn2qn922t1x3fDw2crVrXpqzXYcmKxa5"UOP_DUP OP_HASH160 7f9df2e7e0d93fc6cecb4ae9cad15123e953143c OP_EQUALVERIFY OP_CHECKSIG*276a9147f9df2e7e0d93fc6cecb4ae9cad15123e953143c88ac*"1Cdn2qn922t1x3fDw2crVrXpqzXYcmKxa58$J  +W@4471c1180df37983720cd46b49646591d14dd8846871c4b9f08ffef3d58c0901""19V6zLd4b2FRs1cLyW8R165eT4epHDVEoE"UOP_DUP OP_HASH160 5d11a6f83365688382e63b290419c67d498eb31b OP_EQUALVERIFY OP_CHECKSIG*276a9145d11a6f83365688382e63b290419c67d498eb31b88ac*"19V6zLd4b2FRs1cLyW8R165eT4epHDVEoE8$J !$ȵ-@000000000000000000081b95177389fd5d53a07fb607ce41fd407839d29f5737"@0000000000000000001370df341c10b65fa568ae6ab82307ecee2196f45336422 + + +1@64adcbd74ff745173393d99452ffe5024df5c76d67566c8504cbbd4049e87313$"@000000000000000000081b95177389fd5d53a07fb607ce41fd407839d29f5737(ȵ-2 +@1b8fe5513129ee5483e2cef6c1ec632eeb8783842c8022f12ee96a347530077eB0267033fba9367f88ff098e0480564347161920b79ac9c1a2cd4658d5d9230ece02 +@4471c1180df37983720cd46b49646591d14dd8846871c4b9f08ffef3d58c0901B036172e407a18741cfa296662d1bb6906249a6e3836295c5532d0162e4890aea22B +å@64adcbd74ff745173393d99452ffe5024df5c76d67566c8504cbbd4049e87313""1GyuCZU5AUXhN3pjm7bQeSdoua1ncXxVtV"UOP_DUP OP_HASH160 af4cc12096557f422ad510619d71e5bb940f2465 OP_EQUALVERIFY OP_CHECKSIG*276a914af4cc12096557f422ad510619d71e5bb940f246588ac*"1GyuCZU5AUXhN3pjm7bQeSdoua1ncXxVtV8$J  + @64adcbd74ff745173393d99452ffe5024df5c76d67566c8504cbbd4049e87313""1GKbkFV1nLsJgmweBb4H7RGbWpShyRjnwj"UOP_DUP OP_HASH160 a80e60d8a4f79b2caca955f78dc544784cb9a8aa OP_EQUALVERIFY OP_CHECKSIG*276a914a80e60d8a4f79b2caca955f78dc544784cb9a8aa88ac*"1GKbkFV1nLsJgmweBb4H7RGbWpShyRjnwj8$J  +ʙN@64adcbd74ff745173393d99452ffe5024df5c76d67566c8504cbbd4049e87313""151p2z7BrEoec2iPnNHbWpaUyhRMyZwvQd"UOP_DUP OP_HASH160 2c07c3ec2b4092af4500e214f79204a7e21dd4af OP_EQUALVERIFY OP_CHECKSIG*276a9142c07c3ec2b4092af4500e214f79204a7e21dd4af88ac*"151p2z7BrEoec2iPnNHbWpaUyhRMyZwvQd8$J  + + +1@60c2c86fa6431eb434953c360bbfc57938174bddcdfe143d8e510756f54f54db$"@000000000000000000081b95177389fd5d53a07fb607ce41fd407839d29f5737(ȵ-2 +@4471c1180df37983720cd46b49646591d14dd8846871c4b9f08ffef3d58c0901B03b22ea5b0b47ec67aa31bfd9197675fd88ee1df34931a913074b1ab2707ca45ea2 +@64adcbd74ff745173393d99452ffe5024df5c76d67566c8504cbbd4049e87313B034807cc32e7f176c20ffc44aef26f5ddc1aa3e766c921caecbac9c24082ba2d6dB +B@60c2c86fa6431eb434953c360bbfc57938174bddcdfe143d8e510756f54f54db""1LhFARMYrpaC793qEdt3NurAX4XpWrBJVB"UOP_DUP OP_HASH160 d806d9bd9e6c88aada1ef2b275f48de8a66e7476 OP_EQUALVERIFY OP_CHECKSIG*276a914d806d9bd9e6c88aada1ef2b275f48de8a66e747688ac*"1LhFARMYrpaC793qEdt3NurAX4XpWrBJVB8$J  +@60c2c86fa6431eb434953c360bbfc57938174bddcdfe143d8e510756f54f54db""1NWRZisWXh4pF8BDoHVdACYUbEsAUyb92D"UOP_DUP OP_HASH160 ebeb35a108cd052777490c023d6774326fbf19a2 OP_EQUALVERIFY OP_CHECKSIG*276a914ebeb35a108cd052777490c023d6774326fbf19a288ac*"1NWRZisWXh4pF8BDoHVdACYUbEsAUyb92D8$J  +쬥L@60c2c86fa6431eb434953c360bbfc57938174bddcdfe143d8e510756f54f54db""1C9VX2DWfPF32HJmstBy46T6X7PcH3mTPp"UOP_DUP OP_HASH160 7a448440ac4f6f47bf02bec36ea8b1921b20ea87 OP_EQUALVERIFY OP_CHECKSIG*276a9147a448440ac4f6f47bf02bec36ea8b1921b20ea8788ac*"1C9VX2DWfPF32HJmstBy46T6X7PcH3mTPp8$J  + + +1@492f859c7c00a60991faf6d338eefb04c43d44a11b343b7ebd6119cfbf568b5a$"@000000000000000000081b95177389fd5d53a07fb607ce41fd407839d29f5737(ȵ-2 +@60c2c86fa6431eb434953c360bbfc57938174bddcdfe143d8e510756f54f54dbB03e270e52e740f531a9656aa98d98fe9e9802f9decdf66b11920ba68449f518f162 +@60c2c86fa6431eb434953c360bbfc57938174bddcdfe143d8e510756f54f54dbB02a832533198337d799ba9f73429f63dd124d4c9a01d1a7dd750ef3c9c1161726cB +.@492f859c7c00a60991faf6d338eefb04c43d44a11b343b7ebd6119cfbf568b5a""1M5dJsSKY5JAHBg1HVKndf4WTFPY5BMkYs"UOP_DUP OP_HASH160 dc427ced42f2df7423e4d6dff0fdaa0a9c1f59a9 OP_EQUALVERIFY OP_CHECKSIG*276a914dc427ced42f2df7423e4d6dff0fdaa0a9c1f59a988ac*"1M5dJsSKY5JAHBg1HVKndf4WTFPY5BMkYs8$J  +@492f859c7c00a60991faf6d338eefb04c43d44a11b343b7ebd6119cfbf568b5a""14NG5jrLFoJPxtHZFhsByPWAHYZHHGPsxM"UOP_DUP OP_HASH160 24edb3be334b6bdd8e711c0c50ddaf69d3d6b739 OP_EQUALVERIFY OP_CHECKSIG*276a91424edb3be334b6bdd8e711c0c50ddaf69d3d6b73988ac*"14NG5jrLFoJPxtHZFhsByPWAHYZHHGPsxM8$J  +J@492f859c7c00a60991faf6d338eefb04c43d44a11b343b7ebd6119cfbf568b5a""1ELJGmhkhHNB7hRNk8SQqrTAhhdH59A23d"UOP_DUP OP_HASH160 923ff4d1d622e2b2c62d2d5436ece226adf510a1 OP_EQUALVERIFY OP_CHECKSIG*276a914923ff4d1d622e2b2c62d2d5436ece226adf510a188ac*"1ELJGmhkhHNB7hRNk8SQqrTAhhdH59A23d8$J $-@0000000000000000000bc56f16e9d76741bdbbf4fc942eee14d15e1009dfe625"@000000000000000000081b95177389fd5d53a07fb607ce41fd407839d29f57372$՟-@0000000000000000000f7979351c7c02960ef816110e66b5eafe2f79063f4ba3"@0000000000000000000bc56f16e9d76741bdbbf4fc942eee14d15e1009dfe6252 $-@0000000000000000000de5c36be868aaf05fe8952c7d74fe9d303fe019e2c2b9"@0000000000000000000f7979351c7c02960ef816110e66b5eafe2f79063f4ba32 + + + +1@f84da452ad28136e09f495b4e2d831fd1938125b07ac28e9878fa736f0aa64a7$"@0000000000000000000de5c36be868aaf05fe8952c7d74fe9d303fe019e2c2b9(-2 +@c6c303cffe3ef19fa64901aa23836281609201c8a0b431ad8c4024052f9e55baB03549e5ae18b7f82926b5258f64717e84a51d16a32a9ab5bb1281f493166193c5d2 +@b9f6867bc2cdff3aa9b295b6673fd04fa4777ee3b605ad2eaa0fd7b0759609caB02a38bb31a9e36ef0234f1347855552c914590490fdedbe9a36d9f5ebff7de5da5B +@f84da452ad28136e09f495b4e2d831fd1938125b07ac28e9878fa736f0aa64a7""1NcuGSZLHSzWiCzQGsw7YMaYNoUskk686W"UOP_DUP OP_HASH160 ed24d46b63091c41639662c495cd8e9579fbf8a1 OP_EQUALVERIFY OP_CHECKSIG*276a914ed24d46b63091c41639662c495cd8e9579fbf8a188ac*"1NcuGSZLHSzWiCzQGsw7YMaYNoUskk686W8$J  +@f84da452ad28136e09f495b4e2d831fd1938125b07ac28e9878fa736f0aa64a7""1E2WJ8zfZcRVhSbNdhowJyDjRG4UUmuoXf"UOP_DUP OP_HASH160 8ee2817b302a3bac2a9fc6b2833b9f3276b9354e OP_EQUALVERIFY OP_CHECKSIG*276a9148ee2817b302a3bac2a9fc6b2833b9f3276b9354e88ac*"1E2WJ8zfZcRVhSbNdhowJyDjRG4UUmuoXf8$J  +@f84da452ad28136e09f495b4e2d831fd1938125b07ac28e9878fa736f0aa64a7""1FTX8JJhEtsjxPYiWyyQg99DjxyEFHJ6YV"UOP_DUP OP_HASH160 9e95b948464360fb64067381c8e2621b9c584496 OP_EQUALVERIFY OP_CHECKSIG*276a9149e95b948464360fb64067381c8e2621b9c58449688ac*"1FTX8JJhEtsjxPYiWyyQg99DjxyEFHJ6YV8$J  $ȵ-@0000000000000000000dd428d36e88680482f02a7fb42782f90a475c25dc0651"@0000000000000000000de5c36be868aaf05fe8952c7d74fe9d303fe019e2c2b92$ҿ-@0000000000000000000296865b9043755b13b8000dc0bc4d35777909ec79311f"@0000000000000000000dd428d36e88680482f02a7fb42782f90a475c25dc06512$-@00000000000000000011208c26d3b4acf06d481a3f4343da88f080e2e27be8df"@0000000000000000000296865b9043755b13b8000dc0bc4d35777909ec79311f2 $-@000000000000000000079f9e1446dffa4d3fd9a791a65d30735c15d2fd4e988d"@00000000000000000011208c26d3b4acf06d481a3f4343da88f080e2e27be8df2 + + + +1@6477c2b2dbbccea19d2389f6e82e154a36de82b8e3f841edf1b5353fade38e82$"@000000000000000000079f9e1446dffa4d3fd9a791a65d30735c15d2fd4e988d(-2 +@7741f071ee9dcabdefe29695cb66e742b0e566b7777b1185aeb107c47770dac9B0241a79def1c1214c38dc70a7aa76deb2614116d5cfef505c8fbcf487953afd3112 +@63360cbeaa3e5b60200ee15013354fda1159832566d61c21403b37e7477892cfB02b618439713e01a7885ae99bd4ddb0cc08fdb4acaf0a88a3c0d37cc57b720897aB +@6477c2b2dbbccea19d2389f6e82e154a36de82b8e3f841edf1b5353fade38e82""1C8sjgwwP9zb8NccjX2ykzoJtvt4hpp2Sw"UOP_DUP OP_HASH160 7a26a5cc0be88dde7a6515edebbc6f151e0e482b OP_EQUALVERIFY OP_CHECKSIG*276a9147a26a5cc0be88dde7a6515edebbc6f151e0e482b88ac*"1C8sjgwwP9zb8NccjX2ykzoJtvt4hpp2Sw8$J  +@6477c2b2dbbccea19d2389f6e82e154a36de82b8e3f841edf1b5353fade38e82""18FP3LH6Sa9mQCHyxm6DnFNv1LHUKQDCjw"UOP_DUP OP_HASH160 4f811a2973c8895af0403925f3f1f4d0b6944ded OP_EQUALVERIFY OP_CHECKSIG*276a9144f811a2973c8895af0403925f3f1f4d0b6944ded88ac*"18FP3LH6Sa9mQCHyxm6DnFNv1LHUKQDCjw8$J  +<@6477c2b2dbbccea19d2389f6e82e154a36de82b8e3f841edf1b5353fade38e82""1Bw6zgaxJasNUfQin4s7WPVAyD4ruyS61v"UOP_DUP OP_HASH160 77ecb947db2eed04a6f8e4ff89af6ce4554489be OP_EQUALVERIFY OP_CHECKSIG*276a91477ecb947db2eed04a6f8e4ff89af6ce4554489be88ac*"1Bw6zgaxJasNUfQin4s7WPVAyD4ruyS61v8$J  $ㅌ-@00000000000000000001ce095250fb4bd137c3a07ee1dbbc257c4fc4bc328dbd"@000000000000000000079f9e1446dffa4d3fd9a791a65d30735c15d2fd4e988d2 $𽡌-@000000000000000000040a85b2e3bf487f7a5a5b03e5bca1ae894fec362ba84f"@00000000000000000001ce095250fb4bd137c3a07ee1dbbc257c4fc4bc328dbd2 + + + +1@dad439e28ef43c0776a42502f113cf1e9a3256145423525e70713728b3d456a9$"@000000000000000000040a85b2e3bf487f7a5a5b03e5bca1ae894fec362ba84f(𽡌-2 +@5eeb00aa0df81a196b3e2c41693ba0017dc11e771f44f52285e754fd5646a98aB025521f89e62bab95cb1c81e8a60f4fce53a65469c61b339f85228bc0ab0fcef632 +@096eb2d99dea8e0d5a8c2116a49ef83f04a554c35ab34f92943a1d5589ff2e05B02be0f657b050300dac8fd046bdccce1b069c5072392ba2773edd0e57cd78ead1aB +z@dad439e28ef43c0776a42502f113cf1e9a3256145423525e70713728b3d456a9""19vBF3ZkDBYrxAsfCDzQVdNVEBc9pcKvxf"UOP_DUP OP_HASH160 61cf9a19ae3fcdbfa73e01ebb0173547c5345c91 OP_EQUALVERIFY OP_CHECKSIG*276a91461cf9a19ae3fcdbfa73e01ebb0173547c5345c9188ac*"19vBF3ZkDBYrxAsfCDzQVdNVEBc9pcKvxf8$J  + +@dad439e28ef43c0776a42502f113cf1e9a3256145423525e70713728b3d456a9""1MQe8pqxnAtmSZ8SSYizGgrjgi7Ebd9RBK"UOP_DUP OP_HASH160 dfdb14da938db07cf26b6a4780a74c8722473c64 OP_EQUALVERIFY OP_CHECKSIG*276a914dfdb14da938db07cf26b6a4780a74c8722473c6488ac*"1MQe8pqxnAtmSZ8SSYizGgrjgi7Ebd9RBK8$J  +@dad439e28ef43c0776a42502f113cf1e9a3256145423525e70713728b3d456a9""18HduYPg4RPkWcWzi8r3UswK1Cb62fk1cq"UOP_DUP OP_HASH160 4fee57e61adcc66ab62a0cc68fd9e68a4bf15822 OP_EQUALVERIFY OP_CHECKSIG*276a9144fee57e61adcc66ab62a0cc68fd9e68a4bf1582288ac*"18HduYPg4RPkWcWzi8r3UswK1Cb62fk1cq8$J $妌-@00000000000000000015eb07a9bf862ebcd811d986d2f2d41db6b36eac5c31b5"@000000000000000000040a85b2e3bf487f7a5a5b03e5bca1ae894fec362ba84f2$،-@000000000000000000133fefd57bdbd8a832ef5e134df4eb9c70a5c69bfe0002"@00000000000000000015eb07a9bf862ebcd811d986d2f2d41db6b36eac5c31b52$н-@0000000000000000000ed77ba25ad96aa2512068eeb61c383deba638defd94c7"@000000000000000000133fefd57bdbd8a832ef5e134df4eb9c70a5c69bfe00022&$-@000000000000000000044a6046ea97448056110dfa776dfc335606e8e08c982b"@0000000000000000000ed77ba25ad96aa2512068eeb61c383deba638defd94c72% + +1@54c58f4178d224ccffa906666a5541b76991623bec6c814ad0ceb8deea36a5ab$"@000000000000000000044a6046ea97448056110dfa776dfc335606e8e08c982b(-2 +@7d5af6e03c8043884d1d04d67fab7458155aca885c1fc60d253a3fdf053d8b04B023feb5e56fecdcf0442e7ec6c676779765f87b8145da8d7afdc40d6598496876f2 +@9b26313ea2874b41ca7921e3b2f5731dc1c86a30032631421d36a91d27c857efB025ecb4f2963ac62fd0c12f7b4bc8218f463f706dfeea383abfae96609053d42302 +@c5695dfedcaf510fc9e8ca1de2bad9e1c95f864c86652123e51c2d220994ecbfB03de49eda7d7df1bbafbdcdc5619c0ddc77ef7b7954c3b4c3c770a81db9034d7cc2 +@7d5af6e03c8043884d1d04d67fab7458155aca885c1fc60d253a3fdf053d8b04B0343050f561d7e2cf9d72b9c656d1eaa0cd2db543ccdde2f0a1f8b7ca9576b18f9B +@54c58f4178d224ccffa906666a5541b76991623bec6c814ad0ceb8deea36a5ab""1MsXLsuhCrLwLLwJLR5T4NkPRaCsYRksBF"UOP_DUP OP_HASH160 e4f0a480e43ff71c89b3ede840e07c0a2143778e OP_EQUALVERIFY OP_CHECKSIG*276a914e4f0a480e43ff71c89b3ede840e07c0a2143778e88ac*"1MsXLsuhCrLwLLwJLR5T4NkPRaCsYRksBF8$J  +>@54c58f4178d224ccffa906666a5541b76991623bec6c814ad0ceb8deea36a5ab"!1JVebHULqfCEK5isNEuaU6Gu2F4mfagFM"UOP_DUP OP_HASH160 034efc5032fea0dd460d9659491e1d77f86f6153 OP_EQUALVERIFY OP_CHECKSIG*276a914034efc5032fea0dd460d9659491e1d77f86f615388ac*!1JVebHULqfCEK5isNEuaU6Gu2F4mfagFM8$J  +@54c58f4178d224ccffa906666a5541b76991623bec6c814ad0ceb8deea36a5ab""18h2q1vzLyAyBwEfC9aQw8LTNFCsJYRpot"UOP_DUP OP_HASH160 545b0b76c6c2184dbab1e236a155c2b1168b5476 OP_EQUALVERIFY OP_CHECKSIG*276a914545b0b76c6c2184dbab1e236a155c2b1168b547688ac*"18h2q1vzLyAyBwEfC9aQw8LTNFCsJYRpot8$J  + +1@d977ba6d5986696daf19fa47feaafc1a1379dae484cd56f6fcdfa29a8f69f927$"@000000000000000000044a6046ea97448056110dfa776dfc335606e8e08c982b(-2 +@54c58f4178d224ccffa906666a5541b76991623bec6c814ad0ceb8deea36a5abB02b237b7c7b08d77d51918f79d432b1c149a1953df867b7fcabffd16bc5a8660922 +@7b990a31deb3ac77cd0839af594b0701e7a8996c2b437b9f19232f7e21949f98B026a2773caa408c2ece0c22c8a9e4f4901369d6b26c8def98a5914cad8e4d5b2852 +@3b0395505f33fec111c850010a7a2ed347a50915a3d606cd5d943a65a83f4c76B030e55ac9b62a01eca8ba8f182b10c3fc3f4855aa637789b6303a52db44a9bd5442 +@54c58f4178d224ccffa906666a5541b76991623bec6c814ad0ceb8deea36a5abB02cc4928362646cd81dd22a7264e260a91cc7c91188fdb9371239b375ce9a0d704B +@d977ba6d5986696daf19fa47feaafc1a1379dae484cd56f6fcdfa29a8f69f927""15YmxB6R3Rd8igLnj7rt42WrtmYDdtDGvL"UOP_DUP OP_HASH160 31e2ebdff995fb32925ad98a6d79eebbae64e22a OP_EQUALVERIFY OP_CHECKSIG*276a91431e2ebdff995fb32925ad98a6d79eebbae64e22a88ac*"15YmxB6R3Rd8igLnj7rt42WrtmYDdtDGvL8$J  +A@d977ba6d5986696daf19fa47feaafc1a1379dae484cd56f6fcdfa29a8f69f927""1G7Yj6vK1t1NsW8gvM5fZjQKE3aL1GUJtv"UOP_DUP OP_HASH160 a5c6ddb066d2b9c4a7c16131daa9eb00b2a9817d OP_EQUALVERIFY OP_CHECKSIG*276a914a5c6ddb066d2b9c4a7c16131daa9eb00b2a9817d88ac*"1G7Yj6vK1t1NsW8gvM5fZjQKE3aL1GUJtv8$J  +@d977ba6d5986696daf19fa47feaafc1a1379dae484cd56f6fcdfa29a8f69f927"!1wHb4kBHeHydBg66HvHyK7xqo7xEWyWs3"UOP_DUP OP_HASH160 0a444eeefae4e6d5eaac0b57b94ee52dcdb08d13 OP_EQUALVERIFY OP_CHECKSIG*276a9140a444eeefae4e6d5eaac0b57b94ee52dcdb08d1388ac*!1wHb4kBHeHydBg66HvHyK7xqo7xEWyWs38$J  + +1@cd0f1c24dc7ab4dcfd4f7fd02413b891aeda6984ebc4bb146e5f93a967cfd6aa$"@000000000000000000044a6046ea97448056110dfa776dfc335606e8e08c982b(-2 +@6df0cdba4f8770e11da1a4665cdb81c4dc06e75e7784a96f6f984e6032f03f4bB0300a8bff02f3bfb191f43ac59a5f13c91c8b6f8c3c6f0f246a53842090dbd08d92 +@dad439e28ef43c0776a42502f113cf1e9a3256145423525e70713728b3d456a9B03ba4a83fe777132bae9e816f842e90eee8c0c64881f6e95dd77657f8a9cb654e52 +@10f177a29e924a3d9ed7d19de22f718fdc64decc1c1f70d0a606853a564cb34aB02f063effbebfd463e526377fa88f698e3b6e9513742ce90b56b1c435f055406c4B +@cd0f1c24dc7ab4dcfd4f7fd02413b891aeda6984ebc4bb146e5f93a967cfd6aa""195XpSCr6JfyBF5zkimLkhGSpqEjabteP9"UOP_DUP OP_HASH160 589c6542eacf4e1cade9c2eaa387c2a54c122288 OP_EQUALVERIFY OP_CHECKSIG*276a914589c6542eacf4e1cade9c2eaa387c2a54c12228888ac*"195XpSCr6JfyBF5zkimLkhGSpqEjabteP98$J  +@cd0f1c24dc7ab4dcfd4f7fd02413b891aeda6984ebc4bb146e5f93a967cfd6aa""18PiNBQEoozCt9fFjru8fZLqtFWqHCFkNp"UOP_DUP OP_HASH160 51148fc1493c00e8408e365a8b9c788d6e451da7 OP_EQUALVERIFY OP_CHECKSIG*276a91451148fc1493c00e8408e365a8b9c788d6e451da788ac*"18PiNBQEoozCt9fFjru8fZLqtFWqHCFkNp8$J  +c@cd0f1c24dc7ab4dcfd4f7fd02413b891aeda6984ebc4bb146e5f93a967cfd6aa""1G1aik97mhvUM5KmDy69MR364RyakCPpj5"UOP_DUP OP_HASH160 a4a608d90bf22adbf0855bae40ec3ea61e00b498 OP_EQUALVERIFY OP_CHECKSIG*276a914a4a608d90bf22adbf0855bae40ec3ea61e00b49888ac*"1G1aik97mhvUM5KmDy69MR364RyakCPpj58$J 7$ߋ-@000000000000000000014e36ab55c08b6475adc2a1032683f7ce3b48b409c809"@000000000000000000044a6046ea97448056110dfa776dfc335606e8e08c982b2$ڍ-@000000000000000000069f2204b9a85af5a75e34ae4a8955473835a95253e3af"@000000000000000000014e36ab55c08b6475adc2a1032683f7ce3b48b409c8092$-@00000000000000000009204df93649498471e083b126115c31fa1afb42900580"@000000000000000000069f2204b9a85af5a75e34ae4a8955473835a95253e3af2$-@0000000000000000000b11dd7a6295fbc8ec050ce01af1091a37eff8a16d0aae"@00000000000000000009204df93649498471e083b126115c31fa1afb429005802 + + +1@b9cf67862beec243a794b6218cd6cf1ebfeb4057052c501d13760bf846adfd3f$"@0000000000000000000b11dd7a6295fbc8ec050ce01af1091a37eff8a16d0aae(-2 +@fe578aef956104207366e484c7e65bd617d0074c570e0ba170edd984583a07c3B02db47c50cd4ce6d2cd57a3042b6d43805a20bbf231c77b084b3a1add910d0468e2 +@603c82f47da2ee0a8af356044d19eb8b370e3faaee8fe110f2c4526ab1e45debB03470e6eee18c90e1e4aecb27520727b3d03a38047ed9909b44ed0c6651237d97fB +@b9cf67862beec243a794b6218cd6cf1ebfeb4057052c501d13760bf846adfd3f""14pW3trUjFVBXX4kr9Zj4abRgn8RAAtJHb"UOP_DUP OP_HASH160 29e42d5c33929167760b940aa36d98ff12a9e818 OP_EQUALVERIFY OP_CHECKSIG*276a91429e42d5c33929167760b940aa36d98ff12a9e81888ac*"14pW3trUjFVBXX4kr9Zj4abRgn8RAAtJHb8$J  +@b9cf67862beec243a794b6218cd6cf1ebfeb4057052c501d13760bf846adfd3f""114EVhQvsusXkq5jQeG5Yh6DeSDwYxQs8S"UOP_DUP OP_HASH160 009c8343d2650382a9da4cd7ef854123f36cf247 OP_EQUALVERIFY OP_CHECKSIG*276a914009c8343d2650382a9da4cd7ef854123f36cf24788ac*"114EVhQvsusXkq5jQeG5Yh6DeSDwYxQs8S8$J  +Ϯ@b9cf67862beec243a794b6218cd6cf1ebfeb4057052c501d13760bf846adfd3f"!1a29amSLf1zWysLYYeViggdU7t7bp9dyP"UOP_DUP OP_HASH160 063eaf5d234a1898d1f1a758b9afc2fb70650629 OP_EQUALVERIFY OP_CHECKSIG*276a914063eaf5d234a1898d1f1a758b9afc2fb7065062988ac*!1a29amSLf1zWysLYYeViggdU7t7bp9dyP8$J  + +1@79af5d2f503b63a39e56d8d8c71b049c7755514a50f8516f6325849a80f78814$"@0000000000000000000b11dd7a6295fbc8ec050ce01af1091a37eff8a16d0aae(-2 +@6917187cec1b4731d1a447446b3bf02950b69f81b392126ec1040ade6eb4a117B0369d348acec11264f759b543c9de2ab3dab6eddd5a9db24e791457d9d14c4d3b82 +@d73a628fa8e297977f3cf5f8a13c02c7a6a25e7fe415cee725a867b3be5df735B03262fbd30281fcae9385ffcab885b9816a3b0b3d30348cf8b3e5ab805841e51422 +@0a6267f90a76dfe60daf0196ee8ff3fb12ec583b94f10554bd929a3dbb98fc2cB036aff7433ba14ad83f248232312e31df155374a67d04c9ea8af5322dd526f04172 +@6917187cec1b4731d1a447446b3bf02950b69f81b392126ec1040ade6eb4a117B030cde106661d7c9ddf290b3771919134d19a8119eb918646eba6d367e6189f7ffB + @79af5d2f503b63a39e56d8d8c71b049c7755514a50f8516f6325849a80f78814""1BuMGw4hLqnhysXREXDGh65SYAHm4tg6Qy"UOP_DUP OP_HASH160 7797cff3a2ef19deab9a00f0e2c5d0b5b38db38f OP_EQUALVERIFY OP_CHECKSIG*276a9147797cff3a2ef19deab9a00f0e2c5d0b5b38db38f88ac*"1BuMGw4hLqnhysXREXDGh65SYAHm4tg6Qy8$J  +@79af5d2f503b63a39e56d8d8c71b049c7755514a50f8516f6325849a80f78814""1LpAW4m4ZKZHRjPv4UG4pUFcUYrNJBVTSC"UOP_DUP OP_HASH160 d955df08e4b1fce17e1dd39c4f68910ea4e239d6 OP_EQUALVERIFY OP_CHECKSIG*276a914d955df08e4b1fce17e1dd39c4f68910ea4e239d688ac*"1LpAW4m4ZKZHRjPv4UG4pUFcUYrNJBVTSC8$J  +@79af5d2f503b63a39e56d8d8c71b049c7755514a50f8516f6325849a80f78814""1E7TGSpTUy3hants7fGJzJKJbj3fPSFzu5"UOP_DUP OP_HASH160 8fd20e94e07b6e1f358c59c465e8bdcfeb927728 OP_EQUALVERIFY OP_CHECKSIG*276a9148fd20e94e07b6e1f358c59c465e8bdcfeb92772888ac*"1E7TGSpTUy3hants7fGJzJKJbj3fPSFzu58$J D $-@000000000000000000143a2346100b3192d9fbda785bdafcd07a57b76d1c916f"@0000000000000000000b11dd7a6295fbc8ec050ce01af1091a37eff8a16d0aae2 + + + +1@e87c5cda9e42a105bf34027170809ae240d9584f1e9277dc3f289c18cdc41bd7$"@000000000000000000143a2346100b3192d9fbda785bdafcd07a57b76d1c916f(-2 +@d136c12f0e4d409f1e2d36c07e4ee942131cb18f1a6e4eff86edc1c8c892725fB0277ae08790567a9ad2c8c7294658d4d3614bf904725cbd43439bce764be98af592 +@0ebd1789bc7c2918223d26483a3b96bec03cafdda57f9fe99658aaad05f5f661B03e443be166764d68bf1f3cc9b0a65f530a64c5f3701d0193f11ae2b6137a24502B +]@e87c5cda9e42a105bf34027170809ae240d9584f1e9277dc3f289c18cdc41bd7""1D3N1q7SFf3hAoAVQyoemMTFGhtizdsggW"UOP_DUP OP_HASH160 8413e21862683a7d3ae5c0907007c3f1d3a4a634 OP_EQUALVERIFY OP_CHECKSIG*276a9148413e21862683a7d3ae5c0907007c3f1d3a4a63488ac*"1D3N1q7SFf3hAoAVQyoemMTFGhtizdsggW8$J  +@e87c5cda9e42a105bf34027170809ae240d9584f1e9277dc3f289c18cdc41bd7""17wkQvCCbkyg6FNdyrqSWSoNQmEH4Xz5N9"UOP_DUP OP_HASH160 4c2b7498c284ba1d8e872dda173b20e2f53dea65 OP_EQUALVERIFY OP_CHECKSIG*276a9144c2b7498c284ba1d8e872dda173b20e2f53dea6588ac*"17wkQvCCbkyg6FNdyrqSWSoNQmEH4Xz5N98$J  +ʌ@e87c5cda9e42a105bf34027170809ae240d9584f1e9277dc3f289c18cdc41bd7""1Fk5pU98ZUiDudXLjqtXfLaVuwJbGRFf9C"UOP_DUP OP_HASH160 a1b7ab66da3c6ea4b8d2ddc337c47eb202b3828b OP_EQUALVERIFY OP_CHECKSIG*276a914a1b7ab66da3c6ea4b8d2ddc337c47eb202b3828b88ac*"1Fk5pU98ZUiDudXLjqtXfLaVuwJbGRFf9C8$J $ϐ-@0000000000000000000832c34f71ab5c98eecab391d86f291ab83c993d7811dd"@000000000000000000143a2346100b3192d9fbda785bdafcd07a57b76d1c916f2$ΐ-@00000000000000000004e863e7f361e4ba21d9faead910630e3ce2e09cfb8879"@0000000000000000000832c34f71ab5c98eecab391d86f291ab83c993d7811dd2$ԕ-@00000000000000000002ac1a795d1802963a901ab6b3adf2f774fd3fa9544032"@00000000000000000004e863e7f361e4ba21d9faead910630e3ce2e09cfb88792$-@00000000000000000015a9f923ed4cca5bb5d13d26554771bbf9e84423d82202"@00000000000000000002ac1a795d1802963a901ab6b3adf2f774fd3fa95440322$đ-@00000000000000000010a9c3e6919b7392065a14514ccc9e150a083b36ea2c15"@00000000000000000015a9f923ed4cca5bb5d13d26554771bbf9e84423d822022$-@0000000000000000000a26f5b46224a8fe4ac1d18ed0361f25375fc6f6ee563c"@00000000000000000010a9c3e6919b7392065a14514ccc9e150a083b36ea2c152$-@0000000000000000000266336b45961211ea6430aa23457d0260116e7b1d3a4f"@0000000000000000000a26f5b46224a8fe4ac1d18ed0361f25375fc6f6ee563c2$-@00000000000000000002b41ee5d81463462213e348a6a7807a784bd700adef56"@0000000000000000000266336b45961211ea6430aa23457d0260116e7b1d3a4f2$-@0000000000000000000e171056f1ea9dca9d7c818865fca363fdbf0f8f5fb959"@00000000000000000002b41ee5d81463462213e348a6a7807a784bd700adef562 $-@00000000000000000016c3f6ba8a64323de1f67c1e5a3cc4c40bdcdb8a7e134a"@0000000000000000000e171056f1ea9dca9d7c818865fca363fdbf0f8f5fb9592 + + + +1@7d4564f67984d409456271d0177eaa9ebd9412b4c880eeef06b8f36010d73728$"@00000000000000000016c3f6ba8a64323de1f67c1e5a3cc4c40bdcdb8a7e134a(-2 +@4e6e7771c4e8fce5f89e0b1b45f79988cc8607ad62639fcdd3295b4a24ee27bdB03c5adee73105f39b2b44eaa44cce525e133a996bddb0f318efef14bcb6ebadccc2 +@c2c69d36f8d75f379d129a8959ba7b80ffd65f5c890afc889253623156089adfB03b19907af195aec5b840a57b34e95d4d9592bee237476baf92572522022b16b82B +@7d4564f67984d409456271d0177eaa9ebd9412b4c880eeef06b8f36010d73728""1PXKKnTBgNaxVLBPpamXArNwZEBn64jrd8"UOP_DUP OP_HASH160 f70e8ac5d96c95b61351be02374dda4b9ea4098a OP_EQUALVERIFY OP_CHECKSIG*276a914f70e8ac5d96c95b61351be02374dda4b9ea4098a88ac*"1PXKKnTBgNaxVLBPpamXArNwZEBn64jrd88$J  +@7d4564f67984d409456271d0177eaa9ebd9412b4c880eeef06b8f36010d73728""1EVuq4VYpwz5DyQVtaPZnkPWJB2d2r4XZ5"UOP_DUP OP_HASH160 941161988cc6ad95c3072cb524fcff005903424f OP_EQUALVERIFY OP_CHECKSIG*276a914941161988cc6ad95c3072cb524fcff005903424f88ac*"1EVuq4VYpwz5DyQVtaPZnkPWJB2d2r4XZ58$J  +@7d4564f67984d409456271d0177eaa9ebd9412b4c880eeef06b8f36010d73728""1EZ7fTSAvaaCUQMyEjCRGnUXhgDnXVFNcK"UOP_DUP OP_HASH160 94ac820b3cd51e1c3eba2cfe4825d568a30ba124 OP_EQUALVERIFY OP_CHECKSIG*276a91494ac820b3cd51e1c3eba2cfe4825d568a30ba12488ac*"1EZ7fTSAvaaCUQMyEjCRGnUXhgDnXVFNcK8$J L $Ԓ-@000000000000000000146e33ec2249a7f6337e9b7ef10f7c1365c81b987db1d6"@00000000000000000016c3f6ba8a64323de1f67c1e5a3cc4c40bdcdb8a7e134a2 + +1@3f9259d57b8aea5ee391423da2ee49295bd78eb691a682d4ee8961586b5ed28a$"@000000000000000000146e33ec2249a7f6337e9b7ef10f7c1365c81b987db1d6(Ԓ-2 +@980752f1373bd48b72132e2aa258f0e796b90b05de9dfd68053ecd806cf06cdfB03f145e8c9f93f514d667276de1d3f5c8caa7b8abb1f5782ece18ddfad6fe3ee7a2 +@e87c5cda9e42a105bf34027170809ae240d9584f1e9277dc3f289c18cdc41bd7B0327599870932f9f276d1c7bdf1fdcc479053d445c7ca194ae43b2682775dc330a2 +@b11232cc70ae05ddf679cb7020f021cab62c30063054a69ba988b57616cda975B0265016a2b630bd36523611030ec238b2a01e54ee630380e2637266653bcfa18b3B +U@3f9259d57b8aea5ee391423da2ee49295bd78eb691a682d4ee8961586b5ed28a""1EBC1h2VihFcvt1fGnmQvEv5JsGYMhqMWj"UOP_DUP OP_HASH160 9086fcb10ff8af4df41a558d154922385cf3af5a OP_EQUALVERIFY OP_CHECKSIG*276a9149086fcb10ff8af4df41a558d154922385cf3af5a88ac*"1EBC1h2VihFcvt1fGnmQvEv5JsGYMhqMWj8$J  +X@3f9259d57b8aea5ee391423da2ee49295bd78eb691a682d4ee8961586b5ed28a""1AuTmWWYLyNb5ZRnSN8rGdzMMXCFbQ9FnS"UOP_DUP OP_HASH160 6ca51b3a7e3c2991a2b714d6f6036ff1af61ca68 OP_EQUALVERIFY OP_CHECKSIG*276a9146ca51b3a7e3c2991a2b714d6f6036ff1af61ca6888ac*"1AuTmWWYLyNb5ZRnSN8rGdzMMXCFbQ9FnS8$J  +@3f9259d57b8aea5ee391423da2ee49295bd78eb691a682d4ee8961586b5ed28a"!1QM65N9bEPFvMeCnGRtUHaKRPyisokF1r"UOP_DUP OP_HASH160 046a55d7e1ad4629f87fcef0737afa34a947a3c2 OP_EQUALVERIFY OP_CHECKSIG*276a914046a55d7e1ad4629f87fcef0737afa34a947a3c288ac*!1QM65N9bEPFvMeCnGRtUHaKRPyisokF1r8$J $-@000000000000000000190fc068acff3533408bb45d5adf6bfc95b5f6183175e4"@000000000000000000146e33ec2249a7f6337e9b7ef10f7c1365c81b987db1d62$-@0000000000000000000e0e22a7bbedf9e554eabddd8be5df46987b77d3839d61"@000000000000000000190fc068acff3533408bb45d5adf6bfc95b5f6183175e42$-@00000000000000000010a7db6466000aa49483a6a0ac30c480ef92138d17ce71"@0000000000000000000e0e22a7bbedf9e554eabddd8be5df46987b77d3839d612$-@0000000000000000001639585d7f909c51651dfbc2dda2d80402babe0214dd4a"@00000000000000000010a7db6466000aa49483a6a0ac30c480ef92138d17ce712$-@00000000000000000011f068a4d3eba0edee86ba252e908fb65ea06ece842cfa"@0000000000000000001639585d7f909c51651dfbc2dda2d80402babe0214dd4a2$-@000000000000000000112ee3ae3b827e321ba2410ba602ee0c010356b7d6e9a5"@00000000000000000011f068a4d3eba0edee86ba252e908fb65ea06ece842cfa2$𮎔-@00000000000000000002217e723306dfd9ad5a6d5d2504e93255573f2f71f302"@000000000000000000112ee3ae3b827e321ba2410ba602ee0c010356b7d6e9a52$ܔ-@00000000000000000001103ad2a8ce7e7d2d9459edb26a3497728b3001b638c2"@00000000000000000002217e723306dfd9ad5a6d5d2504e93255573f2f71f3022$𷈕-@00000000000000000016633b88de22bd6462283bcf7dcbe559233baaf5fb0c4d"@00000000000000000001103ad2a8ce7e7d2d9459edb26a3497728b3001b638c22$ӕ-@000000000000000000151dbf9398b5db769365a66a4cf5b4151df42f09ac6c91"@00000000000000000016633b88de22bd6462283bcf7dcbe559233baaf5fb0c4d2C$-@0000000000000000000784382eee8482db61b6982e271dc5a471fe68335d7a17"@000000000000000000151dbf9398b5db769365a66a4cf5b4151df42f09ac6c912B + +1@295f9718f778eaec516401752ef8165f7e1649091154004625228dad06010aae$"@0000000000000000000784382eee8482db61b6982e271dc5a471fe68335d7a17(-2 +@68aa9629aefebdb723d6ebe9d2d6a6e8464ef02a49d6e3cbcdbf92fba116c463B0201ab527cb06f6adb6b955ef44d8c8348431c7b62775f933381f2b82b918b9b002 +@ebeefae5c1459c7d5c3bd5a344f81308cf093781bb4dc6a75e82921126a38ba8B0206ce702e23dd753787ab947f1d282f952ef7efcf14d75623107041a9dd2eb162B +=@295f9718f778eaec516401752ef8165f7e1649091154004625228dad06010aae""1F3Qgz4FdYXUwJjKwYbZNBMTka2axbqSun"UOP_DUP OP_HASH160 9a065e2784bc5bf134e2452f7728e7118ac78064 OP_EQUALVERIFY OP_CHECKSIG*276a9149a065e2784bc5bf134e2452f7728e7118ac7806488ac*"1F3Qgz4FdYXUwJjKwYbZNBMTka2axbqSun8$J  + @295f9718f778eaec516401752ef8165f7e1649091154004625228dad06010aae""1F3Qgz4FdYXUwJjKwYbZNBMTka2axbqSun"UOP_DUP OP_HASH160 9a065e2784bc5bf134e2452f7728e7118ac78064 OP_EQUALVERIFY OP_CHECKSIG*276a9149a065e2784bc5bf134e2452f7728e7118ac7806488ac*"1F3Qgz4FdYXUwJjKwYbZNBMTka2axbqSun8$J   +@295f9718f778eaec516401752ef8165f7e1649091154004625228dad06010aae""1NoXrDYnhRbcpyBBt3FqCJ6hsUL26kTuJu"UOP_DUP OP_HASH160 ef2786db1aef0b11121f7c0fa41abc20aa3ae319 OP_EQUALVERIFY OP_CHECKSIG*276a914ef2786db1aef0b11121f7c0fa41abc20aa3ae31988ac*"1NoXrDYnhRbcpyBBt3FqCJ6hsUL26kTuJu8$J  +@295f9718f778eaec516401752ef8165f7e1649091154004625228dad06010aae"l"6OP_RETURN 110134caf84ccd48e413da6143edd22c333bcd0eb5da*06a16110134caf84ccd48e413da6143edd22c333bcd0eb5da24LHaC,3;8$J  + + +1@28aab293ceb09e11ba9cd96167ad1e9b23efb2994d99056bc23becd7aaad80a0$"@0000000000000000000784382eee8482db61b6982e271dc5a471fe68335d7a17(-2 +@5b1462b84996af6194466ef6797b6a25968906b15791d08bf0f7441decde4281B0253f4680a7b45b8b1f932496acae40b134e67b3e8aa03801df3ad50a4331e047d2 +@e806ff61cf4e2f121271cedab42001677c299d97531ac54d2a976ff3d24c44cdB0254f929d919577c83d5346b4dfd887a4d830f938f25817c010503798598033da6B +@28aab293ceb09e11ba9cd96167ad1e9b23efb2994d99056bc23becd7aaad80a0"!1e5NmfJk86CzgnterUYBBr19pSs2EvXFa"UOP_DUP OP_HASH160 07030afe21c298f8f3f67e6b8c9ea390be880709 OP_EQUALVERIFY OP_CHECKSIG*276a91407030afe21c298f8f3f67e6b8c9ea390be88070988ac*!1e5NmfJk86CzgnterUYBBr19pSs2EvXFa8$J  +̊t@28aab293ceb09e11ba9cd96167ad1e9b23efb2994d99056bc23becd7aaad80a0""1FLBCkbSC4NhtmxsicLuaVPfcxjoUhbkrZ"UOP_DUP OP_HASH160 9d322e5368600f9211402f1688b69fd156d11d64 OP_EQUALVERIFY OP_CHECKSIG*276a9149d322e5368600f9211402f1688b69fd156d11d6488ac*"1FLBCkbSC4NhtmxsicLuaVPfcxjoUhbkrZ8$J  +@28aab293ceb09e11ba9cd96167ad1e9b23efb2994d99056bc23becd7aaad80a0""1CkDwAvmWnyJuiFduhNFZ4QYBXCWHZnNMk"UOP_DUP OP_HASH160 80d61114f178d69c27c5b11a6a7a73478cef2579 OP_EQUALVERIFY OP_CHECKSIG*276a91480d61114f178d69c27c5b11a6a7a73478cef257988ac*"1CkDwAvmWnyJuiFduhNFZ4QYBXCWHZnNMk8$J ! + + +1@56d941de9ac7c664142221bbb5b7ccc9678919483eef2d516aa2474f823a41d1$"@0000000000000000000784382eee8482db61b6982e271dc5a471fe68335d7a17(-2 +@28aab293ceb09e11ba9cd96167ad1e9b23efb2994d99056bc23becd7aaad80a0B03a699fe1bb88c8c5a7dce01ed3bfdd9fd0bf6cf8ac2db39ac7a5a2d6caa4ca5cd2 +@28aab293ceb09e11ba9cd96167ad1e9b23efb2994d99056bc23becd7aaad80a0B02a717deb3ea7107df540a030f1535cf9db85fa661e188aea12ad10729535349c9B +@56d941de9ac7c664142221bbb5b7ccc9678919483eef2d516aa2474f823a41d1""1ErE7XXYTedpVBgitb289UPX7Co74nwVXr"UOP_DUP OP_HASH160 97e8f68db16cd4141a9097cfbbc7318269dc6f3a OP_EQUALVERIFY OP_CHECKSIG*276a91497e8f68db16cd4141a9097cfbbc7318269dc6f3a88ac*"1ErE7XXYTedpVBgitb289UPX7Co74nwVXr8$J  +\@56d941de9ac7c664142221bbb5b7ccc9678919483eef2d516aa2474f823a41d1""1MQzxjuvDyy488kcgKwv7UoPhvYpK5BJBE"UOP_DUP OP_HASH160 dfec775ad68185338f2b43732bd40cfafaefa00b OP_EQUALVERIFY OP_CHECKSIG*276a914dfec775ad68185338f2b43732bd40cfafaefa00b88ac*"1MQzxjuvDyy488kcgKwv7UoPhvYpK5BJBE8$J  +۲@56d941de9ac7c664142221bbb5b7ccc9678919483eef2d516aa2474f823a41d1""1MpBd998cnu1YPU7hzRZ5Xknst2bsUptZM"UOP_DUP OP_HASH160 e44eef00ba1b0a9eaa10d721598fa1ffe8fb72a6 OP_EQUALVERIFY OP_CHECKSIG*276a914e44eef00ba1b0a9eaa10d721598fa1ffe8fb72a688ac*"1MpBd998cnu1YPU7hzRZ5Xknst2bsUptZM8$J  + + +1@d03cd72464a9184c6161296b2f4f48b8c569b0105cfdd878d5328d00b8d227c1$"@0000000000000000000784382eee8482db61b6982e271dc5a471fe68335d7a17(-2 +@56d941de9ac7c664142221bbb5b7ccc9678919483eef2d516aa2474f823a41d1B032c0a002f632250eb41732dcd0740cc0894c278de564c2136c8aecbe83be47b952 +@56d941de9ac7c664142221bbb5b7ccc9678919483eef2d516aa2474f823a41d1B02d9e6228df16f76845a7e2f44eebbf3ca71d83cbae26b8d9d99fb62603d04bc35B +@d03cd72464a9184c6161296b2f4f48b8c569b0105cfdd878d5328d00b8d227c1""17FAh8MMT2GzDY3mfrU1ekoXYWxBiZZvWt"UOP_DUP OP_HASH160 447eab2361448b49ab1d0eb3c52fe7783865b55f OP_EQUALVERIFY OP_CHECKSIG*276a914447eab2361448b49ab1d0eb3c52fe7783865b55f88ac*"17FAh8MMT2GzDY3mfrU1ekoXYWxBiZZvWt8$J  +\@d03cd72464a9184c6161296b2f4f48b8c569b0105cfdd878d5328d00b8d227c1""1MMSjhanTGDntPpboePpsnPXDYNGPorhTF"UOP_DUP OP_HASH160 df4051835b7fbcf7462c9dde1c1d4155ef84f48c OP_EQUALVERIFY OP_CHECKSIG*276a914df4051835b7fbcf7462c9dde1c1d4155ef84f48c88ac*"1MMSjhanTGDntPpboePpsnPXDYNGPorhTF8$J  +@d03cd72464a9184c6161296b2f4f48b8c569b0105cfdd878d5328d00b8d227c1""16epY6XdspJSpgQmE44XH9XSLtmzqnx7Ud"UOP_DUP OP_HASH160 3dffb35ec53620cbf3b7fb1c74bdd51c5e02dd1e OP_EQUALVERIFY OP_CHECKSIG*276a9143dffb35ec53620cbf3b7fb1c74bdd51c5e02dd1e88ac*"16epY6XdspJSpgQmE44XH9XSLtmzqnx7Ud8$J  + + +1@fab0a77a2bc0667ce44af4361ad7c63cbab717c4f1031a892c75b427f9ef0357$"@0000000000000000000784382eee8482db61b6982e271dc5a471fe68335d7a17(-2 +@d03cd72464a9184c6161296b2f4f48b8c569b0105cfdd878d5328d00b8d227c1B02876d20811e50a4c66b05a796048661b2b27f970864fa854747b155c0e7a92cda2 +@d03cd72464a9184c6161296b2f4f48b8c569b0105cfdd878d5328d00b8d227c1B02975f444930abf55bae90d56e044db8508a845d2a15bc5dfaaf775757cc848c35B +@fab0a77a2bc0667ce44af4361ad7c63cbab717c4f1031a892c75b427f9ef0357""1ADCXzCp8RqphFpXQcb5SjXcWMPKUPii7a"UOP_DUP OP_HASH160 6507c07c76ff151e5879f3dac740df7703aa41d9 OP_EQUALVERIFY OP_CHECKSIG*276a9146507c07c76ff151e5879f3dac740df7703aa41d988ac*"1ADCXzCp8RqphFpXQcb5SjXcWMPKUPii7a8$J  +\@fab0a77a2bc0667ce44af4361ad7c63cbab717c4f1031a892c75b427f9ef0357""18gYFDcymHUxjVSPQNyqFupGcU7FcqUX2x"UOP_DUP OP_HASH160 54432f63e4cba088f30d9b02dee7161c506095e5 OP_EQUALVERIFY OP_CHECKSIG*276a91454432f63e4cba088f30d9b02dee7161c506095e588ac*"18gYFDcymHUxjVSPQNyqFupGcU7FcqUX2x8$J  +&@fab0a77a2bc0667ce44af4361ad7c63cbab717c4f1031a892c75b427f9ef0357""16BisWGZcGNRSu3jbpV4CfiqJdmXMHMRTW"UOP_DUP OP_HASH160 38dfbd91133af23c4db4d4db64da10fe9f1bc4a1 OP_EQUALVERIFY OP_CHECKSIG*276a91438dfbd91133af23c4db4d4db64da10fe9f1bc4a188ac*"16BisWGZcGNRSu3jbpV4CfiqJdmXMHMRTW8$J  + +1@dc9e4a7fc4a6351a77644335db3b77c14789dadc6b148452f0c43cbe2b12209c$"@0000000000000000000784382eee8482db61b6982e271dc5a471fe68335d7a17(-2 +@fab0a77a2bc0667ce44af4361ad7c63cbab717c4f1031a892c75b427f9ef0357B0280fe335c56dd9de5389265bf88bc243507505a9d98ec269b15e9044629dbbcee2 +@fab0a77a2bc0667ce44af4361ad7c63cbab717c4f1031a892c75b427f9ef0357B03ada16807b5fc165310b3e8438c486919af77bfe95742939642fb3657c1d94bc72 +@a93494db48fe98afd9872d10c3cd9e0830ec868b69d5da314df8c7f04929161bB03b3660f21e9c6430edf3eee1637cf74a71c4d3752dc43407698df95c5248ac17fB +@dc9e4a7fc4a6351a77644335db3b77c14789dadc6b148452f0c43cbe2b12209c""136rdpVYPfHfPaupYJB1ed28KD8KtYLpZT"UOP_DUP OP_HASH160 170bc3b17fa7536f894292fc80c645164d3b104d OP_EQUALVERIFY OP_CHECKSIG*276a914170bc3b17fa7536f894292fc80c645164d3b104d88ac*"136rdpVYPfHfPaupYJB1ed28KD8KtYLpZT8$J  +@dc9e4a7fc4a6351a77644335db3b77c14789dadc6b148452f0c43cbe2b12209c""147kBPNqsHoELqpGzCEVW7dpp8H6V9HXSF"UOP_DUP OP_HASH160 222eeacd04e8035f839d616d198d759f269daffc OP_EQUALVERIFY OP_CHECKSIG*276a914222eeacd04e8035f839d616d198d759f269daffc88ac*"147kBPNqsHoELqpGzCEVW7dpp8H6V9HXSF8$J  +Ϧ]@dc9e4a7fc4a6351a77644335db3b77c14789dadc6b148452f0c43cbe2b12209c""1MvMU6whPJEjtgXJ2L1KtM5c9eMiZCcPyx"UOP_DUP OP_HASH160 e579a599d59dce4eeb6f1d3e5b8c385d2d588a60 OP_EQUALVERIFY OP_CHECKSIG*276a914e579a599d59dce4eeb6f1d3e5b8c385d2d588a6088ac*"1MvMU6whPJEjtgXJ2L1KtM5c9eMiZCcPyx8$J $-@0000000000000000000d754f3dcb4a8f9596a788f21a43df3505ede92fab9f06"@0000000000000000000784382eee8482db61b6982e271dc5a471fe68335d7a172$ګ-@0000000000000000000024b684984ff24be02e4ec6545f8c8e6053af7377b622"@0000000000000000000d754f3dcb4a8f9596a788f21a43df3505ede92fab9f062$$ޖ-@00000000000000000015a8bda5f70a8486da85dbb4b9ac424a79a3ce2b5dec72"@0000000000000000000024b684984ff24be02e4ec6545f8c8e6053af7377b6222# + + +1@ba9bf5201eeea8a252d918e300876a6020c2c9f3bb7e9d953fbadaab7d202152$"@00000000000000000015a8bda5f70a8486da85dbb4b9ac424a79a3ce2b5dec72(ޖ-2 +@8598563ec3c0db30f73eea402cf55cf7e1f4c2dc76ac1a2256aa5414bc9d3573B0342fe2b48b15e662be27d4a51011354e314fb6805b7b7b427aa8be15bc318e2d22 +@6b07a73909db3857343503cdfa2c62107f1b1f42f68178a034b035e3777ba76aB0242ffa72da67703081b64eb1f25c9d1d60874943397a3d550139c2390bdf3f8c3B +@ba9bf5201eeea8a252d918e300876a6020c2c9f3bb7e9d953fbadaab7d202152""15Gt6jfMWaGxiPEfqg6eYGExVdQJp5VC3J"UOP_DUP OP_HASH160 2ee165d3ff0c03807feed8f20840445054cfc1dc OP_EQUALVERIFY OP_CHECKSIG*276a9142ee165d3ff0c03807feed8f20840445054cfc1dc88ac*"15Gt6jfMWaGxiPEfqg6eYGExVdQJp5VC3J8$J  +R@ba9bf5201eeea8a252d918e300876a6020c2c9f3bb7e9d953fbadaab7d202152"!1Rqf2ojccdtk9kHKMB4UAryoCkfjBoqAy"UOP_DUP OP_HASH160 04b2994c80c77e512a378ab99829e92729f0fa4d OP_EQUALVERIFY OP_CHECKSIG*276a91404b2994c80c77e512a378ab99829e92729f0fa4d88ac*!1Rqf2ojccdtk9kHKMB4UAryoCkfjBoqAy8$J  +@ba9bf5201eeea8a252d918e300876a6020c2c9f3bb7e9d953fbadaab7d202152""18KVA4JaeKdkqbp8g2NHkgmCd54sZh2D8m"UOP_DUP OP_HASH160 5047df1246f6586958898aed663abc90e54147e1 OP_EQUALVERIFY OP_CHECKSIG*276a9145047df1246f6586958898aed663abc90e54147e188ac*"18KVA4JaeKdkqbp8g2NHkgmCd54sZh2D8m8$J  + +1@03ebad3c4c6fbaa9e863e8f3de981d2f6d6110a08d1aaf301b544fe1c0f8eb59$"@00000000000000000015a8bda5f70a8486da85dbb4b9ac424a79a3ce2b5dec72(ޖ-2 +@ba9bf5201eeea8a252d918e300876a6020c2c9f3bb7e9d953fbadaab7d202152B029e207bf3faeeec74b89dfd24cc58610336f72f291dcba926ceb72901d7f3633e2 +@c760444f5e62c8af79c4b7a173c44a3684379460c8f4391111d19a2e757071f4B0378480847ea62252a452f23932abe1b6b1a1c5fd03c8f15d31bbe00d113b1ea8e2 +@490016fef9e820fc3d0824b2af5cb6361733498e98c7fbfc42b3ba94804c8a3eB02af79893cb08200c288340311e02c646824826825147c02d0d3760184b7f2afbc2 +@8598563ec3c0db30f73eea402cf55cf7e1f4c2dc76ac1a2256aa5414bc9d3573B038b251297bb50c61233c548a31fb7c48497f18b18e9a3cbe8422b2f923f0563ee2 +@ba9bf5201eeea8a252d918e300876a6020c2c9f3bb7e9d953fbadaab7d202152B03c5fceafff2b26868946dc5e337cfad9e76a00791b71918d1e175c66b85aa9795B +@03ebad3c4c6fbaa9e863e8f3de981d2f6d6110a08d1aaf301b544fe1c0f8eb59""1M5F6wFj3tzMbiNdx2v7Kxs2RsawrVRh4D"UOP_DUP OP_HASH160 dc2ff3995cad1402846b8a932ab73af883b36254 OP_EQUALVERIFY OP_CHECKSIG*276a914dc2ff3995cad1402846b8a932ab73af883b3625488ac*"1M5F6wFj3tzMbiNdx2v7Kxs2RsawrVRh4D8$J  +@03ebad3c4c6fbaa9e863e8f3de981d2f6d6110a08d1aaf301b544fe1c0f8eb59""128e3fW6rW7x8AUUoLDeMketJ5nmftTVVh"UOP_DUP OP_HASH160 0c69f63f0e14ac4e54af559b0fa5d8b0c01ba2da OP_EQUALVERIFY OP_CHECKSIG*276a9140c69f63f0e14ac4e54af559b0fa5d8b0c01ba2da88ac*"128e3fW6rW7x8AUUoLDeMketJ5nmftTVVh8$J  +@03ebad3c4c6fbaa9e863e8f3de981d2f6d6110a08d1aaf301b544fe1c0f8eb59""18ruLKGaH15PgQZazEf3a36vccAom31wzy"UOP_DUP OP_HASH160 5638f2b136997dc9d8715f8868de2af8002ea0e5 OP_EQUALVERIFY OP_CHECKSIG*276a9145638f2b136997dc9d8715f8868de2af8002ea0e588ac*"18ruLKGaH15PgQZazEf3a36vccAom31wzy8$J p + + +1@6fb176841f508b44295fbb4d13128c6da9de006c692237f930cf3d0299afeee3$"@00000000000000000015a8bda5f70a8486da85dbb4b9ac424a79a3ce2b5dec72(ޖ-2 +@3f9259d57b8aea5ee391423da2ee49295bd78eb691a682d4ee8961586b5ed28aB020d19e9edf99ea831a0b24f24e86efe8670cc69f94a7ed4377252da48b83a0a822 +@07cb3a59a0d25ae3474ced66e5f4c981effdccd5594ef5dac25d50871645f4c9B036be856b7796ce9e3a78ae58cf654a1e45f445aad8db650a697f44c2886661e70B +X@6fb176841f508b44295fbb4d13128c6da9de006c692237f930cf3d0299afeee3""1FuhQ46X8AyKDxTnBZ4H3Fp5jfyd1mj1He"UOP_DUP OP_HASH160 a3891cf3ef7c8fd997408c650397d444500c6356 OP_EQUALVERIFY OP_CHECKSIG*276a914a3891cf3ef7c8fd997408c650397d444500c635688ac*"1FuhQ46X8AyKDxTnBZ4H3Fp5jfyd1mj1He8$J  + +@6fb176841f508b44295fbb4d13128c6da9de006c692237f930cf3d0299afeee3""1J9N1ziVMK2fh27iTVXnXqcn4eQHVRjNKT"UOP_DUP OP_HASH160 bc0f02a03bcf14b5e66aaaf5d577991f2ef1bb11 OP_EQUALVERIFY OP_CHECKSIG*276a914bc0f02a03bcf14b5e66aaaf5d577991f2ef1bb1188ac*"1J9N1ziVMK2fh27iTVXnXqcn4eQHVRjNKT8$J  +؝@6fb176841f508b44295fbb4d13128c6da9de006c692237f930cf3d0299afeee3""1LTeE7Z23SiQ6KPKsPz2mSpeFermf755RZ"UOP_DUP OP_HASH160 d57447986e468eaa3460fcfeee4b2485ac67bc59 OP_EQUALVERIFY OP_CHECKSIG*276a914d57447986e468eaa3460fcfeee4b2485ac67bc5988ac*"1LTeE7Z23SiQ6KPKsPz2mSpeFermf755RZ8$J $ԃ-@00000000000000000001911cbab8e84d399fc25aff3427a9932cbfb9e6d7669a"@00000000000000000015a8bda5f70a8486da85dbb4b9ac424a79a3ce2b5dec722$ȗ-@00000000000000000011595c8bcae2bb11a28540d18c37f1322bfeb311c5fece"@00000000000000000001911cbab8e84d399fc25aff3427a9932cbfb9e6d7669a2$૗-@00000000000000000018e8996b69b821460a96a699d8391419e472443ca31176"@00000000000000000011595c8bcae2bb11a28540d18c37f1322bfeb311c5fece2$-@000000000000000000100950291528326ed9828a4c3fbb58f5dad254b88bf587"@00000000000000000018e8996b69b821460a96a699d8391419e472443ca311762$-@00000000000000000015bccc65be071f13e4e7a51d7bec06fc864881eca0476d"@000000000000000000100950291528326ed9828a4c3fbb58f5dad254b88bf5872$膬-@0000000000000000001484b02bd12cbc25791ee08ca71fb199e978fcce144582"@00000000000000000015bccc65be071f13e4e7a51d7bec06fc864881eca0476d2$-@000000000000000000199b98f30f538245a8497b66027135c7735ecb71cf12f1"@0000000000000000001484b02bd12cbc25791ee08ca71fb199e978fcce1445822 + +1@fe426029be3464b4bf56fcd8bd2b6ef7e5d9513aecc6d650a5aaa320c4f3e95c$"@000000000000000000199b98f30f538245a8497b66027135c7735ecb71cf12f1(-2 +@068642220a7715e89b516e28c96612e11d04051ea291b210850f3bddb9a92a2aB03be638525edb37011949a0afe722c0869b239cabdcdb2ad9aea4b0a2c7bbeeb272 +@417b1793d4195e2e558658295a9bf1110a22d6a8b260923c9480227bc961862dB02b1696989a59adda69d12cd4fd55ac4796b60682ce8dff0a52567d6598ff47d9e2 +@ed8bf08394f2f7abdd402e7bbcd04912872f2246553060fa3ea721b29bc6dc18B03463eade4e1602bb40dec2a2e264b94fa2307aa943ba2f6bfa9c76b2fdf9c95572 +@2c47c9254db1951cb419cef13b5cefe3589ba2c245488aa58c503441ef1ff9bbB03a84c11999b41049f56fe636de5f6e285144b4296d6fc566442723d68918369962 +@068642220a7715e89b516e28c96612e11d04051ea291b210850f3bddb9a92a2aB03e4acb375818a2bfaee65efd8caf76cc1be2521e3a12dfa6eb9eeab145c912beb2 +@de1212c748b6fea273254e89f28f7c419fb1e1bb16cece9b02c18a30ec574457B0367b78856fdc2ac1ca4bed4cc8b231917c11db454f30b6865e11d8268011d7e78B +5@fe426029be3464b4bf56fcd8bd2b6ef7e5d9513aecc6d650a5aaa320c4f3e95c""14NyZstgRJnhUrX7QE91F9jps8SiKaaknA"UOP_DUP OP_HASH160 25105509b277c9d771ee6caf26191a9007295675 OP_EQUALVERIFY OP_CHECKSIG*276a91425105509b277c9d771ee6caf26191a900729567588ac*"14NyZstgRJnhUrX7QE91F9jps8SiKaaknA8$J  +[@fe426029be3464b4bf56fcd8bd2b6ef7e5d9513aecc6d650a5aaa320c4f3e95c""14j1CHAga2tLhd52b3VVPbbjhYd9Tqqm1i"UOP_DUP OP_HASH160 28da02943c18484e39449619eee7d744ba476977 OP_EQUALVERIFY OP_CHECKSIG*276a91428da02943c18484e39449619eee7d744ba47697788ac*"14j1CHAga2tLhd52b3VVPbbjhYd9Tqqm1i8$J  +@fe426029be3464b4bf56fcd8bd2b6ef7e5d9513aecc6d650a5aaa320c4f3e95c""14Y81Nn2puQDKyuwnKbCm7NaNhmMiFdbTP"UOP_DUP OP_HASH160 26cb1ef1be946d94e5e94af2ac2732b5614df113 OP_EQUALVERIFY OP_CHECKSIG*276a91426cb1ef1be946d94e5e94af2ac2732b5614df11388ac*"14Y81Nn2puQDKyuwnKbCm7NaNhmMiFdbTP8$J  $-@0000000000000000001073ab12c9315ec0897f1785aa87e963f60e81cf513997"@000000000000000000199b98f30f538245a8497b66027135c7735ecb71cf12f12$ҕ-@0000000000000000000db2816837bb9c9f964d6f0da6fcd31e90839150b77352"@0000000000000000001073ab12c9315ec0897f1785aa87e963f60e81cf5139972$-@000000000000000000175d0b3299a4251a93968bc17b5cf6689ab794e655c4b7"@0000000000000000000db2816837bb9c9f964d6f0da6fcd31e90839150b773522 $ܦ-@000000000000000000145a9b4f34be9ff153b44777255b6129af4517ab815c3d"@000000000000000000175d0b3299a4251a93968bc17b5cf6689ab794e655c4b72 + + + +1@895de4fca00e8ed9330feab7bb92034198e6fb59c78846cf43877c5e6b57d365$"@000000000000000000145a9b4f34be9ff153b44777255b6129af4517ab815c3d(ܦ-2 +@6477c2b2dbbccea19d2389f6e82e154a36de82b8e3f841edf1b5353fade38e82B02bd4d5c3769837ab0e86d6861615119b3510a1ab346a4fa0a6326d259586d9c5e2 +@68b0fb1a4fc8d66062c7ba407f96f09a6388c7ca78ad9afb71a156f692e94b05B020116b7baef963ea7c2e300dac899ec8c2c604c4bbcb32abe10a252d8a01e1082B +@895de4fca00e8ed9330feab7bb92034198e6fb59c78846cf43877c5e6b57d365""1Emu2yb55Kjom2sndVWmoFg6acyzJUqmFb"UOP_DUP OP_HASH160 97175f9443badb362796cede465090e89816af35 OP_EQUALVERIFY OP_CHECKSIG*276a91497175f9443badb362796cede465090e89816af3588ac*"1Emu2yb55Kjom2sndVWmoFg6acyzJUqmFb8$J  +@895de4fca00e8ed9330feab7bb92034198e6fb59c78846cf43877c5e6b57d365""16nT7kTNhKyDemAC8sc5xgZ4ZgygxrK6ag"UOP_DUP OP_HASH160 3f7125e631b9e434d428068615b82c4c8e4f164f OP_EQUALVERIFY OP_CHECKSIG*276a9143f7125e631b9e434d428068615b82c4c8e4f164f88ac*"16nT7kTNhKyDemAC8sc5xgZ4ZgygxrK6ag8$J  +/@895de4fca00e8ed9330feab7bb92034198e6fb59c78846cf43877c5e6b57d365""1MiULfu82LJb1wcaYLUYENS6yrWhhNBqRy"UOP_DUP OP_HASH160 e33a64453e20b6df9b430ff48d64c08700585c1e OP_EQUALVERIFY OP_CHECKSIG*276a914e33a64453e20b6df9b430ff48d64c08700585c1e88ac*"1MiULfu82LJb1wcaYLUYENS6yrWhhNBqRy8$J  $-@000000000000000000078c704450ec0785b333cc0fbb058f8c2e91217dca7309"@000000000000000000145a9b4f34be9ff153b44777255b6129af4517ab815c3d2$-@0000000000000000000ef7b9d16cb66741250cf531cf39a8c4306211ff513061"@000000000000000000078c704450ec0785b333cc0fbb058f8c2e91217dca73092$-@00000000000000000009db99aaa2416c28ae2edc62846fe4f0d08d48b0ab82a1"@0000000000000000000ef7b9d16cb66741250cf531cf39a8c4306211ff5130612 $-@0000000000000000000aea07a0308d8adaff39fec30376dbe4992e2e38c4e65f"@00000000000000000009db99aaa2416c28ae2edc62846fe4f0d08d48b0ab82a12 + + + +1@ec81e64ce9fb5821c1748df25bfd5f70811112fd9c5dcac5345c35963ab04977$"@0000000000000000000aea07a0308d8adaff39fec30376dbe4992e2e38c4e65f(-2 +@f84da452ad28136e09f495b4e2d831fd1938125b07ac28e9878fa736f0aa64a7B02f7b6625012fe638491e2fc402f306e67d87d9174c131010b8ce2c55c2c21e8f92 +@f84da452ad28136e09f495b4e2d831fd1938125b07ac28e9878fa736f0aa64a7B028e29814009cfbd2930ffafd17fec3db982b1889fb1e27791f302650e92b551a4B +@ec81e64ce9fb5821c1748df25bfd5f70811112fd9c5dcac5345c35963ab04977""1JMSZ6w3FKXcbuBddJrbfzUkDggv2m5ZG8"UOP_DUP OP_HASH160 be57c9dd910c9f71cc0eac23e5e696b091e72f29 OP_EQUALVERIFY OP_CHECKSIG*276a914be57c9dd910c9f71cc0eac23e5e696b091e72f2988ac*"1JMSZ6w3FKXcbuBddJrbfzUkDggv2m5ZG88$J  +@ec81e64ce9fb5821c1748df25bfd5f70811112fd9c5dcac5345c35963ab04977""1Q6XgJg3YPwS1ug4xz47VK2LTF5TdA6WyW"UOP_DUP OP_HASH160 fd5694cda624647034f75e792a79b36d4f8fc549 OP_EQUALVERIFY OP_CHECKSIG*276a914fd5694cda624647034f75e792a79b36d4f8fc54988ac*"1Q6XgJg3YPwS1ug4xz47VK2LTF5TdA6WyW8$J  +@ec81e64ce9fb5821c1748df25bfd5f70811112fd9c5dcac5345c35963ab04977""1CQZLtbDQ1iAZiLxdUNbnXYkpR4MzPnRDU"UOP_DUP OP_HASH160 7d1df30256920189e0fea1efd90ed5a3076025e9 OP_EQUALVERIFY OP_CHECKSIG*276a9147d1df30256920189e0fea1efd90ed5a3076025e988ac*"1CQZLtbDQ1iAZiLxdUNbnXYkpR4MzPnRDU8$J  $ę-@00000000000000000012c9b9da052d7937a7a8b0894de1250d3857dd6730f4ea"@0000000000000000000aea07a0308d8adaff39fec30376dbe4992e2e38c4e65f2$-@000000000000000000040c984a2bca88acfb14c653bad377dbefdb4f0cebfccd"@00000000000000000012c9b9da052d7937a7a8b0894de1250d3857dd6730f4ea2 $؈-@000000000000000000133e62d6ff84c71c5a408278dcff9027dc816d2fa7ad61"@000000000000000000040c984a2bca88acfb14c653bad377dbefdb4f0cebfccd2 + +1@9a7b79dea5850fc87d593227071799e7494bf60eac90f3ca1ada15119e8f5fe7$"@000000000000000000133e62d6ff84c71c5a408278dcff9027dc816d2fa7ad61(؈-2 +@0a8cf9a1f5d9ef16cf2af153141bc4154a6c978dfdf3e3322eb884989ed4a11cB0346e0c552fa0d5e12b3fc1f613c1c853f3b2668de5cea86a61e2feadd71e76a062 +@01e5d2b3d7acd7fbf56373741d91464cbfbab8559d003b17bc013092f75decffB0366f322cab3438feabeb24fb9a9683df6358cb897919c6642facb725ca4e46190B +E@9a7b79dea5850fc87d593227071799e7494bf60eac90f3ca1ada15119e8f5fe7""17pM17MgLxhMFaD2dr9iKjF9tgeWrtZfQb"UOP_DUP OP_HASH160 4ac5006bb296627f052d0819f0431a4574eade04 OP_EQUALVERIFY OP_CHECKSIG*276a9144ac5006bb296627f052d0819f0431a4574eade0488ac*"17pM17MgLxhMFaD2dr9iKjF9tgeWrtZfQb8$J  +@9a7b79dea5850fc87d593227071799e7494bf60eac90f3ca1ada15119e8f5fe7""1ACfYMv3t3b2k4XFo7LQb5rd46cqNZzUMo"UOP_DUP OP_HASH160 64ede139e7ec772cea1df3c17b00587b059c46de OP_EQUALVERIFY OP_CHECKSIG*276a91464ede139e7ec772cea1df3c17b00587b059c46de88ac*"1ACfYMv3t3b2k4XFo7LQb5rd46cqNZzUMo8$J   $Ŝ-@0000000000000000001281974361e478c4dd1d138c1fecb80c6c81c845614e89"@000000000000000000133e62d6ff84c71c5a408278dcff9027dc816d2fa7ad612 + +1@5e958d59ef77129d60ddc6165e488cbc0a78b0f1bbb630d50ca4d0a1ce39fe49$"@0000000000000000001281974361e478c4dd1d138c1fecb80c6c81c845614e89(Ŝ-2 +@cde5efe672b7c8dd6f55e3a246bdbd43761c12c21638ec79c9e4729cbe603dacB03433dd5a9d1a67a4cbaa573fe3194ad1eabb37d036c722d395690b8d8100d5efb2 +@cbcce3b7ce39bfec878312b6f2a37d1798450b093f4473da0c39cd4ae5b641edB0331db001fe2e7ae7e1846b6f45ecbe4b0ac712ace237eee4a26590b4230e8fcb82 +@f54b66a22e9222b794d19449b3b98df3eb9a76ab4af62c1b9cbfe20ff46184fdB03b372f6f6c4f264d0e384e92a1821fa9956881d78d4293feb69df327c9d351503B +@5e958d59ef77129d60ddc6165e488cbc0a78b0f1bbb630d50ca4d0a1ce39fe49""18UJnf9M2aqZNjEQBvJYRnQL3MqKVVzUWW"UOP_DUP OP_HASH160 51f2f59f52e6190c1a71281bd5768890e36b9524 OP_EQUALVERIFY OP_CHECKSIG*276a91451f2f59f52e6190c1a71281bd5768890e36b952488ac*"18UJnf9M2aqZNjEQBvJYRnQL3MqKVVzUWW8$J  +\@5e958d59ef77129d60ddc6165e488cbc0a78b0f1bbb630d50ca4d0a1ce39fe49""1BETV3Q7yS1T1Gi94mYihMqLrEGs2TUKDz"UOP_DUP OP_HASH160 703cc5cb11f00f256043df404729b2bb935c766a OP_EQUALVERIFY OP_CHECKSIG*276a914703cc5cb11f00f256043df404729b2bb935c766a88ac*"1BETV3Q7yS1T1Gi94mYihMqLrEGs2TUKDz8$J  +@5e958d59ef77129d60ddc6165e488cbc0a78b0f1bbb630d50ca4d0a1ce39fe49""157KtjamniWnwK5Dv1jvnRun1BoLEQEBiS"UOP_DUP OP_HASH160 2d12c4e58247eb675f62e7a67e26d18afb40d978 OP_EQUALVERIFY OP_CHECKSIG*276a9142d12c4e58247eb675f62e7a67e26d18afb40d97888ac*"157KtjamniWnwK5Dv1jvnRun1BoLEQEBiS8$J & $Ӝ-@0000000000000000000abf7cafcfd3893e783321e4de149639a801c35216fa11"@0000000000000000001281974361e478c4dd1d138c1fecb80c6c81c845614e892 + +1@c505137d22d69e5d72a218c753139b731b925d74dc9e7fac955a30dfa1dbe51f$"@0000000000000000000abf7cafcfd3893e783321e4de149639a801c35216fa11(Ӝ-2 +@ddcf995f1367d34279a2dc9a0c1d7c6061dc7168a8d8bcade996e06f8d6b6116B03d5e5289c0674579dd24d0ca762091fa552395815122dff1c73ba82167d0711dd2 +@7d4564f67984d409456271d0177eaa9ebd9412b4c880eeef06b8f36010d73728B03983ccd42a3e981714d1c98c6cfd09133d068bcac0fd9ae8b956223db171a22a82 +@82020178901a87e940a114e455355bcaf8cf78b62cf9f1bc156eeaa97830fe9bB02b96a14ffbda08bd33c13ab905f5d71edc5e8cd2556f9056eba0b224905e44877B +@c505137d22d69e5d72a218c753139b731b925d74dc9e7fac955a30dfa1dbe51f""1EYaxnpEFMKpVLaZgsGCziZjBSRbkuEFpN"UOP_DUP OP_HASH160 9492e1457f7b48eb40ff02cfbb468905f9e57328 OP_EQUALVERIFY OP_CHECKSIG*276a9149492e1457f7b48eb40ff02cfbb468905f9e5732888ac*"1EYaxnpEFMKpVLaZgsGCziZjBSRbkuEFpN8$J  +@c505137d22d69e5d72a218c753139b731b925d74dc9e7fac955a30dfa1dbe51f""1KtddUxEtvdJK5LZa4yhNJgtoS11UBrhdf"UOP_DUP OP_HASH160 cf360df43831daeb417c47dc336aaa261ab12ca2 OP_EQUALVERIFY OP_CHECKSIG*276a914cf360df43831daeb417c47dc336aaa261ab12ca288ac*"1KtddUxEtvdJK5LZa4yhNJgtoS11UBrhdf8$J  +@c505137d22d69e5d72a218c753139b731b925d74dc9e7fac955a30dfa1dbe51f"!1wxzCVqYKsYtYDQr5mEcZwkUmxGcmvUti"UOP_DUP OP_HASH160 0a6532644eb7d1da10483b7d64170da9189e5e7f OP_EQUALVERIFY OP_CHECKSIG*276a9140a6532644eb7d1da10483b7d64170da9189e5e7f88ac*!1wxzCVqYKsYtYDQr5mEcZwkUmxGcmvUti8$J 9$-@0000000000000000000430ecf3bd4890b42c4e9530bc64f7a9b1535979567f88"@0000000000000000000abf7cafcfd3893e783321e4de149639a801c35216fa112$-@0000000000000000000922d2d45fa2a773754a1c604342b5104cecfbd757cfe1"@0000000000000000000430ecf3bd4890b42c4e9530bc64f7a9b1535979567f882$-@0000000000000000001848234164b9abfb36a686b91338184cf576015ffc08c6"@0000000000000000000922d2d45fa2a773754a1c604342b5104cecfbd757cfe12$ߏ-@0000000000000000000a6babdac05fd1eccd6cea0399abcb0c3491ced30789bf"@0000000000000000001848234164b9abfb36a686b91338184cf576015ffc08c62$▝-@00000000000000000000b1c878e77fb835b2c349bf72afda53525375fb6e901a"@0000000000000000000a6babdac05fd1eccd6cea0399abcb0c3491ced30789bf2$-@00000000000000000003125f33beb3193e8c9f0cbcf883d45797593058579d2c"@00000000000000000000b1c878e77fb835b2c349bf72afda53525375fb6e901a2$-@00000000000000000019c0a036a42652bdfff6300f180ba23de8ebe6265965a1"@00000000000000000003125f33beb3193e8c9f0cbcf883d45797593058579d2c2!$-@00000000000000000019b6033fe3109b877992d58fa94cead060b0ede3a35f2d"@00000000000000000019c0a036a42652bdfff6300f180ba23de8ebe6265965a12 + + +1@78c44cbe5817842d4aaba89323a795f3d02e824e557a9b0ab32a13c0fc0251b5$"@00000000000000000019b6033fe3109b877992d58fa94cead060b0ede3a35f2d(-2 +@801fc32b8e98495d928b251b3580cd88c6197c47dbca55b7bc713a9f4b8db0bbB0237d0b92cf2ec17928961699ee6816dc4187e057cf3906fd4f869869a819ff33d2 +@d6e4a7724ba725b8f538e175b3a28c6b5b6b70300705d11a80005a12b718c163B033e2436867cccf54ada57ab442c1b37081546413ce31fd12dff17d826f4fdcd7dB +@78c44cbe5817842d4aaba89323a795f3d02e824e557a9b0ab32a13c0fc0251b5""1QJ6xUPUYCYxrQYsWu9VFppfVopFVnFPTG"UOP_DUP OP_HASH160 ff86efc158e0002399df6c6218602c904bf83d45 OP_EQUALVERIFY OP_CHECKSIG*276a914ff86efc158e0002399df6c6218602c904bf83d4588ac*"1QJ6xUPUYCYxrQYsWu9VFppfVopFVnFPTG8$J  +@78c44cbe5817842d4aaba89323a795f3d02e824e557a9b0ab32a13c0fc0251b5""18zVJqt1BSyDKM2V73ZLVGy2vhriy1E5DM"UOP_DUP OP_HASH160 57a838679bda86137ce1c1e435f10b47a806ae1f OP_EQUALVERIFY OP_CHECKSIG*276a91457a838679bda86137ce1c1e435f10b47a806ae1f88ac*"18zVJqt1BSyDKM2V73ZLVGy2vhriy1E5DM8$J  +_@78c44cbe5817842d4aaba89323a795f3d02e824e557a9b0ab32a13c0fc0251b5""16A3z67rTS3foEBWLDD7qqa6GSiuTjAQNJ"UOP_DUP OP_HASH160 388edd1d2eb5c4c036ad9aa31462303f5b5f3f3e OP_EQUALVERIFY OP_CHECKSIG*276a914388edd1d2eb5c4c036ad9aa31462303f5b5f3f3e88ac*"16A3z67rTS3foEBWLDD7qqa6GSiuTjAQNJ8$J ; + + +1@14e3bc9d60afa8271030563e9644f9328f3def768c9b87977162e1214f4de509$"@00000000000000000019b6033fe3109b877992d58fa94cead060b0ede3a35f2d(-2 +@64adcbd74ff745173393d99452ffe5024df5c76d67566c8504cbbd4049e87313B028733fe7b243ea55863d67114f987a54e69a5359fae0976a7bfb3aef08340652d2 +@df64cde7f93029f1bfed02e0c3edc4ad88a4021c93af8b7b34561208504810b7B0277f248032e75bd5814cc33299a93142c2aa630ffb1044db8c0553a9a0e9884bbB +@14e3bc9d60afa8271030563e9644f9328f3def768c9b87977162e1214f4de509""12B3p7avtGtWTG2NhFFKrpMFDZpVMNmz8L"UOP_DUP OP_HASH160 0cdea20bdb4c88e2ae97f6be3294aa57c8bf80a5 OP_EQUALVERIFY OP_CHECKSIG*276a9140cdea20bdb4c88e2ae97f6be3294aa57c8bf80a588ac*"12B3p7avtGtWTG2NhFFKrpMFDZpVMNmz8L8$J  +@14e3bc9d60afa8271030563e9644f9328f3def768c9b87977162e1214f4de509""13PZ5a5ZWjCftP6bqXrcGgMG43w3Xs9Y7R"UOP_DUP OP_HASH160 1a342e46410e836baa37b25c1e0c5db50a8f653a OP_EQUALVERIFY OP_CHECKSIG*276a9141a342e46410e836baa37b25c1e0c5db50a8f653a88ac*"13PZ5a5ZWjCftP6bqXrcGgMG43w3Xs9Y7R8$J  +_@14e3bc9d60afa8271030563e9644f9328f3def768c9b87977162e1214f4de509""14ga5cytTWvL9ScD4dmdvPFkEAnqc4Krw7"UOP_DUP OP_HASH160 2864369f88f4db99a5572ac5d88b09383faeed70 OP_EQUALVERIFY OP_CHECKSIG*276a9142864369f88f4db99a5572ac5d88b09383faeed7088ac*"14ga5cytTWvL9ScD4dmdvPFkEAnqc4Krw78$J  + + +1@a8b75209ad1b9ed50126907cd156bb71d0466d21316b4773db08bdafcf021b6f$"@00000000000000000019b6033fe3109b877992d58fa94cead060b0ede3a35f2d(-2 +@2da0e347b7f7699627140beedb21264f8f6b08a6ba074b27ca1ac7d036418858B028fca51a407e63df8c0d2be77df6a75103517af5e11b7d55244d2610dbb750c002 +@007f4eb11a917a34ed18532157e084265b72580b50d270c3140d6b61b3d71964B023a59d7dc8fdb953a373197f88d224f3fe342b7cd21d456ff0fcd7a07686bd23cB + +@a8b75209ad1b9ed50126907cd156bb71d0466d21316b4773db08bdafcf021b6f""13qtjqD2Gy5dcazknkvcU56BVgUwptj3aw"UOP_DUP OP_HASH160 1f2f68262072b5c1803b036de3ea65ca17dbcbe3 OP_EQUALVERIFY OP_CHECKSIG*276a9141f2f68262072b5c1803b036de3ea65ca17dbcbe388ac*"13qtjqD2Gy5dcazknkvcU56BVgUwptj3aw8$J  +@a8b75209ad1b9ed50126907cd156bb71d0466d21316b4773db08bdafcf021b6f""12cDoChM9Zge6y9NzhzoPWwxFNhoDrfmtj"UOP_DUP OP_HASH160 11a15dd285d2237e5e839293243a0de3839fd1ee OP_EQUALVERIFY OP_CHECKSIG*276a91411a15dd285d2237e5e839293243a0de3839fd1ee88ac*"12cDoChM9Zge6y9NzhzoPWwxFNhoDrfmtj8$J  +Z@a8b75209ad1b9ed50126907cd156bb71d0466d21316b4773db08bdafcf021b6f""1Ni5LUdRs9GaxTgfCJmz56GfZemgma2cLs"UOP_DUP OP_HASH160 ee1f50b345dc21512b8ee2aaeb91156950ff69c2 OP_EQUALVERIFY OP_CHECKSIG*276a914ee1f50b345dc21512b8ee2aaeb91156950ff69c288ac*"1Ni5LUdRs9GaxTgfCJmz56GfZemgma2cLs8$J ;6$-@0000000000000000000dfb018e670b44d1aafafc75da68cd44c3675ecd02ec12"@00000000000000000019b6033fe3109b877992d58fa94cead060b0ede3a35f2d25 + + +1@b11977b0b1577ed74771d757e8f31e904fae4e8c5b5e8ef7d8684d88690938b6$"@0000000000000000000dfb018e670b44d1aafafc75da68cd44c3675ecd02ec12(-2 +@5eeb00aa0df81a196b3e2c41693ba0017dc11e771f44f52285e754fd5646a98aB0285c47366e3bd0bf6283590eef2f320afa4975ce39ceb47f9120a78278889b00f2 +@ce0143f1468f074d48bb1667734d90c0d1e0b49dd315c6c15930302fb002345fB03f31e2886063aff4797be49c0b7c8381bfe317be2171fadddbd2c11d613894cd4B +@b11977b0b1577ed74771d757e8f31e904fae4e8c5b5e8ef7d8684d88690938b6""1GmccAgAycfqGnsjoikTius6FPmGSgDywT"UOP_DUP OP_HASH160 acf9e967acc3284e378f678f313713d8a51368d0 OP_EQUALVERIFY OP_CHECKSIG*276a914acf9e967acc3284e378f678f313713d8a51368d088ac*"1GmccAgAycfqGnsjoikTius6FPmGSgDywT8$J  +d@b11977b0b1577ed74771d757e8f31e904fae4e8c5b5e8ef7d8684d88690938b6""19QSAfDX4ZYHvjq59nPfQybEPWSNUkJBpa"UOP_DUP OP_HASH160 5c2f94d3ac5506fa41a546cd072bc4d935a55aa3 OP_EQUALVERIFY OP_CHECKSIG*276a9145c2f94d3ac5506fa41a546cd072bc4d935a55aa388ac*"19QSAfDX4ZYHvjq59nPfQybEPWSNUkJBpa8$J  +@b11977b0b1577ed74771d757e8f31e904fae4e8c5b5e8ef7d8684d88690938b6""17qCQ5XnJdmTkyHPY2hrPr8fkHP8kEGdaq"UOP_DUP OP_HASH160 4aee3c403b872af897d048f6510fb861c5afb3f3 OP_EQUALVERIFY OP_CHECKSIG*276a9144aee3c403b872af897d048f6510fb861c5afb3f388ac*"17qCQ5XnJdmTkyHPY2hrPr8fkHP8kEGdaq8$J  + +1@e355ccecc3998932fcff0f1e6cebd8262c43e328a38418854933879adf63c41c$"@0000000000000000000dfb018e670b44d1aafafc75da68cd44c3675ecd02ec12(-2 +@3f9259d57b8aea5ee391423da2ee49295bd78eb691a682d4ee8961586b5ed28aB0285c47366e3bd0bf6283590eef2f320afa4975ce39ceb47f9120a78278889b00f2 +@141ac85628f1db2a6fb39c2d9f0f1becb88f717df3cdeea22263a5cf69332096B02625e0153acd35f8a61ada7cec55ac6ebdd6cfc822cc04a7da1ab7c68e4bc11ef2 +@411ee3fd1c98d94df208149bf8158d2d5b10a00301c65141a10edb53621e779eB03ffe2c5e8e89e1b4529fb2a3f04a4d991d5677f5b77566e10ce075d82721e57b62 +@d6e4a7724ba725b8f538e175b3a28c6b5b6b70300705d11a80005a12b718c163B031b1016cb4cebd56e9b8666834387fe5010c22f59b8f88020f6bf80ea8613c8ce2 +@b5a0a660d2aa537f5e1e7f3cfbb17f4ffc03d9052d03a77cb03c46acf8032082B0378e7d445bca30ef70ee451bb89a4eedd2871da194f45e1f1348ebc498d952d132 +@1ddf2a68593a057c73bfcdd87121531be86f5ba0ac3b579b226601fbcba9e8aeB03f7fed72d72d468362d66776851f5fd4ef5f00d47d7a5c39251d11616f8bd49962 +@f6758575086a99b56211b4d4cfd3b1c2ea989e0d77995af1d2957a97b2303354B023c3b75533be1b6a842da626b86ee66134ebe53345b96ee09d2fa2c7e7de8a3912 +@b11977b0b1577ed74771d757e8f31e904fae4e8c5b5e8ef7d8684d88690938b6B03c4759a3dc0cb05366dbc9ed9b87ee5dfc52af4dc83360155df0dd0dda110678dB +@@e355ccecc3998932fcff0f1e6cebd8262c43e328a38418854933879adf63c41c""1N5L2MZGBPfRASMERcuux9xsQJ7FNimeRg"UOP_DUP OP_HASH160 e72c2f695625f3c34664a7381a85ecf7e1e9f05a OP_EQUALVERIFY OP_CHECKSIG*276a914e72c2f695625f3c34664a7381a85ecf7e1e9f05a88ac*"1N5L2MZGBPfRASMERcuux9xsQJ7FNimeRg8$J  +d@e355ccecc3998932fcff0f1e6cebd8262c43e328a38418854933879adf63c41c""1Cbn92CMHKUgyQQ2S637vfv1fnw51YCH6E"UOP_DUP OP_HASH160 7f3d34b3a92658baa202d64622365054dca9dd80 OP_EQUALVERIFY OP_CHECKSIG*276a9147f3d34b3a92658baa202d64622365054dca9dd8088ac*"1Cbn92CMHKUgyQQ2S637vfv1fnw51YCH6E8$J  +@e355ccecc3998932fcff0f1e6cebd8262c43e328a38418854933879adf63c41c""1H5rNhoLt8nPFXnkDLnG5HJijdBAYaCH77"UOP_DUP OP_HASH160 b06ce453043d49d614b74cab680c48c7a2bca51c OP_EQUALVERIFY OP_CHECKSIG*276a914b06ce453043d49d614b74cab680c48c7a2bca51c88ac*"1H5rNhoLt8nPFXnkDLnG5HJijdBAYaCH778$J  + +1@47a4d6e74c512bce032dcccc405dde33e0bfee9f2ab866cc753f685a444b04d6$"@0000000000000000000dfb018e670b44d1aafafc75da68cd44c3675ecd02ec12(-2 +@eabc3a6f575f6151c24079adae97004e7f4c628233d1d11a505bfd745c41f7c8B0257b1daa576b822c0d757585e97b3e0945a31811baa195f9a8b8632e160e7ad582 +@b37da7e78088e3a681da47ff82681d45deddf53e753e3921f3ec655375331072B02e255daa0d276ce5551e0cd5b0b4dd81384258e328c80fe2082912bf040bbbbbf2 +@cb27485e65d14c2eac3e2600b838de78ebc5596c34d114a3f2a0863192804786B030e2d31df548ba6ee8250fe2a5f129ceac655feb42e431a1aa0d369cfb54757732 +@69a11b2cee6ec12bdc69d86344504df3a7bc25a52000bbfec961dd6578234209B0364639fc296c4d151b2e11c2ecf1b8abe89727a23bd19aca82c56d2633485b73d2 +@2c57a8c60475dbcdd9db226058edf80be6eefed203d6c05c363e35c4554660b1B02612c8fc87b40691a03c3ab5fd8592175cae49662b9441e33284a38d2ba308b1cB +ݨ@47a4d6e74c512bce032dcccc405dde33e0bfee9f2ab866cc753f685a444b04d6""1Euxt9nfN1JjQ1eQwmYKfBzLZgk8WEdCaC"UOP_DUP OP_HASH160 989de9bfbbe1950a5976740f4515e0d7419e74cd OP_EQUALVERIFY OP_CHECKSIG*276a914989de9bfbbe1950a5976740f4515e0d7419e74cd88ac*"1Euxt9nfN1JjQ1eQwmYKfBzLZgk8WEdCaC8$J  +@47a4d6e74c512bce032dcccc405dde33e0bfee9f2ab866cc753f685a444b04d6""12zL4xZwxKvit8Z9cEER4k6AWZPffEwwxi"UOP_DUP OP_HASH160 15cfc0c2d8124ed008904c0fdb5118b114d4fce7 OP_EQUALVERIFY OP_CHECKSIG*276a91415cfc0c2d8124ed008904c0fdb5118b114d4fce788ac*"12zL4xZwxKvit8Z9cEER4k6AWZPffEwwxi8$J  +ո@47a4d6e74c512bce032dcccc405dde33e0bfee9f2ab866cc753f685a444b04d6""1DaQRAgH9t2aTuvJK8xnnNRUgsJhjyM7KY"UOP_DUP OP_HASH160 89f2c88ca2d3d57f1a47b8edd60d40e07c2f45a6 OP_EQUALVERIFY OP_CHECKSIG*276a91489f2c88ca2d3d57f1a47b8edd60d40e07c2f45a688ac*"1DaQRAgH9t2aTuvJK8xnnNRUgsJhjyM7KY8$J  + +1@ddd832e8d2ecf2ef26085a457b20d95d50cfa59a440c245537f46ee5390e462c$"@0000000000000000000dfb018e670b44d1aafafc75da68cd44c3675ecd02ec12(-2 +@0d8fa3abeffa5f7ab63e4da0cf37c38a1afc6830defe44b9c5603ac025853561B03129b455f8c67a8e511fccc8314655383cbf1d7e267ced0be61fd11ca4489cc442 +@e355ccecc3998932fcff0f1e6cebd8262c43e328a38418854933879adf63c41cB02822d38219939768dcc9bfa7e125fb95c825de4d734ae8c18181695bfd16de4ef2 +@e355ccecc3998932fcff0f1e6cebd8262c43e328a38418854933879adf63c41cB0217c8e44a23af56b91b471dabee16574087b24169ea94b0d0ce00143645c6fde4B +2@ddd832e8d2ecf2ef26085a457b20d95d50cfa59a440c245537f46ee5390e462c""14k5bR647359b6gVWtxcK7uCi8Fs7K3FiA"UOP_DUP OP_HASH160 290e191a559ac2444ab58a66088e542c9bc46763 OP_EQUALVERIFY OP_CHECKSIG*276a914290e191a559ac2444ab58a66088e542c9bc4676388ac*"14k5bR647359b6gVWtxcK7uCi8Fs7K3FiA8$J  +d@ddd832e8d2ecf2ef26085a457b20d95d50cfa59a440c245537f46ee5390e462c""1NAPwNutvqSrsswHGHpAF7MDdd1LLoX2ZR"UOP_DUP OP_HASH160 e821884c709e88e2e5d840ca315d8a9a7945ce9f OP_EQUALVERIFY OP_CHECKSIG*276a914e821884c709e88e2e5d840ca315d8a9a7945ce9f88ac*"1NAPwNutvqSrsswHGHpAF7MDdd1LLoX2ZR8$J  +w@ddd832e8d2ecf2ef26085a457b20d95d50cfa59a440c245537f46ee5390e462c""1NMQxvc8ogdubNqUDVCDAbpx2yf4xWMsZE"UOP_DUP OP_HASH160 ea36f70af6a510ff505fae4afdc3a763a76cb538 OP_EQUALVERIFY OP_CHECKSIG*276a914ea36f70af6a510ff505fae4afdc3a763a76cb53888ac*"1NMQxvc8ogdubNqUDVCDAbpx2yf4xWMsZE8$J $Ȕ-@00000000000000000006af51f2de3b07589af6d880a1ea2640ca13dc2d435107"@0000000000000000000dfb018e670b44d1aafafc75da68cd44c3675ecd02ec122$ʘ-@00000000000000000011af0defe48b8c45918425feb2df22e61ab1e302f5fe0d"@00000000000000000006af51f2de3b07589af6d880a1ea2640ca13dc2d4351072$؜ɟ-@00000000000000000003f7fe3396db95fb824787ee9dd77de56ce5124e7a7514"@00000000000000000011af0defe48b8c45918425feb2df22e61ab1e302f5fe0d2$-@0000000000000000000d3c45991b275e2a8e92f108ec67d9a12365f435ebe09b"@00000000000000000003f7fe3396db95fb824787ee9dd77de56ce5124e7a75142 + +1@182d702948b5d3c4a1ddcdc24ec850d8699b05003f03527eecaec319b9ffc449$"@0000000000000000000d3c45991b275e2a8e92f108ec67d9a12365f435ebe09b(-2 +@4099eac2e6cb21e5bd4c87f860c73fb407d8c7f0bee842bee9bb6974eeb94e40B024636186f1b9fede91982fb346f473eab4021b21f75923d2614ff1c10832f9a942 +@8ddb3fab5cef669866cf20a4df7569bbd63b5bf1a271f1b73152c43d02226553B036ca5faa97bc09552359401746ea253929cf9d8df09eaf903d980880f9b2d20d2B +@182d702948b5d3c4a1ddcdc24ec850d8699b05003f03527eecaec319b9ffc449""141zt7ZN4gM4qi2eL7wGGVhnuuSb6dB892"UOP_DUP OP_HASH160 2118b1b6af513c06c0a8c6c732cd6d3e8dddd9f4 OP_EQUALVERIFY OP_CHECKSIG*276a9142118b1b6af513c06c0a8c6c732cd6d3e8dddd9f488ac*"141zt7ZN4gM4qi2eL7wGGVhnuuSb6dB8928$J  +\@182d702948b5d3c4a1ddcdc24ec850d8699b05003f03527eecaec319b9ffc449""1PS26y6racaKtUc2kGwdQdE3eWYxGYUzGC"UOP_DUP OP_HASH160 f60e1640f7cfbeba96240a6656e38ee64a409eb8 OP_EQUALVERIFY OP_CHECKSIG*276a914f60e1640f7cfbeba96240a6656e38ee64a409eb888ac*"1PS26y6racaKtUc2kGwdQdE3eWYxGYUzGC8$J & + +1@f51816388631f12685bb93d7a6044121b74bb851a312a36f46a8cc75481fc8b2$"@0000000000000000000d3c45991b275e2a8e92f108ec67d9a12365f435ebe09b(-2 +@182d702948b5d3c4a1ddcdc24ec850d8699b05003f03527eecaec319b9ffc449B03a72d74fcea339d3e5ca18e1f9ed6f42063bf8d48069884979f285fd30f4dceec2 +@16a25539fe1fa0a483fbe4b335e893b2689a618f13111a3fdc9a61a7148a0a43B03888ad7e0707fcd36307cc0a57b0ea841e5ddc5afd466bb8e6997b2a1727dd1dbB +К@f51816388631f12685bb93d7a6044121b74bb851a312a36f46a8cc75481fc8b2""16aUQ6i1NXyNJs5Yjvt2fmkkadQJosZCEq"UOP_DUP OP_HASH160 3d2d3a001568753599e6c1cb923c602c1988119b OP_EQUALVERIFY OP_CHECKSIG*276a9143d2d3a001568753599e6c1cb923c602c1988119b88ac*"16aUQ6i1NXyNJs5Yjvt2fmkkadQJosZCEq8$J  +\@f51816388631f12685bb93d7a6044121b74bb851a312a36f46a8cc75481fc8b2""1LYzPnb2dA2ahaxKJLDqvQ4potsbAmE3jk"UOP_DUP OP_HASH160 d67731a0835525ad2ee223d47249f79405276bf6 OP_EQUALVERIFY OP_CHECKSIG*276a914d67731a0835525ad2ee223d47249f79405276bf688ac*"1LYzPnb2dA2ahaxKJLDqvQ4potsbAmE3jk8$J &/$к-@0000000000000000000dffb24943ceac35a2a7c15a71bc5dbd5f1f66f1ac1e6c"@0000000000000000000d3c45991b275e2a8e92f108ec67d9a12365f435ebe09b2- + + +1@f9145d60ca0834d5570c2b17e1037cc3a5a41d18f203ff805a3552e76cb3294f$"@0000000000000000000dffb24943ceac35a2a7c15a71bc5dbd5f1f66f1ac1e6c(к-2 +@6584f49f6c5b850b76fdc804f05c93e21eb6dd8c7530074c676fc63668138074B03ca63443725103b2fdf5b09930920ec565b15638e121e94d22d8f99bafadbbe682 +@6584f49f6c5b850b76fdc804f05c93e21eb6dd8c7530074c676fc63668138074B03a4903403b21bf7d61c23a427d3551aa02416ce1a612c0d05e13c286c6265d572B +R@f9145d60ca0834d5570c2b17e1037cc3a5a41d18f203ff805a3552e76cb3294f""114WQfuVnWgqwWMK3uKwNDmMQE46jyK6pA"UOP_DUP OP_HASH160 00a9cbea60805382efd22960d66134aba6d015e6 OP_EQUALVERIFY OP_CHECKSIG*276a91400a9cbea60805382efd22960d66134aba6d015e688ac*"114WQfuVnWgqwWMK3uKwNDmMQE46jyK6pA8$J  +[@f9145d60ca0834d5570c2b17e1037cc3a5a41d18f203ff805a3552e76cb3294f""1BubdFednT7W9aJ4hHnScZ8WQa1XWAmcj2"UOP_DUP OP_HASH160 77a3ca9805ea960c5be2c8e623a1f3d0cc2e6d8c OP_EQUALVERIFY OP_CHECKSIG*276a91477a3ca9805ea960c5be2c8e623a1f3d0cc2e6d8c88ac*"1BubdFednT7W9aJ4hHnScZ8WQa1XWAmcj28$J  +М@f9145d60ca0834d5570c2b17e1037cc3a5a41d18f203ff805a3552e76cb3294f""1EKdmtarMC8mFapSpJtxozYyJM9u4ZuZRJ"UOP_DUP OP_HASH160 921fd1e1df799555cd419cd9a4a606e585ab2e03 OP_EQUALVERIFY OP_CHECKSIG*276a914921fd1e1df799555cd419cd9a4a606e585ab2e0388ac*"1EKdmtarMC8mFapSpJtxozYyJM9u4ZuZRJ8$J  + +1@792c622a3d7d9161a2ea013d147fb85bedcc87bdff5842008fce350788080aa8$"@0000000000000000000dffb24943ceac35a2a7c15a71bc5dbd5f1f66f1ac1e6c(к-2 +@f9145d60ca0834d5570c2b17e1037cc3a5a41d18f203ff805a3552e76cb3294fB02e42e8680ca35bade17200725831c00f7b4444cd484a6bbbeb07fc7f427493f152 +@0d902f57ea4a6a5feed4e59208cd9d76d37e699a1ce5714274260904b97a178cB02c462af256f271f9529e65ed20473e7eb14e84677ee1bf5ac8c57a32351897b5a2 +@a41da627901e82ebb921d1811dfa5844453c4df4e187e5c84ee83cce4cc6d5bdB0308ac8647a42b721c15ba22e1c93dcbdb091ed5df06bf0f17de0117cbbe5173fe2 +@f0755c1920607957068f1d4d4f8410bd03a1c46adeec3dcf64bb01f96ca069b3B028dedb07848f2ae54ad99a92c31e6d301c80af161a17646219f59f8347325da032 +@f9145d60ca0834d5570c2b17e1037cc3a5a41d18f203ff805a3552e76cb3294fB03be1502a25934e7cd3d1bed394601073bf188a0facff99988c32607360d5687a1B +R@792c622a3d7d9161a2ea013d147fb85bedcc87bdff5842008fce350788080aa8""1LH2M9SkbxNf8FdTbEtpaSPAdueGoh22CQ"UOP_DUP OP_HASH160 d3722b83e476a351354a6a0bcac155dd201d9c4d OP_EQUALVERIFY OP_CHECKSIG*276a914d3722b83e476a351354a6a0bcac155dd201d9c4d88ac*"1LH2M9SkbxNf8FdTbEtpaSPAdueGoh22CQ8$J  +[@792c622a3d7d9161a2ea013d147fb85bedcc87bdff5842008fce350788080aa8""1Gu7jdZMKErSbjcfGWuuD7NeZXnLqRPgr3"UOP_DUP OP_HASH160 ae65238ceaff143e2bd2cc210c3c861f5fcc7f54 OP_EQUALVERIFY OP_CHECKSIG*276a914ae65238ceaff143e2bd2cc210c3c861f5fcc7f5488ac*"1Gu7jdZMKErSbjcfGWuuD7NeZXnLqRPgr38$J  +@792c622a3d7d9161a2ea013d147fb85bedcc87bdff5842008fce350788080aa8""17SJYPd37SdEHMAQc2uYtAXGbagXye6Uyi"UOP_DUP OP_HASH160 4699cbe183f2afcb82a3bbda31ff385f23496884 OP_EQUALVERIFY OP_CHECKSIG*276a9144699cbe183f2afcb82a3bbda31ff385f2349688488ac*"17SJYPd37SdEHMAQc2uYtAXGbagXye6Uyi8$J  + + +1@0aa1418b3bee5cea15d7b41a9d7d0b617d88777f2d9e60a371c0a0672896662f$"@0000000000000000000dffb24943ceac35a2a7c15a71bc5dbd5f1f66f1ac1e6c(к-2 +@792c622a3d7d9161a2ea013d147fb85bedcc87bdff5842008fce350788080aa8B02756079ebe2999d5dd5aa4a5d90cd1b4100793e360b4bd86fe7e6289ca28314ea2 +@792c622a3d7d9161a2ea013d147fb85bedcc87bdff5842008fce350788080aa8B02bcd93dfbc1668f007a581976185f6cd2246aa3ffc72143913bba1f39e954eb07B +R@0aa1418b3bee5cea15d7b41a9d7d0b617d88777f2d9e60a371c0a0672896662f""15Qmt2UKE8RWzYJSoZ73a2SoizzKDR9Diu"UOP_DUP OP_HASH160 305f88b31a7e164025b3c9871da668407b3d9366 OP_EQUALVERIFY OP_CHECKSIG*276a914305f88b31a7e164025b3c9871da668407b3d936688ac*"15Qmt2UKE8RWzYJSoZ73a2SoizzKDR9Diu8$J  +[@0aa1418b3bee5cea15d7b41a9d7d0b617d88777f2d9e60a371c0a0672896662f""1C6WVeR4ZmbT5tHiR5PEy9EHJ9m77Eqnt7"UOP_DUP OP_HASH160 79b4156c33c78ca57b2b1cdc66db3db232cf350e OP_EQUALVERIFY OP_CHECKSIG*276a91479b4156c33c78ca57b2b1cdc66db3db232cf350e88ac*"1C6WVeR4ZmbT5tHiR5PEy9EHJ9m77Eqnt78$J  +@0aa1418b3bee5cea15d7b41a9d7d0b617d88777f2d9e60a371c0a0672896662f""1FYoxT8xSWb4Q8a5h1ucmQZFdybFhWoFyy"UOP_DUP OP_HASH160 9f95da4bf01abc448468b5d08b5d051c3aed8721 OP_EQUALVERIFY OP_CHECKSIG*276a9149f95da4bf01abc448468b5d08b5d051c3aed872188ac*"1FYoxT8xSWb4Q8a5h1ucmQZFdybFhWoFyy8$J  + + +1@96069a040a1a32506d7003d96e680fa716c924cdc768627c411820a109a7998b$"@0000000000000000000dffb24943ceac35a2a7c15a71bc5dbd5f1f66f1ac1e6c(к-2 +@2071ee8c654f2cd142d7b963a550e3ab687c0acf96cabadcefa0636280ac2478B027f3e525e2f4d17e00daa6db89ba58817ebec0a74297e141d7c487d5c6d529c362 +@441ad03099d157912646e6092bf50fe00ec9c35cf39603445870099b2d3a5debB02908ba456dfe96ded22942272eda12f18e2704a8790741ccc2ac8bb148234aac1B +u@96069a040a1a32506d7003d96e680fa716c924cdc768627c411820a109a7998b""18Ga5byxYTPahmgKdYFVN4rDvqAD22T5Hk"UOP_DUP OP_HASH160 4fbabbb16e649867c1cbc520ee92017aebe59f11 OP_EQUALVERIFY OP_CHECKSIG*276a9144fbabbb16e649867c1cbc520ee92017aebe59f1188ac*"18Ga5byxYTPahmgKdYFVN4rDvqAD22T5Hk8$J  +@96069a040a1a32506d7003d96e680fa716c924cdc768627c411820a109a7998b""18mpbHAESGomKmpBKrUUCyBjykpGzA4hv1"UOP_DUP OP_HASH160 5542e8e7589ae3ca6d15d884f298ed9b0fb3fd49 OP_EQUALVERIFY OP_CHECKSIG*276a9145542e8e7589ae3ca6d15d884f298ed9b0fb3fd4988ac*"18mpbHAESGomKmpBKrUUCyBjykpGzA4hv18$J  +@96069a040a1a32506d7003d96e680fa716c924cdc768627c411820a109a7998b""1CbLbDqK6y4uCXxGzDcajhKRTd7S2TFfVL"UOP_DUP OP_HASH160 7f27e11675dde5201de422432e2f222426810b03 OP_EQUALVERIFY OP_CHECKSIG*276a9147f27e11675dde5201de422432e2f222426810b0388ac*"1CbLbDqK6y4uCXxGzDcajhKRTd7S2TFfVL8$J $-@00000000000000000013858155c8b350ef9c8551057682c4e2b149a946e51bb5"@0000000000000000000dffb24943ceac35a2a7c15a71bc5dbd5f1f66f1ac1e6c2 $ˠ-@0000000000000000000708b11675752173bed97f4654feb5a84d5fbfc8a68011"@00000000000000000013858155c8b350ef9c8551057682c4e2b149a946e51bb52 + + + +1@3d6e2609d8a3347874d83e738423e9ac653655e2288a6d67df1f54adf3579437$"@0000000000000000000708b11675752173bed97f4654feb5a84d5fbfc8a68011(ˠ-2 +@9fa403c66bed04e9e3f4e08d779968527d3fbc316a976fabffb67884ca970c01B027f3e525e2f4d17e00daa6db89ba58817ebec0a74297e141d7c487d5c6d529c362 +@507b326c0cfbfff82aa32ba04f5c5eb47e5dea22c9ed603236e7a19f037ddd70B02d448a5117ee641bba612d00af8e124e1010c3c486142eea833ddafc0c83b8761B +@3d6e2609d8a3347874d83e738423e9ac653655e2288a6d67df1f54adf3579437""16xPzJeA3nFHNa9TPkJ1NiWshjeLC6JDft"UOP_DUP OP_HASH160 4152b23c7cc7e9a4758bdc5d843c3c950a6ee440 OP_EQUALVERIFY OP_CHECKSIG*276a9144152b23c7cc7e9a4758bdc5d843c3c950a6ee44088ac*"16xPzJeA3nFHNa9TPkJ1NiWshjeLC6JDft8$J  +V@3d6e2609d8a3347874d83e738423e9ac653655e2288a6d67df1f54adf3579437""1GeyBUjxEVx2xDiWt6egzDKWTVRczJjv9L"UOP_DUP OP_HASH160 abb82cb255e76cf627556be36e725fbba71223ba OP_EQUALVERIFY OP_CHECKSIG*276a914abb82cb255e76cf627556be36e725fbba71223ba88ac*"1GeyBUjxEVx2xDiWt6egzDKWTVRczJjv9L8$J  +@3d6e2609d8a3347874d83e738423e9ac653655e2288a6d67df1f54adf3579437""1MFygzTirQDpUuwuZhZmgYNvZUubuqxJa3"UOP_DUP OP_HASH160 de37a940fb57a21782e275a3a09c563343a6648a OP_EQUALVERIFY OP_CHECKSIG*276a914de37a940fb57a21782e275a3a09c563343a6648a88ac*"1MFygzTirQDpUuwuZhZmgYNvZUubuqxJa38$J  ˜$-@0000000000000000001620111f552fd2f586e43e28cf48d38e4cf05e32728b50"@0000000000000000000708b11675752173bed97f4654feb5a84d5fbfc8a680112 + + + +1@d6ab19178ef9194aa40934b4731b91563363388d82944a790f3b0ca67b2d9cdd˜$"@0000000000000000001620111f552fd2f586e43e28cf48d38e4cf05e32728b50(-2 +@4aabb449fafbc65f4319d6f56dbdb50535bd6742d3d62b80bc86fc98e636a3f2B0323065a7d263007e3b48852f17f5c327ff0b2396b0f4e69f1d8ed4b78203540fe2 +@70a4a81035a54f4f1bf61358530cb7e060168a993b31f7dc72bc339b9df7b70fB02b6941e2e00ca2e400b5243bebec2c0de6ee84fbdb92fbd84b7da87ae02b5a43aB +5@d6ab19178ef9194aa40934b4731b91563363388d82944a790f3b0ca67b2d9cdd""15UWxWVvWAHBna3expbcFqQ3VHpQ7AD5t5"UOP_DUP OP_HASH160 3114bdb132974dafa061adc049783a302f1d82fc OP_EQUALVERIFY OP_CHECKSIG*276a9143114bdb132974dafa061adc049783a302f1d82fc88ac*"15UWxWVvWAHBna3expbcFqQ3VHpQ7AD5t58˜$J  +[@d6ab19178ef9194aa40934b4731b91563363388d82944a790f3b0ca67b2d9cdd""1AGYUXSmCzqBx7HYn477dwwPDaTvXmvRiQ"UOP_DUP OP_HASH160 65a9a5270184329f223e2c62025a304248a0a220 OP_EQUALVERIFY OP_CHECKSIG*276a91465a9a5270184329f223e2c62025a304248a0a22088ac*"1AGYUXSmCzqBx7HYn477dwwPDaTvXmvRiQ8˜$J  +_@d6ab19178ef9194aa40934b4731b91563363388d82944a790f3b0ca67b2d9cdd""17F1r3MvMF4SUouqXXi16ASnv57fu9GaGL"UOP_DUP OP_HASH160 447748b2ead194b1d7fb787e73945a30af73ba18 OP_EQUALVERIFY OP_CHECKSIG*276a914447748b2ead194b1d7fb787e73945a30af73ba1888ac*"17F1r3MvMF4SUouqXXi16ASnv57fu9GaGL8˜$J   Ø$펡-@0000000000000000000d54c7199ac22b1314fc31f83947a002cd8cdc5b754f26"@0000000000000000001620111f552fd2f586e43e28cf48d38e4cf05e32728b502 + +1@04f401bdc7b3e40fc7f74a8a79cda1d71690e69a165e3e928d33500a73d52b79Ø$"@0000000000000000000d54c7199ac22b1314fc31f83947a002cd8cdc5b754f26(펡-2 +@d442e91d02b9efe2cedd612d953b136a786e597dfc5ecb302770864f159a45dcB03bf4474f621dff6f22b68b02caf8fbe02220148eaae132f2b7110673fa2a9734d2 +@5f2c5651dba1cf9dbd27c46f274dfefd38867508ebb28ab3b748c4384ab2898eB02de965f9e44d3df291f9826e240f58bf1135d984d28e98c32a9f386398a6b56ce2 +@b930f69385d37d68324f171537932be8a3aa0100b130ac318ffa04e5c94cf159B038f037dc2a5cdc8df32e4ffd06bb7bf8b3cc0bfd49868428909d59ef4534e911eB +.@04f401bdc7b3e40fc7f74a8a79cda1d71690e69a165e3e928d33500a73d52b79""1HmUp7jaZ6L9N99sALEMQVbg66PjK61g5E"UOP_DUP OP_HASH160 b7eb880c40d5c7586203d657fdd7a79866ff50d3 OP_EQUALVERIFY OP_CHECKSIG*276a914b7eb880c40d5c7586203d657fdd7a79866ff50d388ac*"1HmUp7jaZ6L9N99sALEMQVbg66PjK61g5E8Ø$J  +[@04f401bdc7b3e40fc7f74a8a79cda1d71690e69a165e3e928d33500a73d52b79""1Ehtp78YpSAySSVgsEEtYt1LNf7bsayvib"UOP_DUP OP_HASH160 9655863731af5ed12395e606850c2c979b7c29ba OP_EQUALVERIFY OP_CHECKSIG*276a9149655863731af5ed12395e606850c2c979b7c29ba88ac*"1Ehtp78YpSAySSVgsEEtYt1LNf7bsayvib8Ø$J  +@04f401bdc7b3e40fc7f74a8a79cda1d71690e69a165e3e928d33500a73d52b79""1DDkVjyZwBLCEpqReztzwbtCBtveFumENi"UOP_DUP OP_HASH160 860acf2710e7aa764432a620f95ff41c72b3314d OP_EQUALVERIFY OP_CHECKSIG*276a914860acf2710e7aa764432a620f95ff41c72b3314d88ac*"1DDkVjyZwBLCEpqReztzwbtCBtveFumENi8Ø$J  Ę$գ-@0000000000000000000358b3fb5a3fd545a1dfadfbb5d1fc05618008fa4293e4"@0000000000000000000d54c7199ac22b1314fc31f83947a002cd8cdc5b754f262Ř$ߡ-@00000000000000000012a1816279a8f51d859168e37893b7106c127fb9c6e31b"@0000000000000000000358b3fb5a3fd545a1dfadfbb5d1fc05618008fa4293e42 + + +1@4abdc08e030b028a16277d87a9d915bf1b0f32b0bc2ceebb99064dfb31158828Ř$"@00000000000000000012a1816279a8f51d859168e37893b7106c127fb9c6e31b(ߡ-2 +@cd0f1c24dc7ab4dcfd4f7fd02413b891aeda6984ebc4bb146e5f93a967cfd6aaB0291f444969e818ea91717324c93c9b8a81dc7b90a91b4ee532a7bd1eb430d2b452 +@6dd92c022a1bc456a945f55b59c669d468b8df76a4bc4188a5872eceb9d12d06B03defa158a26aa7b077637bbec6f5226e72c9d426dfbb56f043df05901b5bd4814B +u@4abdc08e030b028a16277d87a9d915bf1b0f32b0bc2ceebb99064dfb31158828""1LGzX3u8wR9nxYZZiqN3PQuoBy3EPDrR7y"UOP_DUP OP_HASH160 d370a49c828070095491468a20d6250e15b53ccc OP_EQUALVERIFY OP_CHECKSIG*276a914d370a49c828070095491468a20d6250e15b53ccc88ac*"1LGzX3u8wR9nxYZZiqN3PQuoBy3EPDrR7y8Ř$J  + @4abdc08e030b028a16277d87a9d915bf1b0f32b0bc2ceebb99064dfb31158828""1CSZSdRyb8HMKqxe7WwkYxEzK97AKqVvjH"UOP_DUP OP_HASH160 7d7edd2011b816682d60ac3a273c08f4b9951788 OP_EQUALVERIFY OP_CHECKSIG*276a9147d7edd2011b816682d60ac3a273c08f4b995178888ac*"1CSZSdRyb8HMKqxe7WwkYxEzK97AKqVvjH8Ř$J  +@4abdc08e030b028a16277d87a9d915bf1b0f32b0bc2ceebb99064dfb31158828""1BFxoMjkhDzgEbzCMWE7FNmUK4H2wKFZwp"UOP_DUP OP_HASH160 7085a901f24b664ab42940138670523a6785b5c3 OP_EQUALVERIFY OP_CHECKSIG*276a9147085a901f24b664ab42940138670523a6785b5c388ac*"1BFxoMjkhDzgEbzCMWE7FNmUK4H2wKFZwp8Ř$J  + +1@354b3c664050a65185f4f65debc797de9f4155e8661ef278ca754d1bfde42f59Ř$"@00000000000000000012a1816279a8f51d859168e37893b7106c127fb9c6e31b(ߡ-2 +@3d6e2609d8a3347874d83e738423e9ac653655e2288a6d67df1f54adf3579437B02cdae174fdc80dcc380fc6ab3a818bd69225bd90f4ede95e94d6de4620d3d47ce2 +@773b4fd88d8c110edf5922d223fd3fc1e741f6218ee493c91069faf2a8ed505cB026f749c73e377859a493ef87affdf95dccac0af11f52f5380b8e5186e9baf76d0B +@354b3c664050a65185f4f65debc797de9f4155e8661ef278ca754d1bfde42f59""1FJgeXykNoKh8j1ch7ewWPHtbuJu11woD7"UOP_DUP OP_HASH160 9ce9ed973cc3dd9af4cb7110c190fc0f03eb7b0b OP_EQUALVERIFY OP_CHECKSIG*276a9149ce9ed973cc3dd9af4cb7110c190fc0f03eb7b0b88ac*"1FJgeXykNoKh8j1ch7ewWPHtbuJu11woD78Ř$J  + @354b3c664050a65185f4f65debc797de9f4155e8661ef278ca754d1bfde42f59""1FJgeXykNoKh8j1ch7ewWPHtbuJu11woD7"UOP_DUP OP_HASH160 9ce9ed973cc3dd9af4cb7110c190fc0f03eb7b0b OP_EQUALVERIFY OP_CHECKSIG*276a9149ce9ed973cc3dd9af4cb7110c190fc0f03eb7b0b88ac*"1FJgeXykNoKh8j1ch7ewWPHtbuJu11woD78Ř$J   +m@354b3c664050a65185f4f65debc797de9f4155e8661ef278ca754d1bfde42f59""16h4a15zsfASB6MfJ51ysBsfwDaJ9Y9toB"UOP_DUP OP_HASH160 3e6c3f236b9fb52be5dac93739f2aa665b692989 OP_EQUALVERIFY OP_CHECKSIG*276a9143e6c3f236b9fb52be5dac93739f2aa665b69298988ac*"16h4a15zsfASB6MfJ51ysBsfwDaJ9Y9toB8Ř$J  +@354b3c664050a65185f4f65debc797de9f4155e8661ef278ca754d1bfde42f59"l"6OP_RETURN 1101bb9ef13a7ac524306bda565eaa5b7c59e873a625*06a161101bb9ef13a7ac524306bda565eaa5b7c59e873a6252:z$0kV^[|Ys%8Ř$J Ƙ$ߡ-@0000000000000000000b49cd2f3478450dbf04138ef4417a503cceec9c8b17ed"@00000000000000000012a1816279a8f51d859168e37893b7106c127fb9c6e31b2ǘ$-@0000000000000000000a2e05964a6e9e8b74595606c6ebee7bf3f9cec9fd15c6"@0000000000000000000b49cd2f3478450dbf04138ef4417a503cceec9c8b17ed2Ș$-@0000000000000000001197f6a440803a816a7dc4297671de89dffe5198746f42"@0000000000000000000a2e05964a6e9e8b74595606c6ebee7bf3f9cec9fd15c62ɘ$-@00000000000000000007d61ab813ae5d967eb4e22412f2de97c469024638db08"@0000000000000000001197f6a440803a816a7dc4297671de89dffe5198746f422ʘ$-@00000000000000000008b72d53d0b2507a0e16014dc1cddcc77d769f2fde95a6"@00000000000000000007d61ab813ae5d967eb4e22412f2de97c469024638db082˘$-@00000000000000000006f5bad2d7f736210159a2ee178139767fe9961f8708db"@00000000000000000008b72d53d0b2507a0e16014dc1cddcc77d769f2fde95a62̘$-@0000000000000000000b9fb63975553ff74d012ae0c73d2b0acbc27d82cfae39"@00000000000000000006f5bad2d7f736210159a2ee178139767fe9961f8708db2͘$-@000000000000000000190bce00bf06aaf1a9b7414eb2d5e6caca8618212b0737"@0000000000000000000b9fb63975553ff74d012ae0c73d2b0acbc27d82cfae392Θ$֢-@0000000000000000000ab023851a49539a79e58a86c54222e86083e406a92369"@000000000000000000190bce00bf06aaf1a9b7414eb2d5e6caca8618212b07372Ϙ$ţ-@00000000000000000001958da7eed5153f5beb17e496b06365ee87ac28940cf1"@0000000000000000000ab023851a49539a79e58a86c54222e86083e406a923692 И$쀤-@00000000000000000010723adec9affd363fedf4cde52ac8909c7ca744f5a906"@00000000000000000001958da7eed5153f5beb17e496b06365ee87ac28940cf12 + +1@7cdcb69036b0dec5a1338c873b9ba6fc9b7748b992d4bc636cfb581e4e7ec1efИ$"@00000000000000000010723adec9affd363fedf4cde52ac8909c7ca744f5a906(쀤-2 +@16b98078c3bd9ae259904e184b48e62087e03daeb45eda42446746f0780bfd7aB02e135fabe59158f9543c53d0683edb123cf5c3843798318d213322df53311a16a2 +@20c6cf4a0a011cdd6855c9edcd8ecfc158d287c5c74c059cedd5a28afde24bf2B0375a907c8089d0ae696cdf05d3dcfcedc026cc709f24e2c55d7db59d38eec802fB +ъ@7cdcb69036b0dec5a1338c873b9ba6fc9b7748b992d4bc636cfb581e4e7ec1ef""1FcM1Zwn5AXt9BG7kwxbJkg4MHUk31JteR"UOP_DUP OP_HASH160 a04105e158134158b0e499466833399389bd1b4a OP_EQUALVERIFY OP_CHECKSIG*276a914a04105e158134158b0e499466833399389bd1b4a88ac*"1FcM1Zwn5AXt9BG7kwxbJkg4MHUk31JteR8И$J  +\@7cdcb69036b0dec5a1338c873b9ba6fc9b7748b992d4bc636cfb581e4e7ec1ef""1MPwim4doZwS2ubBFQxNLg7LYxxy9hPadi"UOP_DUP OP_HASH160 dfb95843ea0ab76e30cf0caf6fb03a8d7bd88e41 OP_EQUALVERIFY OP_CHECKSIG*276a914dfb95843ea0ab76e30cf0caf6fb03a8d7bd88e4188ac*"1MPwim4doZwS2ubBFQxNLg7LYxxy9hPadi8И$J & + + +1@d8a2b223b5f72b2d74049a79736d9fbcb6e47d49b4548bf7bf9a11f997a2cab6И$"@00000000000000000010723adec9affd363fedf4cde52ac8909c7ca744f5a906(쀤-2 +@69a11b2cee6ec12bdc69d86344504df3a7bc25a52000bbfec961dd6578234209B020f0dec982de4f96ffcce545c85e9a5117aa6d2b6862f70558658750f5c115a312 +@47a4d6e74c512bce032dcccc405dde33e0bfee9f2ab866cc753f685a444b04d6B037de4f4556fae5d3850e9502fdb74e0d776fb05f337cca071da48c28dc94428d3B +@d8a2b223b5f72b2d74049a79736d9fbcb6e47d49b4548bf7bf9a11f997a2cab6""19M85vbc71GAkhEhuW1PAD8zoLH74tibA2"UOP_DUP OP_HASH160 5b8f3d5bbb4d5f457d84a15b87cae60718a36ed9 OP_EQUALVERIFY OP_CHECKSIG*276a9145b8f3d5bbb4d5f457d84a15b87cae60718a36ed988ac*"19M85vbc71GAkhEhuW1PAD8zoLH74tibA28И$J  + @d8a2b223b5f72b2d74049a79736d9fbcb6e47d49b4548bf7bf9a11f997a2cab6""16uorKTMB1BHou8dJBbxc4wrRZLtjuyJxM"UOP_DUP OP_HASH160 40d55e1b4ca75c4403fcd3d1937cf37c2760c082 OP_EQUALVERIFY OP_CHECKSIG*276a91440d55e1b4ca75c4403fcd3d1937cf37c2760c08288ac*"16uorKTMB1BHou8dJBbxc4wrRZLtjuyJxM8И$J  +@d8a2b223b5f72b2d74049a79736d9fbcb6e47d49b4548bf7bf9a11f997a2cab6""1F8JHtGzsD6LMnW3X8P3Bag1jjX2eQkfQc"UOP_DUP OP_HASH160 9af31b49a7a195d888af28fb4e0eea9374b7612e OP_EQUALVERIFY OP_CHECKSIG*276a9149af31b49a7a195d888af28fb4e0eea9374b7612e88ac*"1F8JHtGzsD6LMnW3X8P3Bag1jjX2eQkfQc8И$J  + +1@599b7979a06de72913c04c53cf248953049d93892942b3135e67ae764ab1b7d0И$"@00000000000000000010723adec9affd363fedf4cde52ac8909c7ca744f5a906(쀤-2 +@4abdc08e030b028a16277d87a9d915bf1b0f32b0bc2ceebb99064dfb31158828B0372a0fd4e990d8a18d3608b3bfad1f4e2612eefc377658e2cda02f7de8336cd462 +@357b377ef0da3758eb02bb9eb5f99dcb35711f26e2c030f9210b7809d8fff44aB03d8f0e6819a8f8834a601d1d9575f6b25f9d8b537aba194fde5750c08722ba21d2 +@2a7e7e7f2c8041eb6c1282b7e5814b247ddf37dd5cbeb0bb9e90e562f4b74bacB033bbe0d747f639ad978a5be181e24be84217b87575bf9eeb50a079dfa74b48b9f2 +@0e16e863afe00890159a5c6966e0ce5a433372212b0e9e51e45ae20755dc34edB0288013b1962b48d1bdfc2b6b043f3077cf99e7b8c4d3d267248fd3d49aea5a9adB + @599b7979a06de72913c04c53cf248953049d93892942b3135e67ae764ab1b7d0""17PmGEeqySa2LiWYT651s3rd5QbjdTBY3X"UOP_DUP OP_HASH160 461edabf9533b5ebbf9ab310fe88fe5407178a11 OP_EQUALVERIFY OP_CHECKSIG*276a914461edabf9533b5ebbf9ab310fe88fe5407178a1188ac*"17PmGEeqySa2LiWYT651s3rd5QbjdTBY3X8И$J  +@599b7979a06de72913c04c53cf248953049d93892942b3135e67ae764ab1b7d0""17Xrw25qEKHhs5XLcdGVyJ5Sp3XTmkgAo6"UOP_DUP OP_HASH160 47a6ea05fabc0a636519fb8398690ce3ceb79084 OP_EQUALVERIFY OP_CHECKSIG*276a91447a6ea05fabc0a636519fb8398690ce3ceb7908488ac*"17Xrw25qEKHhs5XLcdGVyJ5Sp3XTmkgAo68И$J  +k@599b7979a06de72913c04c53cf248953049d93892942b3135e67ae764ab1b7d0""1HUfofEcpd2XvHFwvH2Qi5doSbrD9KEg3X"UOP_DUP OP_HASH160 b4bda2c6f72941e173e3e49189fcc50e06117b84 OP_EQUALVERIFY OP_CHECKSIG*276a914b4bda2c6f72941e173e3e49189fcc50e06117b8488ac*"1HUfofEcpd2XvHFwvH2Qi5doSbrD9KEg3X8И$J ;ј$𣵤-@000000000000000000090cd74c557cc8d6afca5db247ed930419440805fc9aa9"@00000000000000000010723adec9affd363fedf4cde52ac8909c7ca744f5a9062 + +1@9808e853136edd559bb2dbd28b5552c4b0b62ea93f28895898e7238c997bff65ј$"@000000000000000000090cd74c557cc8d6afca5db247ed930419440805fc9aa9(𣵤-2 +@42b8df16ae6ca42239835cc7808ba6d5da3290dcaecd0fdd8926c4fbf3890026B034b9bd8da4a3f8029024d6498dbe3acf99c8cbad5616028c30a4b64fdeb1e39ac2 +@3f45cb02ffaeb2ab1feb7a8db78e4ecb177df3613beefafe276e1c31eb7d12c2B02bf760cf4545be2f42e1e9ac1f0880310a4c3611ac2003d8e281d5a7dd3214a20B +@9808e853136edd559bb2dbd28b5552c4b0b62ea93f28895898e7238c997bff65""16UAoAhe7B1f5fN8x4V1yFTDJrqhccc21g"UOP_DUP OP_HASH160 3bfc0983acb1c6145191703a269cfcbd38097e3f OP_EQUALVERIFY OP_CHECKSIG*276a9143bfc0983acb1c6145191703a269cfcbd38097e3f88ac*"16UAoAhe7B1f5fN8x4V1yFTDJrqhccc21g8ј$J  +\@9808e853136edd559bb2dbd28b5552c4b0b62ea93f28895898e7238c997bff65""19KbmL2WM9veZWaDh4Jc3KyqPMPeagnhva"UOP_DUP OP_HASH160 5b45836a2ef4f1cae90ddcb9f9b535ec8be2a681 OP_EQUALVERIFY OP_CHECKSIG*276a9145b45836a2ef4f1cae90ddcb9f9b535ec8be2a68188ac*"19KbmL2WM9veZWaDh4Jc3KyqPMPeagnhva8ј$J & + + +1@418e5ec3bccdb72d01b95072b1dfed34ff6525caeb212c10a50789f2f4c0abb0ј$"@000000000000000000090cd74c557cc8d6afca5db247ed930419440805fc9aa9(𣵤-2 +@dc60a35a5e3b048373e62ccd38c19c0e5fc463e50f68ada7a094839866a2392fB03792f02f61f74d0985588c4e001c3263493e2a393cf0f5aea5bb3087be1176d662 +@c244bf246615d5ee31717b026c987397c6f7fb90a5685b8a6829418991d9fb09B02e7fc18c06330a46863cd22ab6b97e7680da50522920290ea6b309c150f10dbcfB +@418e5ec3bccdb72d01b95072b1dfed34ff6525caeb212c10a50789f2f4c0abb0""1L7XxHUvGpv94JNtPfNrbHuHyfqJ2NA56Z"UOP_DUP OP_HASH160 d1a6b95cc77e6b7f0738f6fe5571923105fc6eed OP_EQUALVERIFY OP_CHECKSIG*276a914d1a6b95cc77e6b7f0738f6fe5571923105fc6eed88ac*"1L7XxHUvGpv94JNtPfNrbHuHyfqJ2NA56Z8ј$J  +\@418e5ec3bccdb72d01b95072b1dfed34ff6525caeb212c10a50789f2f4c0abb0""1GiNZUtSbpzCEEbQfcjDBoL3utyG69w8BR"UOP_DUP OP_HASH160 ac5cf046ff30043ca741114ef5aab3949cdeeaac OP_EQUALVERIFY OP_CHECKSIG*276a914ac5cf046ff30043ca741114ef5aab3949cdeeaac88ac*"1GiNZUtSbpzCEEbQfcjDBoL3utyG69w8BR8ј$J  +@418e5ec3bccdb72d01b95072b1dfed34ff6525caeb212c10a50789f2f4c0abb0""1FXWzqPYNU5J2oecb9jR9fg9g36Q6yCQ87"UOP_DUP OP_HASH160 9f5747b9e754fa604a0f886bde7e92be205eae1c OP_EQUALVERIFY OP_CHECKSIG*276a9149f5747b9e754fa604a0f886bde7e92be205eae1c88ac*"1FXWzqPYNU5J2oecb9jR9fg9g36Q6yCQ878ј$J & + + +1@2e1d9891c0b4cfbbb50505325835270a12e9ae9b42b480583e9dab38ddc9523dј$"@000000000000000000090cd74c557cc8d6afca5db247ed930419440805fc9aa9(𣵤-2 +@088dda146ed53a83b77c93cee60371e4e7c2739225dc663809cd7d112142127dB02e1346e2f7daac8b57e0c405547cad857f21436033f7958a52a8f59746f91a0eb2 +@837d61022e4f3a2f67ab04e6e8a8284acb2715d6954f162468d828a66ee82cccB021a1342d059d1618f450c8927443a782cb39c2bce5fd1307343c1f963e91712f5B +Қ@2e1d9891c0b4cfbbb50505325835270a12e9ae9b42b480583e9dab38ddc9523d""1QL1SmGgxyULmv45FhTB2AXqjWY78t7XH4"UOP_DUP OP_HASH160 ffe32ac6cac922e06485d7278dbec86d7c98e794 OP_EQUALVERIFY OP_CHECKSIG*276a914ffe32ac6cac922e06485d7278dbec86d7c98e79488ac*"1QL1SmGgxyULmv45FhTB2AXqjWY78t7XH48ј$J  +[@2e1d9891c0b4cfbbb50505325835270a12e9ae9b42b480583e9dab38ddc9523d""1E6hFAct12NACsJN9Pr9HuQnpRnn5mYwMz"UOP_DUP OP_HASH160 8fad4f2782c166ca8db2aba08f73c40144526d68 OP_EQUALVERIFY OP_CHECKSIG*276a9148fad4f2782c166ca8db2aba08f73c40144526d6888ac*"1E6hFAct12NACsJN9Pr9HuQnpRnn5mYwMz8ј$J  +@2e1d9891c0b4cfbbb50505325835270a12e9ae9b42b480583e9dab38ddc9523d""1PPC44g4BMy9ruG366wtzQ9BJPXJCQAXKB"UOP_DUP OP_HASH160 f58525137e94d6fd5ca1358f9d29f880d10bbdf5 OP_EQUALVERIFY OP_CHECKSIG*276a914f58525137e94d6fd5ca1358f9d29f880d10bbdf588ac*"1PPC44g4BMy9ruG366wtzQ9BJPXJCQAXKB8ј$J &Ҙ$ú-@000000000000000000078901bc8affa4d83651956f53bc4109718eb9a7994f5f"@000000000000000000090cd74c557cc8d6afca5db247ed930419440805fc9aa92Ә$Ť-@00000000000000000016173cca897770def5dbc9a9d7ab542937dc33edfc2f2e"@000000000000000000078901bc8affa4d83651956f53bc4109718eb9a7994f5f2Ԙ$-@000000000000000000005322716b472165d8103fd5f0ee457b516abd2ff883a5"@00000000000000000016173cca897770def5dbc9a9d7ab542937dc33edfc2f2e2՘$-@0000000000000000000ef1a8e10b1a74befb9ed6c71b5b771f82a5fea6a4dcf3"@000000000000000000005322716b472165d8103fd5f0ee457b516abd2ff883a52֘$-@00000000000000000012d0174a518d6f36838f5bc7044b7b67778ef345dcc500"@0000000000000000000ef1a8e10b1a74befb9ed6c71b5b771f82a5fea6a4dcf32ט$ï-@0000000000000000000fea6ccc9eac08b9f9fbc5531812b3886c71dc89616a1f"@00000000000000000012d0174a518d6f36838f5bc7044b7b67778ef345dcc5002ؘ$Ħ-@00000000000000000002f7858ad647cd488cff3f1ecf869009c4565a4921f280"@0000000000000000000fea6ccc9eac08b9f9fbc5531812b3886c71dc89616a1f2٘$-@00000000000000000001731af914111b4220438f77b7016d33eaef38ab1c3173"@00000000000000000002f7858ad647cd488cff3f1ecf869009c4565a4921f2802ژ$-@0000000000000000001262079aa73d69c2eb03e8ec5b14479e329e7fa541f163"@00000000000000000001731af914111b4220438f77b7016d33eaef38ab1c31732ۘ$-@0000000000000000001958d8d1f8f2c4e0f1db332767849b3a9c06e6367da382"@0000000000000000001262079aa73d69c2eb03e8ec5b14479e329e7fa541f1632 ܘ$ͧ-@00000000000000000014882746d74ca7391cf65039d9ad9fe49d585dc3fc2235"@0000000000000000001958d8d1f8f2c4e0f1db332767849b3a9c06e6367da3822 + + + +1@b50bf683773bfc79d2b0b2dc6d92f06417d03096ebb57b24da8f612b0169baeeܘ$"@00000000000000000014882746d74ca7391cf65039d9ad9fe49d585dc3fc2235(ͧ-2 +@01878c4a79c4b58ebadf12fde9a370e73ce7e413079d93e39f480588e63aafdbB030f5029a142bceea3f4f86f76fb3b575fe7328998d04820b231ffd3c583d183942 +@693a58dd052e04a8415be28c60ede57b221234760a564356a31b34fe98749549B02f52e2eb65004113e66974d0b1acef47782408ad9e3ff3ab2386c66380463b035B + @b50bf683773bfc79d2b0b2dc6d92f06417d03096ebb57b24da8f612b0169baee"!1VxKDZMzxFqv7h6b7FqPipVHJzH29Ukjp"UOP_DUP OP_HASH160 0579d21fc0b516ba36e70580fffd7142bf22345b OP_EQUALVERIFY OP_CHECKSIG*276a9140579d21fc0b516ba36e70580fffd7142bf22345b88ac*!1VxKDZMzxFqv7h6b7FqPipVHJzH29Ukjp8ܘ$J  +@b50bf683773bfc79d2b0b2dc6d92f06417d03096ebb57b24da8f612b0169baee""1KSHoTYhYkJ2GAQvMXUE7FKPeDhPsAbb3f"UOP_DUP OP_HASH160 ca3ab01b52a34f2ea224102bcd020046bea8d7a6 OP_EQUALVERIFY OP_CHECKSIG*276a914ca3ab01b52a34f2ea224102bcd020046bea8d7a688ac*"1KSHoTYhYkJ2GAQvMXUE7FKPeDhPsAbb3f8ܘ$J  +@b50bf683773bfc79d2b0b2dc6d92f06417d03096ebb57b24da8f612b0169baee""1BBm8LXRByAsVuCUyP3gi95bHjxDPmd7Sp"UOP_DUP OP_HASH160 6fba409d1fbe6e1e9f41629a8b9ee1d9432cf2c3 OP_EQUALVERIFY OP_CHECKSIG*276a9146fba409d1fbe6e1e9f41629a8b9ee1d9432cf2c388ac*"1BBm8LXRByAsVuCUyP3gi95bHjxDPmd7Sp8ܘ$J ݘ$-@000000000000000000113c323e0d86b10b23715c3a948c7c4487ac7db5732589"@00000000000000000014882746d74ca7391cf65039d9ad9fe49d585dc3fc22352ޘ$龨-@00000000000000000009df9c09e84e7d118ae38ea80861e3f670a978bff3e7da"@000000000000000000113c323e0d86b10b23715c3a948c7c4487ac7db57325892ߘ$Еͨ-@00000000000000000002d64fc76437ac3d0f1d9c80c0aae8a47e0d685e685f04"@00000000000000000009df9c09e84e7d118ae38ea80861e3f670a978bff3e7da2$ӑ-@000000000000000000168f7609dbcbde45f66eb2ab01e4b482bee97e55d2ce38"@00000000000000000002d64fc76437ac3d0f1d9c80c0aae8a47e0d685e685f042$-@000000000000000000152b3da7a8506336b34df832aee5d5d328623a610a2d4c"@000000000000000000168f7609dbcbde45f66eb2ab01e4b482bee97e55d2ce382$-@000000000000000000161f1878c7b0371ad7328f38b5cedf9eb24550c46f986b"@000000000000000000152b3da7a8506336b34df832aee5d5d328623a610a2d4c2$慪-@000000000000000000117ed4736cf36bff252b792fdcf02a549068c0acf1f871"@000000000000000000161f1878c7b0371ad7328f38b5cedf9eb24550c46f986b2$-@00000000000000000008948c65c22689503540c2ead12cc2cec941a66618a738"@000000000000000000117ed4736cf36bff252b792fdcf02a549068c0acf1f8712$-@0000000000000000000c5b37d29ee455c77469aa0dcc4f87ee73308746509d6d"@00000000000000000008948c65c22689503540c2ead12cc2cec941a66618a7382$-@0000000000000000000f09e712accef55ab984aae2dbc3ba0ac72962c1e30263"@0000000000000000000c5b37d29ee455c77469aa0dcc4f87ee73308746509d6d2$-@0000000000000000000c0880cc2dd82f7359e0aa50136386f69a7029e8f647e4"@0000000000000000000f09e712accef55ab984aae2dbc3ba0ac72962c1e302632$-@000000000000000000051f89d9bd41d4e56c4eddd90a93f8a1cb8e556bc0b597"@0000000000000000000c0880cc2dd82f7359e0aa50136386f69a7029e8f647e42$ت-@000000000000000000149b1a0fb443e897f99ca9c7cf6e1748c4a834331adfa6"@000000000000000000051f89d9bd41d4e56c4eddd90a93f8a1cb8e556bc0b5972 $-@000000000000000000123d95c99d46d118c1751c969c86cafefe9585a52be18a"@000000000000000000149b1a0fb443e897f99ca9c7cf6e1748c4a834331adfa62 + + + +1@7c42d0da1f26a2b014e87f65673fcede6408d14a4e93fdce8f2cfeb0d39e8ff3$"@000000000000000000123d95c99d46d118c1751c969c86cafefe9585a52be18a(-2 +@03ebad3c4c6fbaa9e863e8f3de981d2f6d6110a08d1aaf301b544fe1c0f8eb59B03c251c58bbc94993cf26fdb2093bef74550354cec63709a40eb158e8eecf3a0c92 +@03ebad3c4c6fbaa9e863e8f3de981d2f6d6110a08d1aaf301b544fe1c0f8eb59B036f940a95c7683ae6ce8106929e33b78ae664a9f4b3322db6d59d39687e352139B +@7c42d0da1f26a2b014e87f65673fcede6408d14a4e93fdce8f2cfeb0d39e8ff3"!17vA4fg6KQ3iQYNM8BSAkWXGShdLMwgig"UOP_DUP OP_HASH160 014ede4e6a3c720fa1e67489dda4984350015a28 OP_EQUALVERIFY OP_CHECKSIG*276a914014ede4e6a3c720fa1e67489dda4984350015a2888ac*!17vA4fg6KQ3iQYNM8BSAkWXGShdLMwgig8$J  +@7c42d0da1f26a2b014e87f65673fcede6408d14a4e93fdce8f2cfeb0d39e8ff3""19ahQjgaTLyb7xjjwWkjTfSM2BDK1D8HD7"UOP_DUP OP_HASH160 5e2077068f43f0c567393509c951b0683cd4dbd2 OP_EQUALVERIFY OP_CHECKSIG*276a9145e2077068f43f0c567393509c951b0683cd4dbd288ac*"19ahQjgaTLyb7xjjwWkjTfSM2BDK1D8HD78$J  + @7c42d0da1f26a2b014e87f65673fcede6408d14a4e93fdce8f2cfeb0d39e8ff3""1DqzWKvP5BN324FPhcZJwwRRPVACfnt3FE"UOP_DUP OP_HASH160 8ce57a95d93392a2fb030ebb22a26af4cb93de6c OP_EQUALVERIFY OP_CHECKSIG*276a9148ce57a95d93392a2fb030ebb22a26af4cb93de6c88ac*"1DqzWKvP5BN324FPhcZJwwRRPVACfnt3FE8$J m$-@000000000000000000052424d75c0ddee76f4666065abe4b0b8c19ce8de9e529"@000000000000000000123d95c99d46d118c1751c969c86cafefe9585a52be18a2$-@00000000000000000012b2efd5d9d7f874ce2af64c29b0a40637bfc905c65cae"@000000000000000000052424d75c0ddee76f4666065abe4b0b8c19ce8de9e5292$-@0000000000000000000d184cdc4f93bcfcb503eb9abf22f7b68a2ddc7c026d3d"@00000000000000000012b2efd5d9d7f874ce2af64c29b0a40637bfc905c65cae2$𑦫-@00000000000000000010fe0a61bcbc63d9f99f8240f98d13005679468c252ad5"@0000000000000000000d184cdc4f93bcfcb503eb9abf22f7b68a2ddc7c026d3d2$૫-@0000000000000000000805e55f2b040972f852237029372b572d5eac7bbb42d1"@00000000000000000010fe0a61bcbc63d9f99f8240f98d13005679468c252ad52 $-@00000000000000000004f17a4156278efa188de3f5b0947b4a93ff6e1930f0db"@0000000000000000000805e55f2b040972f852237029372b572d5eac7bbb42d12 + +1@6c55842be25386307b471d58b50e1db64ce6259f9bfdada83234a05f6cc03110$"@00000000000000000004f17a4156278efa188de3f5b0947b4a93ff6e1930f0db(-2 +@b34a7c6795b7b2396fa9fa5f293795d8f8d5724e8a3a8865fa539e7954c9373eB0290835e14545e1cc5695444f76702ff00aa441237d10bf276e1734b17946bc0452 +@c9ea6003aec3817107b8bf1d78b8ff755430a9e594d65f8b8fbb8adef8d473d0B02cecd2bc772e92ed018b293ea50fcdf414b883a65ac9dc72cdc6c6f2109df67e3B +%@6c55842be25386307b471d58b50e1db64ce6259f9bfdada83234a05f6cc03110""1DNMo35mNeumyPGAkifc3xhnwhQvVKKkyf"UOP_DUP OP_HASH160 87ab9a322ef0c30acebf44e5c861c42ac4afd599 OP_EQUALVERIFY OP_CHECKSIG*276a91487ab9a322ef0c30acebf44e5c861c42ac4afd59988ac*"1DNMo35mNeumyPGAkifc3xhnwhQvVKKkyf8$J  +@6c55842be25386307b471d58b50e1db64ce6259f9bfdada83234a05f6cc03110""1LBxP5NYcLfsev6xob2qnQKSsLMnLmKMqk"UOP_DUP OP_HASH160 d27cc766f36f56bf155090a78f96187040eff370 OP_EQUALVERIFY OP_CHECKSIG*276a914d27cc766f36f56bf155090a78f96187040eff37088ac*"1LBxP5NYcLfsev6xob2qnQKSsLMnLmKMqk8$J $ì-@00000000000000000014567b8132832d2b910a53ea3e5db66964a44299737d1d"@00000000000000000004f17a4156278efa188de3f5b0947b4a93ff6e1930f0db2$ڬ-@0000000000000000000488307c5cb80b51b724106b1a352b20efae4a7927424b"@00000000000000000014567b8132832d2b910a53ea3e5db66964a44299737d1d2 $-@0000000000000000000f805b82ecdbe4c8247e8b745704a975bb2d2141cf3832"@0000000000000000000488307c5cb80b51b724106b1a352b20efae4a7927424b2 + + + +1@4e4183f1d980b1bd25cef64f01f6a674c80734dcd08b61b839f18db97c8e1269$"@0000000000000000000f805b82ecdbe4c8247e8b745704a975bb2d2141cf3832(-2 +@09c1ce57e56d4572c92feedec44bf3fa07556504f02d0f53ac5526ce6af5798cB021acdb2cc0d8ec5eb7d4ebf8b684aecb18293e6bf4351a7f6e5063df1c272bd722 +@8f6085dab72e05cd90ea27ca9b408f6aec5ee897545c8baa42825235ec29c363B03a152964434b0484b3351747283270ae6374d6f9f5fb81f15b720bb59ec101afcB +@4e4183f1d980b1bd25cef64f01f6a674c80734dcd08b61b839f18db97c8e1269""1GmxLBZFBcjnKteCMbESdS9UBWG6g1Foe6"UOP_DUP OP_HASH160 ad0a607872a5ef1f6e34b59f0e7d1cbdbbf37629 OP_EQUALVERIFY OP_CHECKSIG*276a914ad0a607872a5ef1f6e34b59f0e7d1cbdbbf3762988ac*"1GmxLBZFBcjnKteCMbESdS9UBWG6g1Foe68$J  +ѱ@4e4183f1d980b1bd25cef64f01f6a674c80734dcd08b61b839f18db97c8e1269""17HdXWipsokEUriH7HcbixauK59hmg6Enm"UOP_DUP OP_HASH160 44f5e688c49ec0c29e498b083b566b94730be2e9 OP_EQUALVERIFY OP_CHECKSIG*276a91444f5e688c49ec0c29e498b083b566b94730be2e988ac*"17HdXWipsokEUriH7HcbixauK59hmg6Enm8$J  +Θ^@4e4183f1d980b1bd25cef64f01f6a674c80734dcd08b61b839f18db97c8e1269""15GuL2PZYSGR8DjVmBvSJhMq7WsDqAsC2T"UOP_DUP OP_HASH160 2ee26c7c92a518c83af17759badd0295890c06bd OP_EQUALVERIFY OP_CHECKSIG*276a9142ee26c7c92a518c83af17759badd0295890c06bd88ac*"15GuL2PZYSGR8DjVmBvSJhMq7WsDqAsC2T8$J $-@000000000000000000129d8724507ce07104cd986d150b22ebe24e754dbd2e5a"@0000000000000000000f805b82ecdbe4c8247e8b745704a975bb2d2141cf38322$؎-@0000000000000000001630c0240ca8c9073e1864093416abce519002b3d9f839"@000000000000000000129d8724507ce07104cd986d150b22ebe24e754dbd2e5a2$-@00000000000000000009ae10c9f26a92eb9b5b163713977e74e13de4b50c316e"@0000000000000000001630c0240ca8c9073e1864093416abce519002b3d9f8392$Ȣ-@0000000000000000000b427c94e702b625bfa0d94c6abfe03ea3c760291ef19c"@00000000000000000009ae10c9f26a92eb9b5b163713977e74e13de4b50c316e2 $-@000000000000000000064c23479aeba9aa466177192cf7d60fda5bb660d5752d"@0000000000000000000b427c94e702b625bfa0d94c6abfe03ea3c760291ef19c2 + + + +1@200c7481bcb8fa91d461fb992fe81a5e2d3c22a3e734c2ece0145f41991c60b0$"@000000000000000000064c23479aeba9aa466177192cf7d60fda5bb660d5752d(-2 +@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5B0228679ce7683d468236e535a2bcda23206bed69faed77f82fc192ee453adaaf592 +@f452c0611dd98eca336fb5e7a0b60fd9d7e30b09eba27e15824c2623cf301793B02c96095ac8e95c056a7e7839e11d3099d333f60ab926fdf95026298de9a6dd226B +@200c7481bcb8fa91d461fb992fe81a5e2d3c22a3e734c2ece0145f41991c60b0""1Ma8j7nJELgXKsP4mRjhvbzH8g5Ags7z9X"UOP_DUP OP_HASH160 e1a6b11f3cd5a49cd037728425e35d8b717aa617 OP_EQUALVERIFY OP_CHECKSIG*276a914e1a6b11f3cd5a49cd037728425e35d8b717aa61788ac*"1Ma8j7nJELgXKsP4mRjhvbzH8g5Ags7z9X8$J  +@200c7481bcb8fa91d461fb992fe81a5e2d3c22a3e734c2ece0145f41991c60b0""19uZZqEmWxcBwDChBFN39sJpxsde1pyowP"UOP_DUP OP_HASH160 61b1d23140050a49065b322e0f0b6812206f0f2a OP_EQUALVERIFY OP_CHECKSIG*276a91461b1d23140050a49065b322e0f0b6812206f0f2a88ac*"19uZZqEmWxcBwDChBFN39sJpxsde1pyowP8$J  +@200c7481bcb8fa91d461fb992fe81a5e2d3c22a3e734c2ece0145f41991c60b0""1GTMuisbNkKjkqQMCpiHJrwPXkJGNXoDDH"UOP_DUP OP_HASH160 a98627dd092bfc8401ad653a8853b767b54d9093 OP_EQUALVERIFY OP_CHECKSIG*276a914a98627dd092bfc8401ad653a8853b767b54d909388ac*"1GTMuisbNkKjkqQMCpiHJrwPXkJGNXoDDH8$J  $ۭ-@000000000000000000118ccde83995399168f4a5e8a579eb4fddc931a5fbb99b"@000000000000000000064c23479aeba9aa466177192cf7d60fda5bb660d5752d2 + + +1@51285118341dba61db39e3ba27ac2250e71b9ac48c37c4bd66aea7da00f48c16$"@000000000000000000118ccde83995399168f4a5e8a579eb4fddc931a5fbb99b(ۭ-2 +@6fb176841f508b44295fbb4d13128c6da9de006c692237f930cf3d0299afeee3B0229f6e0683d05440e30bc9b60ee617c60381ad0cbc04dd6e123a82fce32459c422 +@f6758575086a99b56211b4d4cfd3b1c2ea989e0d77995af1d2957a97b2303354B03fcd58144f21955d580bcb9e806a9b463e87692009384c8017cdb38340bb81722B +N@51285118341dba61db39e3ba27ac2250e71b9ac48c37c4bd66aea7da00f48c16"!1kJrEi6Q9HUvDtpLUBShWMnwTFet5EJHx"UOP_DUP OP_HASH160 0830c92ecfaf700e92dd282d2cc90042ce985b22 OP_EQUALVERIFY OP_CHECKSIG*276a9140830c92ecfaf700e92dd282d2cc90042ce985b2288ac*!1kJrEi6Q9HUvDtpLUBShWMnwTFet5EJHx8$J  + +@51285118341dba61db39e3ba27ac2250e71b9ac48c37c4bd66aea7da00f48c16""1FcVBhJytEmQP2DagAZTVYT6q87TM2z525"UOP_DUP OP_HASH160 a047d8c6e5ca094e32ab0ff6fa95852576e06e9d OP_EQUALVERIFY OP_CHECKSIG*276a914a047d8c6e5ca094e32ab0ff6fa95852576e06e9d88ac*"1FcVBhJytEmQP2DagAZTVYT6q87TM2z5258$J  +S@51285118341dba61db39e3ba27ac2250e71b9ac48c37c4bd66aea7da00f48c16""1Fa8ooYMb3UbNHDNqyQ8y9aGbkrrJEGZfM"UOP_DUP OP_HASH160 9fd6012e818e641afb6a4cb337152669d830f3cd OP_EQUALVERIFY OP_CHECKSIG*276a9149fd6012e818e641afb6a4cb337152669d830f3cd88ac*"1Fa8ooYMb3UbNHDNqyQ8y9aGbkrrJEGZfM8$J  + +1@c558f56427a55040e8b3e212c1829aa6865180e7f84c3cca2a1ffa1d7c310316$"@000000000000000000118ccde83995399168f4a5e8a579eb4fddc931a5fbb99b(ۭ-2 +@51285118341dba61db39e3ba27ac2250e71b9ac48c37c4bd66aea7da00f48c16B021aa91883bca8c8998f7486e0bd07655d04ee073710b952790b9c6ca2eecc44722 +@cc7499fddbcfb61b58fa9679d999a09531bf659e203762908f42627832d9c95bB034ae3609bef67b229ecfcf14e542992ef7826f8738552a052005c36fd1fd37de72 +@1b0aef9b634a6863fb0ec41fc5f079603bd1947ae2768e90f89652cbdb3fd19dB02361f23c2bcd523670fb16d74757e28e134666663db4fdca2f53cfaac8bbec4452 +@6fb176841f508b44295fbb4d13128c6da9de006c692237f930cf3d0299afeee3B0226eb59ce6980f8e927e192622595b190841c659401c88f3e4e9eb72b6a1048a62 +@3f9259d57b8aea5ee391423da2ee49295bd78eb691a682d4ee8961586b5ed28aB023d70ee17312d308ade9e5cbfa506f582e03bbef576f895a15f252382e0fe73232 +@51285118341dba61db39e3ba27ac2250e71b9ac48c37c4bd66aea7da00f48c16B033bc41a6b515a515ca3160dffde7bfc5f9bcba5ec524ff43c63bbd735e397126bB + +@c558f56427a55040e8b3e212c1829aa6865180e7f84c3cca2a1ffa1d7c310316""1Bcw9iuwS5Nm1PpV1m8Y8bv8V5PxhKcRJK"UOP_DUP OP_HASH160 747d04db3429a5361cba5b718c6e20aff685f043 OP_EQUALVERIFY OP_CHECKSIG*276a914747d04db3429a5361cba5b718c6e20aff685f04388ac*"1Bcw9iuwS5Nm1PpV1m8Y8bv8V5PxhKcRJK8$J  +X@c558f56427a55040e8b3e212c1829aa6865180e7f84c3cca2a1ffa1d7c310316""17DnAsNzQgVWuTP1TthL9wuwGM4kZTjeqb"UOP_DUP OP_HASH160 443b73cf83161b8ec3295a1ee0340653c69043d8 OP_EQUALVERIFY OP_CHECKSIG*276a914443b73cf83161b8ec3295a1ee0340653c69043d888ac*"17DnAsNzQgVWuTP1TthL9wuwGM4kZTjeqb8$J  +D@c558f56427a55040e8b3e212c1829aa6865180e7f84c3cca2a1ffa1d7c310316""1Bexucy2uYtkJrdAUrfNka2QAXCDT2ZBu7"UOP_DUP OP_HASH160 74df5143c5707b31c435cb7f0c7b148c898cf0dd OP_EQUALVERIFY OP_CHECKSIG*276a91474df5143c5707b31c435cb7f0c7b148c898cf0dd88ac*"1Bexucy2uYtkJrdAUrfNka2QAXCDT2ZBu78$J  $ݭ-@000000000000000000056d97c7d9327a6813ffd1f76a34e92d47df71babaf15d"@000000000000000000118ccde83995399168f4a5e8a579eb4fddc931a5fbb99b2$߃-@00000000000000000005bc44495be1c0c3769d04ab78618328be3129976c878b"@000000000000000000056d97c7d9327a6813ffd1f76a34e92d47df71babaf15d2$-@0000000000000000000c05293d0a53311be57d868a44d8d0ebcec2ca63d101cf"@00000000000000000005bc44495be1c0c3769d04ab78618328be3129976c878b2$ݮ-@00000000000000000011eb2759b116933cb9eb238a945b43b88b253db0453e21"@0000000000000000000c05293d0a53311be57d868a44d8d0ebcec2ca63d101cf2$į-@0000000000000000000bbc39520c51f5805455a45dab9d9e2a7b3329df8f3a37"@00000000000000000011eb2759b116933cb9eb238a945b43b88b253db0453e212$ѯ-@0000000000000000000521d1b1d3fbd2fe428b18549b5a92a2711906756cbc06"@0000000000000000000bbc39520c51f5805455a45dab9d9e2a7b3329df8f3a372$-@0000000000000000000e0808924f6e8aa8606252bb659231a7e44d042acf8c84"@0000000000000000000521d1b1d3fbd2fe428b18549b5a92a2711906756cbc062$-@0000000000000000000d66e89ce075849f916c27fa85b83d864133c0566552f2"@0000000000000000000e0808924f6e8aa8606252bb659231a7e44d042acf8c842$-@0000000000000000000339253c09be5f998d003f5427c5279aec3cec2dd92678"@0000000000000000000d66e89ce075849f916c27fa85b83d864133c0566552f22$-@00000000000000000007a97691b9c649bc6834ce9573c33657218cbbc73c57b6"@0000000000000000000339253c09be5f998d003f5427c5279aec3cec2dd926782 $-@0000000000000000000182266d383a4b961a5471ca5910cf10d24f773c5f99a9"@00000000000000000007a97691b9c649bc6834ce9573c33657218cbbc73c57b62 + + + +1@688cd075ee9041aeef267d4c33e2546c9a1df64ed8e17116c9cdc00aabde5ff8$"@0000000000000000000182266d383a4b961a5471ca5910cf10d24f773c5f99a9(-2 +@78c44cbe5817842d4aaba89323a795f3d02e824e557a9b0ab32a13c0fc0251b5B0256c033836c095522918779dc49e4fdc7d4f88921206b4c8640fec0e053a2656d2 +@c7634142a66c77efcf29029acd8cd99d67d54fb48070bc42d5006fb0e202fb98B038bd0d3d623960421d39750cdb3403d2afc6c7e2319c2b7cbf12ffbddb6b30e27B +@688cd075ee9041aeef267d4c33e2546c9a1df64ed8e17116c9cdc00aabde5ff8""1Gn2p1YJ6yKJ8b5q2cobtffxH8prYa95zy"UOP_DUP OP_HASH160 ad0e1dca7a8f4477a3bbd70e651ee9cde85fae0c OP_EQUALVERIFY OP_CHECKSIG*276a914ad0e1dca7a8f4477a3bbd70e651ee9cde85fae0c88ac*"1Gn2p1YJ6yKJ8b5q2cobtffxH8prYa95zy8$J  +@688cd075ee9041aeef267d4c33e2546c9a1df64ed8e17116c9cdc00aabde5ff8""156wDnmgudEcVzHvdCzAYFtEB5FxWS3oKA"UOP_DUP OP_HASH160 2cffd80c779a4b2fd6fc9a611fc4ff061b289aba OP_EQUALVERIFY OP_CHECKSIG*276a9142cffd80c779a4b2fd6fc9a611fc4ff061b289aba88ac*"156wDnmgudEcVzHvdCzAYFtEB5FxWS3oKA8$J  +@688cd075ee9041aeef267d4c33e2546c9a1df64ed8e17116c9cdc00aabde5ff8""1BYLR1XkGPmvxpyV7ZCmqKyGyKVYG5eK37"UOP_DUP OP_HASH160 739e5bcd6a7d696c6a7d3ef18a71ca214eaaa5aa OP_EQUALVERIFY OP_CHECKSIG*276a914739e5bcd6a7d696c6a7d3ef18a71ca214eaaa5aa88ac*"1BYLR1XkGPmvxpyV7ZCmqKyGyKVYG5eK378$J  $讧-@000000000000000000161b6ee290cb477fef51ebfdda4a337ce47350f508246f"@0000000000000000000182266d383a4b961a5471ca5910cf10d24f773c5f99a92 + + + +1@d9cfe62203ca32c9bce97552c7ec59d0b8c976a87e0bb2dcd84b027f06137cb7$"@000000000000000000161b6ee290cb477fef51ebfdda4a337ce47350f508246f(讧-2 +@51285118341dba61db39e3ba27ac2250e71b9ac48c37c4bd66aea7da00f48c16B0249fa90056eec5c7d8c9033ebb153039db50a19bd8e0d6e00961b6ed3eb8dd4412 +@717614503d47df6f320ca3aff187c57769e12d502adb357f37fda5e68b6e4fc4B02dac1a891df42e53b829179a9d6b1f463de444167723c2375e94f6360c71cb78fB +M@d9cfe62203ca32c9bce97552c7ec59d0b8c976a87e0bb2dcd84b027f06137cb7""19y51x5rQieCZcAAoZtFvCHY6rzsQP9puM"UOP_DUP OP_HASH160 625ba71fee35c7f5abe7531bf3a59b30349d8354 OP_EQUALVERIFY OP_CHECKSIG*276a914625ba71fee35c7f5abe7531bf3a59b30349d835488ac*"19y51x5rQieCZcAAoZtFvCHY6rzsQP9puM8$J  +@d9cfe62203ca32c9bce97552c7ec59d0b8c976a87e0bb2dcd84b027f06137cb7""1JTRqpYspLaYK3vRERVdKfbLYjdWznXV8R"UOP_DUP OP_HASH160 bf79b0ae0253ff7c0271911c5d81734c73d52c65 OP_EQUALVERIFY OP_CHECKSIG*276a914bf79b0ae0253ff7c0271911c5d81734c73d52c6588ac*"1JTRqpYspLaYK3vRERVdKfbLYjdWznXV8R8$J  +Z@d9cfe62203ca32c9bce97552c7ec59d0b8c976a87e0bb2dcd84b027f06137cb7""1GFho8e9M6oAXpJYizBD77KzrkBzTsocoC"UOP_DUP OP_HASH160 a751c3b552ec4020d4388b03028cd6750e4d540f OP_EQUALVERIFY OP_CHECKSIG*276a914a751c3b552ec4020d4388b03028cd6750e4d540f88ac*"1GFho8e9M6oAXpJYizBD77KzrkBzTsocoC8$J $-@000000000000000000078b046e0ef6b680ad5050767e0661c2afc9f254299ac9"@000000000000000000161b6ee290cb477fef51ebfdda4a337ce47350f508246f2 $-@000000000000000000119dcac5135a397c8c0e9f79357a1743c111f183bfa089"@000000000000000000078b046e0ef6b680ad5050767e0661c2afc9f254299ac92 + +1@97004ec07b7945ab7a619c57c129059ff7914491636f9e235a42fe9904bb4aad$"@000000000000000000119dcac5135a397c8c0e9f79357a1743c111f183bfa089(-2 +@d9cfe62203ca32c9bce97552c7ec59d0b8c976a87e0bb2dcd84b027f06137cb7B02566c1be15ed759bed75809ce8ffc9a8754c28e542c351ac59c7fc421d59c50c92 +@037060aebb0cbf4a512b0ba3146cd6d63ffdfee8166acc48e55b8f6a4b3e1cd9B0282269ebf2f965877115016fea72f5b8d2791eb7c3d879379d04cd7b71d48c0f52 +@93f22ab0a468c26024171ca4f41e255a06f32f7603ee6cecb35d04b6cdcdbff3B02e36d15b32eaa3597ae45251b52689eee5d69e6735e2b4de8fd9383027a2179fe2 +@d9cfe62203ca32c9bce97552c7ec59d0b8c976a87e0bb2dcd84b027f06137cb7B03383b1c6089557a4e021766917fda536cdf56c70718fb16c29a4efc91919314f7B +L@97004ec07b7945ab7a619c57c129059ff7914491636f9e235a42fe9904bb4aad""14KXuPeQfFHxyQfdc4pdiTLe7J5GY4CYNa"UOP_DUP OP_HASH160 2469a9532b451853521f079099a7819f99ad9b1d OP_EQUALVERIFY OP_CHECKSIG*276a9142469a9532b451853521f079099a7819f99ad9b1d88ac*"14KXuPeQfFHxyQfdc4pdiTLe7J5GY4CYNa8$J  +\@97004ec07b7945ab7a619c57c129059ff7914491636f9e235a42fe9904bb4aad""19WnbztRwRGJBfEnNyMKG2zn1pFCN5iLZz"UOP_DUP OP_HASH160 5d632310d4322df36a6b718328ce7595e3307962 OP_EQUALVERIFY OP_CHECKSIG*276a9145d632310d4322df36a6b718328ce7595e330796288ac*"19WnbztRwRGJBfEnNyMKG2zn1pFCN5iLZz8$J  +$@97004ec07b7945ab7a619c57c129059ff7914491636f9e235a42fe9904bb4aad""13ktVk3iin4tPnhed5znCuZSafxp4yeDMD"UOP_DUP OP_HASH160 1e3d1fcec84790cdce5a926f019a88d553bbe1b3 OP_EQUALVERIFY OP_CHECKSIG*276a9141e3d1fcec84790cdce5a926f019a88d553bbe1b388ac*"13ktVk3iin4tPnhed5znCuZSafxp4yeDMD8$J &$ࣲ-@00000000000000000004c706efee7a5ba8af4dfe46fc850b43b60a33529909af"@000000000000000000119dcac5135a397c8c0e9f79357a1743c111f183bfa0892$ɵ-@0000000000000000000e89a9f370aa4ef752a11e7e20d69825a30dd62785bf41"@00000000000000000004c706efee7a5ba8af4dfe46fc850b43b60a33529909af2$ϲ-@0000000000000000001a13d750cb32671819913b2865d07cb07e5d7ab6f99e30"@0000000000000000000e89a9f370aa4ef752a11e7e20d69825a30dd62785bf412$۲-@00000000000000000005fd70045ec2668cbfface45be0abf6202c6e56b9766b8"@0000000000000000001a13d750cb32671819913b2865d07cb07e5d7ab6f99e302$-@0000000000000000000af3a684b11f7b75abe2b7857a34bb001069aab2c237ab"@00000000000000000005fd70045ec2668cbfface45be0abf6202c6e56b9766b82$-@0000000000000000000616d8d3e70a89e252cd16b2abfa1ae6cd0418e5e4c29b"@0000000000000000000af3a684b11f7b75abe2b7857a34bb001069aab2c237ab2$-@000000000000000000097db8f50fb85838129264c07fd782ab93d9e69fc7fa53"@0000000000000000000616d8d3e70a89e252cd16b2abfa1ae6cd0418e5e4c29b2$-@0000000000000000000ec407c12e10b87ecdd86766db619db819a0b6212b70da"@000000000000000000097db8f50fb85838129264c07fd782ab93d9e69fc7fa532$ȗŴ-@000000000000000000090d32782c5e363b8b04f26f1b4f981a6a8e201d887d6e"@0000000000000000000ec407c12e10b87ecdd86766db619db819a0b6212b70da2$ˇ-@000000000000000000008e367ecc0a8c6455aa0b6e67c9fa760077b8aebed373"@000000000000000000090d32782c5e363b8b04f26f1b4f981a6a8e201d887d6e2$µ-@0000000000000000001951628e03c8cd977a0bf687cd3dc2a404644b87f731f7"@000000000000000000008e367ecc0a8c6455aa0b6e67c9fa760077b8aebed3732$ڵ-@000000000000000000131e2942f4cbe1bdfaeb41de7a079299e4574bed61c989"@0000000000000000001951628e03c8cd977a0bf687cd3dc2a404644b87f731f72$-@00000000000000000018e4cfca3c85aeae069938def8ac5d7ec8839b68c1fc78"@000000000000000000131e2942f4cbe1bdfaeb41de7a079299e4574bed61c9892$Ƙ-@0000000000000000000806d067142547d512b4e9a892e794bbf07158000aa513"@00000000000000000018e4cfca3c85aeae069938def8ac5d7ec8839b68c1fc782$᜶-@00000000000000000010f696933fd8363373ab8621da5318c40003aec50c0559"@0000000000000000000806d067142547d512b4e9a892e794bbf07158000aa5132$Ķ-@00000000000000000014792473e55ce9b536106e1647a04a2e2108348c46b284"@00000000000000000010f696933fd8363373ab8621da5318c40003aec50c05592$-@000000000000000000097845cb8b420f3ffdfe19fcb5a675c34f23dcb65cca8b"@00000000000000000014792473e55ce9b536106e1647a04a2e2108348c46b2842$-@000000000000000000112e41da84f215548f94590b3d51667fc09bcfcb9aafdb"@000000000000000000097845cb8b420f3ffdfe19fcb5a675c34f23dcb65cca8b2$-@00000000000000000010c0d00e31303c657d106f67ae92fff84d3cd1d8ef20ac"@000000000000000000112e41da84f215548f94590b3d51667fc09bcfcb9aafdb2$Ǵ-@0000000000000000000d13866e2a29082ba359a313ecc97a481c1eeed785d774"@00000000000000000010c0d00e31303c657d106f67ae92fff84d3cd1d8ef20ac2$Ƿ-@00000000000000000016b0dac56de1f28a2c76ea63c1ebcc77f7e3bae50c06d1"@0000000000000000000d13866e2a29082ba359a313ecc97a481c1eeed785d7742$ķ-@00000000000000000003b59ee7ebe966e3a2d72e1d3bb78e54d70f9447e50127"@00000000000000000016b0dac56de1f28a2c76ea63c1ebcc77f7e3bae50c06d12$-@0000000000000000000cd0eb9bd9596f6601a41728e6cb602478dbb00db5d0cc"@00000000000000000003b59ee7ebe966e3a2d72e1d3bb78e54d70f9447e501272$-@0000000000000000000d591b8854be08124c61303c290a150e05a86bef1a0300"@0000000000000000000cd0eb9bd9596f6601a41728e6cb602478dbb00db5d0cc2$-@0000000000000000000781130374aa5309fce6af8e3cb112685d01e900098058"@0000000000000000000d591b8854be08124c61303c290a150e05a86bef1a03002$-@0000000000000000000cd8df46f9667f6c83afddfa521a17bba40784dcb7347d"@0000000000000000000781130374aa5309fce6af8e3cb112685d01e9000980582 $и-@00000000000000000003595093e50413f80ec71fab371227fef10aff5a63a7db"@0000000000000000000cd8df46f9667f6c83afddfa521a17bba40784dcb7347d2 + +1@a87aa6f874d3284061773ade82f2b9fec08da305924530dfdf341c47fe39bb42$"@00000000000000000003595093e50413f80ec71fab371227fef10aff5a63a7db(и-2 +@b0aace596dc985af931205a2824ec49b5c72e90d8c64338958b379934aa74758B038ee385e8659a65ce97947194b46e4b88ccda88d564ceb6cc60be04c41895968b2 +@f8cfb0801cc837e045e38f8d01e6a14f909aa8c74fbad9b85f15644b19d636c1B035604aca3b001db591224d4cfe8cf1ae45939acaa525e5fbcef96851277c1dc8b2 +@b0aace596dc985af931205a2824ec49b5c72e90d8c64338958b379934aa74758B0332411e37dec23d273dae0e97c1dc5e72fdfffb3e5fe167b7d3c3fe3f9b9a39db2 +@ef20dd63d5bf39b47f99086e3b0ff87618b7140d8c7297d9af7029838ac6075dB021e94fa03227282ce4540d633963d20bb2162a7c767e4de53ed1456f87ea948b6B +@a87aa6f874d3284061773ade82f2b9fec08da305924530dfdf341c47fe39bb42"!1PHjjafyMa1i346cpyoBu6SHPfEQSxVtF"UOP_DUP OP_HASH160 04371f51338f8bff254a03f00ee4cea5273e34bf OP_EQUALVERIFY OP_CHECKSIG*276a91404371f51338f8bff254a03f00ee4cea5273e34bf88ac*!1PHjjafyMa1i346cpyoBu6SHPfEQSxVtF8$J  +ȁ @a87aa6f874d3284061773ade82f2b9fec08da305924530dfdf341c47fe39bb42""1CzWZTY74ZcWqx4aboRE3RkDmN8dZDihgC"UOP_DUP OP_HASH160 8389c4c0b37c66ff814d5953db7484fbd3113574 OP_EQUALVERIFY OP_CHECKSIG*276a9148389c4c0b37c66ff814d5953db7484fbd311357488ac*"1CzWZTY74ZcWqx4aboRE3RkDmN8dZDihgC8$J  +@a87aa6f874d3284061773ade82f2b9fec08da305924530dfdf341c47fe39bb42""19ThhBj3NnKTd5QmUK4ZuYeiErnRfRJ7QG"UOP_DUP OP_HASH160 5ccdca3a45dd981dc0142b2103e2e7b3a6530ea3 OP_EQUALVERIFY OP_CHECKSIG*276a9145ccdca3a45dd981dc0142b2103e2e7b3a6530ea388ac*"19ThhBj3NnKTd5QmUK4ZuYeiErnRfRJ7QG8$J $ٸ-@0000000000000000000289b6965d024e030c3f6b1cc474eadf6385c12f3fff5a"@00000000000000000003595093e50413f80ec71fab371227fef10aff5a63a7db2$ܸ-@0000000000000000000e2073d919a087c7910ac0609b398747d48f02d3f94882"@0000000000000000000289b6965d024e030c3f6b1cc474eadf6385c12f3fff5a2$-@00000000000000000014f8a4f696a01a92b462612a686b3dafaa036671da873e"@0000000000000000000e2073d919a087c7910ac0609b398747d48f02d3f948822$-@0000000000000000000bc4496051cc9ef85bc2a865aa8a25cdbb1e121cd938da"@00000000000000000014f8a4f696a01a92b462612a686b3dafaa036671da873e2$-@000000000000000000022e9a7f9605a8f8462f74ae53ac68f02c6c52c37e0efa"@0000000000000000000bc4496051cc9ef85bc2a865aa8a25cdbb1e121cd938da2$-@00000000000000000015316c09cc71f3da1c4c453952ed08065137d51d499def"@000000000000000000022e9a7f9605a8f8462f74ae53ac68f02c6c52c37e0efa2$Ĺ-@0000000000000000000cdb35e852d0c78395836affd8310a6d1653244183cea5"@00000000000000000015316c09cc71f3da1c4c453952ed08065137d51d499def2$۹-@0000000000000000000dc2373bc23a93559050495f3401cc918ed31d944ee9ab"@0000000000000000000cdb35e852d0c78395836affd8310a6d1653244183cea52$-@00000000000000000017d4f793b8b237c8426f42a103e7b97fd9708d50f4ee08"@0000000000000000000dc2373bc23a93559050495f3401cc918ed31d944ee9ab2$Ȩ-@0000000000000000000a3601c75b3b208fff7f64de8da14a630ea77df84afc70"@00000000000000000017d4f793b8b237c8426f42a103e7b97fd9708d50f4ee082$-@0000000000000000000a1761b07d723388d29aef9a503407c6b38b87d1efb8f9"@0000000000000000000a3601c75b3b208fff7f64de8da14a630ea77df84afc702$-@0000000000000000000295c49f28697f4f539719c001b6920bebde49b418114a"@0000000000000000000a1761b07d723388d29aef9a503407c6b38b87d1efb8f92 + + +1@21ea84cfda1589994833b96114efde1979644ce0df8d60504839eb218f3c0036$"@0000000000000000000295c49f28697f4f539719c001b6920bebde49b418114a(-2 +@5efc4edfafa086baebda54fee61be94705ccee9f530843e324da06dd0beb66f3B02b54e99a25bf6b0dafabb70208d3047bc6c65f57dca2db56be0768b982bf8e9242 +@181a1867920e71788d371a6a88799ad630a64a8417f980a2663071e28cade2beB030c57948942d16bd2cc33b89984de02cf90f7c690efcbc067b05cf50ad6d86337B +@@21ea84cfda1589994833b96114efde1979644ce0df8d60504839eb218f3c0036""1H8vWwvJ8kyNem8MQAAa4Tz72c2gzvqvuE"UOP_DUP OP_HASH160 b10198f298f98771b2ec8c896ea724a20db176eb OP_EQUALVERIFY OP_CHECKSIG*276a914b10198f298f98771b2ec8c896ea724a20db176eb88ac*"1H8vWwvJ8kyNem8MQAAa4Tz72c2gzvqvuE8$J  +@21ea84cfda1589994833b96114efde1979644ce0df8d60504839eb218f3c0036""12HCrywAzhXWvC4EBpcwZA8DjZWqYhhqiB"UOP_DUP OP_HASH160 0e08aed033840837b260617990293227da740dec OP_EQUALVERIFY OP_CHECKSIG*276a9140e08aed033840837b260617990293227da740dec88ac*"12HCrywAzhXWvC4EBpcwZA8DjZWqYhhqiB8$J  +@21ea84cfda1589994833b96114efde1979644ce0df8d60504839eb218f3c0036""1J5ryZsCsryqQE1K77kaq2CEAULSb8qVNv"UOP_DUP OP_HASH160 bb6584fa074248b93e3f18277d82bab7150a5f3c OP_EQUALVERIFY OP_CHECKSIG*276a914bb6584fa074248b93e3f18277d82bab7150a5f3c88ac*"1J5ryZsCsryqQE1K77kaq2CEAULSb8qVNv8$J [ + + +1@7061ad6577e2edc29cd1723b960e6f36dbcb9e575f52500aa59522166dbe7fea$"@0000000000000000000295c49f28697f4f539719c001b6920bebde49b418114a(-2 +@688cd075ee9041aeef267d4c33e2546c9a1df64ed8e17116c9cdc00aabde5ff8B0282017256ba5530762fecb8c771d0eecb76334e6b96b118591c2cc9d774b613622 +@688cd075ee9041aeef267d4c33e2546c9a1df64ed8e17116c9cdc00aabde5ff8B024b68dc6600056a06b994b4013b4d14386b0e23fcf6fc02a7a848991066a94677B +@7061ad6577e2edc29cd1723b960e6f36dbcb9e575f52500aa59522166dbe7fea""12HL52QAwHcZ28tg2sAuDYMNTExuWTLi7H"UOP_DUP OP_HASH160 0e0eb311cecd902eaf879b8d9ff0578a493b821d OP_EQUALVERIFY OP_CHECKSIG*276a9140e0eb311cecd902eaf879b8d9ff0578a493b821d88ac*"12HL52QAwHcZ28tg2sAuDYMNTExuWTLi7H8$J  +@7061ad6577e2edc29cd1723b960e6f36dbcb9e575f52500aa59522166dbe7fea""14FRhsGsbkF9R68eWkP8V5Hfc53msrpSgo"UOP_DUP OP_HASH160 23a2d2bbc6d41dc4b8fbe1eb9978e77ac538c4cf OP_EQUALVERIFY OP_CHECKSIG*276a91423a2d2bbc6d41dc4b8fbe1eb9978e77ac538c4cf88ac*"14FRhsGsbkF9R68eWkP8V5Hfc53msrpSgo8$J  +@7061ad6577e2edc29cd1723b960e6f36dbcb9e575f52500aa59522166dbe7fea""1NBYXiRbKhfT84syqfuL1hNMuncdfq5Hdy"UOP_DUP OP_HASH160 e8591ee13fe444883a080d9c0d65237283d844ff OP_EQUALVERIFY OP_CHECKSIG*276a914e8591ee13fe444883a080d9c0d65237283d844ff88ac*"1NBYXiRbKhfT84syqfuL1hNMuncdfq5Hdy8$J $Ϡ-@00000000000000000010de8bfc06232c501041e15d379b3aa3f0d72d2d2e9391"@0000000000000000000295c49f28697f4f539719c001b6920bebde49b418114a2$л-@00000000000000000018471284c970a908652e28c49b29e3dbc1e7231960e739"@00000000000000000010de8bfc06232c501041e15d379b3aa3f0d72d2d2e93912$ֻ-@000000000000000000120c941db2f9a536c35bfd0560c6da266b06e8efde878b"@00000000000000000018471284c970a908652e28c49b29e3dbc1e7231960e7392$-@0000000000000000000ff600d7b00944e73bd46266e29efaa7664eda2e3da99c"@000000000000000000120c941db2f9a536c35bfd0560c6da266b06e8efde878b2$ο-@00000000000000000009b3b5e3c8eb3bb3a4575174289466dc1b549ff04e2489"@0000000000000000000ff600d7b00944e73bd46266e29efaa7664eda2e3da99c2$-@0000000000000000001540ea93836258cfbdb2224d92e409d4037fd9ce5c7785"@00000000000000000009b3b5e3c8eb3bb3a4575174289466dc1b549ff04e24892$-@00000000000000000009fbd268a9b7d9f22c0ef4ed0a3cfe077abafb92d6c984"@0000000000000000001540ea93836258cfbdb2224d92e409d4037fd9ce5c77852$ӣ-@00000000000000000018167a38cf2c82ab32ed329cf9e9d3d72e7e4874164044"@00000000000000000009fbd268a9b7d9f22c0ef4ed0a3cfe077abafb92d6c9842$𞿽-@0000000000000000000237caa2c94e184a7e4c54411295162f4905a52fbbc97a"@00000000000000000018167a38cf2c82ab32ed329cf9e9d3d72e7e48741640442 $½-@00000000000000000002366b731211ce9aab4fc884009742e6374b2856fc10bd"@0000000000000000000237caa2c94e184a7e4c54411295162f4905a52fbbc97a2 + +1@823367180e77f041625150e54813a44b6568621fbb726882191ba73c3eee7e76$"@00000000000000000002366b731211ce9aab4fc884009742e6374b2856fc10bd(½-2 +@455f757dcddc6bd6c93bcba6988f81e3dbeeba499dfc76a88c2b39a68f97b7d2B03d97bc4d8ab9e8b23e0158822d6dc7f450a3df6f8896f6f69d7ac73d14ecb7d8a2 +@a8896c4f9a1b73808dbb451cbed95b99030c71287ccca90b0a6b8bad56f8bbffB0286edc8ca45ee390e2def490e5f60851682b3fa1e98fb7129b968511f0ef2b7c2B +@823367180e77f041625150e54813a44b6568621fbb726882191ba73c3eee7e76""1NLFofzhm9VZNVznEpGyQ3hn3gt9Fo4Bfi"UOP_DUP OP_HASH160 e9fee72fa210523619b5ae2553574d2117ca6966 OP_EQUALVERIFY OP_CHECKSIG*276a914e9fee72fa210523619b5ae2553574d2117ca696688ac*"1NLFofzhm9VZNVznEpGyQ3hn3gt9Fo4Bfi8$J  +M@823367180e77f041625150e54813a44b6568621fbb726882191ba73c3eee7e76""1EFvfnphWFeEKqvx9Pm3FvSzN8KCRRfCLn"UOP_DUP OP_HASH160 916c4254d7c25ffacef161e8be9f2b2b817c7ac2 OP_EQUALVERIFY OP_CHECKSIG*276a914916c4254d7c25ffacef161e8be9f2b2b817c7ac288ac*"1EFvfnphWFeEKqvx9Pm3FvSzN8KCRRfCLn8$J 6$Ž-@00000000000000000019438da36d4060ba2cbbe807e33d05a00cb2fe95f64fe1"@00000000000000000002366b731211ce9aab4fc884009742e6374b2856fc10bd25 + +1@fd187a8f5d94eedc55b5d4f07b032c3c55e79add2bc4a80de8c0c715f6eb6bcd$"@00000000000000000019438da36d4060ba2cbbe807e33d05a00cb2fe95f64fe1(Ž-2 +@88976e677e33fc9e0b0e595072f4fce8c800cd4defe158372de466ff410cb72bB03d5cc6463eacaf921f12cf4dff5b589e46ac8fe7a52f072ec84e81e9f8f415d1b2 +@9de683388b522d0e5a16d2ac323cf37bc89a4d14bac0f79c2af3e74f5d46f4d1B02a441fa2683bffea23ee51524b2738b10fdab4bd8471f155c820570dd358ea0762 +@f120ba2f753b4b4f474f15719960bc842a1b24c1a7bc991572311e63c7f1b970B03e4336a41faa9720411a1d4e43fa5158f56dae22bbc718458ca42c09f33b950e62 +@3d09f9b856e3b9782ec9c91af9e596e08ae50bd3d5f4342b9f2d47a5bed74e85B03cb4d24a8bdbc022c06bd8a824ee32a61cb4d9fc0c5c3219ca8982843fe1de8562 +@7380ccaef7bce1fa10d9a50ef417bbbed2315f74165eda5cda1a04e7cf1abb37B037b991a1470596165ce2fc14fa8f1f03437259991c35699a3a145ca202712ffd62 +@5efc4edfafa086baebda54fee61be94705ccee9f530843e324da06dd0beb66f3B0260cbe05bfea7c95e1b88ecddbb9ebcf92770a826ab4622fcf4cc3294b769d7d72 +@21ea84cfda1589994833b96114efde1979644ce0df8d60504839eb218f3c0036B0396178d3d97a5c03724bdbd6f981d5784ba845266e29b6b4788b1fc33e9d09df2B +@fd187a8f5d94eedc55b5d4f07b032c3c55e79add2bc4a80de8c0c715f6eb6bcd""1MVM6JBMwyZQWj6bTGGVXUe3395D615Yzk"UOP_DUP OP_HASH160 e0beef19f0b6da8925154ffb40b58eedcbd729b4 OP_EQUALVERIFY OP_CHECKSIG*276a914e0beef19f0b6da8925154ffb40b58eedcbd729b488ac*"1MVM6JBMwyZQWj6bTGGVXUe3395D615Yzk8$J  +ـ@fd187a8f5d94eedc55b5d4f07b032c3c55e79add2bc4a80de8c0c715f6eb6bcd""16RxgGRQipUpcRD17mHzSmux6GeK5L1VKZ"UOP_DUP OP_HASH160 3b9116bcd93486821cd0ab21ea8a4be3b0339ff0 OP_EQUALVERIFY OP_CHECKSIG*276a9143b9116bcd93486821cd0ab21ea8a4be3b0339ff088ac*"16RxgGRQipUpcRD17mHzSmux6GeK5L1VKZ8$J  +@fd187a8f5d94eedc55b5d4f07b032c3c55e79add2bc4a80de8c0c715f6eb6bcd""13o29QFjT1ZYZXqjEBhtdV9qkGK8EVBfDE"UOP_DUP OP_HASH160 1ea4576b0ccd19e43b8c0e651bd0be2d4e862099 OP_EQUALVERIFY OP_CHECKSIG*276a9141ea4576b0ccd19e43b8c0e651bd0be2d4e86209988ac*"13o29QFjT1ZYZXqjEBhtdV9qkGK8EVBfDE8$J g + + +1@4af482066d4a9ed5920a8d2a9ab0b76ff28b45a62d3cbcbc11afde7f8c11890f$"@00000000000000000019438da36d4060ba2cbbe807e33d05a00cb2fe95f64fe1(Ž-2 +@4e4183f1d980b1bd25cef64f01f6a674c80734dcd08b61b839f18db97c8e1269B03c0bfa3e89e735a4f61d88bbb5bd88728cd5bcfbb44b866e9b06313a6417d5e602 +@dc6803aedf5d680119a518b3fb9901046cd1ffd5a246b0b20e7fd1a7b9ef17fdB03614bae21e833b1f4b8b757e4a60abac571210d300574261cd39c144c8c86d99dB +@4af482066d4a9ed5920a8d2a9ab0b76ff28b45a62d3cbcbc11afde7f8c11890f""15VTRbeuS9Fi8w65zssZnBsb938YAGtLcZ"UOP_DUP OP_HASH160 314235319e9e74ef09552c41f9e0fc9b645163c6 OP_EQUALVERIFY OP_CHECKSIG*276a914314235319e9e74ef09552c41f9e0fc9b645163c688ac*"15VTRbeuS9Fi8w65zssZnBsb938YAGtLcZ8$J  +=@4af482066d4a9ed5920a8d2a9ab0b76ff28b45a62d3cbcbc11afde7f8c11890f""14zUGLKzXf8TPUBL53RZSkYLttjXijfhNW"UOP_DUP OP_HASH160 2bc6d8a86cf36086a171be1efe50b4896a353b31 OP_EQUALVERIFY OP_CHECKSIG*276a9142bc6d8a86cf36086a171be1efe50b4896a353b3188ac*"14zUGLKzXf8TPUBL53RZSkYLttjXijfhNW8$J  +3@4af482066d4a9ed5920a8d2a9ab0b76ff28b45a62d3cbcbc11afde7f8c11890f""13gpaBEVXt5VZipKZKhsUH2L2xkDWJrfTx"UOP_DUP OP_HASH160 1d782f688f5af8c281e5abf3c03c27eab5c59390 OP_EQUALVERIFY OP_CHECKSIG*276a9141d782f688f5af8c281e5abf3c03c27eab5c5939088ac*"13gpaBEVXt5VZipKZKhsUH2L2xkDWJrfTx8$J  + +1@99d81c186714f21960e1f5c1469f73b4da868729c7cb3ab2f96f9f686d64f529$"@00000000000000000019438da36d4060ba2cbbe807e33d05a00cb2fe95f64fe1(Ž-2 +@7cdcb69036b0dec5a1338c873b9ba6fc9b7748b992d4bc636cfb581e4e7ec1efB032ad9ac954a010ff90600a9e10d3507829977d23e233f1ebb74a54cc84a835fd22 +@42b52846586898fd883ba0cabb3d29c7ff04ef4befb0eae99d9d4967ce53eeadB033a3ad5958e9d5ad1912267d2df7f293f72457e38c9b1f8f6fff853023a2f45fa2 +@626f973531acde41b478927f37803f68f00007e26c8f2b004d88db224447c1e4B02811e864a22e64722fd1e6e9be769433c69bfc9ff57de74142bccfbee3d813eed2 +@deabcaf0e23cb638bbc798694ce0902a9ef4024900374146d656dd71ce198d90B03bab3f139ec931a004318b5cd7edfd7aa05b2ff8207e4016e0b89febb5c0a72ac2 +@9519cd628aa8bbb63e882033a94bb5fdd0f51460be77940279b922f1b9c8d80fB0207287f68bac976134a9ae4f7dabeb834c5b76b5533bbdd18e5e3508354961266B +@99d81c186714f21960e1f5c1469f73b4da868729c7cb3ab2f96f9f686d64f529""1PvSvLTibYYJLToFGqXP1W8xJ1Km9BuiTi"UOP_DUP OP_HASH160 fb6e7325934c1772a60c140f1e18613b4356d025 OP_EQUALVERIFY OP_CHECKSIG*276a914fb6e7325934c1772a60c140f1e18613b4356d02588ac*"1PvSvLTibYYJLToFGqXP1W8xJ1Km9BuiTi8$J  +\@99d81c186714f21960e1f5c1469f73b4da868729c7cb3ab2f96f9f686d64f529""1Ey3hSGoT8GE8LTuTn8gh63Zr7BciE7Udz"UOP_DUP OP_HASH160 99332e3751801d2d30a4b4dbb3215507665639d7 OP_EQUALVERIFY OP_CHECKSIG*276a91499332e3751801d2d30a4b4dbb3215507665639d788ac*"1Ey3hSGoT8GE8LTuTn8gh63Zr7BciE7Udz8$J  +@99d81c186714f21960e1f5c1469f73b4da868729c7cb3ab2f96f9f686d64f529""18xhbk1p7h43nvgTUeFy3CtEX2j8YnkYTN"UOP_DUP OP_HASH160 5751a612602989270adfb54daa338416b8439711 OP_EQUALVERIFY OP_CHECKSIG*276a9145751a612602989270adfb54daa338416b843971188ac*"18xhbk1p7h43nvgTUeFy3CtEX2j8YnkYTN8$J & + +1@7ae031ef8cec388cfe3d40a7084b2afab8e827958b29af3656a4511089496099$"@00000000000000000019438da36d4060ba2cbbe807e33d05a00cb2fe95f64fe1(Ž-2 +@599b7979a06de72913c04c53cf248953049d93892942b3135e67ae764ab1b7d0B03e1397eb83a88117b3992965da28fcccb0a0865fea7dacf33077eeee18a6fa6d82 +@5eeb00aa0df81a196b3e2c41693ba0017dc11e771f44f52285e754fd5646a98aB02bd914ed46079e2ac52fcf1078ae531e84ec50aeb09aacdd3e92e8458c59df051B + @7ae031ef8cec388cfe3d40a7084b2afab8e827958b29af3656a4511089496099""1MuGmtxStddTevSi8DRoXF8XUy4zzWJWpY"UOP_DUP OP_HASH160 e545502ee03d436f951ffc3d98b43a68b26b0553 OP_EQUALVERIFY OP_CHECKSIG*276a914e545502ee03d436f951ffc3d98b43a68b26b055388ac*"1MuGmtxStddTevSi8DRoXF8XUy4zzWJWpY8$J  +@7ae031ef8cec388cfe3d40a7084b2afab8e827958b29af3656a4511089496099""1MuGmtxStddTevSi8DRoXF8XUy4zzWJWpY"UOP_DUP OP_HASH160 e545502ee03d436f951ffc3d98b43a68b26b0553 OP_EQUALVERIFY OP_CHECKSIG*276a914e545502ee03d436f951ffc3d98b43a68b26b055388ac*"1MuGmtxStddTevSi8DRoXF8XUy4zzWJWpY8$J   +ʼn@7ae031ef8cec388cfe3d40a7084b2afab8e827958b29af3656a4511089496099""1MYjGZa33r8Wt21XioJXNHs8SmY31AX6Cp"UOP_DUP OP_HASH160 e162b1bd309a9478067603689baa521bcec14d8d OP_EQUALVERIFY OP_CHECKSIG*276a914e162b1bd309a9478067603689baa521bcec14d8d88ac*"1MYjGZa33r8Wt21XioJXNHs8SmY31AX6Cp8$J  +@7ae031ef8cec388cfe3d40a7084b2afab8e827958b29af3656a4511089496099"l"6OP_RETURN 1101a2de780465c065ee0d891c1953f866f397f2fd80*06a161101a2de780465c065ee0d891c1953f866f397f2fd802xee Sf8$J $н-@000000000000000000102684c37ca9dde82c5050e42c033b37af0f807bf4560a"@00000000000000000019438da36d4060ba2cbbe807e33d05a00cb2fe95f64fe12$۽-@0000000000000000000cb18f54c629d842805160df2b36c70fdd30721ff1c613"@000000000000000000102684c37ca9dde82c5050e42c033b37af0f807bf4560a2 $蟅-@0000000000000000000bf2d31fe1fc5ef25425b732cb61e49b2af019f5a5feef"@0000000000000000000cb18f54c629d842805160df2b36c70fdd30721ff1c6132 + + + +1@ff2540489aeaf34da5521ef117bdf9eb39decb4fa47fa62298b6b91a5c03ad04$"@0000000000000000000bf2d31fe1fc5ef25425b732cb61e49b2af019f5a5feef(蟅-2 +@7ba84cdac5d905e2e9c1593da058d1bc7fe81e1614e485c3bfa27f288dbe73caB0298d265ad8c129bff75170965ceaf69e399677e7441b17ad5d990af921de2a4802 +@7ba84cdac5d905e2e9c1593da058d1bc7fe81e1614e485c3bfa27f288dbe73caB0304cce176379bb355e7eaab6dde30ff13bdd2cdf5448d9e743fedf52daa4a15adB +@ff2540489aeaf34da5521ef117bdf9eb39decb4fa47fa62298b6b91a5c03ad04""17Q9NwaQVQGTdAoMCbfKNaj8FjBGNjxquR"UOP_DUP OP_HASH160 463150cfc2e04c0d1b08d8bbc6f84ac7c8cdb6e1 OP_EQUALVERIFY OP_CHECKSIG*276a914463150cfc2e04c0d1b08d8bbc6f84ac7c8cdb6e188ac*"17Q9NwaQVQGTdAoMCbfKNaj8FjBGNjxquR8$J  +ЄM@ff2540489aeaf34da5521ef117bdf9eb39decb4fa47fa62298b6b91a5c03ad04""12LeqiuAVcKk485d7GfKS66cnUdciT1Zqs"UOP_DUP OP_HASH160 0eaf9dc80a8b196100320283652291ef77a472c7 OP_EQUALVERIFY OP_CHECKSIG*276a9140eaf9dc80a8b196100320283652291ef77a472c788ac*"12LeqiuAVcKk485d7GfKS66cnUdciT1Zqs8$J  + +@ff2540489aeaf34da5521ef117bdf9eb39decb4fa47fa62298b6b91a5c03ad04""1HVULxLTy9QPmrHZ9EvA4wFzzMSvknqEZQ"UOP_DUP OP_HASH160 b4e47c30f367db3d7f7846ab181f32de6a537fc3 OP_EQUALVERIFY OP_CHECKSIG*276a914b4e47c30f367db3d7f7846ab181f32de6a537fc388ac*"1HVULxLTy9QPmrHZ9EvA4wFzzMSvknqEZQ8$J $-@000000000000000000194174cf7c4c8a3822cdddc863f9a9a5065eeab95cc91f"@0000000000000000000bf2d31fe1fc5ef25425b732cb61e49b2af019f5a5feef2$-@0000000000000000000919c365fa24c3adbb04ab9f3e27029f3cd12900ba949f"@000000000000000000194174cf7c4c8a3822cdddc863f9a9a5065eeab95cc91f2$-@00000000000000000002ecf3342a62a003903a21cb48b12d9b37fd0e1b1d3f12"@0000000000000000000919c365fa24c3adbb04ab9f3e27029f3cd12900ba949f2$-@000000000000000000197451bbd5819239f801483b0d353f8a66780ad38e94a9"@00000000000000000002ecf3342a62a003903a21cb48b12d9b37fd0e1b1d3f122$-@00000000000000000006cecf8814e04b5cbdc895bd888741d0467b67e494ce32"@000000000000000000197451bbd5819239f801483b0d353f8a66780ad38e94a92™$-@00000000000000000006439734b6cf3bc351489e57698109a0696150abd92774"@00000000000000000006cecf8814e04b5cbdc895bd888741d0467b67e494ce322Ù$-@0000000000000000000685157f5a260b9801e4f52eb7dca637e9bb8e4072da7c"@00000000000000000006439734b6cf3bc351489e57698109a0696150abd927742ę$-@00000000000000000002c7df75d8615dde7907495380394c81adcd54120b3b67"@0000000000000000000685157f5a260b9801e4f52eb7dca637e9bb8e4072da7c2ř$-@0000000000000000001614d8729f3a1a401f43c793d79ad0097df93ef7b8c069"@00000000000000000002c7df75d8615dde7907495380394c81adcd54120b3b672ƙ$-@0000000000000000001764f7e61a2cdd615988cddec2efb36cb18f30fdba4591"@0000000000000000001614d8729f3a1a401f43c793d79ad0097df93ef7b8c0692Ǚ$-@00000000000000000019b962185a762407f4d32bc154acada478aac0e5e7e896"@0000000000000000001764f7e61a2cdd615988cddec2efb36cb18f30fdba45912 ș$-@0000000000000000000ec2758998bc470e2de19a1820fdd46f378f78ff162594"@00000000000000000019b962185a762407f4d32bc154acada478aac0e5e7e8962 + + + +1@9234d00867a292b5d6a82f1cdd100cfd5efc7b0279931d96a3eaa5e7e063e954ș$"@0000000000000000000ec2758998bc470e2de19a1820fdd46f378f78ff162594(-2 +@a66789e5b8a2628ac310b42a482d6d7da8644443ffb629b1abc407815f59ba2fB02964d1848db4aaf189923c338b1372aeb5f2e2028978fd8441c6988632d8557b22 +@d03cd517d9255d721eacc554c74c27c4c5d48b44a54e5a53f99f062ad670d074B0246539e56e634dbaa675c614107c4e75c16a9eb9b1abcadcf1aa2cb60e0629b3aB +@@9234d00867a292b5d6a82f1cdd100cfd5efc7b0279931d96a3eaa5e7e063e954""126W3cxB7bHmtm7CZqqaD6Vfq8RxWT3NcM"UOP_DUP OP_HASH160 0c0273870d6fd46da77e152b6eff55c9450f16ff OP_EQUALVERIFY OP_CHECKSIG*276a9140c0273870d6fd46da77e152b6eff55c9450f16ff88ac*"126W3cxB7bHmtm7CZqqaD6Vfq8RxWT3NcM8ș$J  +M@9234d00867a292b5d6a82f1cdd100cfd5efc7b0279931d96a3eaa5e7e063e954""1L8q3MxxoymSDn2KpwKhmgqVMfpPic5f9x"UOP_DUP OP_HASH160 d1e5676c1eee0869c3c0a549aa400415adcf8740 OP_EQUALVERIFY OP_CHECKSIG*276a914d1e5676c1eee0869c3c0a549aa400415adcf874088ac*"1L8q3MxxoymSDn2KpwKhmgqVMfpPic5f9x8ș$J  + @9234d00867a292b5d6a82f1cdd100cfd5efc7b0279931d96a3eaa5e7e063e954""18KWo1cn43JCUF1R5DXjKjfmmRMnqNnh3n"UOP_DUP OP_HASH160 50493cec63e55fe7fb24ee8fef40891b21aff300 OP_EQUALVERIFY OP_CHECKSIG*276a91450493cec63e55fe7fb24ee8fef40891b21aff30088ac*"18KWo1cn43JCUF1R5DXjKjfmmRMnqNnh3n8ș$J ə$-@000000000000000000063b83e8bde1539f225a1a89295c125848a5ce5d84c0ed"@0000000000000000000ec2758998bc470e2de19a1820fdd46f378f78ff1625942ʙ$-@000000000000000000023154f7b9a1f55c4720aa067a546e73d0ece24410ccc6"@000000000000000000063b83e8bde1539f225a1a89295c125848a5ce5d84c0ed2˙$-@0000000000000000000a2176b860524c19a14119d236c52505ae8f1d93e0fc43"@000000000000000000023154f7b9a1f55c4720aa067a546e73d0ece24410ccc62̙$-@0000000000000000000a6d491d10fdf20a691f16bf441da7b646c7893d9b2929"@0000000000000000000a2176b860524c19a14119d236c52505ae8f1d93e0fc432͙$-@0000000000000000000f801027da700e1e69b47c71b999da9671de10a2dade01"@0000000000000000000a6d491d10fdf20a691f16bf441da7b646c7893d9b29292Ι$-@00000000000000000017f5eb3355f9d5d9b87a4766179297f1faf3a33a18cae6"@0000000000000000000f801027da700e1e69b47c71b999da9671de10a2dade012ϙ$ؿ-@00000000000000000016d5ad9bfb4c592b7220ed311facb2f3cdd0771eb7646d"@00000000000000000017f5eb3355f9d5d9b87a4766179297f1faf3a33a18cae62Й$-@00000000000000000005dc459f0575b17413dbe7685e3e0fd382ed521f1be68b"@00000000000000000016d5ad9bfb4c592b7220ed311facb2f3cdd0771eb7646d2љ$-@000000000000000000094ebb8119c0ec545915d9124625358e397dd7339fae8b"@00000000000000000005dc459f0575b17413dbe7685e3e0fd382ed521f1be68b2 ҙ$г-@00000000000000000004d8de72175a428eae599199d909389acb931529ca471b"@000000000000000000094ebb8119c0ec545915d9124625358e397dd7339fae8b2 + + + +1@303a0b169077cd7c41b9e4915a31e3eb4638defb09f977d556cf3d17b77823edҙ$"@00000000000000000004d8de72175a428eae599199d909389acb931529ca471b(г-2 +@01c62b79e6f54e2bb43c72a40e015e18c498936e1b982536712aacde252f6bdeB02fb49ac1363619a16dac832965f64a6d8a218a8c9235c7be39812b89fa840c8632 +@8f17b3073b2d263b6d9fa3dd6fb669d2b2a7aa9b667ab3db4f8eafc96ef604a1B03b0c6395482453569191df97ac29c1632e76433778a51638077366457b2aed991B +@303a0b169077cd7c41b9e4915a31e3eb4638defb09f977d556cf3d17b77823ed""1PnCuAPvq9tXNdiZPdEDYXPbGv53SM1MRK"UOP_DUP OP_HASH160 f9df6b2920602a3720f62b6f83c6aa8f7afa6f33 OP_EQUALVERIFY OP_CHECKSIG*276a914f9df6b2920602a3720f62b6f83c6aa8f7afa6f3388ac*"1PnCuAPvq9tXNdiZPdEDYXPbGv53SM1MRK8ҙ$J  +@303a0b169077cd7c41b9e4915a31e3eb4638defb09f977d556cf3d17b77823ed""16Wxgip1zBnixtMY9fGZPebfGHRhNDAYMy"UOP_DUP OP_HASH160 3c832cd85e6ad1e69f0881fbbf087ed35f087857 OP_EQUALVERIFY OP_CHECKSIG*276a9143c832cd85e6ad1e69f0881fbbf087ed35f08785788ac*"16Wxgip1zBnixtMY9fGZPebfGHRhNDAYMy8ҙ$J  +@303a0b169077cd7c41b9e4915a31e3eb4638defb09f977d556cf3d17b77823ed"!1F8QxE5j1a4wGZ2gq79QvX8bpZVxmZXFC"UOP_DUP OP_HASH160 02ac02f19ffd834e96b2cc16f3c0d59b854970fd OP_EQUALVERIFY OP_CHECKSIG*276a91402ac02f19ffd834e96b2cc16f3c0d59b854970fd88ac*!1F8QxE5j1a4wGZ2gq79QvX8bpZVxmZXFC8ҙ$J ;ә$-@0000000000000000000f9e63fbc0b6bdcf3d91d46efd7db2d80f2131c1da3d31"@00000000000000000004d8de72175a428eae599199d909389acb931529ca471b2ԙ$-@00000000000000000000c557c6ef6c4e0f74b7b3dba6b8827d19fbe816f9e20d"@0000000000000000000f9e63fbc0b6bdcf3d91d46efd7db2d80f2131c1da3d312 ՙ$-@00000000000000000005baef54e60f93f53aa91fbcd5436e368388ca6fb578c8"@00000000000000000000c557c6ef6c4e0f74b7b3dba6b8827d19fbe816f9e20d2 + +1@b4985115c7ee289ca28af50a5b7108c4dd9dcaedf47b7f9c1d9348579874be45ՙ$"@00000000000000000005baef54e60f93f53aa91fbcd5436e368388ca6fb578c8(-2 +@a87aa6f874d3284061773ade82f2b9fec08da305924530dfdf341c47fe39bb42B03c199691c5a6b53353294b50bb902ccac096ad92a712d0bb21470d9ceec69e69c2 +@a87aa6f874d3284061773ade82f2b9fec08da305924530dfdf341c47fe39bb42B03ff24050284baaec0184031216f0deda19572554aef4ac316a973facbbfd666252 +@6cec9809d412fd29a48c9984fc2c72784a25f4ea51f5835c823a76b220586ba8B023886bc2bd4b796d112ce8829287aaa0ba86677699918bb25125c2449f93b1535B +@b4985115c7ee289ca28af50a5b7108c4dd9dcaedf47b7f9c1d9348579874be45""1GaQXFk7sju1w2NgC5Zf3WC3ME1MJivwbx"UOP_DUP OP_HASH160 aadb3f946f6b08c97341443a0a4d69f89f5cd3b9 OP_EQUALVERIFY OP_CHECKSIG*276a914aadb3f946f6b08c97341443a0a4d69f89f5cd3b988ac*"1GaQXFk7sju1w2NgC5Zf3WC3ME1MJivwbx8ՙ$J  +@b4985115c7ee289ca28af50a5b7108c4dd9dcaedf47b7f9c1d9348579874be45""18QhBCPVozKKGRTjnwS31hscNGc1VA4gqG"UOP_DUP OP_HASH160 5143fc13b4d9379c02b9d31d81d078b3c7499b09 OP_EQUALVERIFY OP_CHECKSIG*276a9145143fc13b4d9379c02b9d31d81d078b3c7499b0988ac*"18QhBCPVozKKGRTjnwS31hscNGc1VA4gqG8ՙ$J  +@b4985115c7ee289ca28af50a5b7108c4dd9dcaedf47b7f9c1d9348579874be45""1JDa6PAK4jbeRMdqYymv3j8gwKrniUMHxk"UOP_DUP OP_HASH160 bcdac11c6213ed391898a33d31b8ebd1ad0b90e2 OP_EQUALVERIFY OP_CHECKSIG*276a914bcdac11c6213ed391898a33d31b8ebd1ad0b90e288ac*"1JDa6PAK4jbeRMdqYymv3j8gwKrniUMHxk8ՙ$J h֙$-@0000000000000000001675ac7737d9891f4680c7dd325163cae2ad851ed76733"@00000000000000000005baef54e60f93f53aa91fbcd5436e368388ca6fb578c82י$-@0000000000000000001987d7dc86450fb2b7be4ec4d081ce7179068fd27a703d"@0000000000000000001675ac7737d9891f4680c7dd325163cae2ad851ed767332ؙ$-@0000000000000000000b473becaa1134989e14891c25c2060de4cfebc99beb01"@0000000000000000001987d7dc86450fb2b7be4ec4d081ce7179068fd27a703d2ٙ$י-@00000000000000000012591952a8b550362054c482073489441e05b4ee93a737"@0000000000000000000b473becaa1134989e14891c25c2060de4cfebc99beb012ڙ$-@0000000000000000000d528225bd3deea9ca5f1da9291cd39a2afd7471f7b9f3"@00000000000000000012591952a8b550362054c482073489441e05b4ee93a7372ۙ$ț-@0000000000000000000c5cfadcc73bbeeb7ee010f5841f073f194bf8d6221760"@0000000000000000000d528225bd3deea9ca5f1da9291cd39a2afd7471f7b9f32ܙ$-@00000000000000000005f790d0952ddab5d9524b640ff399b6e6e12b0086a154"@0000000000000000000c5cfadcc73bbeeb7ee010f5841f073f194bf8d62217602ݙ$-@000000000000000000090bc11f6ac2668b03852bfbdd3cc4e7a55617964e208e"@00000000000000000005f790d0952ddab5d9524b640ff399b6e6e12b0086a1542ޙ$-@00000000000000000005cb9fa3fc49288fb0a07185538ba01bee85d35414be9f"@000000000000000000090bc11f6ac2668b03852bfbdd3cc4e7a55617964e208e2,ߙ$Ƚ-@00000000000000000010a30cbea42f066d037678a0f0985f375774897fab96cc"@00000000000000000005cb9fa3fc49288fb0a07185538ba01bee85d35414be9f2+ + + +1@9ffd5d63f6a337a1aaf778292fb1a6b2c163f5047ae89a8f06473ae9c97ea82cߙ$"@00000000000000000010a30cbea42f066d037678a0f0985f375774897fab96cc(Ƚ-2 +@09409a4b18b21634e4ecb31a25424d6f30e3220ce491ff13c3b504ca59c7ee83B0346d48ba72f246605aba082d5f12454bfcb08d775e0e97c82080ac38dafa727b02 +@1e156315b8cac6a76b0f5fef48805232e978f28079a15a2f29f3c055f3d713d9B032f6a541ce8f09fea994089fc4f1312537d51e38c519a27f7e42cab25225649cdB + @9ffd5d63f6a337a1aaf778292fb1a6b2c163f5047ae89a8f06473ae9c97ea82c""1NhYfxR3NP9A9CvNnMJviuiJeN3QuwaLeN"UOP_DUP OP_HASH160 ee05b7d4acb9702bdcbf275ccd445da0ec253b6f OP_EQUALVERIFY OP_CHECKSIG*276a914ee05b7d4acb9702bdcbf275ccd445da0ec253b6f88ac*"1NhYfxR3NP9A9CvNnMJviuiJeN3QuwaLeN8ߙ$J  +Z@9ffd5d63f6a337a1aaf778292fb1a6b2c163f5047ae89a8f06473ae9c97ea82c""1HhjGv1xk4HMtycYDKAmDUpvgwEKoVHh5o"UOP_DUP OP_HASH160 b735f09c7da3a0d7318f8b713b32aa7b7e433e52 OP_EQUALVERIFY OP_CHECKSIG*276a914b735f09c7da3a0d7318f8b713b32aa7b7e433e5288ac*"1HhjGv1xk4HMtycYDKAmDUpvgwEKoVHh5o8ߙ$J  +Ս@9ffd5d63f6a337a1aaf778292fb1a6b2c163f5047ae89a8f06473ae9c97ea82c""1EByFqonwvCXwNw7qviC69xVFaNt4QqoNx"UOP_DUP OP_HASH160 90acc13e53e724ee0198eebb1e791c8b6eea18d5 OP_EQUALVERIFY OP_CHECKSIG*276a91490acc13e53e724ee0198eebb1e791c8b6eea18d588ac*"1EByFqonwvCXwNw7qviC69xVFaNt4QqoNx8ߙ$J  + +1@aafc70893ac3d0d482ab19223a3d93dc25254470b83e729c8a95777a25a5e20fߙ$"@00000000000000000010a30cbea42f066d037678a0f0985f375774897fab96cc(Ƚ-2 +@863af5a0bcb44eb819f7ed85cc83fe3b7d6cbe47750bbd770a6ca13d3ff14f12B024026fde8e70bd869ed0a7f88d341b32c82ee85241c4f4553a6ffdf09a9a8df7c2 +@2fba8d62a99c5b93103fbb9b355b9ebb76ad665e6b9f597358df277f46beec6fB027c3fe064e1e1a8833cd60a6a4ef6bb6715f2d7e1ce568934244ee213a92b53722 +@77c44abbca9e94fd73f2faae5dc8e29658350ba1ca4bf54eec31eaea3e68b6daB028ec5ccadf0535d4f561b8ba2f921f78aeee7ed5eed316debc67d38fa5aae71b3B +@aafc70893ac3d0d482ab19223a3d93dc25254470b83e729c8a95777a25a5e20f""1AcGki3rPx6FwCPy52qR1w61LewfqcaEWq"UOP_DUP OP_HASH160 6964d7553e3c13afca6418801a1f13b2818adbc0 OP_EQUALVERIFY OP_CHECKSIG*276a9146964d7553e3c13afca6418801a1f13b2818adbc088ac*"1AcGki3rPx6FwCPy52qR1w61LewfqcaEWq8ߙ$J  +@aafc70893ac3d0d482ab19223a3d93dc25254470b83e729c8a95777a25a5e20f""12QVbcSNPe9KTaDWiHUP7DnAVjhwU5gx1D"UOP_DUP OP_HASH160 0f6990737efffa1693a9fed85f798c9dbaf86062 OP_EQUALVERIFY OP_CHECKSIG*276a9140f6990737efffa1693a9fed85f798c9dbaf8606288ac*"12QVbcSNPe9KTaDWiHUP7DnAVjhwU5gx1D8ߙ$J  +@aafc70893ac3d0d482ab19223a3d93dc25254470b83e729c8a95777a25a5e20f""1NjkBHNdX2LxyUJBy2PyMMqD1aNvo9HhFQ"UOP_DUP OP_HASH160 ee702788f3ce827b0073dca0b5ccae44d1ee7de6 OP_EQUALVERIFY OP_CHECKSIG*276a914ee702788f3ce827b0073dca0b5ccae44d1ee7de688ac*"1NjkBHNdX2LxyUJBy2PyMMqD1aNvo9HhFQ8ߙ$J ! + + +1@f699e56772013236894a87bde088bed65a23ee78bc06be73ee62fea1a57ea7d3ߙ$"@00000000000000000010a30cbea42f066d037678a0f0985f375774897fab96cc(Ƚ-2 +@cd3a8f669dfd753216fca3a56fa3b3195f731af0df128976d008a888417012e5B03184de30e388611b74b942f81281493509215196ed6360eff981fb3990b4fe7f62 +@268fb6a65b2c7ccf3dabfec2c37cd2ba8e68f2a9cf238dbbfe903ee1b6eb4636B031486dddd193cd0fcca3dcbb219d5af114e3fb5a63e2b5ed8986cb4beea5678a8B +@f699e56772013236894a87bde088bed65a23ee78bc06be73ee62fea1a57ea7d3""1Khmc1hDnkVmv288fXd9KzkddFKL3LC94k"UOP_DUP OP_HASH160 cd2822c618d86fd58b96964a47880795272c7435 OP_EQUALVERIFY OP_CHECKSIG*276a914cd2822c618d86fd58b96964a47880795272c743588ac*"1Khmc1hDnkVmv288fXd9KzkddFKL3LC94k8ߙ$J  +\@f699e56772013236894a87bde088bed65a23ee78bc06be73ee62fea1a57ea7d3""16UsWLwk2UZi8T9oe2sPV9ktKj4Mcgr34z"UOP_DUP OP_HASH160 3c1e052623e33043bedfcb5a65fbb13b488a3ffb OP_EQUALVERIFY OP_CHECKSIG*276a9143c1e052623e33043bedfcb5a65fbb13b488a3ffb88ac*"16UsWLwk2UZi8T9oe2sPV9ktKj4Mcgr34z8ߙ$J  +@f699e56772013236894a87bde088bed65a23ee78bc06be73ee62fea1a57ea7d3""1412apGAwTLdeNwMVvRSk97wHZfGFLeeMK"UOP_DUP OP_HASH160 20e9b2e39b13437ef7f3bdd5e4a386c7aade4a82 OP_EQUALVERIFY OP_CHECKSIG*276a91420e9b2e39b13437ef7f3bdd5e4a386c7aade4a8288ac*"1412apGAwTLdeNwMVvRSk97wHZfGFLeeMK8ߙ$J & + + +1@8ba4c40c6c1078c7a7418380cc39d08f3b5043db17903e20acf716a2b9769e70ߙ$"@00000000000000000010a30cbea42f066d037678a0f0985f375774897fab96cc(Ƚ-2 +@f699e56772013236894a87bde088bed65a23ee78bc06be73ee62fea1a57ea7d3B039946744bc75ca3b1c7fc753e7626f0e961e7ae6ac1db099006fb9c04ee54496d2 +@04bf0e6bd2b321baefa8d0ed5c96f4d66c2c0c441592e5f319c731bd12b9c0b1B0390c58c449a30ec251869f0d4c415c5aa88c5de0fd11f6a6f890502375715b8d2B +@8ba4c40c6c1078c7a7418380cc39d08f3b5043db17903e20acf716a2b9769e70""19mN784cd2q234PAeaQNHSW4VEhGufecQn"UOP_DUP OP_HASH160 6024ed3680ac69e27cbd5c68fecd5ce791588b88 OP_EQUALVERIFY OP_CHECKSIG*276a9146024ed3680ac69e27cbd5c68fecd5ce791588b8888ac*"19mN784cd2q234PAeaQNHSW4VEhGufecQn8ߙ$J  +\@8ba4c40c6c1078c7a7418380cc39d08f3b5043db17903e20acf716a2b9769e70""1267iuGV3dkPwFHQ5qY7tGvDJj7MYjAxiu"UOP_DUP OP_HASH160 0befd133df9a45e126f7bcb0c55a7b3bfb23f143 OP_EQUALVERIFY OP_CHECKSIG*276a9140befd133df9a45e126f7bcb0c55a7b3bfb23f14388ac*"1267iuGV3dkPwFHQ5qY7tGvDJj7MYjAxiu8ߙ$J  +9@8ba4c40c6c1078c7a7418380cc39d08f3b5043db17903e20acf716a2b9769e70""1LM2tQfk5Woz7DDFFuUszmbwFj17uR22TR"UOP_DUP OP_HASH160 d43448a5251711ae9517f48f6afa79c9b3db39ac OP_EQUALVERIFY OP_CHECKSIG*276a914d43448a5251711ae9517f48f6afa79c9b3db39ac88ac*"1LM2tQfk5Woz7DDFFuUszmbwFj17uR22TR8ߙ$J &$-@000000000000000000135f953da2acaccf47ccb0f623cc6365c4bcf26f277af3"@00000000000000000010a30cbea42f066d037678a0f0985f375774897fab96cc2 $-@00000000000000000012d93a116d77b07c13aaa38064c190a6b9d32564295d88"@000000000000000000135f953da2acaccf47ccb0f623cc6365c4bcf26f277af32 + + + +1@c87091f6631df5ebf39148789f8412aefe2b4efcfa0448a28ad38f13678b1257$"@00000000000000000012d93a116d77b07c13aaa38064c190a6b9d32564295d88(-2 +@9234d00867a292b5d6a82f1cdd100cfd5efc7b0279931d96a3eaa5e7e063e954B033aec651c563db8d578cbc91ce8a84b85b78283eb5df3476046bb92bf3b92afbc2 +@c6341ac346293fe64fcb0863f8a9c34342e55d746a93fd9896a481b1551f6f8bB02f4922ba77da1645e585e077c4d2efec51963f9c206e7c9c2825718917b6d8649B +=@c87091f6631df5ebf39148789f8412aefe2b4efcfa0448a28ad38f13678b1257""1BVeVZ6jNXuvXXK4DFUWZWW63NL36tDbjb"UOP_DUP OP_HASH160 731c33a6d1b18fb1648e8f3097db81fd894d1189 OP_EQUALVERIFY OP_CHECKSIG*276a914731c33a6d1b18fb1648e8f3097db81fd894d118988ac*"1BVeVZ6jNXuvXXK4DFUWZWW63NL36tDbjb8$J  +@c87091f6631df5ebf39148789f8412aefe2b4efcfa0448a28ad38f13678b1257""16TZr5RE9H1JzXVw4uMxjnatAMWxVVMPXJ"UOP_DUP OP_HASH160 3bdedcccfea5d48eda97b361fdad93a0fd4adc95 OP_EQUALVERIFY OP_CHECKSIG*276a9143bdedcccfea5d48eda97b361fdad93a0fd4adc9588ac*"16TZr5RE9H1JzXVw4uMxjnatAMWxVVMPXJ8$J  +@c87091f6631df5ebf39148789f8412aefe2b4efcfa0448a28ad38f13678b1257""1JkanTnQWaov1NL4NxEnCBYELaXf6r6byK"UOP_DUP OP_HASH160 c2b839daefbdb842a362d75c8651548b7434f932 OP_EQUALVERIFY OP_CHECKSIG*276a914c2b839daefbdb842a362d75c8651548b7434f93288ac*"1JkanTnQWaov1NL4NxEnCBYELaXf6r6byK8$J $-@0000000000000000001a0f3ac8037e5eaac7d70bfb0be96016e4aeb22f59c7ae"@00000000000000000012d93a116d77b07c13aaa38064c190a6b9d32564295d882$߃-@00000000000000000002d56380dd1e5ee4dfa118b36979d47a76a35f7b6ce32d"@0000000000000000001a0f3ac8037e5eaac7d70bfb0be96016e4aeb22f59c7ae2$א-@00000000000000000003e54185c4a82545906a8dc54ca66180b56166612b5299"@00000000000000000002d56380dd1e5ee4dfa118b36979d47a76a35f7b6ce32d2 + + +1@7f3be46556d8e52de8382a5e8190082738a456c369e0a7cd2857e501ef086537$"@00000000000000000003e54185c4a82545906a8dc54ca66180b56166612b5299(א-2 +@01947a31521b4cbb762335a470499ddeb2b99d11d282b38a54da4d8b2d6cf2d1B038d293d6ecc49d47c9c1b008bb24771b2d891107cdcf83a6346add58262701ee52 +@e2db3ff6fc5da7016e3a71080cdbaeaa43342c03424e0f6e06923ef261cd918aB025a37bb54a0cf719dea1d2345ee0259eb1b5a41f47159c9fb78b336cebbf82fa1B +@7f3be46556d8e52de8382a5e8190082738a456c369e0a7cd2857e501ef086537""1QKJPhLp3QasqiwFPRifzo4Pr977Ys9fVX"UOP_DUP OP_HASH160 ffc0e5daa1d3521513c3f900883495cf156e875e OP_EQUALVERIFY OP_CHECKSIG*276a914ffc0e5daa1d3521513c3f900883495cf156e875e88ac*"1QKJPhLp3QasqiwFPRifzo4Pr977Ys9fVX8$J  +h@7f3be46556d8e52de8382a5e8190082738a456c369e0a7cd2857e501ef086537""17ETWPx4U8Si5BPiyeWAVceKdDEsfisbC5"UOP_DUP OP_HASH160 445c49fb079b4d6a3fb2f0e0643c7f572606515d OP_EQUALVERIFY OP_CHECKSIG*276a914445c49fb079b4d6a3fb2f0e0643c7f572606515d88ac*"17ETWPx4U8Si5BPiyeWAVceKdDEsfisbC58$J  +*@7f3be46556d8e52de8382a5e8190082738a456c369e0a7cd2857e501ef086537""1NLBfpp5vGD5s1cE7wFQPLgsV6ZYo7uGXm"UOP_DUP OP_HASH160 e9fb737a799369a0bd5806849137d3bfe7fc3662 OP_EQUALVERIFY OP_CHECKSIG*276a914e9fb737a799369a0bd5806849137d3bfe7fc366288ac*"1NLBfpp5vGD5s1cE7wFQPLgsV6ZYo7uGXm8$J  + + +1@420856a3125810abc3cb4ac2c430c7bd6851b03d941568e6e1ae1524efce7455$"@00000000000000000003e54185c4a82545906a8dc54ca66180b56166612b5299(א-2 +@7f3be46556d8e52de8382a5e8190082738a456c369e0a7cd2857e501ef086537B0388382c4a5b0cc307d77b5830ed96da6ed0ecdc478daa682ace8520c787df30972 +@8f55c8d7476b32b35e3e78aacc770f0e2c53507b2323c03ab23f61c6139dad9eB02ffafa63a1f129739fb61d62cb4e6ec3b1b365a91ec4198fe83e19417a0b29a5fB +h@420856a3125810abc3cb4ac2c430c7bd6851b03d941568e6e1ae1524efce7455""1LLzFRpshYbdAArx7wrp1CFkkveCvZKMwZ"UOP_DUP OP_HASH160 d43214ff78c178c9b830309c25ce362c0dc367aa OP_EQUALVERIFY OP_CHECKSIG*276a914d43214ff78c178c9b830309c25ce362c0dc367aa88ac*"1LLzFRpshYbdAArx7wrp1CFkkveCvZKMwZ8$J  +@420856a3125810abc3cb4ac2c430c7bd6851b03d941568e6e1ae1524efce7455""13bYJ89wqG7pTyZysmobGi698VqMsALF28"UOP_DUP OP_HASH160 1c7884a978aed0883fd019031bf6502460c990b7 OP_EQUALVERIFY OP_CHECKSIG*276a9141c7884a978aed0883fd019031bf6502460c990b788ac*"13bYJ89wqG7pTyZysmobGi698VqMsALF288$J  +@420856a3125810abc3cb4ac2c430c7bd6851b03d941568e6e1ae1524efce7455""1Arih4j4ZyeS3kr4hzVxVMhR2ctWetKM1a"UOP_DUP OP_HASH160 6c2050dd5b74a3cd73f48fbdc66b460d4600efa6 OP_EQUALVERIFY OP_CHECKSIG*276a9146c2050dd5b74a3cd73f48fbdc66b460d4600efa688ac*"1Arih4j4ZyeS3kr4hzVxVMhR2ctWetKM1a8$J $-@0000000000000000000890a4350695d07f46ed77152b6bee19e29dd2024c1f3f"@00000000000000000003e54185c4a82545906a8dc54ca66180b56166612b52992$̸-@00000000000000000008940065ddbd30f833c51f759be63a823c63fe401cb141"@0000000000000000000890a4350695d07f46ed77152b6bee19e29dd2024c1f3f2$-@00000000000000000014b2241d763cc55c39da5e081fe421067109da934ec6aa"@00000000000000000008940065ddbd30f833c51f759be63a823c63fe401cb1412$-@00000000000000000007a6a0e278d1440bf64f51e7fbdcc84befd09446fa01a0"@00000000000000000014b2241d763cc55c39da5e081fe421067109da934ec6aa2 $-@00000000000000000001fe4f8c14dfd88b12fa3e4b5db07e417413edf6f20fe9"@00000000000000000007a6a0e278d1440bf64f51e7fbdcc84befd09446fa01a02 + + + +1@8e8c64d3cde4f0db0e9bc994a17c58be204d85b9a53a17423eb2137e751b47ee$"@00000000000000000001fe4f8c14dfd88b12fa3e4b5db07e417413edf6f20fe9(-2 +@7f3be46556d8e52de8382a5e8190082738a456c369e0a7cd2857e501ef086537B028e5227423727016d1b8cef03bbf9b1d809b8ae27f7bf08c1cbc655465cd4ed4c2 +@07f7b2ebb784339bdf4661b93eefeca2e7274d18f90fc5e89bea5926e48db1dfB0260347b667d4d87a1653ad20c16ccd00f1a46490fb22476e6f9507ed2e9896e15B +@8e8c64d3cde4f0db0e9bc994a17c58be204d85b9a53a17423eb2137e751b47ee""1Lvjew3BqpeLLZQmz2risthrXqzvd9YX4P"UOP_DUP OP_HASH160 da940aa824d7d7d75ef5c87f447b5ce32bdceb8e OP_EQUALVERIFY OP_CHECKSIG*276a914da940aa824d7d7d75ef5c87f447b5ce32bdceb8e88ac*"1Lvjew3BqpeLLZQmz2risthrXqzvd9YX4P8$J  +@8e8c64d3cde4f0db0e9bc994a17c58be204d85b9a53a17423eb2137e751b47ee""1FfbNdwjjmowPrvUTmNpNCkYQmip42SuL5"UOP_DUP OP_HASH160 a0de42bd2a123ff7a153ad8d5a5df3f098f4472b OP_EQUALVERIFY OP_CHECKSIG*276a914a0de42bd2a123ff7a153ad8d5a5df3f098f4472b88ac*"1FfbNdwjjmowPrvUTmNpNCkYQmip42SuL58$J  +@8e8c64d3cde4f0db0e9bc994a17c58be204d85b9a53a17423eb2137e751b47ee""1HozLsEKFoMX9pgi8BwfCB3vAvxa1ReHd5"UOP_DUP OP_HASH160 b865038f5743d6c7107414a14fa32fcbcd23a25a OP_EQUALVERIFY OP_CHECKSIG*276a914b865038f5743d6c7107414a14fa32fcbcd23a25a88ac*"1HozLsEKFoMX9pgi8BwfCB3vAvxa1ReHd58$J $-@0000000000000000000b14bcfc770a485a5dfcee105f3a537815441724fae6af"@00000000000000000001fe4f8c14dfd88b12fa3e4b5db07e417413edf6f20fe92$-@0000000000000000000b68528490c6213cdeec09827152e3685845cfc2cc2b87"@0000000000000000000b14bcfc770a485a5dfcee105f3a537815441724fae6af2$Ǽ-@0000000000000000000d314c59f021955649de54686863771be251356901425f"@0000000000000000000b68528490c6213cdeec09827152e3685845cfc2cc2b872$-@0000000000000000001335679282c9607eaf340044917acae6c346b260299a2f"@0000000000000000000d314c59f021955649de54686863771be251356901425f2$-@000000000000000000091c62cc4a6b8be0e47e9da3a3b2595325da57126240fc"@0000000000000000001335679282c9607eaf340044917acae6c346b260299a2f2$-@00000000000000000010c79785c211d4bb3e89eb329a8a055ade428d99f7c027"@000000000000000000091c62cc4a6b8be0e47e9da3a3b2595325da57126240fc2$-@00000000000000000006b551843664a751dd82be303163740d4d65877d0270da"@00000000000000000010c79785c211d4bb3e89eb329a8a055ade428d99f7c0272$-@0000000000000000000fb86730df790bc541717dbdc510637c386fd29ffae78b"@00000000000000000006b551843664a751dd82be303163740d4d65877d0270da2$߳-@00000000000000000017c740025da5b5f72bd2df964c79df309d7bc2aa45b905"@0000000000000000000fb86730df790bc541717dbdc510637c386fd29ffae78b2 $-@00000000000000000019553471507746c751fb0fdb17840868e1867dfe7a9fa0"@00000000000000000017c740025da5b5f72bd2df964c79df309d7bc2aa45b9052 + + + +1@da97cea9060acf8a2ce075e0471a902a279e4ad08ef3f8cabcfd9d7e3af91e4b$"@00000000000000000019553471507746c751fb0fdb17840868e1867dfe7a9fa0(-2 +@4af482066d4a9ed5920a8d2a9ab0b76ff28b45a62d3cbcbc11afde7f8c11890fB03d0f603612db63f9f6192f87f2b5cbd10ae8fa28150bcc570c8ae36e4f53391d22 +@4e4183f1d980b1bd25cef64f01f6a674c80734dcd08b61b839f18db97c8e1269B0357870ce3930333b4ffacbc80f0e21b28d4744efb147d4cd6f0285bb0356cd1daB +@da97cea9060acf8a2ce075e0471a902a279e4ad08ef3f8cabcfd9d7e3af91e4b""1DzAWnuMiuLgJuvwVKQqjLkcx6fMmvxWhi"UOP_DUP OP_HASH160 8e71292b660fcd11bf462844bd177b8de4576154 OP_EQUALVERIFY OP_CHECKSIG*276a9148e71292b660fcd11bf462844bd177b8de457615488ac*"1DzAWnuMiuLgJuvwVKQqjLkcx6fMmvxWhi8$J  +@da97cea9060acf8a2ce075e0471a902a279e4ad08ef3f8cabcfd9d7e3af91e4b"!1UNx8tnsSAGAnnjyNh1rFMCzdyjizcSJL"UOP_DUP OP_HASH160 052d8deecabf7c732fd6e60ec76ce57e93d12fd2 OP_EQUALVERIFY OP_CHECKSIG*276a914052d8deecabf7c732fd6e60ec76ce57e93d12fd288ac*!1UNx8tnsSAGAnnjyNh1rFMCzdyjizcSJL8$J  +^@da97cea9060acf8a2ce075e0471a902a279e4ad08ef3f8cabcfd9d7e3af91e4b""1MktrXBcYhGyxGFoCLy4VsBQyzrp1w81Gu"UOP_DUP OP_HASH160 e3afaff9c37cc53cf99af9c7b81aa2eeacb098e4 OP_EQUALVERIFY OP_CHECKSIG*276a914e3afaff9c37cc53cf99af9c7b81aa2eeacb098e488ac*"1MktrXBcYhGyxGFoCLy4VsBQyzrp1w81Gu8$J  $-@00000000000000000017ff3d9a97d1fc80e20d2eec9f14a5ee31444b5ece5c33"@00000000000000000019553471507746c751fb0fdb17840868e1867dfe7a9fa02 + + + +1@9bad8949796d3156b85c63246fe4c2609364e47edf97c25f3363ef0819c4aef5$"@00000000000000000017ff3d9a97d1fc80e20d2eec9f14a5ee31444b5ece5c33(-2 +@f21ac18abd3d9480fcdaef00873a2753cfeaeb2979c5f56489907e4e946433c3B02a54df0bf690dec0320aacde00dc297352496e2f485324141cf9c11f462c88e9f2 +@dcb9952ed4e8dd8265f6b8c2423fd69c855bb931902b31b49ce1e93998b6e772B02b060e163cd82b35998987a99978e8dec1793483815c9413d2408cf7747db924bB +@9bad8949796d3156b85c63246fe4c2609364e47edf97c25f3363ef0819c4aef5""1Dyvf1dQsxPyHKQqUtZSezvQmTJxgJoQyn"UOP_DUP OP_HASH160 8e6597ae523dd03d7ffe22ded8624e5be7297b81 OP_EQUALVERIFY OP_CHECKSIG*276a9148e6597ae523dd03d7ffe22ded8624e5be7297b8188ac*"1Dyvf1dQsxPyHKQqUtZSezvQmTJxgJoQyn8$J  + @9bad8949796d3156b85c63246fe4c2609364e47edf97c25f3363ef0819c4aef5""1FYWcnabnRwkjbMVPitPRKjtxafMF7mvbo"UOP_DUP OP_HASH160 9f8760f9df640c9d29f3281fae6c88965842cc2a OP_EQUALVERIFY OP_CHECKSIG*276a9149f8760f9df640c9d29f3281fae6c88965842cc2a88ac*"1FYWcnabnRwkjbMVPitPRKjtxafMF7mvbo8$J  +4@9bad8949796d3156b85c63246fe4c2609364e47edf97c25f3363ef0819c4aef5""1NnbaADxgKwdcuQDGiugaXqNPr1ptCTwpy"UOP_DUP OP_HASH160 eefa37ffdafe063eefca6cc56ee01065cbf37bc3 OP_EQUALVERIFY OP_CHECKSIG*276a914eefa37ffdafe063eefca6cc56ee01065cbf37bc388ac*"1NnbaADxgKwdcuQDGiugaXqNPr1ptCTwpy8$J $-@000000000000000000015f0889fc427ad047311c4640926b2322989fdc72353d"@00000000000000000017ff3d9a97d1fc80e20d2eec9f14a5ee31444b5ece5c332$-@0000000000000000000605b59121bbb229b6dab72763f5d7aa535b1b2e04bef6"@000000000000000000015f0889fc427ad047311c4640926b2322989fdc72353d2$-@000000000000000000039fbb712fbc303572b616a37f1623703485415b6fdea1"@0000000000000000000605b59121bbb229b6dab72763f5d7aa535b1b2e04bef62$-@000000000000000000122bd98e6b9908bd9bea948ce425648b0d17abebe9ab84"@000000000000000000039fbb712fbc303572b616a37f1623703485415b6fdea12$-@0000000000000000001230ec5e06baa1c10d1cfd59adee16b9c17019278bc080"@000000000000000000122bd98e6b9908bd9bea948ce425648b0d17abebe9ab842$-@00000000000000000016084ca286af0a24d352e21e594e7bf16c19d6234f7917"@0000000000000000001230ec5e06baa1c10d1cfd59adee16b9c17019278bc0802$-@000000000000000000068dd252a49b1ed3ffccac90d7c7196e958501468643ed"@00000000000000000016084ca286af0a24d352e21e594e7bf16c19d6234f79172$-@000000000000000000079706d09006afe381ddc4e483550318f398cbe28c7f6e"@000000000000000000068dd252a49b1ed3ffccac90d7c7196e958501468643ed2$՞-@00000000000000000007b4d0d5d48eb2f61a0c50e1687d5a635d26f7081f6b8f"@000000000000000000079706d09006afe381ddc4e483550318f398cbe28c7f6e2$-@0000000000000000000f2979536394d8c7358f7f9b4110ec8e79a16434f13e72"@00000000000000000007b4d0d5d48eb2f61a0c50e1687d5a635d26f7081f6b8f2$-@000000000000000000056b823b3520e37db82550d510abedf11f36302a950bf3"@0000000000000000000f2979536394d8c7358f7f9b4110ec8e79a16434f13e722$ߕ-@00000000000000000016b287121883052ce18e98ea03079b75ae5c3b716ba432"@000000000000000000056b823b3520e37db82550d510abedf11f36302a950bf32$-@00000000000000000019810c8a743b555a3730a6b0acd045702bce00c6d23e2c"@00000000000000000016b287121883052ce18e98ea03079b75ae5c3b716ba4322$-@000000000000000000189d7bc4661db1bcb767ff3402e8d25c9a46f53589fe89"@00000000000000000019810c8a743b555a3730a6b0acd045702bce00c6d23e2c2$-@00000000000000000000f148468f5668d37ea2cb018c154dff70a2e521ae0895"@000000000000000000189d7bc4661db1bcb767ff3402e8d25c9a46f53589fe892 $-@0000000000000000000630d2698d5eff58a9cd2660693dd5529773a134052338"@00000000000000000000f148468f5668d37ea2cb018c154dff70a2e521ae08952 + + + +1@3182c275ef4941c77c1d91bc004e04d60c0dc19f8b7343b6efce685ddbb49d36$"@0000000000000000000630d2698d5eff58a9cd2660693dd5529773a134052338(-2 +@0aa1418b3bee5cea15d7b41a9d7d0b617d88777f2d9e60a371c0a0672896662fB0325cc05c2da1cdd8dc9baabd0ccd05fd6594b20306998ee99cbb2d0bac0f3378e2 +@0aa1418b3bee5cea15d7b41a9d7d0b617d88777f2d9e60a371c0a0672896662fB034b6a466ca773d34937cebe0041b1809b5921763b022ec3aede82d9edc50b2779B +R@3182c275ef4941c77c1d91bc004e04d60c0dc19f8b7343b6efce685ddbb49d36"!1LYRXRyWJnJ3jV2iUMVkqtjkJtG8aQKpe"UOP_DUP OP_HASH160 03b2223cb9824f174882120671acf4a0842d7a47 OP_EQUALVERIFY OP_CHECKSIG*276a91403b2223cb9824f174882120671acf4a0842d7a4788ac*!1LYRXRyWJnJ3jV2iUMVkqtjkJtG8aQKpe8$J  +[@3182c275ef4941c77c1d91bc004e04d60c0dc19f8b7343b6efce685ddbb49d36""1BGDb4Tf946eDxQs16m378RS5iZYKV5XNs"UOP_DUP OP_HASH160 7092012acffba7d395889d4221c0cb72e8184f9a OP_EQUALVERIFY OP_CHECKSIG*276a9147092012acffba7d395889d4221c0cb72e8184f9a88ac*"1BGDb4Tf946eDxQs16m378RS5iZYKV5XNs8$J  +݌@3182c275ef4941c77c1d91bc004e04d60c0dc19f8b7343b6efce685ddbb49d36""115YPAAGbsLp9LMymXPUhwY4fhJjVs63iX"UOP_DUP OP_HASH160 00dbdc394bae9833bab55ef865513c19256037ef OP_EQUALVERIFY OP_CHECKSIG*276a91400dbdc394bae9833bab55ef865513c19256037ef88ac*"115YPAAGbsLp9LMymXPUhwY4fhJjVs63iX8$J  $-@00000000000000000014a5b24e76579eec31929ccaca6551c16e8cb34fe4314a"@0000000000000000000630d2698d5eff58a9cd2660693dd5529773a1340523382$£-@000000000000000000093508ef0803294d9ec0374770fc47c17215c4bc4e70dd"@00000000000000000014a5b24e76579eec31929ccaca6551c16e8cb34fe4314a2$خ-@0000000000000000001851fc4cdc68302b81917a205c6e8828fb1c2e7a8bf67e"@000000000000000000093508ef0803294d9ec0374770fc47c17215c4bc4e70dd2$-@000000000000000000153a0a9fda8f2aff3f2b2ce860d93df1192ec478419345"@0000000000000000001851fc4cdc68302b81917a205c6e8828fb1c2e7a8bf67e2$Ɨ-@0000000000000000000c9775547784806e06e44b7af05d70f33b275950ef4233"@000000000000000000153a0a9fda8f2aff3f2b2ce860d93df1192ec4784193452$-@00000000000000000008267b14e3c4bbe122e603655329956b93fe60b8042651"@0000000000000000000c9775547784806e06e44b7af05d70f33b275950ef42332$ô-@000000000000000000125841245142f25adea8973d6164d8765a53afb6d1d1a8"@00000000000000000008267b14e3c4bbe122e603655329956b93fe60b80426512$-@0000000000000000000a9536bb44f41a3eadfba88e469daa7b972a3493c687a3"@000000000000000000125841245142f25adea8973d6164d8765a53afb6d1d1a82$-@000000000000000000127192cc61d22a476a99ed8f03f7604a37da4a905473d5"@0000000000000000000a9536bb44f41a3eadfba88e469daa7b972a3493c687a32$Б-@00000000000000000001fdb45ac8a3f602627fda52bbf8ec31db513e4ae5d89f"@000000000000000000127192cc61d22a476a99ed8f03f7604a37da4a905473d52$-@00000000000000000005a426cae0407732151231dd4ace98ff330247cbdef1a5"@00000000000000000001fdb45ac8a3f602627fda52bbf8ec31db513e4ae5d89f2$-@000000000000000000055f2d89d4f38493afad2bbffbe952c753fbb78652d374"@00000000000000000005a426cae0407732151231dd4ace98ff330247cbdef1a52$-@00000000000000000010ce72ce0376e6daa3cf50d6d8dde1f31f927dfc404ae7"@000000000000000000055f2d89d4f38493afad2bbffbe952c753fbb78652d3742$-@0000000000000000000d32419f0f521a70bd9e625efad891b01442b1aea462ef"@00000000000000000010ce72ce0376e6daa3cf50d6d8dde1f31f927dfc404ae72$-@0000000000000000000cc8dc3aaa48bb20298bae1df8c7c1fd7739d0dfa53d5c"@0000000000000000000d32419f0f521a70bd9e625efad891b01442b1aea462ef2$-@00000000000000000009d8accaa2c8a55557a6991ee3f518d2161f6f83e9d86a"@0000000000000000000cc8dc3aaa48bb20298bae1df8c7c1fd7739d0dfa53d5c2$-@0000000000000000000d8c1a5cf4aa083356a46125e2d1b96cac3bec5c09944d"@00000000000000000009d8accaa2c8a55557a6991ee3f518d2161f6f83e9d86a2$-@00000000000000000013f63792ce9b820efaedd831e0edd5e418cc15da013a0e"@0000000000000000000d8c1a5cf4aa083356a46125e2d1b96cac3bec5c09944d2$Ԏ-@0000000000000000001568b2c9ec1feb75014a19e38b8c601e2db1f07b61fab3"@00000000000000000013f63792ce9b820efaedd831e0edd5e418cc15da013a0e2$-@000000000000000000123aaf4140964e52ccc4df6ae5ac650bd23b0b19fe4ddd"@0000000000000000001568b2c9ec1feb75014a19e38b8c601e2db1f07b61fab32$-@00000000000000000002b6383bacb1d2c271942e8f68144aaf254fee04cba000"@000000000000000000123aaf4140964e52ccc4df6ae5ac650bd23b0b19fe4ddd2 + +1@0a07c8114103c95f3f0687660247c2e0add02ae40d804d30ff11f76edddb8846$"@00000000000000000002b6383bacb1d2c271942e8f68144aaf254fee04cba000(-2 +@7268466c37c7aba5dda2abf9860a468e10ff29a9566df6ce0e4349a985997534B02e173bea20f81215890178d5f6fe85424173ed6b3f1a5c18ffd4d42f9f97eafa62 +@c6a0ce47e7954cb96081d28c8d88fec88eac2025c92bccb72d4cbabc89f0557bB024b0b96cab93877b4b602f70bf3cd8ca251b0076b590b8845cd5af20eaeb0e9782 +@309211cfcf4ac1f936c381fda43848c3c44c6836dcd61e18d972276b34ffc3cdB03845be821c8d783ab5607795d69ba77451e9e75daad7dbe121ce36c6cfc5fcacf2 +@f7f9a0eaf487443bc9d7e21dfbed5a26e11c6e89eaed58b899d303dd42094221B03ac40434d14cf5c2c54513425fd221aab0aa5fedb5e9c003c6adac4c470df908e2 +@855d97226a1d375e7abcb8cebfcf52ce5ed7678d9d415213e81564ccc053d950B023c3e3d6c8baee091ff69e4323d9cd9485c5ce756d1155709b0f3643c90401cb2B +@0a07c8114103c95f3f0687660247c2e0add02ae40d804d30ff11f76edddb8846""1DsZFtX2eP2s4WRr54N7p2AFSF635gdhr2"UOP_DUP OP_HASH160 8d313be92cc2175765058067bc36c751a1a3e44d OP_EQUALVERIFY OP_CHECKSIG*276a9148d313be92cc2175765058067bc36c751a1a3e44d88ac*"1DsZFtX2eP2s4WRr54N7p2AFSF635gdhr28$J  +Z@0a07c8114103c95f3f0687660247c2e0add02ae40d804d30ff11f76edddb8846""1KCg5adnQ34pLJuf9dfUCAQ9G4NYzKFztj"UOP_DUP OP_HASH160 c7a7760ed56b0e5e540ba04348f8853c86c0f4fd OP_EQUALVERIFY OP_CHECKSIG*276a914c7a7760ed56b0e5e540ba04348f8853c86c0f4fd88ac*"1KCg5adnQ34pLJuf9dfUCAQ9G4NYzKFztj8$J  +@0a07c8114103c95f3f0687660247c2e0add02ae40d804d30ff11f76edddb8846""1KHzNad5m3xoVJCDH3yvfGLLmEyxc74LZU"UOP_DUP OP_HASH160 c8a8cfb0473f1bdd8d4ac376253e8cf4a766be9d OP_EQUALVERIFY OP_CHECKSIG*276a914c8a8cfb0473f1bdd8d4ac376253e8cf4a766be9d88ac*"1KHzNad5m3xoVJCDH3yvfGLLmEyxc74LZU8$J  $-@0000000000000000001465bf68f9af5dda43714d97c231f68928f888456f9b0d"@00000000000000000002b6383bacb1d2c271942e8f68144aaf254fee04cba0002$-@000000000000000000091899f8b2f018cff61c46739b780e0a23ffcc18627379"@0000000000000000001465bf68f9af5dda43714d97c231f68928f888456f9b0d2 $-@000000000000000000102d366c354c72336b483ea00d25448a4e1fef8f3579b5"@000000000000000000091899f8b2f018cff61c46739b780e0a23ffcc186273792 + + + +1@4c938c68c0edb3a088d655ef03084dc7ba763f4065e63463c5f6b46b0d20d8f1$"@000000000000000000102d366c354c72336b483ea00d25448a4e1fef8f3579b5(-2 +@3182c275ef4941c77c1d91bc004e04d60c0dc19f8b7343b6efce685ddbb49d36B03b593eb12b3d5380dd4d327523c8740ff092e325ff0092e1e411fc394f97ca4692 +@3182c275ef4941c77c1d91bc004e04d60c0dc19f8b7343b6efce685ddbb49d36B0366480a82e94177031c23267402d0ccefbaed5aafc385aabe232ca7402c4079d0B +R@4c938c68c0edb3a088d655ef03084dc7ba763f4065e63463c5f6b46b0d20d8f1""17AseUfNHN7f6WPisqidUHRh3ab9ZjpSbR"UOP_DUP OP_HASH160 43aec69045b7fe7a6d616693d393b63de29fd7ea OP_EQUALVERIFY OP_CHECKSIG*276a91443aec69045b7fe7a6d616693d393b63de29fd7ea88ac*"17AseUfNHN7f6WPisqidUHRh3ab9ZjpSbR8$J  +[@4c938c68c0edb3a088d655ef03084dc7ba763f4065e63463c5f6b46b0d20d8f1""1GhZfZGtW31YRzptQa6Z867PD7AwHfyeDS"UOP_DUP OP_HASH160 ac35cadadb87f27596b1a213bcca3477b012af39 OP_EQUALVERIFY OP_CHECKSIG*276a914ac35cadadb87f27596b1a213bcca3477b012af3988ac*"1GhZfZGtW31YRzptQa6Z867PD7AwHfyeDS8$J  +@4c938c68c0edb3a088d655ef03084dc7ba763f4065e63463c5f6b46b0d20d8f1""16WQJZzJ92YLHzqo4d3uiL4KwtCffu52Aa"UOP_DUP OP_HASH160 3c6824e3be5771748900242eaf7fe1038de97a90 OP_EQUALVERIFY OP_CHECKSIG*276a9143c6824e3be5771748900242eaf7fe1038de97a9088ac*"16WQJZzJ92YLHzqo4d3uiL4KwtCffu52Aa8$J  $-@0000000000000000000238c43f52b5012763cb57a81e6f176451f087532fa121"@000000000000000000102d366c354c72336b483ea00d25448a4e1fef8f3579b52$-@000000000000000000155ba72d7c42f0705cc532306d6260d69b3316eda5888e"@0000000000000000000238c43f52b5012763cb57a81e6f176451f087532fa1212$-@0000000000000000000982e4c66588097cdeaecc9b64fb8f7160975e9334bcc7"@000000000000000000155ba72d7c42f0705cc532306d6260d69b3316eda5888e2$-@000000000000000000025a9ce5b02e3426f6d840664c67e642daff3ce0299d69"@0000000000000000000982e4c66588097cdeaecc9b64fb8f7160975e9334bcc72$-@00000000000000000006c33693dbe2104e9348ca935bb0938ee4bcb234a6368b"@000000000000000000025a9ce5b02e3426f6d840664c67e642daff3ce0299d692$Ϡ-@00000000000000000008d1bf2d11ed66066f5145ca5bdbc167eb9caa5b46e9a6"@00000000000000000006c33693dbe2104e9348ca935bb0938ee4bcb234a6368b2$-@00000000000000000004ad283407a4d76650ae677cca5090b78d57de0c79cab2"@00000000000000000008d1bf2d11ed66066f5145ca5bdbc167eb9caa5b46e9a62$-@00000000000000000009e7c189c2c1525a212f218a6a55024c4b705d7fe1283e"@00000000000000000004ad283407a4d76650ae677cca5090b78d57de0c79cab22$ܰ-@0000000000000000000b21ca2eb0becd46c2146633e320aa22890f224ec1300c"@00000000000000000009e7c189c2c1525a212f218a6a55024c4b705d7fe1283e2$߷-@00000000000000000003cd7caf154d33d63798e260a25063baa4a95c3f9c6d37"@0000000000000000000b21ca2eb0becd46c2146633e320aa22890f224ec1300c2 + + +1@9624bfbd9b5bb9ba0bec21804a698636729684dacd1a1a9a59b958908e509af8$"@00000000000000000003cd7caf154d33d63798e260a25063baa4a95c3f9c6d37(߷-2 +@7061ad6577e2edc29cd1723b960e6f36dbcb9e575f52500aa59522166dbe7feaB029bae86be5b4f6c83673885884985f09cdb2d9a18615bde7066cd3a35bed8f97d2 +@2211f141973d87f0b76719ef5a5eaa3664389c661747f979eba9b4f24a8e9e84B03ad30e2dcd433b08734903f24f142e5a93b274d2fe5e88557dd89e40c97892f5fB +@9624bfbd9b5bb9ba0bec21804a698636729684dacd1a1a9a59b958908e509af8""136wMrmKHJfB8CG5LYViRv458RCJyMbrAf"UOP_DUP OP_HASH160 170fb5606eaea180d8b365bd01cb7d1ff374ac5a OP_EQUALVERIFY OP_CHECKSIG*276a914170fb5606eaea180d8b365bd01cb7d1ff374ac5a88ac*"136wMrmKHJfB8CG5LYViRv458RCJyMbrAf8$J  +@9624bfbd9b5bb9ba0bec21804a698636729684dacd1a1a9a59b958908e509af8""1A8Tvuua8WJcTkVnXBB4mGwZc3km7mHyML"UOP_DUP OP_HASH160 642285feb95d9b6354b4643c96f70320f92fd0de OP_EQUALVERIFY OP_CHECKSIG*276a914642285feb95d9b6354b4643c96f70320f92fd0de88ac*"1A8Tvuua8WJcTkVnXBB4mGwZc3km7mHyML8$J  +@9624bfbd9b5bb9ba0bec21804a698636729684dacd1a1a9a59b958908e509af8""12ERmZtNRyg69JTf2d2NsWbWP8ZHunYMxb"UOP_DUP OP_HASH160 0d82357aadd59186b87f49d3ab60fcb22fa1bb0f OP_EQUALVERIFY OP_CHECKSIG*276a9140d82357aadd59186b87f49d3ab60fcb22fa1bb0f88ac*"12ERmZtNRyg69JTf2d2NsWbWP8ZHunYMxb8$J  + + +1@b2595d6f60df8181a04dfc140fe69ec35dc962d7f92c40311ae16742dea987cd$"@00000000000000000003cd7caf154d33d63798e260a25063baa4a95c3f9c6d37(߷-2 +@9624bfbd9b5bb9ba0bec21804a698636729684dacd1a1a9a59b958908e509af8B02242412fcb72c6a7734228e12548451e9edb1f14f00798117c047480ab15ba3c92 +@9787413dd76165c223ea40214a186662f8b5e18776ac2095258a09158f02a361B02bc0bb3b39a4fd5d5f7f681ab3fa6b5391cd966577ccb16d8a42621b2e8b3e191B +@b2595d6f60df8181a04dfc140fe69ec35dc962d7f92c40311ae16742dea987cd""1KoYWTCRJnFGGWrXs8RC9g7iL1D362eqhR"UOP_DUP OP_HASH160 ce3fb3214a375619e444a3f438daa28f38e9530c OP_EQUALVERIFY OP_CHECKSIG*276a914ce3fb3214a375619e444a3f438daa28f38e9530c88ac*"1KoYWTCRJnFGGWrXs8RC9g7iL1D362eqhR8$J  +@b2595d6f60df8181a04dfc140fe69ec35dc962d7f92c40311ae16742dea987cd""1JnKtKAwEz84pEgLBhfNyahSAwK6pmqGuG"UOP_DUP OP_HASH160 c30c9eeaaeae1ed4ea3e66277640ad33c2906624 OP_EQUALVERIFY OP_CHECKSIG*276a914c30c9eeaaeae1ed4ea3e66277640ad33c290662488ac*"1JnKtKAwEz84pEgLBhfNyahSAwK6pmqGuG8$J  +L@b2595d6f60df8181a04dfc140fe69ec35dc962d7f92c40311ae16742dea987cd""19sG737e3a8HVxZ5EAgkFtye33BwXFBZNc"UOP_DUP OP_HASH160 614269a0aed15193b5a4c980c0002fb335350f13 OP_EQUALVERIFY OP_CHECKSIG*276a914614269a0aed15193b5a4c980c0002fb335350f1388ac*"19sG737e3a8HVxZ5EAgkFtye33BwXFBZNc8$J $-@0000000000000000000db31a8f1e907172154a6aa769d34603c1347179891e8a"@00000000000000000003cd7caf154d33d63798e260a25063baa4a95c3f9c6d372$-@00000000000000000010e1920a7da490654b3749cb74cd250c313a9ab1fc2dc5"@0000000000000000000db31a8f1e907172154a6aa769d34603c1347179891e8a2$-@000000000000000000187f288389fc7abf393d252dd4be28b5b5f1c467d449b5"@00000000000000000010e1920a7da490654b3749cb74cd250c313a9ab1fc2dc52$ؔ-@00000000000000000007aca1e85179d1351a54d2a6a3211ed6cfb144bf3221fa"@000000000000000000187f288389fc7abf393d252dd4be28b5b5f1c467d449b52&$-@00000000000000000012207154dbab1dce72c59f5546a7249922ad027979b44f"@00000000000000000007aca1e85179d1351a54d2a6a3211ed6cfb144bf3221fa2% + +1@3036a2d0d62e8536a112730bcf73700d45703a1b65cc0ab82c70793e4f41c8d8$"@00000000000000000012207154dbab1dce72c59f5546a7249922ad027979b44f(-2 +@94c7cc59506009a9bf6a7494e8844cc8c3f20aae622eeefb02a515e010a8f4d9B02af62d9712e73c13193747d2a3494054c3f74579a0f27e7446e187123ea241f202 +@94c7cc59506009a9bf6a7494e8844cc8c3f20aae622eeefb02a515e010a8f4d9B02e16841036884f7f182b51d924f85b3b728765ca1a76f7224003e950144edd3252 +@1fbb1afa9ef1bc33b485303eaee7097b95af33bafdb502711e261cd513e92fe0B0257791bf2d311656f8fe579ac9d11d15c077fcaf78ff86f2d7eb35f7eb8b30646B +@3036a2d0d62e8536a112730bcf73700d45703a1b65cc0ab82c70793e4f41c8d8""1EWEuGQzCksJGCYByzB19pkfua6FVvfFap"UOP_DUP OP_HASH160 94214d5a8d98d8f5afd605fb4e31a4089f90b602 OP_EQUALVERIFY OP_CHECKSIG*276a91494214d5a8d98d8f5afd605fb4e31a4089f90b60288ac*"1EWEuGQzCksJGCYByzB19pkfua6FVvfFap8$J  +@3036a2d0d62e8536a112730bcf73700d45703a1b65cc0ab82c70793e4f41c8d8""15jSdFupBVxPdgtdm2EPb4rRyYdLbbH2v2"UOP_DUP OP_HASH160 33e75d431641b6c0ad4c1ddc9ccc5c8d020a3000 OP_EQUALVERIFY OP_CHECKSIG*276a91433e75d431641b6c0ad4c1ddc9ccc5c8d020a300088ac*"15jSdFupBVxPdgtdm2EPb4rRyYdLbbH2v28$J  +@3036a2d0d62e8536a112730bcf73700d45703a1b65cc0ab82c70793e4f41c8d8""146Z3iR9NZ4xgvuMeLag9FfBBfb2nhqqVp"UOP_DUP OP_HASH160 21f5355ec04a988e2320324bbe49699c85e63571 OP_EQUALVERIFY OP_CHECKSIG*276a91421f5355ec04a988e2320324bbe49699c85e6357188ac*"146Z3iR9NZ4xgvuMeLag9FfBBfb2nhqqVp8$J  + +1@30d9c1ef368f5229a8f12a7454ff4bd69dfdad442648bc536a40f78467d723e9$"@00000000000000000012207154dbab1dce72c59f5546a7249922ad027979b44f(-2 +@3036a2d0d62e8536a112730bcf73700d45703a1b65cc0ab82c70793e4f41c8d8B02764ad4f1134785f129421a5e03b70fae5d83457b520f17ae7bc0d6cda0a2519c2 +@8484d0d4fcf20af88daf15d0329d093607838995c2d77880407901d61f037ab0B037953ccd0fadc145486f6fb1ff9d6c9c409718461d8ca5d0d891a222d7b5513eb2 +@9cd8658f223975ec743f93d8668c267ecc8ade2c4be86c69ffa253a46727900eB02fa2379e50aee8456e985b95da51c311251da5df90d489decd972e743c8ec7da62 +@84b168f700b4650d215fa0a1a7f10e174647c67d2f7afea0b871ab7ee8b45234B0298a0125cfcffaac542beae5533bd8e2dd51d240f01966b6740b6dc364c0aafa32 +@3036a2d0d62e8536a112730bcf73700d45703a1b65cc0ab82c70793e4f41c8d8B03b8c40f86cc1fc40ebccbb4ece9fc7e3b7c8babe1cd3c789ddc2ec0f570415549B +@30d9c1ef368f5229a8f12a7454ff4bd69dfdad442648bc536a40f78467d723e9""1CbR9u3bXfe3Fj7UW8UmkLepeySNsmY2Fu"UOP_DUP OP_HASH160 7f2bb045ef493cb10a6cf53297217c7f52d0f256 OP_EQUALVERIFY OP_CHECKSIG*276a9147f2bb045ef493cb10a6cf53297217c7f52d0f25688ac*"1CbR9u3bXfe3Fj7UW8UmkLepeySNsmY2Fu8$J  +@30d9c1ef368f5229a8f12a7454ff4bd69dfdad442648bc536a40f78467d723e9""19AwEvuFg7REvWh52bFUhd9Ry6CWHhEUA1"UOP_DUP OP_HASH160 59a206ff419b9e09860789f91732c1650d982472 OP_EQUALVERIFY OP_CHECKSIG*276a91459a206ff419b9e09860789f91732c1650d98247288ac*"19AwEvuFg7REvWh52bFUhd9Ry6CWHhEUA18$J  +ڸ@30d9c1ef368f5229a8f12a7454ff4bd69dfdad442648bc536a40f78467d723e9""1AWJK2QnfuzrFULi7S3L7Htfwcc2DZbnUR"UOP_DUP OP_HASH160 6843a52eb577d64e16486354a9313066420ceacc OP_EQUALVERIFY OP_CHECKSIG*276a9146843a52eb577d64e16486354a9313066420ceacc88ac*"1AWJK2QnfuzrFULi7S3L7Htfwcc2DZbnUR8$J O + +1@43d6522370311dba0d4be3bae143e5a3be2819e13659c397de46f74377ab0a2e$"@00000000000000000012207154dbab1dce72c59f5546a7249922ad027979b44f(-2 +@7c42d0da1f26a2b014e87f65673fcede6408d14a4e93fdce8f2cfeb0d39e8ff3B02d957fb967c5827287b29414f77fbbbfdea94f9347b1013f2a7d6a2bce2f433412 +@03ebad3c4c6fbaa9e863e8f3de981d2f6d6110a08d1aaf301b544fe1c0f8eb59B03d5a0e59f3a57592b28f5de98cb2a7370d0d3bde45e6ed9a5820e0b8c622faae22 +@7c42d0da1f26a2b014e87f65673fcede6408d14a4e93fdce8f2cfeb0d39e8ff3B0286d39077ff99b8b35774e10ba24d5d76893c574407f94bd573ce93cff84bb628B +@43d6522370311dba0d4be3bae143e5a3be2819e13659c397de46f74377ab0a2e""1Bg6T2g1A2DFkVJv9vunT1XsMicjgRmyuh"UOP_DUP OP_HASH160 7516075c6fd2c5c3642d5a78362241a15f64704b OP_EQUALVERIFY OP_CHECKSIG*276a9147516075c6fd2c5c3642d5a78362241a15f64704b88ac*"1Bg6T2g1A2DFkVJv9vunT1XsMicjgRmyuh8$J  +*@43d6522370311dba0d4be3bae143e5a3be2819e13659c397de46f74377ab0a2e""1NbyniP4ujqMQvCTLMn2DDnQUWC9tZq2dp"UOP_DUP OP_HASH160 ecf83043981ad0995edecf65b612de94cf7201d1 OP_EQUALVERIFY OP_CHECKSIG*276a914ecf83043981ad0995edecf65b612de94cf7201d188ac*"1NbyniP4ujqMQvCTLMn2DDnQUWC9tZq2dp8$J  +v@43d6522370311dba0d4be3bae143e5a3be2819e13659c397de46f74377ab0a2e""1LbvrzEjEnHWSavX8sfyw2qUxCwLcBscnP"UOP_DUP OP_HASH160 d7057e83815dbfca1e0a72ab3ae58359f07dd6a0 OP_EQUALVERIFY OP_CHECKSIG*276a914d7057e83815dbfca1e0a72ab3ae58359f07dd6a088ac*"1LbvrzEjEnHWSavX8sfyw2qUxCwLcBscnP8$J Z$-@0000000000000000000310e10be4967caccdff4b3fd8257a5e6306bb7b7689ea"@00000000000000000012207154dbab1dce72c59f5546a7249922ad027979b44f2$-@0000000000000000000fff0d878d0e48c4f1c50674362595a19700310a1d5609"@0000000000000000000310e10be4967caccdff4b3fd8257a5e6306bb7b7689ea2$-@00000000000000000010fce0312bb452b6acb4846ad9fdae24905d4fc80d1c99"@0000000000000000000fff0d878d0e48c4f1c50674362595a19700310a1d56092$-@000000000000000000015ad41733b88c5b4a344b627fbc619e5dab8165caf28a"@00000000000000000010fce0312bb452b6acb4846ad9fdae24905d4fc80d1c992$-@000000000000000000097769eed41a0951c49c81fe5b83ffe3bc7722fcae043e"@000000000000000000015ad41733b88c5b4a344b627fbc619e5dab8165caf28a2$-@0000000000000000001529a8d2f6aa0f7247354d865caf3b847a06e0a333eed0"@000000000000000000097769eed41a0951c49c81fe5b83ffe3bc7722fcae043e2$-@00000000000000000001bf4006cf7d1155d66ceb7e3126c9353a18366dc6e90d"@0000000000000000001529a8d2f6aa0f7247354d865caf3b847a06e0a333eed02$-@0000000000000000000f6b4e9ac397c86496795939bf1885aae6087b6aae011d"@00000000000000000001bf4006cf7d1155d66ceb7e3126c9353a18366dc6e90d2$܄-@00000000000000000002b223c88a528c4b9167736cc7be9acafb00a4e9ae6c42"@0000000000000000000f6b4e9ac397c86496795939bf1885aae6087b6aae011d2$-@0000000000000000000fb8fe5db0e79f43a4eb7840ff17f766854f0b310b9795"@00000000000000000002b223c88a528c4b9167736cc7be9acafb00a4e9ae6c422$-@0000000000000000000c64e01654b1f405a4ec6519b42c5102a4ed8263970dc3"@0000000000000000000fb8fe5db0e79f43a4eb7840ff17f766854f0b310b97952$̛-@0000000000000000001620461e25e8fbf87d364d79375cce213cee3f9c2e8ef5"@0000000000000000000c64e01654b1f405a4ec6519b42c5102a4ed8263970dc32$-@00000000000000000013885a6389f8489005b7345c2a130a1698b6a63cc08d6d"@0000000000000000001620461e25e8fbf87d364d79375cce213cee3f9c2e8ef52$-@000000000000000000096f2c3fe702b684a90e25f0c9dc66fc6eca97bff53a32"@00000000000000000013885a6389f8489005b7345c2a130a1698b6a63cc08d6d2 $-@000000000000000000157aec7b55b81be089fa5767c1bff59836e969f9132300"@000000000000000000096f2c3fe702b684a90e25f0c9dc66fc6eca97bff53a322 + +1@4bcb0a4ce5fd2a874160f7101e6bd4131f07bf8a8f4c1c04cf2705fb6221c192$"@000000000000000000157aec7b55b81be089fa5767c1bff59836e969f9132300(-2 +@30d9c1ef368f5229a8f12a7454ff4bd69dfdad442648bc536a40f78467d723e9B03d846e7f71a95a897b38b082b9b65d0cd9c51e6e8ec39428540bf60326dcf95732 +@30d9c1ef368f5229a8f12a7454ff4bd69dfdad442648bc536a40f78467d723e9B0394a78778beaa7274322314c673f8292183b867834a8c3b945d4cd29b0c896e902 +@f1a1426140271f8a67d75d22fd55166242d5a2c346a182e353df7fbffb114042B032b573605b9ab74977fa6d08f9ca0d716de6c106320672f2c6698af31ba91c878B +@4bcb0a4ce5fd2a874160f7101e6bd4131f07bf8a8f4c1c04cf2705fb6221c192""1NvXj79gWDt7mwK33NKJxNL8y5BL5XvJWW"UOP_DUP OP_HASH160 f07a560fd280c14129fae7b55d6e09a74b8e3e1a OP_EQUALVERIFY OP_CHECKSIG*276a914f07a560fd280c14129fae7b55d6e09a74b8e3e1a88ac*"1NvXj79gWDt7mwK33NKJxNL8y5BL5XvJWW8$J  +@4bcb0a4ce5fd2a874160f7101e6bd4131f07bf8a8f4c1c04cf2705fb6221c192""1Q9Vaq9Xp1RfXZrmow7g8wABgemhmezWNb"UOP_DUP OP_HASH160 fde614b1ef2b7dd3b7a6e0a7176d63620ac2c993 OP_EQUALVERIFY OP_CHECKSIG*276a914fde614b1ef2b7dd3b7a6e0a7176d63620ac2c99388ac*"1Q9Vaq9Xp1RfXZrmow7g8wABgemhmezWNb8$J  +@4bcb0a4ce5fd2a874160f7101e6bd4131f07bf8a8f4c1c04cf2705fb6221c192""177dRWJ8FCLSNDUB3EkhBYAaKWri4B6Wwg"UOP_DUP OP_HASH160 4311a789cf821d926573a6fc691357660707a5bd OP_EQUALVERIFY OP_CHECKSIG*276a9144311a789cf821d926573a6fc691357660707a5bd88ac*"177dRWJ8FCLSNDUB3EkhBYAaKWri4B6Wwg8$J Q$-@000000000000000000029f7289f57087542f89307ae1e42372a1d10c31d71640"@000000000000000000157aec7b55b81be089fa5767c1bff59836e969f91323002 + +1@7495400fb294b756135f1851dc9ca61cd828b2ac384d2d22e082ea3a327834ff$"@000000000000000000029f7289f57087542f89307ae1e42372a1d10c31d71640(-2 +@99d81c186714f21960e1f5c1469f73b4da868729c7cb3ab2f96f9f686d64f529B0248bb2808577e0a694acf3293daf74e7d42d83b3b15df3083aebef3e95a71d8262 +@5b37a9a1db5f51d795884ece4b30cc08070c91f7099ee3039cf72fe6b9dafec4B036f52d1d224d4bd16a2143561db582fc4202564c4c62a9c9fd5fc99a745c499a52 +@a4b3eff01ba0fce2a7f6e82ba24a831d4e60bb562b9193566cb3969930e3c55bB0323a381f98c2e98a01de97672b95637e24b04eb0c0bbb9c58a0c3bc4851bbeb792 +@3d560090d75124c02b253e2b8da313154225172b50ba6a95e0f6b32690ba02b1B0364c9e320734f44345c6337eadec52cd3b24ccedb62b7a876a78ff172091979502 +@99d81c186714f21960e1f5c1469f73b4da868729c7cb3ab2f96f9f686d64f529B02784afcab2e2418487a28a15939f79577dd729df69f67e728b80b5da0dd45e1a7B +@7495400fb294b756135f1851dc9ca61cd828b2ac384d2d22e082ea3a327834ff""1Cw9mLFbBKi6SqS1yQ1hGY6p7WndiQnoLj"UOP_DUP OP_HASH160 82e72962cab235cee9dc8fb120bebf14e0c7fb7d OP_EQUALVERIFY OP_CHECKSIG*276a91482e72962cab235cee9dc8fb120bebf14e0c7fb7d88ac*"1Cw9mLFbBKi6SqS1yQ1hGY6p7WndiQnoLj8$J  +@7495400fb294b756135f1851dc9ca61cd828b2ac384d2d22e082ea3a327834ff""1DwJphdFUeY3vygY3P5obgwmv6e3hQFziZ"UOP_DUP OP_HASH160 8de6d947ad89827d52edd51949fb395c4d68be8c OP_EQUALVERIFY OP_CHECKSIG*276a9148de6d947ad89827d52edd51949fb395c4d68be8c88ac*"1DwJphdFUeY3vygY3P5obgwmv6e3hQFziZ8$J  +@7495400fb294b756135f1851dc9ca61cd828b2ac384d2d22e082ea3a327834ff""18bFZwifcdKPFLBPFGRXEgGJq2jT7sNqYU"UOP_DUP OP_HASH160 53432f163a62b59f93a4a1030b14dce0ea183a56 OP_EQUALVERIFY OP_CHECKSIG*276a91453432f163a62b59f93a4a1030b14dce0ea183a5688ac*"18bFZwifcdKPFLBPFGRXEgGJq2jT7sNqYU8$J ! + + +1@0654f0e3e177d488e6ef27102d87c010e0826819a1731c3b99e9f931f74a0d85$"@000000000000000000029f7289f57087542f89307ae1e42372a1d10c31d71640(-2 +@b2595d6f60df8181a04dfc140fe69ec35dc962d7f92c40311ae16742dea987cdB0304dea84b4d4bf913283568cb45d7c1ce5bb0ff4b81dbbb3d60817200fcdcbd522 +@e83151d478a3d146d64114b90739be5d6512897296ee7d58deb2d3d934605569B03fb282c5657d4a45711aa769cd47b4373ab2468b41c076f57da4734152244775cB +د@0654f0e3e177d488e6ef27102d87c010e0826819a1731c3b99e9f931f74a0d85""1B4dwEHtb9gzXMuRPGeFzVYHJkCXyJX78x"UOP_DUP OP_HASH160 6e6156662944249c56a94218aa5719c799e9acae OP_EQUALVERIFY OP_CHECKSIG*276a9146e6156662944249c56a94218aa5719c799e9acae88ac*"1B4dwEHtb9gzXMuRPGeFzVYHJkCXyJX78x8$J  +@0654f0e3e177d488e6ef27102d87c010e0826819a1731c3b99e9f931f74a0d85""1D3yZtQXXbutnUUm2yQA7PiWnkD7ki7jrk"UOP_DUP OP_HASH160 84318fa36458e5248da5998278025c51ff2ca16b OP_EQUALVERIFY OP_CHECKSIG*276a91484318fa36458e5248da5998278025c51ff2ca16b88ac*"1D3yZtQXXbutnUUm2yQA7PiWnkD7ki7jrk8$J  + @0654f0e3e177d488e6ef27102d87c010e0826819a1731c3b99e9f931f74a0d85""1Gnu1PW9Ywo1tBWB4kQNH4sp2uYQ3NqESv"UOP_DUP OP_HASH160 ad38049df270b958f3c3b201d13884e2f75a0891 OP_EQUALVERIFY OP_CHECKSIG*276a914ad38049df270b958f3c3b201d13884e2f75a089188ac*"1Gnu1PW9Ywo1tBWB4kQNH4sp2uYQ3NqESv8$J $-@000000000000000000025daf40190203194ecbf720ac3841b56b361b39f463c9"@000000000000000000029f7289f57087542f89307ae1e42372a1d10c31d716402$-@000000000000000000155fa65159ce5735bd8dfcb2af1d7c0ce67c39f3406ff5"@000000000000000000025daf40190203194ecbf720ac3841b56b361b39f463c92$-@000000000000000000050b83da59fbf0c592baea2ad08e00472af03c1b9849cc"@000000000000000000155fa65159ce5735bd8dfcb2af1d7c0ce67c39f3406ff52 $ݚ-@0000000000000000000575402ceb3a7a2a3c84609627707abeb33e31de27afd1"@000000000000000000050b83da59fbf0c592baea2ad08e00472af03c1b9849cc2 + + + +1@24c12ed0eb80b28a233c4b93f8dfa88cbae627989f8e1dbc82da6b82e2f21f89$"@0000000000000000000575402ceb3a7a2a3c84609627707abeb33e31de27afd1(ݚ-2 +@0654f0e3e177d488e6ef27102d87c010e0826819a1731c3b99e9f931f74a0d85B038e95e10133d24c7f58be4fc31baf5ac03c14e4ec38fabe025d5499b3eac868862 +@b365cc08afe5fad25615ee108e212929f616d11a6106df0f015538bd89f98d59B030007c6870cf3a6761ccc1a045e9cd42c9084ff9146d3b7dca88a0d4c51648112B +@24c12ed0eb80b28a233c4b93f8dfa88cbae627989f8e1dbc82da6b82e2f21f89""1EcyPpzAGoRDp8qcQNPxpUeP7FKTEtsWSY"UOP_DUP OP_HASH160 956744d284ee685ff2759922c7ad14204740b3f1 OP_EQUALVERIFY OP_CHECKSIG*276a914956744d284ee685ff2759922c7ad14204740b3f188ac*"1EcyPpzAGoRDp8qcQNPxpUeP7FKTEtsWSY8$J  +@24c12ed0eb80b28a233c4b93f8dfa88cbae627989f8e1dbc82da6b82e2f21f89""1CcFU8LwqyrE5EFzsmhnaSdULv2mGLGhzK"UOP_DUP OP_HASH160 7f5404f1a52e78fc78d1897fec3efa80ef390fcf OP_EQUALVERIFY OP_CHECKSIG*276a9147f5404f1a52e78fc78d1897fec3efa80ef390fcf88ac*"1CcFU8LwqyrE5EFzsmhnaSdULv2mGLGhzK8$J  +@24c12ed0eb80b28a233c4b93f8dfa88cbae627989f8e1dbc82da6b82e2f21f89""1MDab3o3k6RUtXpQjDUzKMvYyNfyPiHoFu"UOP_DUP OP_HASH160 ddc38b54e19b3c7d8a97439ed9bf6879227c7da4 OP_EQUALVERIFY OP_CHECKSIG*276a914ddc38b54e19b3c7d8a97439ed9bf6879227c7da488ac*"1MDab3o3k6RUtXpQjDUzKMvYyNfyPiHoFu8$J  $-@000000000000000000023e866e774f5cda7b22e25955ce9b3cce2314e026c721"@0000000000000000000575402ceb3a7a2a3c84609627707abeb33e31de27afd12 + + + +1@94a9ed16d8285e66f1543c1ee25ef75f6b2ced6c5edf51c1985de3ccdcc3a7be$"@000000000000000000023e866e774f5cda7b22e25955ce9b3cce2314e026c721(-2 +@24c12ed0eb80b28a233c4b93f8dfa88cbae627989f8e1dbc82da6b82e2f21f89B0344440ad4bf13a448fb280d7ca61745e61e5d2c586ab85e79330e444ea80303c02 +@24c12ed0eb80b28a233c4b93f8dfa88cbae627989f8e1dbc82da6b82e2f21f89B02bf2a4b28ec696f29f96c91268752c3bef68c1c1c640f813f0e819ed18ff1ad11B +@94a9ed16d8285e66f1543c1ee25ef75f6b2ced6c5edf51c1985de3ccdcc3a7be""1MECgWkCXvKYwrMZMmtZUehT8a4heEBknM"UOP_DUP OP_HASH160 dde1ac9861e26cbdbf315f5020a485ee895cc9ee OP_EQUALVERIFY OP_CHECKSIG*276a914dde1ac9861e26cbdbf315f5020a485ee895cc9ee88ac*"1MECgWkCXvKYwrMZMmtZUehT8a4heEBknM8$J  +@94a9ed16d8285e66f1543c1ee25ef75f6b2ced6c5edf51c1985de3ccdcc3a7be"!1rbD7EuZX9b1vVDAGEXSuUwgBrBbcK7HA"UOP_DUP OP_HASH160 0960f02af1d9bac8565ab9565fa3f90522d4dd5a OP_EQUALVERIFY OP_CHECKSIG*276a9140960f02af1d9bac8565ab9565fa3f90522d4dd5a88ac*!1rbD7EuZX9b1vVDAGEXSuUwgBrBbcK7HA8$J  +@94a9ed16d8285e66f1543c1ee25ef75f6b2ced6c5edf51c1985de3ccdcc3a7be""127oSsUH2ZJ7QeExJp7QYiMNxvwpofrwd5"UOP_DUP OP_HASH160 0c41648b89287c29e818cd6c3b6e96bed8bd6e40 OP_EQUALVERIFY OP_CHECKSIG*276a9140c41648b89287c29e818cd6c3b6e96bed8bd6e4088ac*"127oSsUH2ZJ7QeExJp7QYiMNxvwpofrwd58$J $-@0000000000000000000d438bebbb5e2d210f5c10cc7d1b8bafbac107c56fb370"@000000000000000000023e866e774f5cda7b22e25955ce9b3cce2314e026c7212š$-@00000000000000000011b30535ead3dd87d223db104b73d04ffc041ac3ffa76f"@0000000000000000000d438bebbb5e2d210f5c10cc7d1b8bafbac107c56fb3702Ú$и-@000000000000000000159bfdb512535efb8834c3ee66319ac3eea4e87990ebf5"@00000000000000000011b30535ead3dd87d223db104b73d04ffc041ac3ffa76f2Ě$-@00000000000000000003491e82f517158a765dc701b9fffc24d7ed9f87a2a7cb"@000000000000000000159bfdb512535efb8834c3ee66319ac3eea4e87990ebf52Ś$-@00000000000000000000a27092eb114809f5ab56cccd94c3c9031c888899ed8b"@00000000000000000003491e82f517158a765dc701b9fffc24d7ed9f87a2a7cb2ƚ$-@00000000000000000004bee31c071797942fd9c11f09b14f22f5f2346c1d0185"@00000000000000000000a27092eb114809f5ab56cccd94c3c9031c888899ed8b2ǚ$-@000000000000000000182710c9da6c01ed0a2cecfcc01bc38e0387df550452b0"@00000000000000000004bee31c071797942fd9c11f09b14f22f5f2346c1d01852 + + +1@9296e2d5e9513a64cb48641329fa52e6133beffc136f82f3467e6d4dda86ed21ǚ$"@000000000000000000182710c9da6c01ed0a2cecfcc01bc38e0387df550452b0(-2 +@9808e853136edd559bb2dbd28b5552c4b0b62ea93f28895898e7238c997bff65B0399714781081d15a99b01ffebbbc640e8fe75e51c9c1fe69a5baed59ff79e7ab52 +@7495400fb294b756135f1851dc9ca61cd828b2ac384d2d22e082ea3a327834ffB03820a83ea8f305c72a79b23617b498daa06a4ab1738820a9c665cb52f507b862bB +@9296e2d5e9513a64cb48641329fa52e6133beffc136f82f3467e6d4dda86ed21""1HAUUncPhE2Uz1Vxz4chp7oy6FDhbcEAXB"UOP_DUP OP_HASH160 b14cb1cf9444c5cf8149e62f76c9587c2216f75b OP_EQUALVERIFY OP_CHECKSIG*276a914b14cb1cf9444c5cf8149e62f76c9587c2216f75b88ac*"1HAUUncPhE2Uz1Vxz4chp7oy6FDhbcEAXB8ǚ$J  +\@9296e2d5e9513a64cb48641329fa52e6133beffc136f82f3467e6d4dda86ed21""1HAbpDGybUFsBX3PZWGdjeRXZSqEQvNcTM"UOP_DUP OP_HASH160 b152d144bd475b6689ad4b3003affdc0c1cf158e OP_EQUALVERIFY OP_CHECKSIG*276a914b152d144bd475b6689ad4b3003affdc0c1cf158e88ac*"1HAbpDGybUFsBX3PZWGdjeRXZSqEQvNcTM8ǚ$J  +Y@9296e2d5e9513a64cb48641329fa52e6133beffc136f82f3467e6d4dda86ed21""13e4pifQr57S8ZwD2HD5oK9wifgYpeHVcb"UOP_DUP OP_HASH160 1cf2d54d198d6503d51fcd6cefaa503d9a97c25a OP_EQUALVERIFY OP_CHECKSIG*276a9141cf2d54d198d6503d51fcd6cefaa503d9a97c25a88ac*"13e4pifQr57S8ZwD2HD5oK9wifgYpeHVcb8ǚ$J & + + +1@1d581e2a194113e9f4c218d29f1f2db3a9fb5c1edbc7a3e5e6568dd5bd5f2654ǚ$"@000000000000000000182710c9da6c01ed0a2cecfcc01bc38e0387df550452b0(-2 +@2e1d9891c0b4cfbbb50505325835270a12e9ae9b42b480583e9dab38ddc9523dB039f6082fe8be5b4a0f5dc6b5e87fe3b3767494abb5dccda1f2feb192f8bc312e52 +@cf5b0590be8a0cda2c23299578567ff1c6917ddb4853697463b8a2623ece9933B036abaedbc8802f39fd9f12a57f9d663d04e85e3764f05ab2a609397368971d598B +@1d581e2a194113e9f4c218d29f1f2db3a9fb5c1edbc7a3e5e6568dd5bd5f2654""1154vbKaAVCUZMw4hiRAU3ZKdrftKz5BiZ"UOP_DUP OP_HASH160 00c4f07eb667bcfa166b3725ac9bda60b7e978eb OP_EQUALVERIFY OP_CHECKSIG*276a91400c4f07eb667bcfa166b3725ac9bda60b7e978eb88ac*"1154vbKaAVCUZMw4hiRAU3ZKdrftKz5BiZ8ǚ$J  +\@1d581e2a194113e9f4c218d29f1f2db3a9fb5c1edbc7a3e5e6568dd5bd5f2654""1MfWZ4uAATmjA6NeWzuM45Q55HPsAyxrU3"UOP_DUP OP_HASH160 e2aafde1e536e689c2a1787a237d90cc05021d19 OP_EQUALVERIFY OP_CHECKSIG*276a914e2aafde1e536e689c2a1787a237d90cc05021d1988ac*"1MfWZ4uAATmjA6NeWzuM45Q55HPsAyxrU38ǚ$J  +֭@1d581e2a194113e9f4c218d29f1f2db3a9fb5c1edbc7a3e5e6568dd5bd5f2654""1Dj5zfBu6YMaw5Lehj76yaWSYaX2hdYaDf"UOP_DUP OP_HASH160 8b97260f80450a4c67159c5870150842189df2ff OP_EQUALVERIFY OP_CHECKSIG*276a9148b97260f80450a4c67159c5870150842189df2ff88ac*"1Dj5zfBu6YMaw5Lehj76yaWSYaX2hdYaDf8ǚ$J &Ț$-@00000000000000000013db5f045056fd3b2eed28ca2f6cdc03e0a1cf99c0e67a"@000000000000000000182710c9da6c01ed0a2cecfcc01bc38e0387df550452b02 ɚ$-@000000000000000000072d37f0c29b6c55aadbff3cb6b397a5cea6a52a59f3c0"@00000000000000000013db5f045056fd3b2eed28ca2f6cdc03e0a1cf99c0e67a2 + + + +1@0a1364794db3f103fa4162e84a25516f1de97024655c5b9f033dcd4a6f11408bɚ$"@000000000000000000072d37f0c29b6c55aadbff3cb6b397a5cea6a52a59f3c0(-2 +@94a9ed16d8285e66f1543c1ee25ef75f6b2ced6c5edf51c1985de3ccdcc3a7beB027c63cbfbd5e6ca85ca5c685ec5f1897c3188d9f7733105fe5d3af7ad38ab4ba12 +@594a011c5139ce27ea95d2d52ce82ac6d030e536eb97192dce92888903da325fB033d0aced237f52716129eb9cca4c9a9dd3069643800adb3270ffb74257b1390baB +@0a1364794db3f103fa4162e84a25516f1de97024655c5b9f033dcd4a6f11408b""15vXUzgovj1CRQorV6jK56baLoDL8ot7hB"UOP_DUP OP_HASH160 35fffea86ead039af78d68dcdc0992822bfa52f9 OP_EQUALVERIFY OP_CHECKSIG*276a91435fffea86ead039af78d68dcdc0992822bfa52f988ac*"15vXUzgovj1CRQorV6jK56baLoDL8ot7hB8ɚ$J  +@0a1364794db3f103fa4162e84a25516f1de97024655c5b9f033dcd4a6f11408b""1KnC4ZqwUsBUWtFyhC5fjH3aD489xw6duu"UOP_DUP OP_HASH160 cdfe374f43c34575275b6e2a622df60a145af79a OP_EQUALVERIFY OP_CHECKSIG*276a914cdfe374f43c34575275b6e2a622df60a145af79a88ac*"1KnC4ZqwUsBUWtFyhC5fjH3aD489xw6duu8ɚ$J  +ꓤ@0a1364794db3f103fa4162e84a25516f1de97024655c5b9f033dcd4a6f11408b""13tUzTQZ98pDRe8PDvQqinFhawUDStWqw8"UOP_DUP OP_HASH160 1facd4bc8a3887d9240eaca78050b7b337fb9369 OP_EQUALVERIFY OP_CHECKSIG*276a9141facd4bc8a3887d9240eaca78050b7b337fb936988ac*"13tUzTQZ98pDRe8PDvQqinFhawUDStWqw88ɚ$J  ʚ$؟-@0000000000000000000e0c02a6421da474e7f59d2cf5b9187e49a01055e1995a"@000000000000000000072d37f0c29b6c55aadbff3cb6b397a5cea6a52a59f3c02 + + + +1@3ce57e8e52447ddbb103f742cc52df80bece2a41f5d790060e0e06906afac610ʚ$"@0000000000000000000e0c02a6421da474e7f59d2cf5b9187e49a01055e1995a(؟-2 +@0a1364794db3f103fa4162e84a25516f1de97024655c5b9f033dcd4a6f11408bB039d9c452648010c23b68fef43aedb3810e54e6f550b8dfb028dd669206cf4ef702 +@0a1364794db3f103fa4162e84a25516f1de97024655c5b9f033dcd4a6f11408bB03c6753acdd3ec94870f83670bf42fd23e6248db1ad94502a75dda934d57e1f64cB +@3ce57e8e52447ddbb103f742cc52df80bece2a41f5d790060e0e06906afac610""1AU1viRDthh6GgiBuAt7t5HHoJDoUNogEE"UOP_DUP OP_HASH160 67d522d72ed7c21e74f3fd91960863ffc258a429 OP_EQUALVERIFY OP_CHECKSIG*276a91467d522d72ed7c21e74f3fd91960863ffc258a42988ac*"1AU1viRDthh6GgiBuAt7t5HHoJDoUNogEE8ʚ$J  +@3ce57e8e52447ddbb103f742cc52df80bece2a41f5d790060e0e06906afac610""18ztiaFhXhuqKLeDyW5qxwyacWGj1V9fqT"UOP_DUP OP_HASH160 57bbc2e4cc0d0674d3baf0180d57efe2a6148d4b OP_EQUALVERIFY OP_CHECKSIG*276a91457bbc2e4cc0d0674d3baf0180d57efe2a6148d4b88ac*"18ztiaFhXhuqKLeDyW5qxwyacWGj1V9fqT8ʚ$J  +ϯ@3ce57e8e52447ddbb103f742cc52df80bece2a41f5d790060e0e06906afac610""1LCfN6aFLKhSPoa61TnZ62KGpMzvHT6VBR"UOP_DUP OP_HASH160 d29efd69e28859475806c081ee4a448ffd2820c0 OP_EQUALVERIFY OP_CHECKSIG*276a914d29efd69e28859475806c081ee4a448ffd2820c088ac*"1LCfN6aFLKhSPoa61TnZ62KGpMzvHT6VBR8ʚ$J ˚$-@000000000000000000039a29bfbc2a828381ffab00b36eb79a5512bfbeef558d"@0000000000000000000e0c02a6421da474e7f59d2cf5b9187e49a01055e1995a2̚$՛-@0000000000000000000d9b0472f19c5e8c1df609ef5fe74a9c29bcc99c2d5538"@000000000000000000039a29bfbc2a828381ffab00b36eb79a5512bfbeef558d2͚$-@000000000000000000045175a01da196bb531fb46120a1aa2f790bd37652fc0b"@0000000000000000000d9b0472f19c5e8c1df609ef5fe74a9c29bcc99c2d55382Κ$Ȼ-@00000000000000000001da1dc6190ef2aa28a406a2873af1b4f39956f5ecca7f"@000000000000000000045175a01da196bb531fb46120a1aa2f790bd37652fc0b2Ϛ$-@00000000000000000016f728dacf3394fb244255b39ddc1bb4a4d3dd7975b6ca"@00000000000000000001da1dc6190ef2aa28a406a2873af1b4f39956f5ecca7f2К$-@00000000000000000012d20de0b08df71e73c8edcb2be31b7a315bc2b0e5a277"@00000000000000000016f728dacf3394fb244255b39ddc1bb4a4d3dd7975b6ca2њ$-@0000000000000000001489ca5dae1b5ad4e504be41b0df8b211d2df84b24bc00"@00000000000000000012d20de0b08df71e73c8edcb2be31b7a315bc2b0e5a2772Қ$-@0000000000000000000aa8d2a1f663d6ee5e29fce283ec5282cff72a58d3a0c4"@0000000000000000001489ca5dae1b5ad4e504be41b0df8b211d2df84b24bc002Ӛ$-@00000000000000000006ff2dd2c348dc682ebc5b04c84e72fa0272a2568e671d"@0000000000000000000aa8d2a1f663d6ee5e29fce283ec5282cff72a58d3a0c42Ԛ$-@0000000000000000000b64d38d3642e078dd603cfededb10e2e99f24fbe9836f"@00000000000000000006ff2dd2c348dc682ebc5b04c84e72fa0272a2568e671d2՚$-@0000000000000000000b5589ae134a227147087a748c5d0253c472feb205e0ef"@0000000000000000000b64d38d3642e078dd603cfededb10e2e99f24fbe9836f2֚$-@00000000000000000014e4e5937f635a07feaaf9e22dd33fdde6c8fd69dc4b54"@0000000000000000000b5589ae134a227147087a748c5d0253c472feb205e0ef2ך$-@00000000000000000018ab1ecfa254d71ea3d1c178bdc95ecb0c3cf0b08d0921"@00000000000000000014e4e5937f635a07feaaf9e22dd33fdde6c8fd69dc4b542 + +1@7473814fcaa91800823bb2f4b1629901f476d1783a338aa8826cf8a8bc6d18cbך$"@00000000000000000018ab1ecfa254d71ea3d1c178bdc95ecb0c3cf0b08d0921(-2 +@b11977b0b1577ed74771d757e8f31e904fae4e8c5b5e8ef7d8684d88690938b6B02e7e826e8c019817bd2a139cb8e820883ccd8576b6575550850d6b129e53673ab2 +@8b6f121354a9d848138f29263bf3b12879753e55a3473607d84e7a943d694f84B030536d6f447e45635279eadb11de03e39783478900bd9128536236454ea5fe35f2 +@9fb8b1afb47950a06b542ac6bb5e492d7b723efcd2b30123005f28f5315fe134B03299897bc7be2191dbedea6967be975936c9bf1f2f891d44b2067d6fba16baebf2 +@05eb397ac23b5300fb182c4ac253119cd3639ab8095405fa13cc37c87c784cecB02df295653e3afc24625b0118705e75bf52e74d57c7056253a01adf02998d737ff2 +@3c22c1624202805451a69469484df4512712afaa37aaaed7d24cac54afa72dbfB038d18d3f15af97db2f0cbf70c5e680a16da9a9cc6180ebd775ef46cccd75982b52 +@79e0c55a2591bb277197c1836ee7c5f9bcfd60ff4dc54dfea39c6c51adf495afB0337ba20252d2424bf8d1271824d873e2e2af08b5290e1cdf9dc22c1f70f2e2498B +@7473814fcaa91800823bb2f4b1629901f476d1783a338aa8826cf8a8bc6d18cb""13597x2xkYWR6gTa1j7Kom4yLyFpAmSFy9"UOP_DUP OP_HASH160 16b8b1887f01266a9b7ef4ad0a398f0d88c1d7fd OP_EQUALVERIFY OP_CHECKSIG*276a91416b8b1887f01266a9b7ef4ad0a398f0d88c1d7fd88ac*"13597x2xkYWR6gTa1j7Kom4yLyFpAmSFy98ך$J  +d@7473814fcaa91800823bb2f4b1629901f476d1783a338aa8826cf8a8bc6d18cb""13Nn4TnF6ion5R3BHPHiGc5ttR39D7vezw"UOP_DUP OP_HASH160 1a0e99c73466f1f70eb5ae53798bacce8b7caf4a OP_EQUALVERIFY OP_CHECKSIG*276a9141a0e99c73466f1f70eb5ae53798bacce8b7caf4a88ac*"13Nn4TnF6ion5R3BHPHiGc5ttR39D7vezw8ך$J  +꒦@7473814fcaa91800823bb2f4b1629901f476d1783a338aa8826cf8a8bc6d18cb""1PQAYovFPP9ejD4u9D49x7icfnRvavwdxK"UOP_DUP OP_HASH160 f5b44e13f6978c7a6947d12ab9ffc3f229fc7554 OP_EQUALVERIFY OP_CHECKSIG*276a914f5b44e13f6978c7a6947d12ab9ffc3f229fc755488ac*"1PQAYovFPP9ejD4u9D49x7icfnRvavwdxK8ך$J ; + + +1@b89909ee8e9876f0ba8cd59dc6c79d905822a070f478c4ba78e8251f823c5b08ך$"@00000000000000000018ab1ecfa254d71ea3d1c178bdc95ecb0c3cf0b08d0921(-2 +@8e8c64d3cde4f0db0e9bc994a17c58be204d85b9a53a17423eb2137e751b47eeB02faf38d0882a41fa31153810767c51a87015a859b5da78ed3ee15b6ca410b87a72 +@610a4ea0fcb7031fc00af31e1c8d810f04982d3e08138a86ed444c9741183522B03c147a9112394439033a015cbd07ec59be02d390745574f01f9e67dcdd90c620bB +@b89909ee8e9876f0ba8cd59dc6c79d905822a070f478c4ba78e8251f823c5b08""142icJy8V9fhi3LfSd3uy6QaQXwUQfXjge"UOP_DUP OP_HASH160 213b86ce0a05d275e7394db044dc84ab497c209c OP_EQUALVERIFY OP_CHECKSIG*276a914213b86ce0a05d275e7394db044dc84ab497c209c88ac*"142icJy8V9fhi3LfSd3uy6QaQXwUQfXjge8ך$J  +@b89909ee8e9876f0ba8cd59dc6c79d905822a070f478c4ba78e8251f823c5b08""1NJiVMAxTGmT4PMwHCtBeDUMs2wPrZNuFB"UOP_DUP OP_HASH160 e9b4588b7a7a64cb45b4858bd03f68f01adadee6 OP_EQUALVERIFY OP_CHECKSIG*276a914e9b4588b7a7a64cb45b4858bd03f68f01adadee688ac*"1NJiVMAxTGmT4PMwHCtBeDUMs2wPrZNuFB8ך$J  +@b89909ee8e9876f0ba8cd59dc6c79d905822a070f478c4ba78e8251f823c5b08""1JFKfgvbN3fs9vQ4dHMbsNP8kDFFnkucB3"UOP_DUP OP_HASH160 bd2f8b53f60509bc29144c544c10f1ca869d28df OP_EQUALVERIFY OP_CHECKSIG*276a914bd2f8b53f60509bc29144c544c10f1ca869d28df88ac*"1JFKfgvbN3fs9vQ4dHMbsNP8kDFFnkucB38ך$J ؚ$-@00000000000000000007f7967b3a8facf046a856a8a6180fe9644b9b3d3d2b1d"@00000000000000000018ab1ecfa254d71ea3d1c178bdc95ecb0c3cf0b08d09212ٚ$-@00000000000000000004e3512e561a1058f9733f2946bac24235013d93cf335c"@00000000000000000007f7967b3a8facf046a856a8a6180fe9644b9b3d3d2b1d2ښ$-@00000000000000000014b9ce2a29a84f6192375cc064ad43725676ea8f815900"@00000000000000000004e3512e561a1058f9733f2946bac24235013d93cf335c2ۚ$-@00000000000000000013c9f99a2309e0434762cacef156009843f377446447d4"@00000000000000000014b9ce2a29a84f6192375cc064ad43725676ea8f8159002 ܚ$ئ-@0000000000000000000eb29052c828bdd09d8ee5ea94a377e7e64afb489f0c9e"@00000000000000000013c9f99a2309e0434762cacef156009843f377446447d42 + +1@ced76295466a0f236c97846cf1ea7a60b5b69b182b6efa4bf3f3e3b5a811956cܚ$"@0000000000000000000eb29052c828bdd09d8ee5ea94a377e7e64afb489f0c9e(ئ-2 +@7495400fb294b756135f1851dc9ca61cd828b2ac384d2d22e082ea3a327834ffB0278bc38e9927f8b604837e63cd42e85799b20d001ffb61becc68a324ee61f22632 +@9296e2d5e9513a64cb48641329fa52e6133beffc136f82f3467e6d4dda86ed21B0229e2c9da16f0cde4d44d7e8e64551718370d8eda2af2469d73699fe143b9d3cf2 +@7495400fb294b756135f1851dc9ca61cd828b2ac384d2d22e082ea3a327834ffB02d48c4e42af6a03a11b1d428db0e269cfa8cb7d3c9a18817ba12d975d004b8265B +@ced76295466a0f236c97846cf1ea7a60b5b69b182b6efa4bf3f3e3b5a811956c""1Gsgh6K6zjFzPWTbPSWvV6Y7sGCWZQcPY7"UOP_DUP OP_HASH160 ae1fd1426f44eb0d1e9a9e80f14e6bc83264c3b9 OP_EQUALVERIFY OP_CHECKSIG*276a914ae1fd1426f44eb0d1e9a9e80f14e6bc83264c3b988ac*"1Gsgh6K6zjFzPWTbPSWvV6Y7sGCWZQcPY78ܚ$J  +\@ced76295466a0f236c97846cf1ea7a60b5b69b182b6efa4bf3f3e3b5a811956c""1CegtfQJCSKxQfAxPE3g83KeJ98xoNbSnK"UOP_DUP OP_HASH160 7fca12c45c980594ff9c30a3643fd828f4608145 OP_EQUALVERIFY OP_CHECKSIG*276a9147fca12c45c980594ff9c30a3643fd828f460814588ac*"1CegtfQJCSKxQfAxPE3g83KeJ98xoNbSnK8ܚ$J  +@ced76295466a0f236c97846cf1ea7a60b5b69b182b6efa4bf3f3e3b5a811956c""186gdwUFzmsLDYXZujvMPgZvDsLNFNL5qx"UOP_DUP OP_HASH160 4ddc0c28d37cc130ed9e5f06186b758d4c38f1a6 OP_EQUALVERIFY OP_CHECKSIG*276a9144ddc0c28d37cc130ed9e5f06186b758d4c38f1a688ac*"186gdwUFzmsLDYXZujvMPgZvDsLNFNL5qx8ܚ$J & ݚ$-@000000000000000000025a8657ad8bf66c33d45673a5ea8c5e93f0f091e3d5d5"@0000000000000000000eb29052c828bdd09d8ee5ea94a377e7e64afb489f0c9e2 + + + +1@2f8b517c0f09894f0fc761236c11f0a06a4ab171bab1dc257c6ed46f63fd220aݚ$"@000000000000000000025a8657ad8bf66c33d45673a5ea8c5e93f0f091e3d5d5(-2 +@823367180e77f041625150e54813a44b6568621fbb726882191ba73c3eee7e76B035605605668f4dfadef3f37ef9c5249ae79f6d6dcd80122dc58d75dff4193c4e62 +@db295f9aac1af1d1ec1397dc725489e2753d8bfbb09b6ed17a405b0484222e26B035ba3c6b811912efeb633398809a304c31b21a98b9d231d1d6c0b03d47d02ee462 +@dff6a063f350a682c153943058d782db77778d7b0c879051fb2d2d1641f28318B0245b84c996b9ec85b5dfaed88fbfbb35d41eaab1059c0d91a8c39462ea57ff2d32 +@0f5436918be855a94be9ecc588fdc14bec64e97f04b5b2371675009398becf56B028d96b7bfebf9d0f7b0f16dcb5b4701451b241a151c72c09a9d2d26ea2953f956B +@2f8b517c0f09894f0fc761236c11f0a06a4ab171bab1dc257c6ed46f63fd220a""1BC1ZkhTCMD2v5Ecgonpi5fpwH9PjntDMx"UOP_DUP OP_HASH160 6fc64e087a2fedc3f2fda572d698cd3a4b1a7145 OP_EQUALVERIFY OP_CHECKSIG*276a9146fc64e087a2fedc3f2fda572d698cd3a4b1a714588ac*"1BC1ZkhTCMD2v5Ecgonpi5fpwH9PjntDMx8ݚ$J  + @2f8b517c0f09894f0fc761236c11f0a06a4ab171bab1dc257c6ed46f63fd220a""13nNdeJv1FDibKD8hbvM7UqKjLMJ2h2YRL"UOP_DUP OP_HASH160 1e8506f33acbd95cb30d502ef67260e46dffc745 OP_EQUALVERIFY OP_CHECKSIG*276a9141e8506f33acbd95cb30d502ef67260e46dffc74588ac*"13nNdeJv1FDibKD8hbvM7UqKjLMJ2h2YRL8ݚ$J ޚ$خ-@0000000000000000000b2b2c675e3f8fd488fbd2f8862b7190d465c556a9f220"@000000000000000000025a8657ad8bf66c33d45673a5ea8c5e93f0f091e3d5d52ߚ$Ђ-@0000000000000000000e1da74771f7ff666c5cdf3906e0e8877b9fedc3536296"@0000000000000000000b2b2c675e3f8fd488fbd2f8862b7190d465c556a9f2202$-@0000000000000000001148dcdc7b29656ffe92f726c604800c5c9574f77ef007"@0000000000000000000e1da74771f7ff666c5cdf3906e0e8877b9fedc35362962$-@0000000000000000001933243b112d6bcd88ba11f9216b9c2004605061218c5e"@0000000000000000001148dcdc7b29656ffe92f726c604800c5c9574f77ef0072$-@000000000000000000016f7d798362b7eac78b353ac65e9aa3a7dfb85597d8c3"@0000000000000000001933243b112d6bcd88ba11f9216b9c2004605061218c5e2 $-@00000000000000000011bf59b1438c7cff75cf7474fadf75269976e519228cf5"@000000000000000000016f7d798362b7eac78b353ac65e9aa3a7dfb85597d8c32 + + + +1@6330eca75d47274514cad3b892b1859e51c762251db742ca2841c9fc7f6253e1$"@00000000000000000011bf59b1438c7cff75cf7474fadf75269976e519228cf5(-2 +@4bcb0a4ce5fd2a874160f7101e6bd4131f07bf8a8f4c1c04cf2705fb6221c192B03cb6a14b4323fb307dc2b9a0f80582ce018e6560ff295e0b69a9c56433cfa78892 +@4bcb0a4ce5fd2a874160f7101e6bd4131f07bf8a8f4c1c04cf2705fb6221c192B02b555a77656cb15b88db768a90bac2ca33c4363f6c4dd6dd4a70f19a7fde69c1cB +ɻ@6330eca75d47274514cad3b892b1859e51c762251db742ca2841c9fc7f6253e1""17Z91juzRojLmXsg5s3Wotyzj3LRsSVpXR"UOP_DUP OP_HASH160 47e4c112c0b83320b980d06157b5419b92003e6a OP_EQUALVERIFY OP_CHECKSIG*276a91447e4c112c0b83320b980d06157b5419b92003e6a88ac*"17Z91juzRojLmXsg5s3Wotyzj3LRsSVpXR8$J  +ׁ@6330eca75d47274514cad3b892b1859e51c762251db742ca2841c9fc7f6253e1""1K6CtgEHQxnGvH7EZiHJR9R1aQtvZonE75"UOP_DUP OP_HASH160 c66e451ebd54ffd95ae2c95263da92d73844c1bb OP_EQUALVERIFY OP_CHECKSIG*276a914c66e451ebd54ffd95ae2c95263da92d73844c1bb88ac*"1K6CtgEHQxnGvH7EZiHJR9R1aQtvZonE758$J  +ᝤ@6330eca75d47274514cad3b892b1859e51c762251db742ca2841c9fc7f6253e1""1GL6UfUuhFoYARkjWYgpRNtjjjUUnwyTey"UOP_DUP OP_HASH160 a8265ca9a541a73ad8b9c8f9d4c0defa255a1350 OP_EQUALVERIFY OP_CHECKSIG*276a914a8265ca9a541a73ad8b9c8f9d4c0defa255a135088ac*"1GL6UfUuhFoYARkjWYgpRNtjjjUUnwyTey8$J $-@0000000000000000000372202606bbf4f46f3ee737e181feb6b6286c220d976f"@00000000000000000011bf59b1438c7cff75cf7474fadf75269976e519228cf52$-@00000000000000000007c818fd39abb88a870163fc0f7e46430c4fcdeb637faf"@0000000000000000000372202606bbf4f46f3ee737e181feb6b6286c220d976f2$-@0000000000000000000135f4f0326a19b73c2bf420cec0e756409de954832dcc"@00000000000000000007c818fd39abb88a870163fc0f7e46430c4fcdeb637faf2$-@0000000000000000000714c94f8a0808ff041dca54a04efe0efe5ff6d693c038"@0000000000000000000135f4f0326a19b73c2bf420cec0e756409de954832dcc2$-@00000000000000000016eb19d55d7df8c02b63aed2c894f3a05452cd9b07992b"@0000000000000000000714c94f8a0808ff041dca54a04efe0efe5ff6d693c0382$-@0000000000000000001514ef810f9e52222d833011cf1cbe2dea924058ccd565"@00000000000000000016eb19d55d7df8c02b63aed2c894f3a05452cd9b07992b2$Ȍ-@00000000000000000005b617fc6810d1faa9715c14d1a4a297628d67f2b895d6"@0000000000000000001514ef810f9e52222d833011cf1cbe2dea924058ccd5652$-@000000000000000000189d833e55caa4dd825682fae7f1be947a0b00c345bf25"@00000000000000000005b617fc6810d1faa9715c14d1a4a297628d67f2b895d62$-@0000000000000000001650c8d5db3a05a66301382c60cdb8bed58c2bca7107d6"@000000000000000000189d833e55caa4dd825682fae7f1be947a0b00c345bf252$ؠ-@000000000000000000121740c444c3c9d33bfc444229e1f60381629e9f2e7dc4"@0000000000000000001650c8d5db3a05a66301382c60cdb8bed58c2bca7107d62$-@0000000000000000000161cd5cd23fe6eec412ac831f464a17b45f9270588c77"@000000000000000000121740c444c3c9d33bfc444229e1f60381629e9f2e7dc42$-@0000000000000000001215f257359c56a1e2bb4cf7d006e42ea5c2a84e8a3ad1"@0000000000000000000161cd5cd23fe6eec412ac831f464a17b45f9270588c772$إ-@00000000000000000012afc57ec490cd36becbe4db6c4f01bf53d7ecbdea8768"@0000000000000000001215f257359c56a1e2bb4cf7d006e42ea5c2a84e8a3ad12 $-@0000000000000000000fe26ea5e64224ce67fac5711270cba2fabe9945f48eef"@00000000000000000012afc57ec490cd36becbe4db6c4f01bf53d7ecbdea87682 + +1@e491ac349155daafc613486cfc0458627e6f520c7ae88c0b6ccc2ad1d003e033$"@0000000000000000000fe26ea5e64224ce67fac5711270cba2fabe9945f48eef(-2 +@9ffd5d63f6a337a1aaf778292fb1a6b2c163f5047ae89a8f06473ae9c97ea82cB0205ce5596d4136781a6aec3ce198b510e60fecc52642f7813e63e99581933395e2 +@73c50f3fbabe33f794251c8b47cd67dc7ba050f8b29f9f9dc22067a76a1d3801B02368bc8e4dedcd21776e07103c8d55320b556b3920c5d4af40dd5814b97ea81a12 +@cfed675de1cf7bc6c4a5ca3b96942946faeb1777af77f4bfa525fe2adf8eecb9B0337c0523ca8c646eead7a4466e06bc7a2c16fb71a7966526dc12b129e49a40263B + @e491ac349155daafc613486cfc0458627e6f520c7ae88c0b6ccc2ad1d003e033"!1C6MDnpE8vNX8cWz6jjWk7QUJZHtB9jFj"UOP_DUP OP_HASH160 02190a570d4d31807531950f7f781cb867b6e069 OP_EQUALVERIFY OP_CHECKSIG*276a91402190a570d4d31807531950f7f781cb867b6e06988ac*!1C6MDnpE8vNX8cWz6jjWk7QUJZHtB9jFj8$J  +Z@e491ac349155daafc613486cfc0458627e6f520c7ae88c0b6ccc2ad1d003e033""1Bu5z3WgxztzZ75cyfcMi5iZZKHzPBRGEi"UOP_DUP OP_HASH160 778b0c414f78a9ee63fc49c4c842b61f822c84f0 OP_EQUALVERIFY OP_CHECKSIG*276a914778b0c414f78a9ee63fc49c4c842b61f822c84f088ac*"1Bu5z3WgxztzZ75cyfcMi5iZZKHzPBRGEi8$J  +@e491ac349155daafc613486cfc0458627e6f520c7ae88c0b6ccc2ad1d003e033""1CRY7AHyJPWVZQW351ZNJJurTYYqsJxnU1"UOP_DUP OP_HASH160 7d4d5536692bdd9d619256362a658b62c28731a7 OP_EQUALVERIFY OP_CHECKSIG*276a9147d4d5536692bdd9d619256362a658b62c28731a788ac*"1CRY7AHyJPWVZQW351ZNJJurTYYqsJxnU18$J  $-@000000000000000000010dc186c9d4e95e12bfcaccdb3125fbf0cdf3e818f162"@0000000000000000000fe26ea5e64224ce67fac5711270cba2fabe9945f48eef2$-@0000000000000000001303c8777a9d3f9c2a5015ae7b039f5b0eb751a0f71191"@000000000000000000010dc186c9d4e95e12bfcaccdb3125fbf0cdf3e818f1622$-@000000000000000000175b9bfea6ead318694fcd322f906b5ea22b5efd9e777c"@0000000000000000001303c8777a9d3f9c2a5015ae7b039f5b0eb751a0f711912$-@0000000000000000000096c312034441bfb11bac94ee0a5772ee2b6477302108"@000000000000000000175b9bfea6ead318694fcd322f906b5ea22b5efd9e777c2 $֡-@0000000000000000001397eb26bf9d55b23a2d55746ae98f51cbbe32c46a2fb1"@0000000000000000000096c312034441bfb11bac94ee0a5772ee2b64773021082 + + + +1@86690c7a6b660a244bd08502f4cb72e32a9e7d4769ebd9369f278affed951abe$"@0000000000000000001397eb26bf9d55b23a2d55746ae98f51cbbe32c46a2fb1(֡-2 +@303a0b169077cd7c41b9e4915a31e3eb4638defb09f977d556cf3d17b77823edB02f27870fed42ff90b70061721838b57f03dda7f0bb1d2b69e6dd69fda71e50d802 +@33eb850b11583c3c0cc3e5de9b1c4d8964d1e57be3e9425af3527eff6d7dbfe1B0357b7758bbb730191461eab42e2a4783effd52790540a108a52979ea47e3ff314B +@86690c7a6b660a244bd08502f4cb72e32a9e7d4769ebd9369f278affed951abe""13wmHbCjc2AEDTQa9XRNi4U59BLDmumT1Z"UOP_DUP OP_HASH160 204bae7ea07d11b5938e727199df27f09593c1e5 OP_EQUALVERIFY OP_CHECKSIG*276a914204bae7ea07d11b5938e727199df27f09593c1e588ac*"13wmHbCjc2AEDTQa9XRNi4U59BLDmumT1Z8$J  +@86690c7a6b660a244bd08502f4cb72e32a9e7d4769ebd9369f278affed951abe""12ojZc9F5Ty9CunzHVuhQ2XHC6q8UatWbx"UOP_DUP OP_HASH160 13ceca04e09527396eb972dfbe13472491ccf4b0 OP_EQUALVERIFY OP_CHECKSIG*276a91413ceca04e09527396eb972dfbe13472491ccf4b088ac*"12ojZc9F5Ty9CunzHVuhQ2XHC6q8UatWbx8$J  +@86690c7a6b660a244bd08502f4cb72e32a9e7d4769ebd9369f278affed951abe""1LMgLvm38VWuG4UJdhpJQcHQuKo5MENMM8"UOP_DUP OP_HASH160 d4538d2e02ee3078070fc6b6fe2e4b38b515e218 OP_EQUALVERIFY OP_CHECKSIG*276a914d4538d2e02ee3078070fc6b6fe2e4b38b515e21888ac*"1LMgLvm38VWuG4UJdhpJQcHQuKo5MENMM88$J ;$-@000000000000000000183feabfe1ffd7b1ef84024a9694ae4232e61150e5577e"@0000000000000000001397eb26bf9d55b23a2d55746ae98f51cbbe32c46a2fb12$-@00000000000000000013aaa414ccd7ee39736c002dab1071a508fbb91e558410"@000000000000000000183feabfe1ffd7b1ef84024a9694ae4232e61150e5577e27$-@000000000000000000199363b99e0ab2a4e3231b0fde369af9fc328093eba617"@00000000000000000013aaa414ccd7ee39736c002dab1071a508fbb91e55841026 + +1@16bd85e32d8424533829599250af31dd49e80c5e7bc1e5815414f6bd2be842d8$"@000000000000000000199363b99e0ab2a4e3231b0fde369af9fc328093eba617(-2 +@3ce57e8e52447ddbb103f742cc52df80bece2a41f5d790060e0e06906afac610B031e7c8629a23efa2e6e5cbde9c6f73fa104559888fd70674a571beebd7be8ef892 +@4638e83689065be6ec6ef433189b5de683c16fd60c0df657cbca8545c4abcd19B03f57bcc4173dc8d0b3decf3b7d2c29dd7a1721e150e6e2eda3283a2c8cb892b6f2 +@d99af674b0ce03a5c8ef43b9e45d545f2e8080b1375078bba41822da3ade55ffB023aba0f9df36ff3daed3ec05d20ca9437b88e309d5975eda4d53a8ccb05e9dbe9B +@16bd85e32d8424533829599250af31dd49e80c5e7bc1e5815414f6bd2be842d8""1PzT44uBNLkDAeRSC6KK9Zfkp1mNdNQeBM"UOP_DUP OP_HASH160 fc30399427a372b8e60a3e377691ca084c9a4933 OP_EQUALVERIFY OP_CHECKSIG*276a914fc30399427a372b8e60a3e377691ca084c9a493388ac*"1PzT44uBNLkDAeRSC6KK9Zfkp1mNdNQeBM8$J  +@16bd85e32d8424533829599250af31dd49e80c5e7bc1e5815414f6bd2be842d8""1Jc4d6HAamPMrcpxSFU9QqaipPa6DHFTP6"UOP_DUP OP_HASH160 c11bb87f8c8dd0a0a92a86dcf1995c9d652a037e OP_EQUALVERIFY OP_CHECKSIG*276a914c11bb87f8c8dd0a0a92a86dcf1995c9d652a037e88ac*"1Jc4d6HAamPMrcpxSFU9QqaipPa6DHFTP68$J  +@16bd85e32d8424533829599250af31dd49e80c5e7bc1e5815414f6bd2be842d8"!1x3q3cmMo2zKcxURTF2uRTf5EqKt5j4fE"UOP_DUP OP_HASH160 0a693d286832de000cd97f158e072151b6bb42fd OP_EQUALVERIFY OP_CHECKSIG*276a9140a693d286832de000cd97f158e072151b6bb42fd88ac*!1x3q3cmMo2zKcxURTF2uRTf5EqKt5j4fE8$J  + + +1@c91048a34ddc48b8f4f1f3a11a6f6f0dd36895fba9d5c6ab687dee3ac1a04f69$"@000000000000000000199363b99e0ab2a4e3231b0fde369af9fc328093eba617(-2 +@86690c7a6b660a244bd08502f4cb72e32a9e7d4769ebd9369f278affed951abeB02a987b0dc163e6c009f82a397b2b25e5c45f0ef195327d492872a028fd96ae3522 +@86690c7a6b660a244bd08502f4cb72e32a9e7d4769ebd9369f278affed951abeB038ec98aeff5f81aa280118212c6928cf63bf1b5a16e249a4a596e08ea66d6aca2B +@c91048a34ddc48b8f4f1f3a11a6f6f0dd36895fba9d5c6ab687dee3ac1a04f69""1M1htf7N1VVQkJbdqw4K3BLfJoYDbGWiX3"UOP_DUP OP_HASH160 db84a64325117d364d542e439cf6149d5ae4f2a2 OP_EQUALVERIFY OP_CHECKSIG*276a914db84a64325117d364d542e439cf6149d5ae4f2a288ac*"1M1htf7N1VVQkJbdqw4K3BLfJoYDbGWiX38$J  + @c91048a34ddc48b8f4f1f3a11a6f6f0dd36895fba9d5c6ab687dee3ac1a04f69"!1c3amohfqStoqcUz8mCjtq1da87ncvFcp"UOP_DUP OP_HASH160 06a0b6d8c6113f718c5712837d4b4490f82b14f0 OP_EQUALVERIFY OP_CHECKSIG*276a91406a0b6d8c6113f718c5712837d4b4490f82b14f088ac*!1c3amohfqStoqcUz8mCjtq1da87ncvFcp8$J  +@c91048a34ddc48b8f4f1f3a11a6f6f0dd36895fba9d5c6ab687dee3ac1a04f69""1CBGwG282BESkmMgPFNVNut1V8MWZfk8Ji"UOP_DUP OP_HASH160 7a9ad874479097cc8881351fa6a78389bd158ea5 OP_EQUALVERIFY OP_CHECKSIG*276a9147a9ad874479097cc8881351fa6a78389bd158ea588ac*"1CBGwG282BESkmMgPFNVNut1V8MWZfk8Ji8$J ; + + +1@ffb93f79cf5600c9828b8f8b1037eb3adbde0e06dca1f73a942b2418b69ae598$"@000000000000000000199363b99e0ab2a4e3231b0fde369af9fc328093eba617(-2 +@c91048a34ddc48b8f4f1f3a11a6f6f0dd36895fba9d5c6ab687dee3ac1a04f69B0254507dd77fe9b4d753f7b9d62f41ec62774ec8394cba3301a6d189c728b38a302 +@c91048a34ddc48b8f4f1f3a11a6f6f0dd36895fba9d5c6ab687dee3ac1a04f69B0377334d142c6f6420d4d141c644f3d6491da3a3c66035b8b7a223de779b878a20B +ҋ@ffb93f79cf5600c9828b8f8b1037eb3adbde0e06dca1f73a942b2418b69ae598""1EwktHeS55dDXsAQHMF8zUYZWP9CvrmqUL"UOP_DUP OP_HASH160 98f4bad8188c5278c14a5c11a2e11a1a33b2ab68 OP_EQUALVERIFY OP_CHECKSIG*276a91498f4bad8188c5278c14a5c11a2e11a1a33b2ab6888ac*"1EwktHeS55dDXsAQHMF8zUYZWP9CvrmqUL8$J  + @ffb93f79cf5600c9828b8f8b1037eb3adbde0e06dca1f73a942b2418b69ae598""18gN9nYBj2jwZCEeHiZiUj3ke4vZWbq2BS"UOP_DUP OP_HASH160 543ac264eacdecd630578baed0fe900d159ccf31 OP_EQUALVERIFY OP_CHECKSIG*276a914543ac264eacdecd630578baed0fe900d159ccf3188ac*"18gN9nYBj2jwZCEeHiZiUj3ke4vZWbq2BS8$J  +@ffb93f79cf5600c9828b8f8b1037eb3adbde0e06dca1f73a942b2418b69ae598""1ATt33sCuGK91X5WszY4S2JxgVP1EAB88J"UOP_DUP OP_HASH160 67ce8c992f5b480b01e17ab67ef22cd64c72009e OP_EQUALVERIFY OP_CHECKSIG*276a91467ce8c992f5b480b01e17ab67ef22cd64c72009e88ac*"1ATt33sCuGK91X5WszY4S2JxgVP1EAB88J8$J ; + + +1@c66c8fb3e1a261b0fecef901950fe466431318a9c28ab4f5b1577473823ca460$"@000000000000000000199363b99e0ab2a4e3231b0fde369af9fc328093eba617(-2 +@da97cea9060acf8a2ce075e0471a902a279e4ad08ef3f8cabcfd9d7e3af91e4bB02842f49dd05c86007795efc36e0fb1c0105fd4e923e5d82373c44bd9b25ddad612 +@562c9390195e01a9f358a6abe686f8483f441dd9eab995cf65175e3d67244b8eB022407338a4d5924c356b521a29c2e4f3e4d98b7942a69a7664234038ab7da2e8cB +σ@c66c8fb3e1a261b0fecef901950fe466431318a9c28ab4f5b1577473823ca460""1GDJ1jN9k5AYH9qrne9w54iM8RWQtRvNtn"UOP_DUP OP_HASH160 a6dd1466f5c387a326c46a92cc3f196778dc402f OP_EQUALVERIFY OP_CHECKSIG*276a914a6dd1466f5c387a326c46a92cc3f196778dc402f88ac*"1GDJ1jN9k5AYH9qrne9w54iM8RWQtRvNtn8$J  +@c66c8fb3e1a261b0fecef901950fe466431318a9c28ab4f5b1577473823ca460""12afqbPmWzrG9uJ6oi64UzQUXXqDcwBkCs"UOP_DUP OP_HASH160 115645cf43f3e211bd792740415a11641c1eefba OP_EQUALVERIFY OP_CHECKSIG*276a914115645cf43f3e211bd792740415a11641c1eefba88ac*"12afqbPmWzrG9uJ6oi64UzQUXXqDcwBkCs8$J  +"@c66c8fb3e1a261b0fecef901950fe466431318a9c28ab4f5b1577473823ca460"!1XDCcETYYdA3qGuikti618jvLc95SuNvi"UOP_DUP OP_HASH160 05b6a9bae4bc9ffffc240268fb8ab0fb98879051 OP_EQUALVERIFY OP_CHECKSIG*276a91405b6a9bae4bc9ffffc240268fb8ab0fb9887905188ac*!1XDCcETYYdA3qGuikti618jvLc95SuNvi8$J  + + +1@b6c1bb1395440020868ebb113dfe584f9668e38c9f40df8f7b5d325f954902ba$"@000000000000000000199363b99e0ab2a4e3231b0fde369af9fc328093eba617(-2 +@8ba4c40c6c1078c7a7418380cc39d08f3b5043db17903e20acf716a2b9769e70B02395b3af2b0660ae8c289705a3a02b4f5ad433f6b50225cda30e7890f323a99242 +@b19ce82ac83f1f985214fbb69d3f76e9d3a8949192e4e960e60a1d024d92c7f9B0353c4112ebd5e70e6b1249a2cd5c111f8b0e419619d3df8ea37da0ab80936100fB +@b6c1bb1395440020868ebb113dfe584f9668e38c9f40df8f7b5d325f954902ba""1GwLaLoCXj6iMhzXg1jirC9Q3PK1sB7EWq"UOP_DUP OP_HASH160 aed0b05f627e4c81394982fd886dcc951d54e4d1 OP_EQUALVERIFY OP_CHECKSIG*276a914aed0b05f627e4c81394982fd886dcc951d54e4d188ac*"1GwLaLoCXj6iMhzXg1jirC9Q3PK1sB7EWq8$J  +\@b6c1bb1395440020868ebb113dfe584f9668e38c9f40df8f7b5d325f954902ba""1EEvDYB4mg8XxdpDScTpcKdph72thoJ9eA"UOP_DUP OP_HASH160 913b771e7416cce98f6172c9aac05ae2b82fa022 OP_EQUALVERIFY OP_CHECKSIG*276a914913b771e7416cce98f6172c9aac05ae2b82fa02288ac*"1EEvDYB4mg8XxdpDScTpcKdph72thoJ9eA8$J  +@b6c1bb1395440020868ebb113dfe584f9668e38c9f40df8f7b5d325f954902ba""1A6uDZWmEJ6sDqCZaXUvB18aoWkbDB8NoH"UOP_DUP OP_HASH160 63d6ccd04dc7d652fac9edf8f38ecab4b4af0e0f OP_EQUALVERIFY OP_CHECKSIG*276a91463d6ccd04dc7d652fac9edf8f38ecab4b4af0e0f88ac*"1A6uDZWmEJ6sDqCZaXUvB18aoWkbDB8NoH8$J &$-@0000000000000000001a02b38c821a5a8713c2a40d34ef753780bd561482df0b"@000000000000000000199363b99e0ab2a4e3231b0fde369af9fc328093eba6172$-@00000000000000000019a023954abcc049a34e9cc1cca025c933e2003c66e6fd"@0000000000000000001a02b38c821a5a8713c2a40d34ef753780bd561482df0b2$ة-@000000000000000000070fa45b3e3fc1f669498bb3f18991db33c6d2b94af5f0"@00000000000000000019a023954abcc049a34e9cc1cca025c933e2003c66e6fd2$ب-@0000000000000000001571b16e468b696360e14098ef8268c3ebddb1b3af6d82"@000000000000000000070fa45b3e3fc1f669498bb3f18991db33c6d2b94af5f02$-@0000000000000000000ccb89ad8fb6c8bdf740141077a2cdccc232d3e973c04a"@0000000000000000001571b16e468b696360e14098ef8268c3ebddb1b3af6d822$ڏ-@00000000000000000008ee8e1a554c42baa15d6aa23b7cd15a6e2ad95e6cf522"@0000000000000000000ccb89ad8fb6c8bdf740141077a2cdccc232d3e973c04a2$Е-@0000000000000000000db45da1a64794dfe1e7992a115d5a67621d9c4d419067"@00000000000000000008ee8e1a554c42baa15d6aa23b7cd15a6e2ad95e6cf5222$-@00000000000000000002f80eb0d566456d78c0bc005c38be9fb0f5cd8e8f401f"@0000000000000000000db45da1a64794dfe1e7992a115d5a67621d9c4d4190672$-@00000000000000000008a7cc8e38b24c91df803147be280896a0580f06acc404"@00000000000000000002f80eb0d566456d78c0bc005c38be9fb0f5cd8e8f401f2 + + +1@8e875c8c62d78396765b59442cf06dfaea887b4be91ebc391c4bc2de1fa2996a$"@00000000000000000008a7cc8e38b24c91df803147be280896a0580f06acc404(-2 +@16bd85e32d8424533829599250af31dd49e80c5e7bc1e5815414f6bd2be842d8B03fed040eb96e40f39721b216a74ff0009334879e4622835808f5c270e7bb46e2c2 +@ecd2c804a0e3985b793fc8a2e4159e27fa2cab016d20ee3c0862ee5a79619987B02d50751c67af820ed7743a57d1ba06277c4f339877336063574adfb350d0364c6B +@8e875c8c62d78396765b59442cf06dfaea887b4be91ebc391c4bc2de1fa2996a""165g5Hbo5CDPTjfbSm5Aytau7D3jWTxkmP"UOP_DUP OP_HASH160 37bae8f6c25d37980745c59c757c59b0db522fd9 OP_EQUALVERIFY OP_CHECKSIG*276a91437bae8f6c25d37980745c59c757c59b0db522fd988ac*"165g5Hbo5CDPTjfbSm5Aytau7D3jWTxkmP8$J  +@8e875c8c62d78396765b59442cf06dfaea887b4be91ebc391c4bc2de1fa2996a""1E4aCAgR9xSYrcf7BEtA7Hi5G9qkKx39e8"UOP_DUP OP_HASH160 8f46973f047fa1168e21c049d6734646a01b0859 OP_EQUALVERIFY OP_CHECKSIG*276a9148f46973f047fa1168e21c049d6734646a01b085988ac*"1E4aCAgR9xSYrcf7BEtA7Hi5G9qkKx39e88$J  +@8e875c8c62d78396765b59442cf06dfaea887b4be91ebc391c4bc2de1fa2996a""1FL84dzxawst2mDUhWEmoZ5L3w9RiB7AqP"UOP_DUP OP_HASH160 9d2f8f56526cf6f1f10a522b7f7b27faf0c056f5 OP_EQUALVERIFY OP_CHECKSIG*276a9149d2f8f56526cf6f1f10a522b7f7b27faf0c056f588ac*"1FL84dzxawst2mDUhWEmoZ5L3w9RiB7AqP8$J  + + +1@b7fc2419e1cfa848e549b82b0a5f532542e2ef3a26a22b53159e536285d464d9$"@00000000000000000008a7cc8e38b24c91df803147be280896a0580f06acc404(-2 +@8e875c8c62d78396765b59442cf06dfaea887b4be91ebc391c4bc2de1fa2996aB0299b62afc6461a42cfbba92df9ac1bb76d8a8f962daf06f5335b3d41d42cd953f2 +@8e875c8c62d78396765b59442cf06dfaea887b4be91ebc391c4bc2de1fa2996aB0396cade5cdf2967c8d01485f2b0b6d97d7971e1c1f8df965861352fb7cd5459d2B +@b7fc2419e1cfa848e549b82b0a5f532542e2ef3a26a22b53159e536285d464d9""1F6Y9AHC8jBoHPSoQVjgTTg33gDzkxBGSs"UOP_DUP OP_HASH160 9a9dd5f1c33ea8c1d94c9e475c9bed25e3ad21f2 OP_EQUALVERIFY OP_CHECKSIG*276a9149a9dd5f1c33ea8c1d94c9e475c9bed25e3ad21f288ac*"1F6Y9AHC8jBoHPSoQVjgTTg33gDzkxBGSs8$J  +@b7fc2419e1cfa848e549b82b0a5f532542e2ef3a26a22b53159e536285d464d9""1PckoNyBk8PMqM8EHma1A2Z8UrAdXYXHHn"UOP_DUP OP_HASH160 f815e353e5c5c09f7b4d8f510cc32ec4e225b5b9 OP_EQUALVERIFY OP_CHECKSIG*276a914f815e353e5c5c09f7b4d8f510cc32ec4e225b5b988ac*"1PckoNyBk8PMqM8EHma1A2Z8UrAdXYXHHn8$J  +ࢡ@b7fc2419e1cfa848e549b82b0a5f532542e2ef3a26a22b53159e536285d464d9""1NpTTzACH5YCXZNFBM3MJPXXnX2RvUToY3"UOP_DUP OP_HASH160 ef5448a43933710ccd72929f08310f97a6a743a7 OP_EQUALVERIFY OP_CHECKSIG*276a914ef5448a43933710ccd72929f08310f97a6a743a788ac*"1NpTTzACH5YCXZNFBM3MJPXXnX2RvUToY38$J $Ƙ-@0000000000000000000ac00b660956f3f90d91e726c7851f01a657b8e46db161"@00000000000000000008a7cc8e38b24c91df803147be280896a0580f06acc4042$ة-@00000000000000000008a963a58fb39f0113998bbfb9aef7a3b4aa8b503b4695"@0000000000000000000ac00b660956f3f90d91e726c7851f01a657b8e46db1612/$-@0000000000000000000e7da081a01185496a2e023f90ead727495efe978393c1"@00000000000000000008a963a58fb39f0113998bbfb9aef7a3b4aa8b503b46952- + + +1@4234d16feaa33228861dfa8327b5ccfed19b8752c5477a2ec9cccb519efaf45a$"@0000000000000000000e7da081a01185496a2e023f90ead727495efe978393c1(-2 +@b7fc2419e1cfa848e549b82b0a5f532542e2ef3a26a22b53159e536285d464d9B027d6b1e40c1175cb41d411aa49233d0a6fa15814b2c80902f458cbfc9a6dadf802 +@3eec256f01db5a85e62bde19119c65ea0c743d62222571926add13f00c797f02B02bd90d8cb0031fcecc25024158eb6f556ca6fa7cf41288b05c1e1447303b56c03B +@4234d16feaa33228861dfa8327b5ccfed19b8752c5477a2ec9cccb519efaf45a""1JB99EAsNrsZwCbLg7p8Zw1eh62bmCjyxr"UOP_DUP OP_HASH160 bc65182b72372391068b449d84ea50b7748c1fd3 OP_EQUALVERIFY OP_CHECKSIG*276a914bc65182b72372391068b449d84ea50b7748c1fd388ac*"1JB99EAsNrsZwCbLg7p8Zw1eh62bmCjyxr8$J  +@4234d16feaa33228861dfa8327b5ccfed19b8752c5477a2ec9cccb519efaf45a""1PpjZasm32oag9SRBKNUkvtsGne6Quy59c"UOP_DUP OP_HASH160 fa59d8a36c8b38038ef5bdad15841e663371b692 OP_EQUALVERIFY OP_CHECKSIG*276a914fa59d8a36c8b38038ef5bdad15841e663371b69288ac*"1PpjZasm32oag9SRBKNUkvtsGne6Quy59c8$J  +͠@4234d16feaa33228861dfa8327b5ccfed19b8752c5477a2ec9cccb519efaf45a""1Fc3znhQGiv2zfc94auiQwU5Cwpayu9Kg9"UOP_DUP OP_HASH160 a032d223a49d8e18c818055f9818d10d1f7b036d OP_EQUALVERIFY OP_CHECKSIG*276a914a032d223a49d8e18c818055f9818d10d1f7b036d88ac*"1Fc3znhQGiv2zfc94auiQwU5Cwpayu9Kg98$J  + + +1@e0b604ca43aa9dfe0a37312e6540f481cac5e346d2ede6c710142b75b82ff928$"@0000000000000000000e7da081a01185496a2e023f90ead727495efe978393c1(-2 +@7dd88684e423fba2f35785a8317cc5ca9a1fad6007c1fc7bc0284ab11248b803B021aa6d33434df7255adf92ecbb998909ead4294122a747f64bb2ad2d37dea501f2 +@df0e6140efaabc502a98883d8c56fa4e886004b94112238acc95f610d34e8872B0370fa0e23facd1717f61231a9063b51738d8c541f11960e5b9ad73fdb11a0a39aB + @e0b604ca43aa9dfe0a37312e6540f481cac5e346d2ede6c710142b75b82ff928""1GTDKsKxKnZ85cFH7wne3Sbfd61UuaEEPu"UOP_DUP OP_HASH160 a97efd8b801d6e471f7c88533482fcac88576967 OP_EQUALVERIFY OP_CHECKSIG*276a914a97efd8b801d6e471f7c88533482fcac8857696788ac*"1GTDKsKxKnZ85cFH7wne3Sbfd61UuaEEPu8$J  + @e0b604ca43aa9dfe0a37312e6540f481cac5e346d2ede6c710142b75b82ff928""1Mm8SbJNrfq4X9wfE3bds55EQtPtYTX7X8"UOP_DUP OP_HASH160 e3bb0795397aa925f09cf21758f1d53ba973af87 OP_EQUALVERIFY OP_CHECKSIG*276a914e3bb0795397aa925f09cf21758f1d53ba973af8788ac*"1Mm8SbJNrfq4X9wfE3bds55EQtPtYTX7X88$J  +_@e0b604ca43aa9dfe0a37312e6540f481cac5e346d2ede6c710142b75b82ff928""13fhorFmWRofcTtXPdd2GY7SR12Z8M96ZG"UOP_DUP OP_HASH160 1d421f69a405f91a406a57a7b9b3bdc5a2ddf0e9 OP_EQUALVERIFY OP_CHECKSIG*276a9141d421f69a405f91a406a57a7b9b3bdc5a2ddf0e988ac*"13fhorFmWRofcTtXPdd2GY7SR12Z8M96ZG8$J ; + +1@8af642c187ec587f6130aa753531492bb8fb05b96e571b35c0c1286399029ff8$"@0000000000000000000e7da081a01185496a2e023f90ead727495efe978393c1(-2 +@558e8cf34f79087cd30afc78c8721c9956c78ba63d44f0227e53ce2d4888caf6B03afc5e68459c113132fe8beabec8fc5d1851d5ae84abb6867b422a30ec04960d22 +@558e8cf34f79087cd30afc78c8721c9956c78ba63d44f0227e53ce2d4888caf6B036781e43d28cf20578ccf9e000341558054fa5dfbc3def81c5523daa3745059e12 +@33629d29d744162ac6a239e6eda4fa08bef3affd0a4b2bc44c5992e7c8363e46B03210ff86d931c6573217da30a11e21d5b2731a6f12fa99d6b79197dfd4ed53ad62 +@cfa5bac54149b1a0bdbb9d6df84630b8537607b63eadef23f7ed57420641f64aB02cc5c352a27f4a6dc61074ced9d4b1aecf7ffe334227666c40c3d63b63eaa84a6B +њ@8af642c187ec587f6130aa753531492bb8fb05b96e571b35c0c1286399029ff8""1Bd2jFQYS9qEqQK9hVV9GhHkbCyuXEMrWg"UOP_DUP OP_HASH160 7481acdecf271f879a036b284e114452586b2337 OP_EQUALVERIFY OP_CHECKSIG*276a9147481acdecf271f879a036b284e114452586b233788ac*"1Bd2jFQYS9qEqQK9hVV9GhHkbCyuXEMrWg8$J  +@8af642c187ec587f6130aa753531492bb8fb05b96e571b35c0c1286399029ff8""1BPF6CjkQrvvrMU6ZFQWaGNFzaPnPbZsXo"UOP_DUP OP_HASH160 71e62ba4c5cf966d39c8ff6ee0e65a60801e48d7 OP_EQUALVERIFY OP_CHECKSIG*276a91471e62ba4c5cf966d39c8ff6ee0e65a60801e48d788ac*"1BPF6CjkQrvvrMU6ZFQWaGNFzaPnPbZsXo8$J  +@8af642c187ec587f6130aa753531492bb8fb05b96e571b35c0c1286399029ff8""19Vav1NyYPAFVfxjg9RBaWy6TCpGN9tD4g"UOP_DUP OP_HASH160 5d28f68ded88db7c93ed2a0b8e44a428b60e56bb OP_EQUALVERIFY OP_CHECKSIG*276a9145d28f68ded88db7c93ed2a0b8e44a428b60e56bb88ac*"19Vav1NyYPAFVfxjg9RBaWy6TCpGN9tD4g8$J ; + +1@3eb0f268c5a47da62fc0e68225c172c2425b5fabd26d64049e8c2ec73f629cca$"@0000000000000000000e7da081a01185496a2e023f90ead727495efe978393c1(-2 +@ce01801ad24ff4d4720b801440c5370d796958bac8e7117aa78c764f98c5dbb0B02b0c499ea586cc735f7e8221714bb8da70fb5e296d052b4110d550979dfbfc0722 +@c66c8fb3e1a261b0fecef901950fe466431318a9c28ab4f5b1577473823ca460B035ee1a064e6b0c0ace2921e2c58e290fe27932c0fa180dfb86967e166d09eae3e2 +@da97cea9060acf8a2ce075e0471a902a279e4ad08ef3f8cabcfd9d7e3af91e4bB033c18a4592bfadf02de94754a7a4f59b1b394c2a9b20eacacab5160b8776919c6B +@3eb0f268c5a47da62fc0e68225c172c2425b5fabd26d64049e8c2ec73f629cca""1J4J87vn38BETBfE8QojHsLuDnVuthMmvg"UOP_DUP OP_HASH160 bb19adf7add26c34948042a359cc25fa75aaa9f1 OP_EQUALVERIFY OP_CHECKSIG*276a914bb19adf7add26c34948042a359cc25fa75aaa9f188ac*"1J4J87vn38BETBfE8QojHsLuDnVuthMmvg8$J  +@3eb0f268c5a47da62fc0e68225c172c2425b5fabd26d64049e8c2ec73f629cca""1219zu39bLNSHKh3DKWAiMSHaiSd4rS7Wv"UOP_DUP OP_HASH160 0affa31aac775d9f899b17207c6b27d30553a6ec OP_EQUALVERIFY OP_CHECKSIG*276a9140affa31aac775d9f899b17207c6b27d30553a6ec88ac*"1219zu39bLNSHKh3DKWAiMSHaiSd4rS7Wv8$J  +Z@3eb0f268c5a47da62fc0e68225c172c2425b5fabd26d64049e8c2ec73f629cca""1EJUabpAYUjxMjFqNXJ9u2GtNP2Nz6bZX1"UOP_DUP OP_HASH160 91e7ba84fc2db1a7b635615b38b55267d6c64166 OP_EQUALVERIFY OP_CHECKSIG*276a91491e7ba84fc2db1a7b635615b38b55267d6c6416688ac*"1EJUabpAYUjxMjFqNXJ9u2GtNP2Nz6bZX18$J $н-@0000000000000000000e23c8a6cf7d9d51c38c091c313818d62842546792585b"@0000000000000000000e7da081a01185496a2e023f90ead727495efe978393c12 $ؽ-@000000000000000000111bc3ba528a9f3bd1e782bbe97d75ef2dcfd811f44497"@0000000000000000000e23c8a6cf7d9d51c38c091c313818d62842546792585b2 + + + +1@8388d0eea4dd826b6c9217d560be49e76bbe56ab3d6946e15fbb7eab72f23f44$"@000000000000000000111bc3ba528a9f3bd1e782bbe97d75ef2dcfd811f44497(ؽ-2 +@4234d16feaa33228861dfa8327b5ccfed19b8752c5477a2ec9cccb519efaf45aB0367390095ec316e6bc5dc524695d516deb41f3e4d77fd4274e0d35fba69a4130e2 +@0cb2d8b06666d30c55c8f75a47906ffcfcd133d839d2f6caf522120927c051a0B02d3be87682f1fbe6c382c395957bc010a6b3a7a0bb55a260c7bf0fc4640e01d47B +@8388d0eea4dd826b6c9217d560be49e76bbe56ab3d6946e15fbb7eab72f23f44""14Qiia2x3yi9m97vqtFwKT3sLoMHUcVbcH"UOP_DUP OP_HASH160 2564c490bd6512d93a41f4344aa15b85d88e17cd OP_EQUALVERIFY OP_CHECKSIG*276a9142564c490bd6512d93a41f4344aa15b85d88e17cd88ac*"14Qiia2x3yi9m97vqtFwKT3sLoMHUcVbcH8$J  +@8388d0eea4dd826b6c9217d560be49e76bbe56ab3d6946e15fbb7eab72f23f44""1Pv8fZeNJM3p4ywtyq2opRgBHdmG3pdXZe"UOP_DUP OP_HASH160 fb5f362720e66e330a11919026c9f77360430d89 OP_EQUALVERIFY OP_CHECKSIG*276a914fb5f362720e66e330a11919026c9f77360430d8988ac*"1Pv8fZeNJM3p4ywtyq2opRgBHdmG3pdXZe8$J  +@8388d0eea4dd826b6c9217d560be49e76bbe56ab3d6946e15fbb7eab72f23f44""134qCHNY2BHgNxwimA9QQt6twGraPrCMGu"UOP_DUP OP_HASH160 16a9baef490827e389b7f768357f0757686594cb OP_EQUALVERIFY OP_CHECKSIG*276a91416a9baef490827e389b7f768357f0757686594cb88ac*"134qCHNY2BHgNxwimA9QQt6twGraPrCMGu8$J $ƴ-@0000000000000000000def96fdccba5270bcc0bf8cf0889253d1bcb011907687"@000000000000000000111bc3ba528a9f3bd1e782bbe97d75ef2dcfd811f444972 $-@0000000000000000001608b804c85d00140511d1ea5b9acd513beb71a8bcc803"@0000000000000000000def96fdccba5270bcc0bf8cf0889253d1bcb0119076872 + + + +1@ebab9ca8c9f356b11090db9a3f79f07a2ed0eab0409b2668739c518ec459609d$"@0000000000000000001608b804c85d00140511d1ea5b9acd513beb71a8bcc803(-2 +@8388d0eea4dd826b6c9217d560be49e76bbe56ab3d6946e15fbb7eab72f23f44B034da7f27cd3f13d9fc9095bcb76a0f4be0c3762711072cd5e6314cc1f6f4870392 +@d5531e6e331f33fd63ba0117ded1fcb97de08a232cb7f61190f477929d51bc16B039fb2f8c2a956a9c643dad80675525f0385fea997d84f9c66fe8e745a2d1745f9B +@ebab9ca8c9f356b11090db9a3f79f07a2ed0eab0409b2668739c518ec459609d""1GFPR8ccAJp1ugfF55unLeyUM2BJ76umQm"UOP_DUP OP_HASH160 a7426c1584222e2fa0f49b902231a4daefdc01b4 OP_EQUALVERIFY OP_CHECKSIG*276a914a7426c1584222e2fa0f49b902231a4daefdc01b488ac*"1GFPR8ccAJp1ugfF55unLeyUM2BJ76umQm8$J  +@ebab9ca8c9f356b11090db9a3f79f07a2ed0eab0409b2668739c518ec459609d""1J5tPTBNFDJBgmuqpuRd2j3BLyFmqBqk8V"UOP_DUP OP_HASH160 bb66b2ad3c623d4b0dbfa57851737df6f7018207 OP_EQUALVERIFY OP_CHECKSIG*276a914bb66b2ad3c623d4b0dbfa57851737df6f701820788ac*"1J5tPTBNFDJBgmuqpuRd2j3BLyFmqBqk8V8$J  +@ebab9ca8c9f356b11090db9a3f79f07a2ed0eab0409b2668739c518ec459609d""15yn6URMcwvJEE7HsZ6m3q4X4iDUYBWXk6"UOP_DUP OP_HASH160 369d709b4b1d57ab52e1053f31e7274c63c525aa OP_EQUALVERIFY OP_CHECKSIG*276a914369d709b4b1d57ab52e1053f31e7274c63c525aa88ac*"15yn6URMcwvJEE7HsZ6m3q4X4iDUYBWXk68$J $-@00000000000000000013c86819fc438c912438d82b8e4cbf99be0aac4dabab4f"@0000000000000000001608b804c85d00140511d1ea5b9acd513beb71a8bcc8032 + + +1@2f022e374c917486ca50dde0414c9f60cf5b0053e19e239c874434affc1a1d9e$"@00000000000000000013c86819fc438c912438d82b8e4cbf99be0aac4dabab4f(-2 +@14e3bc9d60afa8271030563e9644f9328f3def768c9b87977162e1214f4de509B03d89606a288b41cd185b2df9955acc13ca16b339c2459d55e992543f57393d8622 +@35d761c570a55d060d1e49420a0361cab2c870b9abee4697356fa0b9537a12e0B03dbde21d172c442771eb06e8c72ecee92eb2351c38dc969b25c388db8acd0a905B +|@2f022e374c917486ca50dde0414c9f60cf5b0053e19e239c874434affc1a1d9e""1DDJCUcLoC7BvGxH4mtaAL2apitq527aBe"UOP_DUP OP_HASH160 85f4db64506e0c808f4f4683746ec153dae0a541 OP_EQUALVERIFY OP_CHECKSIG*276a91485f4db64506e0c808f4f4683746ec153dae0a54188ac*"1DDJCUcLoC7BvGxH4mtaAL2apitq527aBe8$J  +@2f022e374c917486ca50dde0414c9f60cf5b0053e19e239c874434affc1a1d9e""15fD58vtFt1c32Hbn272o9xkDADfAmHyQ9"UOP_DUP OP_HASH160 331a62e59605e5c852a6244092df426305e7978a OP_EQUALVERIFY OP_CHECKSIG*276a914331a62e59605e5c852a6244092df426305e7978a88ac*"15fD58vtFt1c32Hbn272o9xkDADfAmHyQ98$J  +f@2f022e374c917486ca50dde0414c9f60cf5b0053e19e239c874434affc1a1d9e""12SPZR3c5aoYUfp1THxx7A7AX6zT47g3kz"UOP_DUP OP_HASH160 0fc55b248bcc558a983aa89ac9b679292704db4c OP_EQUALVERIFY OP_CHECKSIG*276a9140fc55b248bcc558a983aa89ac9b679292704db4c88ac*"12SPZR3c5aoYUfp1THxx7A7AX6zT47g3kz8$J  + + +1@18a87c7756fdcdf53d92a4cf4e002cef820d81e7b63471fc9d117e8a7aa2a103$"@00000000000000000013c86819fc438c912438d82b8e4cbf99be0aac4dabab4f(-2 +@492f859c7c00a60991faf6d338eefb04c43d44a11b343b7ebd6119cfbf568b5aB03e5a02a01b20deefaaab2020a8806b2fc03d6186684cd54d4699d0fa46515b2982 +@2f022e374c917486ca50dde0414c9f60cf5b0053e19e239c874434affc1a1d9eB0316e7f83992deed0be6679abf51f72404bad3df5803f17da432ebeb3100459752B +-@18a87c7756fdcdf53d92a4cf4e002cef820d81e7b63471fc9d117e8a7aa2a103""1Jeo1qVwvYRk9X8EzUNh9GyzEUoc7U467t"UOP_DUP OP_HASH160 c19ff0977bab9709485facfee41945fc54aacbeb OP_EQUALVERIFY OP_CHECKSIG*276a914c19ff0977bab9709485facfee41945fc54aacbeb88ac*"1Jeo1qVwvYRk9X8EzUNh9GyzEUoc7U467t8$J  +@18a87c7756fdcdf53d92a4cf4e002cef820d81e7b63471fc9d117e8a7aa2a103""1Pn2AKx9otCPyQcuUV7uf2dj3uZXNkSvZ7"UOP_DUP OP_HASH160 f9d6745b219f94f6df578715918e83e0ca64d7ae OP_EQUALVERIFY OP_CHECKSIG*276a914f9d6745b219f94f6df578715918e83e0ca64d7ae88ac*"1Pn2AKx9otCPyQcuUV7uf2dj3uZXNkSvZ78$J  +a@18a87c7756fdcdf53d92a4cf4e002cef820d81e7b63471fc9d117e8a7aa2a103""18tQLq4yF6eh74z3TdfdTfqL957YrR1sVL"UOP_DUP OP_HASH160 568194508a0d5bba6cbe1882f2681e57c29c0d95 OP_EQUALVERIFY OP_CHECKSIG*276a914568194508a0d5bba6cbe1882f2681e57c29c0d9588ac*"18tQLq4yF6eh74z3TdfdTfqL957YrR1sVL8$J  $щ-@0000000000000000001263628798aacf3949b5c19176aae7e0d1f0180b0564ba"@00000000000000000013c86819fc438c912438d82b8e4cbf99be0aac4dabab4f2 + + + +1@bd72d8a3f43fee23d83dd86ffd3422d441edc2017dffd3bdb13bf10a87d30078$"@0000000000000000001263628798aacf3949b5c19176aae7e0d1f0180b0564ba(щ-2 +@3eb0f268c5a47da62fc0e68225c172c2425b5fabd26d64049e8c2ec73f629ccaB039cc2506f93d47b5b3567c3c5f2a51e4d353cd00477c1d19f3372ed1c2c28771d2 +@4af482066d4a9ed5920a8d2a9ab0b76ff28b45a62d3cbcbc11afde7f8c11890fB02e36a9402042ee9870251530fd44e2ab6a6b3ece47be78612586b6c3f1dffca3dB +@bd72d8a3f43fee23d83dd86ffd3422d441edc2017dffd3bdb13bf10a87d30078""1G7QSWAxfXn26RYNZMfdxP6c1b4TL6pKDn"UOP_DUP OP_HASH160 a5bff2f23d753264c6742a5091e9024f763fd2de OP_EQUALVERIFY OP_CHECKSIG*276a914a5bff2f23d753264c6742a5091e9024f763fd2de88ac*"1G7QSWAxfXn26RYNZMfdxP6c1b4TL6pKDn8$J  +@bd72d8a3f43fee23d83dd86ffd3422d441edc2017dffd3bdb13bf10a87d30078""1BGcdST4GUrqVD9LgqetRvjJhkt16aRGXr"UOP_DUP OP_HASH160 70a53cfce750c61eaa84c93b6c7128483e8ceb93 OP_EQUALVERIFY OP_CHECKSIG*276a91470a53cfce750c61eaa84c93b6c7128483e8ceb9388ac*"1BGcdST4GUrqVD9LgqetRvjJhkt16aRGXr8$J  +/@bd72d8a3f43fee23d83dd86ffd3422d441edc2017dffd3bdb13bf10a87d30078""1E6AhUra7wrjELByH8TkJx89puXs8Pjx9o"UOP_DUP OP_HASH160 8f93cf78222ae91783e951fcfec7a17ea4a29617 OP_EQUALVERIFY OP_CHECKSIG*276a9148f93cf78222ae91783e951fcfec7a17ea4a2961788ac*"1E6AhUra7wrjELByH8TkJx89puXs8Pjx9o8$J $Ȯ-@0000000000000000000170d597fac14a97bbf69bcf424dbbb3683331467c897d"@0000000000000000001263628798aacf3949b5c19176aae7e0d1f0180b0564ba2$Д-@0000000000000000000f55cfb2f90235a3a35df255c6b4b88e3fa787381f1d22"@0000000000000000000170d597fac14a97bbf69bcf424dbbb3683331467c897d2$-@00000000000000000009ddacc9f18f8331be2e4cfe277754535d7470e4bd807b"@0000000000000000000f55cfb2f90235a3a35df255c6b4b88e3fa787381f1d222$Ӽ-@0000000000000000000c6bdf7df5d4fa05172a2578b02dc8e21388c8ece275d7"@00000000000000000009ddacc9f18f8331be2e4cfe277754535d7470e4bd807b2 + + +1@33c8080b14c1dd9873e9954babce24b003224ebd494c4af09b1d8d5e19dc2a00$"@0000000000000000000c6bdf7df5d4fa05172a2578b02dc8e21388c8ece275d7(Ӽ-2 +@ebab9ca8c9f356b11090db9a3f79f07a2ed0eab0409b2668739c518ec459609dB03fc912d5eb01f3bd6ce8e502b4f5e87b853008a639af54987c8cf26aceb5744be2 +@ebab9ca8c9f356b11090db9a3f79f07a2ed0eab0409b2668739c518ec459609dB03c08fbec8b9896687a7ab90a20a675f01303d4f6b1732b56cc052aa9958efea0bB +@33c8080b14c1dd9873e9954babce24b003224ebd494c4af09b1d8d5e19dc2a00""1LUgag9vgfVhSSR1J11Le7xyDBeKkhaSif"UOP_DUP OP_HASH160 d5a6a93cdc68d8e75bfa3d2d6ecf8a098dbb4b5a OP_EQUALVERIFY OP_CHECKSIG*276a914d5a6a93cdc68d8e75bfa3d2d6ecf8a098dbb4b5a88ac*"1LUgag9vgfVhSSR1J11Le7xyDBeKkhaSif8$J  +@33c8080b14c1dd9873e9954babce24b003224ebd494c4af09b1d8d5e19dc2a00"!1nhDhnuPGeGe846Q7wTnFkTXWfCyAKmpq"UOP_DUP OP_HASH160 08a44a9b231a958c8d5f34b1c93068b433438895 OP_EQUALVERIFY OP_CHECKSIG*276a91408a44a9b231a958c8d5f34b1c93068b43343889588ac*!1nhDhnuPGeGe846Q7wTnFkTXWfCyAKmpq8$J  +@33c8080b14c1dd9873e9954babce24b003224ebd494c4af09b1d8d5e19dc2a00""1GAisLJWMr4FJBUeUXD4PA5GPVeQeg1fVo"UOP_DUP OP_HASH160 a66094742e503a6e0e6a00b54c3319a23d2e8de5 OP_EQUALVERIFY OP_CHECKSIG*276a914a66094742e503a6e0e6a00b54c3319a23d2e8de588ac*"1GAisLJWMr4FJBUeUXD4PA5GPVeQeg1fVo8$J  + +1@4c9c55ed80b1b5c271fb1909a3deecaec35ad1eed23b7cd036ca703738407657$"@0000000000000000000c6bdf7df5d4fa05172a2578b02dc8e21388c8ece275d7(Ӽ-2 +@9bad8949796d3156b85c63246fe4c2609364e47edf97c25f3363ef0819c4aef5B0232ad39f7921535922ac3ac3d7066c174e710915f7716efb3ffcf416b0046e9b02 +@bd72d8a3f43fee23d83dd86ffd3422d441edc2017dffd3bdb13bf10a87d30078B027af25c4cd8196977321fbd94d89e883369727cf8271b9c9c9a942c056aa7f26b2 +@9e50a7b11e3dfe96fca192f8dad570cf8bb15bea02dc84c0150413e4d9f9f6adB02fb94e5ce2f3181723363e2fd0b3ece59a6c30689d16743e1fa965c4cea701a42B +@4c9c55ed80b1b5c271fb1909a3deecaec35ad1eed23b7cd036ca703738407657""1F2WvGeXBwSxAYZf8jWLpCEJQS8RADBgvd"UOP_DUP OP_HASH160 99db26cee2da227c5cb8862e34493dda3a92e893 OP_EQUALVERIFY OP_CHECKSIG*276a91499db26cee2da227c5cb8862e34493dda3a92e89388ac*"1F2WvGeXBwSxAYZf8jWLpCEJQS8RADBgvd8$J  + @4c9c55ed80b1b5c271fb1909a3deecaec35ad1eed23b7cd036ca703738407657""1GRgjQJsQC2CkGBYeedNCa2bo6aW9EuT7i"UOP_DUP OP_HASH160 a9350921433540720edd21ba9191d1b25e336638 OP_EQUALVERIFY OP_CHECKSIG*276a914a9350921433540720edd21ba9191d1b25e33663888ac*"1GRgjQJsQC2CkGBYeedNCa2bo6aW9EuT7i8$J  +@4c9c55ed80b1b5c271fb1909a3deecaec35ad1eed23b7cd036ca703738407657""1KrAfvbRha6VdX7S5PJKc38VpgDj5fg21B"UOP_DUP OP_HASH160 cebeb821dc1b472a8b91b560076885adfcc6e3ff OP_EQUALVERIFY OP_CHECKSIG*276a914cebeb821dc1b472a8b91b560076885adfcc6e3ff88ac*"1KrAfvbRha6VdX7S5PJKc38VpgDj5fg21B8$J ;$-@0000000000000000000958618ebc12087cf72639678da741bd461b25f1c5a431"@0000000000000000000c6bdf7df5d4fa05172a2578b02dc8e21388c8ece275d72$-@00000000000000000007fbb8a28f91176e772b43e767810e5f1f6ceed4560ab9"@0000000000000000000958618ebc12087cf72639678da741bd461b25f1c5a4312 $-@0000000000000000000eee61d861405f5f36e638950acdf0057e329e79eee1e2"@00000000000000000007fbb8a28f91176e772b43e767810e5f1f6ceed4560ab92 + + + +1@ef39199e7aff2498a6e7f2a764c3d728bf5ab8c2b6c7d319afb60f789ff39b50$"@0000000000000000000eee61d861405f5f36e638950acdf0057e329e79eee1e2(-2 +@33c8080b14c1dd9873e9954babce24b003224ebd494c4af09b1d8d5e19dc2a00B02fe21c5b1aa09f2194d39471770d65115bc0cf92752bd7b3ccde2fde4d994a31d2 +@066c5498b1cfb6dc7af34f9cf4ef0de5a6f70a2ba383e6e48800d4f000dd59e3B02658962f9fb2c33e79b149c6366c60c56f030c58ee207f7f7e2ea4dbbaf049f8dB +@ef39199e7aff2498a6e7f2a764c3d728bf5ab8c2b6c7d319afb60f789ff39b50""19MvBK7sjpvnmTGn76dwrFBvgTwcY78Qo9"UOP_DUP OP_HASH160 5bb5b7522f3ac9426403dd765dcc11308ec7f0f4 OP_EQUALVERIFY OP_CHECKSIG*276a9145bb5b7522f3ac9426403dd765dcc11308ec7f0f488ac*"19MvBK7sjpvnmTGn76dwrFBvgTwcY78Qo98$J  +@ef39199e7aff2498a6e7f2a764c3d728bf5ab8c2b6c7d319afb60f789ff39b50""1GRLCPvGKeaMPHzD4UtJmnYVVGPaTHsGPK"UOP_DUP OP_HASH160 a923e4ed2e9197728643bf667010c6363c7e6438 OP_EQUALVERIFY OP_CHECKSIG*276a914a923e4ed2e9197728643bf667010c6363c7e643888ac*"1GRLCPvGKeaMPHzD4UtJmnYVVGPaTHsGPK8$J  +݂@ef39199e7aff2498a6e7f2a764c3d728bf5ab8c2b6c7d319afb60f789ff39b50""1KHmE26fsyA9HBnykPX2enWANheLVXqFP6"UOP_DUP OP_HASH160 c89dd612882d1cce92fc57b4708ef9a52d152044 OP_EQUALVERIFY OP_CHECKSIG*276a914c89dd612882d1cce92fc57b4708ef9a52d15204488ac*"1KHmE26fsyA9HBnykPX2enWANheLVXqFP68$J $Ж-@0000000000000000000a0ef87467b2bf355c848e52300918888ccc9e57a1964c"@0000000000000000000eee61d861405f5f36e638950acdf0057e329e79eee1e22$-@00000000000000000014ca0053179ee24a4f2c94386c55c3967d17af897e5578"@0000000000000000000a0ef87467b2bf355c848e52300918888ccc9e57a1964c2$ȸ-@000000000000000000157390cc31058d64b28e86ad113f5f20910834a32ef86e"@00000000000000000014ca0053179ee24a4f2c94386c55c3967d17af897e55782$-@0000000000000000000d4e62504ceb6f214be052b04c8b73e9f196d90173f1ec"@000000000000000000157390cc31058d64b28e86ad113f5f20910834a32ef86e2$-@00000000000000000017392a9c73ec03e6377cb992f2f84481097586b1f3a436"@0000000000000000000d4e62504ceb6f214be052b04c8b73e9f196d90173f1ec2$-@00000000000000000016aedfeda6ad89668f20067ef5ab59a391579497d0bd31"@00000000000000000017392a9c73ec03e6377cb992f2f84481097586b1f3a4362 $-@00000000000000000001fb38ccbeb51b1babcf9af88337e195bc86ab7ad47e60"@00000000000000000016aedfeda6ad89668f20067ef5ab59a391579497d0bd312 + + + +1@978e0d76aa61b5774ebcffeb28d341eb75c9aa62faf2b5f828598e7750c50b13$"@00000000000000000001fb38ccbeb51b1babcf9af88337e195bc86ab7ad47e60(-2 +@ef39199e7aff2498a6e7f2a764c3d728bf5ab8c2b6c7d319afb60f789ff39b50B0333d7975b5e5dca1966b530493820984a38b2528b4ea7640973cecb44c6d8a4bc2 +@98065fa67f275283c4d91381d21923305c459ab3312361b7e1332fb1187c17f7B03643cd7414de8f51508c7bab558dae6c1f7e99c67638e1f4294689288883b60e6B +Ч@978e0d76aa61b5774ebcffeb28d341eb75c9aa62faf2b5f828598e7750c50b13""18jDZwEab3o5SwrbiwFhcbb1g2bxfn3NnS"UOP_DUP OP_HASH160 54c4d78cbb60dd59f31b0b9178a292fcddd40da4 OP_EQUALVERIFY OP_CHECKSIG*276a91454c4d78cbb60dd59f31b0b9178a292fcddd40da488ac*"18jDZwEab3o5SwrbiwFhcbb1g2bxfn3NnS8$J  +@978e0d76aa61b5774ebcffeb28d341eb75c9aa62faf2b5f828598e7750c50b13""1Bk2ogEJwdoGH2CGruPB1ztADzKwW8kYqG"UOP_DUP OP_HASH160 75d4a696adaeeccbda5481bba85709297fe204c5 OP_EQUALVERIFY OP_CHECKSIG*276a91475d4a696adaeeccbda5481bba85709297fe204c588ac*"1Bk2ogEJwdoGH2CGruPB1ztADzKwW8kYqG8$J  +@978e0d76aa61b5774ebcffeb28d341eb75c9aa62faf2b5f828598e7750c50b13""18ZTw51Fh3NRoxzLV1H9omkqWGnunrZLSB"UOP_DUP OP_HASH160 52ecac53be391cab821a073b4e6dc35be5f551ed OP_EQUALVERIFY OP_CHECKSIG*276a91452ecac53be391cab821a073b4e6dc35be5f551ed88ac*"18ZTw51Fh3NRoxzLV1H9omkqWGnunrZLSB8$J  $-@000000000000000000083251f8e9174f1abb17b1c0cb244c02033507e51696a9"@00000000000000000001fb38ccbeb51b1babcf9af88337e195bc86ab7ad47e602 + + + +1@fbe30614a9de8b8a8a69616780de1c19197d9e8656cf6d9d02000f837cdf2725$"@000000000000000000083251f8e9174f1abb17b1c0cb244c02033507e51696a9(-2 +@4c9c55ed80b1b5c271fb1909a3deecaec35ad1eed23b7cd036ca703738407657B0311d8e22ebbfb2211ac4b482ba1559af6383d3dbf0e005c829d00944e24e961682 +@b74902234b8e1d35302cbd464bd33c87df912860c235b0c7c1aef37efdb14a81B03aa32252dc369ec0953f9cd08a1382496177706ce4a2631660f55451540e8819eB +@fbe30614a9de8b8a8a69616780de1c19197d9e8656cf6d9d02000f837cdf2725""1PKmqAMs9mymq7NS6mhDda84QNLhrAXgA6"UOP_DUP OP_HASH160 f4dfad53f5c86e7f3d8f4687c7fd028beee383e9 OP_EQUALVERIFY OP_CHECKSIG*276a914f4dfad53f5c86e7f3d8f4687c7fd028beee383e988ac*"1PKmqAMs9mymq7NS6mhDda84QNLhrAXgA68$J  +@fbe30614a9de8b8a8a69616780de1c19197d9e8656cf6d9d02000f837cdf2725""1A747eoMksCHWJ54nAtAQhyHEkoCsf6w78"UOP_DUP OP_HASH160 63de3a533c45ffc9e744a74c73fb461fcf8c0939 OP_EQUALVERIFY OP_CHECKSIG*276a91463de3a533c45ffc9e744a74c73fb461fcf8c093988ac*"1A747eoMksCHWJ54nAtAQhyHEkoCsf6w788$J  + @fbe30614a9de8b8a8a69616780de1c19197d9e8656cf6d9d02000f837cdf2725""1FEEXvw3fKGHBuHXioxKzeLzvjRg3HM7gU"UOP_DUP OP_HASH160 9c127729f3d979788d9103e51fc2924a3ae8e596 OP_EQUALVERIFY OP_CHECKSIG*276a9149c127729f3d979788d9103e51fc2924a3ae8e59688ac*"1FEEXvw3fKGHBuHXioxKzeLzvjRg3HM7gU8$J $-@0000000000000000000f85c866dd60771f695729c05bfc765a3e156391093e3f"@000000000000000000083251f8e9174f1abb17b1c0cb244c02033507e51696a92 $-@0000000000000000000648426a9bc52c095ab518b0922cf6247bad0a815a871a"@0000000000000000000f85c866dd60771f695729c05bfc765a3e156391093e3f2 + + + +1@86a7440ce574dc6f04183134fd4711974af2106f398aca2ad4d209e557b42886$"@0000000000000000000648426a9bc52c095ab518b0922cf6247bad0a815a871a(-2 +@978e0d76aa61b5774ebcffeb28d341eb75c9aa62faf2b5f828598e7750c50b13B022112837b270526d322a85e5081a7b5f4e75788b46c53e190ebf28eda961341542 +@1939c5d611f95f44705c28f4cc7556c2db81c952674d25e9cd9b4769ca6f22c6B03b21658e8a2140c4725470c97892f939aa2940f3d7ad97772083dc9bd23b9f519B +@86a7440ce574dc6f04183134fd4711974af2106f398aca2ad4d209e557b42886""12KbQBNGVtNvJA5PdFsNA4RsSge8JFDMzV"UOP_DUP OP_HASH160 0e7c541634a30248bec8b1c9b7343ca5ab6d0f9d OP_EQUALVERIFY OP_CHECKSIG*276a9140e7c541634a30248bec8b1c9b7343ca5ab6d0f9d88ac*"12KbQBNGVtNvJA5PdFsNA4RsSge8JFDMzV8$J  +@86a7440ce574dc6f04183134fd4711974af2106f398aca2ad4d209e557b42886""1HUMcmCR1pG147ufVjiwsFz4UD2ntpQuK2"UOP_DUP OP_HASH160 b4ae740ff41d59c825dc0f7eeb817e6f5b000d0a OP_EQUALVERIFY OP_CHECKSIG*276a914b4ae740ff41d59c825dc0f7eeb817e6f5b000d0a88ac*"1HUMcmCR1pG147ufVjiwsFz4UD2ntpQuK28$J  +@86a7440ce574dc6f04183134fd4711974af2106f398aca2ad4d209e557b42886""16JJdvExhDx9ZytFsNank9wWRSTzwDinVx"UOP_DUP OP_HASH160 3a1e6c286a0ba97861d58afb70ea2b8817ea7471 OP_EQUALVERIFY OP_CHECKSIG*276a9143a1e6c286a0ba97861d58afb70ea2b8817ea747188ac*"16JJdvExhDx9ZytFsNank9wWRSTzwDinVx8$J $-@00000000000000000013edc37ca785f1477f61bf330843d7c584909e6e1d9064"@0000000000000000000648426a9bc52c095ab518b0922cf6247bad0a815a871a2 + + +1@008fe5657bed8e1aade3d17dfc3d6c68917329fac0ba1a68295ad822728a5fde$"@00000000000000000013edc37ca785f1477f61bf330843d7c584909e6e1d9064(-2 +@fbe30614a9de8b8a8a69616780de1c19197d9e8656cf6d9d02000f837cdf2725B03cd890b0e1e32550c0f3299bda8492823456076bc5928900cc6e23a0112d61a202 +@d29c63dc6c644965a76f92745f9376e079b10028caaf2c9cf2b1cb99fb651fedB026825f601511ccd16ef264e6280d25137b3414ed4ca31984c94bad7c02489ef81B +ʏ@008fe5657bed8e1aade3d17dfc3d6c68917329fac0ba1a68295ad822728a5fde""18xTjwAguCRoxf71p545rDHyqcZRcGGSgB"UOP_DUP OP_HASH160 5746147bbba1a304617eb7853925b3f26ebd9a46 OP_EQUALVERIFY OP_CHECKSIG*276a9145746147bbba1a304617eb7853925b3f26ebd9a4688ac*"18xTjwAguCRoxf71p545rDHyqcZRcGGSgB8$J  +@008fe5657bed8e1aade3d17dfc3d6c68917329fac0ba1a68295ad822728a5fde""1KqqXyfSsxxvcy6gQCnRmGHCDJ5Mv4D5qi"UOP_DUP OP_HASH160 ceaebe96c3c96f7205c48e4dec0067223d1c7961 OP_EQUALVERIFY OP_CHECKSIG*276a914ceaebe96c3c96f7205c48e4dec0067223d1c796188ac*"1KqqXyfSsxxvcy6gQCnRmGHCDJ5Mv4D5qi8$J  +Ҷ@008fe5657bed8e1aade3d17dfc3d6c68917329fac0ba1a68295ad822728a5fde""1EUbYPLRSL4b7mdFuJTCFfvVBp44hTKcWJ"UOP_DUP OP_HASH160 93d1b31b38efcd1eed22e97da4f2803c80c1d1ab OP_EQUALVERIFY OP_CHECKSIG*276a91493d1b31b38efcd1eed22e97da4f2803c80c1d1ab88ac*"1EUbYPLRSL4b7mdFuJTCFfvVBp44hTKcWJ8$J  + + +1@b87e3f7cb7be86f61b15c1ed5fd1829057cb9d4fbf1f81d736548c92319ebee7$"@00000000000000000013edc37ca785f1477f61bf330843d7c584909e6e1d9064(-2 +@86a7440ce574dc6f04183134fd4711974af2106f398aca2ad4d209e557b42886B03dc0ff85a7b8df656f8a8b29acd0abe4c90b1d7114569b5eadeae70ff01a211452 +@aa72f4de35af4955f7c69e169ce940b21754f63f7b8cd444043245cd50e4b852B02061cb56ed53e2e692238f521dff577e49da3c4803a391997232f4517d5a3f83eB +@b87e3f7cb7be86f61b15c1ed5fd1829057cb9d4fbf1f81d736548c92319ebee7""1PFVF3Bg1KfYYyH77NarLZcg7HrzHwUAVf"UOP_DUP OP_HASH160 f4102a7cc526aa23dc68024fa77702e30988ead3 OP_EQUALVERIFY OP_CHECKSIG*276a914f4102a7cc526aa23dc68024fa77702e30988ead388ac*"1PFVF3Bg1KfYYyH77NarLZcg7HrzHwUAVf8$J  +@b87e3f7cb7be86f61b15c1ed5fd1829057cb9d4fbf1f81d736548c92319ebee7""1HNrBDbdnfLHBFjcE3kFDqs2E2ysqWKMCs"UOP_DUP OP_HASH160 b3a3cc44ffd556e1585bbf2117d93ae4435bd26f OP_EQUALVERIFY OP_CHECKSIG*276a914b3a3cc44ffd556e1585bbf2117d93ae4435bd26f88ac*"1HNrBDbdnfLHBFjcE3kFDqs2E2ysqWKMCs8$J  +@b87e3f7cb7be86f61b15c1ed5fd1829057cb9d4fbf1f81d736548c92319ebee7""1Nz6iNq8GewEFkxDY6braFjJkCbzsAZcpn"UOP_DUP OP_HASH160 f1271ede0a9b5c9923aee5b6d63903d2bc14699c OP_EQUALVERIFY OP_CHECKSIG*276a914f1271ede0a9b5c9923aee5b6d63903d2bc14699c88ac*"1Nz6iNq8GewEFkxDY6braFjJkCbzsAZcpn8$J $-@0000000000000000001492407e16c25f017fb359e6ad9f0f67d43fdca6c38c0d"@00000000000000000013edc37ca785f1477f61bf330843d7c584909e6e1d90642 $-@0000000000000000000c42a2b7788307a62a914f8a4b766df10f4bef18cf2d1f"@0000000000000000001492407e16c25f017fb359e6ad9f0f67d43fdca6c38c0d2 + + + +1@cc9c66d46d938ee83a2a4025485756b7067de29a363dc6f648163a8c3e213f12$"@0000000000000000000c42a2b7788307a62a914f8a4b766df10f4bef18cf2d1f(-2 +@008fe5657bed8e1aade3d17dfc3d6c68917329fac0ba1a68295ad822728a5fdeB0346ab858be4fe187ffe5e1321f4039a9027478b850b2a31e75a9ab3b347fe21d02 +@d6a90c471a13c5159dc10056223432dd32413329f80b98f8c725f45616c655f3B03e04a0ce50c167b3b93d7289a9506ba62675996e48faa256e31265461991fbebbB +@cc9c66d46d938ee83a2a4025485756b7067de29a363dc6f648163a8c3e213f12""1Hw5pbNgnL4fwgCnGtf8vjWmzQDidL7Vh6"UOP_DUP OP_HASH160 b9bc7f9c694fe6196d05cda947b1fedeef9d7b74 OP_EQUALVERIFY OP_CHECKSIG*276a914b9bc7f9c694fe6196d05cda947b1fedeef9d7b7488ac*"1Hw5pbNgnL4fwgCnGtf8vjWmzQDidL7Vh68$J  +@cc9c66d46d938ee83a2a4025485756b7067de29a363dc6f648163a8c3e213f12""1KHR64sbdiEy5pmRvA1hQd51RTgmP9bKXJ"UOP_DUP OP_HASH160 c88d06cff2449d6c918ffde6f8f929e4d95ae750 OP_EQUALVERIFY OP_CHECKSIG*276a914c88d06cff2449d6c918ffde6f8f929e4d95ae75088ac*"1KHR64sbdiEy5pmRvA1hQd51RTgmP9bKXJ8$J  +@cc9c66d46d938ee83a2a4025485756b7067de29a363dc6f648163a8c3e213f12""14iNqczGpvuMVUewAzAkbuocGjvrfs6pUG"UOP_DUP OP_HASH160 28bba955d89993ade448e2912b34dd755c0e3072 OP_EQUALVERIFY OP_CHECKSIG*276a91428bba955d89993ade448e2912b34dd755c0e307288ac*"14iNqczGpvuMVUewAzAkbuocGjvrfs6pUG8$J  $-@00000000000000000015922c8b71d8176f06d198fa3b537f190393135d16f07b"@0000000000000000000c42a2b7788307a62a914f8a4b766df10f4bef18cf2d1f2 + + + +1@cf1c86fc612d65147d5066b7c5900914b8cdacd11de0e968004d1eb1ff2cdd30$"@00000000000000000015922c8b71d8176f06d198fa3b537f190393135d16f07b(-2 +@b87e3f7cb7be86f61b15c1ed5fd1829057cb9d4fbf1f81d736548c92319ebee7B02b9f04172ace7e0dae0f25e77302b0bf3017c1b157f567e69f7a8b00c8132b6d42 +@b87e3f7cb7be86f61b15c1ed5fd1829057cb9d4fbf1f81d736548c92319ebee7B03872ecd80f539f8eb2fe87df765e3151631765a64591734d2da123c37d91dc705B +@cf1c86fc612d65147d5066b7c5900914b8cdacd11de0e968004d1eb1ff2cdd30""1AQ4JTuxKCbZcHpTBornjYYn1PKLfhzx7N"UOP_DUP OP_HASH160 6715746da0acf03fd4e7f8309b68dd884ef18b2e OP_EQUALVERIFY OP_CHECKSIG*276a9146715746da0acf03fd4e7f8309b68dd884ef18b2e88ac*"1AQ4JTuxKCbZcHpTBornjYYn1PKLfhzx7N8$J  +@cf1c86fc612d65147d5066b7c5900914b8cdacd11de0e968004d1eb1ff2cdd30""1LhmdPTSsqJYzVmX37h3SE54SvpYj6nGiL"UOP_DUP OP_HASH160 d820480a9799be1733a9903be691cb45c224402d OP_EQUALVERIFY OP_CHECKSIG*276a914d820480a9799be1733a9903be691cb45c224402d88ac*"1LhmdPTSsqJYzVmX37h3SE54SvpYj6nGiL8$J  +ժ@cf1c86fc612d65147d5066b7c5900914b8cdacd11de0e968004d1eb1ff2cdd30""13DsUhyZ6P4m7davnPXxKFagcT3kReUamr"UOP_DUP OP_HASH160 185f61388bd8f999cff87d700088a0c599124cd6 OP_EQUALVERIFY OP_CHECKSIG*276a914185f61388bd8f999cff87d700088a0c599124cd688ac*"13DsUhyZ6P4m7davnPXxKFagcT3kReUamr8$J  $҄-@00000000000000000007edaa92f7f04ed2a14e1ceed40ad5ebd578abd38bb58d"@00000000000000000015922c8b71d8176f06d198fa3b537f190393135d16f07b2 + + + +1@fe8effa00a2641f7ff49fd4cf255b92665f627b46042b9c6862e5644321d0b99$"@00000000000000000007edaa92f7f04ed2a14e1ceed40ad5ebd578abd38bb58d(҄-2 +@cf1c86fc612d65147d5066b7c5900914b8cdacd11de0e968004d1eb1ff2cdd30B021e8482799e7521f500e10c26af7330e341704614ccc839c347ecef38620e52052 +@394444282d27fa0f110d162be4f922fb3a0b4cca249ccc3e9a6954223fbccd16B02e9e66cc8c432230d277b0ed991f0639796543733dd598f732dcd0628fcf2484bB +@fe8effa00a2641f7ff49fd4cf255b92665f627b46042b9c6862e5644321d0b99""1NSVroB4MZ75kCcVYNKCNDgwRk1ciVRcFb"UOP_DUP OP_HASH160 eb2d2162a148a165b949bd0d0a390f21a2e96747 OP_EQUALVERIFY OP_CHECKSIG*276a914eb2d2162a148a165b949bd0d0a390f21a2e9674788ac*"1NSVroB4MZ75kCcVYNKCNDgwRk1ciVRcFb8$J  +@fe8effa00a2641f7ff49fd4cf255b92665f627b46042b9c6862e5644321d0b99""13siBNsiMm1zC2RadDG3957tMUrBp6h8LD"UOP_DUP OP_HASH160 1f876c90d9bfebfd342633dc0a35a2e4e996ad30 OP_EQUALVERIFY OP_CHECKSIG*276a9141f876c90d9bfebfd342633dc0a35a2e4e996ad3088ac*"13siBNsiMm1zC2RadDG3957tMUrBp6h8LD8$J  +@fe8effa00a2641f7ff49fd4cf255b92665f627b46042b9c6862e5644321d0b99""1NHtW6QAMNMDcaSsc1pbRJAvNUc2vAoySM"UOP_DUP OP_HASH160 e98c49c8f854e1b9b7c03e3b97db8bbab9d77c99 OP_EQUALVERIFY OP_CHECKSIG*276a914e98c49c8f854e1b9b7c03e3b97db8bbab9d77c9988ac*"1NHtW6QAMNMDcaSsc1pbRJAvNUc2vAoySM8$J $-@00000000000000000015070d8454eb9cc8c9f3cebd5e90faf4323acff07fb98f"@00000000000000000007edaa92f7f04ed2a14e1ceed40ad5ebd578abd38bb58d2$-@00000000000000000016b8fad77f0283bbb4c91a341cb21ef24963ad529cc974"@00000000000000000015070d8454eb9cc8c9f3cebd5e90faf4323acff07fb98f2 + + +1@90bb3c499aea520fdf2495a054d9c7641acae231da249b09436d9e77a419657d$"@00000000000000000016b8fad77f0283bbb4c91a341cb21ef24963ad529cc974(-2 +@cc9c66d46d938ee83a2a4025485756b7067de29a363dc6f648163a8c3e213f12B032121cb2fac84fdbab594e691707ddf6de495e83934788571e1d429938ff1b5c12 +@a8bfa24687419b085fb7221329edc66adf8e1a8cd4e0dc5f3c1f3d9932e392b8B03f4ad4d1ca2482c11e82adfd934873167474b344657c5d4c8b4861d69186e8b28B +@90bb3c499aea520fdf2495a054d9c7641acae231da249b09436d9e77a419657d""1Lk1mDmWmdnfa5s4krasjpL6V6PN2CbeUj"UOP_DUP OP_HASH160 d88ce9a57f8573abe2007eab200d5649c0e96d83 OP_EQUALVERIFY OP_CHECKSIG*276a914d88ce9a57f8573abe2007eab200d5649c0e96d8388ac*"1Lk1mDmWmdnfa5s4krasjpL6V6PN2CbeUj8$J  +@90bb3c499aea520fdf2495a054d9c7641acae231da249b09436d9e77a419657d""13jxpccPc72CvWK8GDN7UcVWkqapyk3bzY"UOP_DUP OP_HASH160 1e1051a5528dadcf69a214fd94c11f6161b4477f OP_EQUALVERIFY OP_CHECKSIG*276a9141e1051a5528dadcf69a214fd94c11f6161b4477f88ac*"13jxpccPc72CvWK8GDN7UcVWkqapyk3bzY8$J  +ڦ@90bb3c499aea520fdf2495a054d9c7641acae231da249b09436d9e77a419657d""1BGgPrGJ4U6dWR4ytnLYABFmvRRr8NysqG"UOP_DUP OP_HASH160 70a861b5e8e02ac05203bff225bcb147ce050a5c OP_EQUALVERIFY OP_CHECKSIG*276a91470a861b5e8e02ac05203bff225bcb147ce050a5c88ac*"1BGgPrGJ4U6dWR4ytnLYABFmvRRr8NysqG8$J  + +1@1f8e8ecb70cce69d041cb126df84958f0b63b232123f92de7b7d6860a42e1b78$"@00000000000000000016b8fad77f0283bbb4c91a341cb21ef24963ad529cc974(-2 +@90bb3c499aea520fdf2495a054d9c7641acae231da249b09436d9e77a419657dB02f3ad1998f9ced730a0a3d4813eef288961221e0fdcae9d0588f10e99bb5095fe2 +@b723b78889bf8c249c3a7181b724a3e3ce80aed607ade9d61510261097a71449B032b5c3ff8d4c45e1ed4d126111b32a37e569771c54618c5d05c656ca63218734c2 +@c22b9659b3294a7178a079f0c9af333c980db2823d951494dcbc2500b39dc5d8B02347ce1ed79bccf0d1af1591ae6ee57984cb401c6ff72f86877b241df11ad91822 +@09c1ce57e56d4572c92feedec44bf3fa07556504f02d0f53ac5526ce6af5798cB024209f1db2761ff2eb9662824ba06c5367cef6b4dc2a5dcac7186c26154294d8bB +ʫ@1f8e8ecb70cce69d041cb126df84958f0b63b232123f92de7b7d6860a42e1b78""19ux8KdSGRtG1H4npCC2hMSP9VDWxPTRck"UOP_DUP OP_HASH160 61c4a7414f5da097e87e23aa95f9de2dcbfd3874 OP_EQUALVERIFY OP_CHECKSIG*276a91461c4a7414f5da097e87e23aa95f9de2dcbfd387488ac*"19ux8KdSGRtG1H4npCC2hMSP9VDWxPTRck8$J  + @1f8e8ecb70cce69d041cb126df84958f0b63b232123f92de7b7d6860a42e1b78""1FBwYnf41aQHKGEhGM3o3q7Q8KjGDNG2KW"UOP_DUP OP_HASH160 9ba3747bc8201170f9452569751b509f16c51e23 OP_EQUALVERIFY OP_CHECKSIG*276a9149ba3747bc8201170f9452569751b509f16c51e2388ac*"1FBwYnf41aQHKGEhGM3o3q7Q8KjGDNG2KW8$J  +@1f8e8ecb70cce69d041cb126df84958f0b63b232123f92de7b7d6860a42e1b78""1KzMBPZg2Tfp4xfcdW2TsvpUjGhk673Mo4"UOP_DUP OP_HASH160 d04ad1908de77ed90d8e20343a61bf66e20cb470 OP_EQUALVERIFY OP_CHECKSIG*276a914d04ad1908de77ed90d8e20343a61bf66e20cb47088ac*"1KzMBPZg2Tfp4xfcdW2TsvpUjGhk673Mo48$J ; $-@000000000000000000123566641275fcda7dbf9857135c81ee1d40f75be1c762"@00000000000000000016b8fad77f0283bbb4c91a341cb21ef24963ad529cc9742 + + + +1@e6d98afa78829ae6a75e4f2f600f890d3f423d301de698c71c4466cda3b8f8cb$"@000000000000000000123566641275fcda7dbf9857135c81ee1d40f75be1c762(-2 +@fe8effa00a2641f7ff49fd4cf255b92665f627b46042b9c6862e5644321d0b99B03a0c78ae9f4497af36dade43b668ead5bd674b66b0d37d99b8f513a5ed29845c22 +@fe8effa00a2641f7ff49fd4cf255b92665f627b46042b9c6862e5644321d0b99B032431008a45a00ec9caecb9304f2cf76dfedbbe176b8a4ec35385dcbcf36e6089B +@e6d98afa78829ae6a75e4f2f600f890d3f423d301de698c71c4466cda3b8f8cb""1LQasttWV9kPyb8Nvkxn8p1fPnEBSogDwL"UOP_DUP OP_HASH160 d4e03c8c98da3dc76b9d75aa0bce6a55780a2aa1 OP_EQUALVERIFY OP_CHECKSIG*276a914d4e03c8c98da3dc76b9d75aa0bce6a55780a2aa188ac*"1LQasttWV9kPyb8Nvkxn8p1fPnEBSogDwL8$J  +@e6d98afa78829ae6a75e4f2f600f890d3f423d301de698c71c4466cda3b8f8cb""1EGGGmrTUn64qmn3EykAZ8kf6ALuJRD6Bs"UOP_DUP OP_HASH160 917c9f7cfe6d3be86adafef48429a5c246050c8e OP_EQUALVERIFY OP_CHECKSIG*276a914917c9f7cfe6d3be86adafef48429a5c246050c8e88ac*"1EGGGmrTUn64qmn3EykAZ8kf6ALuJRD6Bs8$J  +@e6d98afa78829ae6a75e4f2f600f890d3f423d301de698c71c4466cda3b8f8cb""1EezCwNKKh1q85ZCEWUjXoSgX4ec6xBjEW"UOP_DUP OP_HASH160 95c8c75e8a031cd6d420edcd7ca49fe894349cd1 OP_EQUALVERIFY OP_CHECKSIG*276a91495c8c75e8a031cd6d420edcd7ca49fe894349cd188ac*"1EezCwNKKh1q85ZCEWUjXoSgX4ec6xBjEW8$J $-@000000000000000000105052f4e2d7dae20dd6b9b33d9327ed444cd0e0ec97e3"@000000000000000000123566641275fcda7dbf9857135c81ee1d40f75be1c7622$Ȇ-@00000000000000000010ca38712cbcd66b8a1bec3b51ca10cd71572c4d457015"@000000000000000000105052f4e2d7dae20dd6b9b33d9327ed444cd0e0ec97e32"$-@000000000000000000179f8f86bd04bd5d739d76226e8cebe2b199b7bee057e8"@00000000000000000010ca38712cbcd66b8a1bec3b51ca10cd71572c4d4570152! + + +1@aa327987d847f8b61eb7940174a17e9085d1d52c2787c0eb1b2d9c12b05cfa84$"@000000000000000000179f8f86bd04bd5d739d76226e8cebe2b199b7bee057e8(-2 +@33fc357dd4a68f7e0861bd2184723058a6862e0d6de84cb7007add4427172c3dB037d6485eb91cd3ce24e8dfdaf27ec9f045c60bd1b4121f13fa867f7b0b96d6ce12 +@33fc357dd4a68f7e0861bd2184723058a6862e0d6de84cb7007add4427172c3dB025dbedf4e48ce42927ed828c83371a3a940ca548f4d9fc9032aa3766e6a3d9ce9B + +@aa327987d847f8b61eb7940174a17e9085d1d52c2787c0eb1b2d9c12b05cfa84"!1ZQHxUToiStuXXLE3pJFj7d9a7vw4rk7A"UOP_DUP OP_HASH160 0620c116c8346a0cf2376ee32ec19231570c6d32 OP_EQUALVERIFY OP_CHECKSIG*276a9140620c116c8346a0cf2376ee32ec19231570c6d3288ac*!1ZQHxUToiStuXXLE3pJFj7d9a7vw4rk7A8$J  +@aa327987d847f8b61eb7940174a17e9085d1d52c2787c0eb1b2d9c12b05cfa84""15eDeUgRAZyohAVcGac78Vn5DoqySfKNfN"UOP_DUP OP_HASH160 32ea734087c49970d0df4596f9cd9469d0887e6d OP_EQUALVERIFY OP_CHECKSIG*276a91432ea734087c49970d0df4596f9cd9469d0887e6d88ac*"15eDeUgRAZyohAVcGac78Vn5DoqySfKNfN8$J  +@aa327987d847f8b61eb7940174a17e9085d1d52c2787c0eb1b2d9c12b05cfa84""19gwfgvV3gXRZy91VZ72WZ5B3ewj529Vmo"UOP_DUP OP_HASH160 5f4edcce8e3c4e6e385497832badfd1834195919 OP_EQUALVERIFY OP_CHECKSIG*276a9145f4edcce8e3c4e6e385497832badfd183419591988ac*"19gwfgvV3gXRZy91VZ72WZ5B3ewj529Vmo8$J  + +1@a0dc9f4a56314c911fba1de4e80c774c5cdd2aa27d83677696f8b9746f3eb83f$"@000000000000000000179f8f86bd04bd5d739d76226e8cebe2b199b7bee057e8(-2 +@1f8e8ecb70cce69d041cb126df84958f0b63b232123f92de7b7d6860a42e1b78B02de50d53a1c1f0e12b2800f66b7290a0561f1b57fa728274e3802fe6ddf9055242 +@80f8bf4ed27a063e957671358e1a82d83417844040e07a05cd3772ebf9b08c91B020d19b58ee2a81dca205055a3cacbb7afdf3567cca8e613a6df38229ea3ac6fd42 +@a9df3310e75e582159a3f6f56c2e1bff25017877c1bd00464c4837f265735ffaB03c38cbc408d33d94c6e7688091e7b6cb6162d18395f7fee7a8f9b914ac4dfd7ccB +@a0dc9f4a56314c911fba1de4e80c774c5cdd2aa27d83677696f8b9746f3eb83f""1932S8ayBiyECVuXk8fqi6d6DYRexuzeD6"UOP_DUP OP_HASH160 582308de66a3f7f611a3ce0abff6a8b190a9d1db OP_EQUALVERIFY OP_CHECKSIG*276a914582308de66a3f7f611a3ce0abff6a8b190a9d1db88ac*"1932S8ayBiyECVuXk8fqi6d6DYRexuzeD68$J  +@a0dc9f4a56314c911fba1de4e80c774c5cdd2aa27d83677696f8b9746f3eb83f""1CsLCzxGX2Ykvp4a2DykX5iKqnhwsUhhzf"UOP_DUP OP_HASH160 822e36fdbb732081006ea8a6435503f317e1c6fd OP_EQUALVERIFY OP_CHECKSIG*276a914822e36fdbb732081006ea8a6435503f317e1c6fd88ac*"1CsLCzxGX2Ykvp4a2DykX5iKqnhwsUhhzf8$J  +@a0dc9f4a56314c911fba1de4e80c774c5cdd2aa27d83677696f8b9746f3eb83f""1GXmJVV7AGkd1FXz3mxpi6ejCKjHFkHiEF"UOP_DUP OP_HASH160 aa5b58c14aa5264370db17424349d4b8d9c9e98a OP_EQUALVERIFY OP_CHECKSIG*276a914aa5b58c14aa5264370db17424349d4b8d9c9e98a88ac*"1GXmJVV7AGkd1FXz3mxpi6ejCKjHFkHiEF8$J  + + +1@910bd2652cf4b432acd70b3451d6cbff822fb879e8be9bf7bc5894fcf4f810f7$"@000000000000000000179f8f86bd04bd5d739d76226e8cebe2b199b7bee057e8(-2 +@a0dc9f4a56314c911fba1de4e80c774c5cdd2aa27d83677696f8b9746f3eb83fB02638439c28a2173dd0dc73058acded1afbbddd55870a06f91820f88d503640b542 +@c66c8fb3e1a261b0fecef901950fe466431318a9c28ab4f5b1577473823ca460B0370ea1092598274988a3c60e9094a3ab2136c6e65ba430528441898873af6a0f5B +@910bd2652cf4b432acd70b3451d6cbff822fb879e8be9bf7bc5894fcf4f810f7""1BFqQX3Q9CiHFbKZisTQhPmuGpU4Um9x9M"UOP_DUP OP_HASH160 707f7cf855f4213d153f7ad9075263a2455e4846 OP_EQUALVERIFY OP_CHECKSIG*276a914707f7cf855f4213d153f7ad9075263a2455e484688ac*"1BFqQX3Q9CiHFbKZisTQhPmuGpU4Um9x9M8$J  +С@910bd2652cf4b432acd70b3451d6cbff822fb879e8be9bf7bc5894fcf4f810f7""1MtxxMGCiuan2moVhpsVJ7agLWQjDTjiPJ"UOP_DUP OP_HASH160 e53670224e44189d4e5e662b89e2f7ed3a9d2db8 OP_EQUALVERIFY OP_CHECKSIG*276a914e53670224e44189d4e5e662b89e2f7ed3a9d2db888ac*"1MtxxMGCiuan2moVhpsVJ7agLWQjDTjiPJ8$J  +Ɗ@910bd2652cf4b432acd70b3451d6cbff822fb879e8be9bf7bc5894fcf4f810f7""1ABqTdVmbR7XV2V5VUXRaJfLKVzUWZCrYy"UOP_DUP OP_HASH160 64c5be49b52cf8a9fb4518f65c7596c0309e334f OP_EQUALVERIFY OP_CHECKSIG*276a91464c5be49b52cf8a9fb4518f65c7596c0309e334f88ac*"1ABqTdVmbR7XV2V5VUXRaJfLKVzUWZCrYy8$J $-@0000000000000000000cd6aff08ec34f43ffc74841e0229ff4c9da1399c6b2b7"@000000000000000000179f8f86bd04bd5d739d76226e8cebe2b199b7bee057e821$-@00000000000000000000876c0e767dd6637613e739b5a288d51ce596f32e954f"@0000000000000000000cd6aff08ec34f43ffc74841e0229ff4c9da1399c6b2b720 + + +1@111e8eaffdfe6c4f3add3868729b27ae42b8e28ad5e3d39ecf8ac8c02e335e7b$"@00000000000000000000876c0e767dd6637613e739b5a288d51ce596f32e954f(-2 +@b9d524d9c0a9356f40eead3a6d8e1a637103edbc7cec3ead5a7cd50c67474182B0264b160dec836d154b9f7f0e39862dfaa226b2edc945363bd714a1762a984e5a72 +@4c8ba7c4be86ae3bea52870b692458585d80b01530be10518b59c1522bd456dcB032bca97e357d40b5eda0e3999e3cde1e04a74ca5403972872d40fa58918198e8cB +@111e8eaffdfe6c4f3add3868729b27ae42b8e28ad5e3d39ecf8ac8c02e335e7b""1AnzqdicgAMH39aBs4rPz92xSCgjrcUHDd"UOP_DUP OP_HASH160 6b6c21a8eb7e0cc461bb90e72d0f4b0061e5b96e OP_EQUALVERIFY OP_CHECKSIG*276a9146b6c21a8eb7e0cc461bb90e72d0f4b0061e5b96e88ac*"1AnzqdicgAMH39aBs4rPz92xSCgjrcUHDd8$J  +@111e8eaffdfe6c4f3add3868729b27ae42b8e28ad5e3d39ecf8ac8c02e335e7b""13eAAfMoD9hv8iRZc7RsFBeXqJy8VXbSq4"UOP_DUP OP_HASH160 1cf74b453dc4f06c7c267328a6d2bf7a2470031e OP_EQUALVERIFY OP_CHECKSIG*276a9141cf74b453dc4f06c7c267328a6d2bf7a2470031e88ac*"13eAAfMoD9hv8iRZc7RsFBeXqJy8VXbSq48$J  +@111e8eaffdfe6c4f3add3868729b27ae42b8e28ad5e3d39ecf8ac8c02e335e7b""1EGZoAx6YxKh7PRAKXqR8XWH1tyb8yY2F2"UOP_DUP OP_HASH160 918b405b0a54099feabbbe578bfb7635a6afe37b OP_EQUALVERIFY OP_CHECKSIG*276a914918b405b0a54099feabbbe578bfb7635a6afe37b88ac*"1EGZoAx6YxKh7PRAKXqR8XWH1tyb8yY2F28$J  + + +1@94c342115e6662ab2e281b305138833e3486c6ef744c82883d566315520311a6$"@00000000000000000000876c0e767dd6637613e739b5a288d51ce596f32e954f(-2 +@e6d98afa78829ae6a75e4f2f600f890d3f423d301de698c71c4466cda3b8f8cbB02df84ee65d71ba0809fd3c8c62cae29f2c96d9f1b6ec5e76df4abeb85d572fafb2 +@e6d98afa78829ae6a75e4f2f600f890d3f423d301de698c71c4466cda3b8f8cbB032064c381da8766617630053ed5805dc66e08d6cb49dbb6da7e7e7e284327fbe5B +@94c342115e6662ab2e281b305138833e3486c6ef744c82883d566315520311a6""1HfCKMJCap9mC7U6oPeK1Nf9oe1yiMWWCW"UOP_DUP OP_HASH160 b6bb43f9776a79059327d032ed749d8331eeb704 OP_EQUALVERIFY OP_CHECKSIG*276a914b6bb43f9776a79059327d032ed749d8331eeb70488ac*"1HfCKMJCap9mC7U6oPeK1Nf9oe1yiMWWCW8$J  +@94c342115e6662ab2e281b305138833e3486c6ef744c82883d566315520311a6""1QBk7Dg1qVBkEwA2LLGPUovUQnGxZRMKWG"UOP_DUP OP_HASH160 fe53096788d7fd2081eccb60b5e80f644aeb4465 OP_EQUALVERIFY OP_CHECKSIG*276a914fe53096788d7fd2081eccb60b5e80f644aeb446588ac*"1QBk7Dg1qVBkEwA2LLGPUovUQnGxZRMKWG8$J  +@94c342115e6662ab2e281b305138833e3486c6ef744c82883d566315520311a6""1Pq8pZWzMzemW2wbfBndwTvU3ikLLNn1yT"UOP_DUP OP_HASH160 fa6d42dfabc6d89d7b3c6edc399c590d95f828b6 OP_EQUALVERIFY OP_CHECKSIG*276a914fa6d42dfabc6d89d7b3c6edc399c590d95f828b688ac*"1Pq8pZWzMzemW2wbfBndwTvU3ikLLNn1yT8$J  + + +1@039ac19914bac4ad75eaa7848d35e310330d6930c38251b2bad19fe105b9f24d$"@00000000000000000000876c0e767dd6637613e739b5a288d51ce596f32e954f(-2 +@94c342115e6662ab2e281b305138833e3486c6ef744c82883d566315520311a6B02b11f484217b3c87baf026b7827f384a5ac716d748d6994919c9da9e10be134862 +@42fa705980dfafa65a5ef20f362d49abad1ce0393b814ef6e7fd16f8423c1d53B03555a8f7a134829297209dcff425da0fec857ee0e7be5fd09a00ed898590f3cb9B +@039ac19914bac4ad75eaa7848d35e310330d6930c38251b2bad19fe105b9f24d"!1FYb5jkHgngMnN5P1Vxccq2qP8DPFBV9T"UOP_DUP OP_HASH160 02c03104b730ab106891b8a3e94bb993b0d52878 OP_EQUALVERIFY OP_CHECKSIG*276a91402c03104b730ab106891b8a3e94bb993b0d5287888ac*!1FYb5jkHgngMnN5P1Vxccq2qP8DPFBV9T8$J  +@039ac19914bac4ad75eaa7848d35e310330d6930c38251b2bad19fe105b9f24d""1ALvjVYYSJwJCTP2WyGWN9gwMHmeYw5gyj"UOP_DUP OP_HASH160 667de3999fd1997477b2b8e6076b881cc0efa6a3 OP_EQUALVERIFY OP_CHECKSIG*276a914667de3999fd1997477b2b8e6076b881cc0efa6a388ac*"1ALvjVYYSJwJCTP2WyGWN9gwMHmeYw5gyj8$J  +@039ac19914bac4ad75eaa7848d35e310330d6930c38251b2bad19fe105b9f24d""19PrYMmHCH1PyXWebtpubxoLjaQoS4PHsW"UOP_DUP OP_HASH160 5c13830af269465127d732e710faa94ffa645292 OP_EQUALVERIFY OP_CHECKSIG*276a9145c13830af269465127d732e710faa94ffa64529288ac*"19PrYMmHCH1PyXWebtpubxoLjaQoS4PHsW8$J  + +1@0d4e3bc4cda3c3a1cea2e8ab285d8bc6a49366f9ff3f876c4726ae59697bb0d9$"@00000000000000000000876c0e767dd6637613e739b5a288d51ce596f32e954f(-2 +@910bd2652cf4b432acd70b3451d6cbff822fb879e8be9bf7bc5894fcf4f810f7B031990c67895f355966187095076aed2aff307231587d46ba231faab0718e1bd642 +@4aa4a6b70cf49a7ff9f7b4dd456b617f573fdb4c040cdaed4c591774e4707443B034e67d18ed2ca63ca07bd70dc0565e9668c1e2d4475cb09b129bc57fa6628b2132 +@093131b2799b79c1d55fd7c6d935a4f37cd6dd7d745f0e8666068935a2760e8bB039b44a27de1928b0f07e702d6fb1ae48801627dec40cfda75d7ea1def4397a8612 +@f21ac18abd3d9480fcdaef00873a2753cfeaeb2979c5f56489907e4e946433c3B037c007375b03b8aadd5383a05340704fb2a21fa2ff4c72c6e5b43761ff7f6c68c2 +@0dc74f53dabd53ef2b187f13ad0b6bfa0cb928ec829e567307cdfae7b5fe2df9B037f10a848384c40508cf531d829215fda681b8b383e861af81e382201992fbe162 +@1a8fa63146bd6d809a142bfbe28b40970bc35d5ab517e5a5d5728cb398f716c6B03f5c73bb783fcab153346e04e50abe9dae12e6b4d8a76ff5e22f48c1613365d5c2 +@4c9c55ed80b1b5c271fb1909a3deecaec35ad1eed23b7cd036ca703738407657B0383c210aff49d5af5bc36a8ea37a99f610ab3e2406ea1f597043b0ac4473609bdB +Y@0d4e3bc4cda3c3a1cea2e8ab285d8bc6a49366f9ff3f876c4726ae59697bb0d9""1GM5KzaCzpNsmvrCxPyDtFah6NGMYATUsY"UOP_DUP OP_HASH160 a855d180eb991cb49e7bdfcd1eb69da88903150d OP_EQUALVERIFY OP_CHECKSIG*276a914a855d180eb991cb49e7bdfcd1eb69da88903150d88ac*"1GM5KzaCzpNsmvrCxPyDtFah6NGMYATUsY8$J  + @0d4e3bc4cda3c3a1cea2e8ab285d8bc6a49366f9ff3f876c4726ae59697bb0d9""13yAy6dZ3QW4upDkrP2p6LFuTz2Nsq95rZ"UOP_DUP OP_HASH160 208fdd99410e6259780e4c013742eeff88f25fa1 OP_EQUALVERIFY OP_CHECKSIG*276a914208fdd99410e6259780e4c013742eeff88f25fa188ac*"13yAy6dZ3QW4upDkrP2p6LFuTz2Nsq95rZ8$J  +@0d4e3bc4cda3c3a1cea2e8ab285d8bc6a49366f9ff3f876c4726ae59697bb0d9""185Aq3HiQqbSbem6as4kpJuXnmz7jHjYvB"UOP_DUP OP_HASH160 4d92bfa17255d261fe17c0b98fc96b64d0b87588 OP_EQUALVERIFY OP_CHECKSIG*276a9144d92bfa17255d261fe17c0b98fc96b64d0b8758888ac*"185Aq3HiQqbSbem6as4kpJuXnmz7jHjYvB8$J ;$橁-@00000000000000000005d9d77b9a947ed9b18b60c5e3362b6b1b40d4bc6e3aef"@00000000000000000000876c0e767dd6637613e739b5a288d51ce596f32e954f2$-@0000000000000000000565b18e0a1d4fa9c9dab70be0659452e94a7df409ca0e"@00000000000000000005d9d77b9a947ed9b18b60c5e3362b6b1b40d4bc6e3aef2H$ª-@00000000000000000011db2da36841f7d1b41f096607c52d92f3ff6640ffb907"@0000000000000000000565b18e0a1d4fa9c9dab70be0659452e94a7df409ca0e2G + + +1@6513b40b2185c6b8f4ae6de5285b8441616a06e5d92cd6337321edd234df9d29$"@00000000000000000011db2da36841f7d1b41f096607c52d92f3ff6640ffb907(ª-2 +@039ac19914bac4ad75eaa7848d35e310330d6930c38251b2bad19fe105b9f24dB0354450d1878e5f7bc4705fb4ef036a8dc26c9c1ed01a488179378299a3cfb0fc72 +@0e4c1d61eabc15835dff44dc7fe3e16006ad87f180973e0d1cfd6b1d1f01fb32B034f57e2852a42ee8e6c3d3aa79b61ebe7905b451fae4835465839fdce6f5998cbB +@6513b40b2185c6b8f4ae6de5285b8441616a06e5d92cd6337321edd234df9d29""1GCwqbUcmy9cr4d8PwzyNzEZGAxEtj1vow"UOP_DUP OP_HASH160 a6cc3d18875defaaaddc2c54e549552904a4ff14 OP_EQUALVERIFY OP_CHECKSIG*276a914a6cc3d18875defaaaddc2c54e549552904a4ff1488ac*"1GCwqbUcmy9cr4d8PwzyNzEZGAxEtj1vow8$J  +@6513b40b2185c6b8f4ae6de5285b8441616a06e5d92cd6337321edd234df9d29""15gVMXYKjrFEfkYX96SoBYMPXtSWT4hBgM"UOP_DUP OP_HASH160 335864f06f4a3b4b0003c21a7ef300dbb8cf60b9 OP_EQUALVERIFY OP_CHECKSIG*276a914335864f06f4a3b4b0003c21a7ef300dbb8cf60b988ac*"15gVMXYKjrFEfkYX96SoBYMPXtSWT4hBgM8$J  +@6513b40b2185c6b8f4ae6de5285b8441616a06e5d92cd6337321edd234df9d29""1GSiD7qzBVFd3a48pje2VBBEaxyNU99Qeq"UOP_DUP OP_HASH160 a966af6ed37dfd92fb12a4cb38bc678ba3cd15ac OP_EQUALVERIFY OP_CHECKSIG*276a914a966af6ed37dfd92fb12a4cb38bc678ba3cd15ac88ac*"1GSiD7qzBVFd3a48pje2VBBEaxyNU99Qeq8$J  + +1@e9d2e753d358f543b1b63e3e5e6006d485b1e90ff5940fcfda3370bec484a645$"@00000000000000000011db2da36841f7d1b41f096607c52d92f3ff6640ffb907(ª-2 +@8b96513340555bf15a36a17865505e70c499ceb07f63c750d8afefed36519a1fB03308e7bd65b8b4051abdde60014fcdfa291f31c10d6c81da9428eaa033f65f8ae2 +@00adea85360666dfbcc2e79e75c7f0a70737afafb844c0ed433066fffb9581b3B0351895e3934294ff794d67d4251db5e0236a5d083dccb26f7334188927173d1212 +@010d8a2348ff60445f43b3df8e1201da78f28667d119d1c527e7f3ff9db89f70B02ca6e0104fe709da09a999b8c22e0c337a5f489662265d598d5159ad32e1ca974B +Ξ@e9d2e753d358f543b1b63e3e5e6006d485b1e90ff5940fcfda3370bec484a645""18VwCSn7HSRZ3abEhx2QiY541Eim261CaA"UOP_DUP OP_HASH160 5241c4e1112a38100232fc14f5f168c01c8cc7d6 OP_EQUALVERIFY OP_CHECKSIG*276a9145241c4e1112a38100232fc14f5f168c01c8cc7d688ac*"18VwCSn7HSRZ3abEhx2QiY541Eim261CaA8$J  +@e9d2e753d358f543b1b63e3e5e6006d485b1e90ff5940fcfda3370bec484a645""1LgGoByXCgapdJB2fEJe2zCLBDzFHyNxhy"UOP_DUP OP_HASH160 d7d7cc6d5b83cac559df7e3911b3ad3d5da16ebb OP_EQUALVERIFY OP_CHECKSIG*276a914d7d7cc6d5b83cac559df7e3911b3ad3d5da16ebb88ac*"1LgGoByXCgapdJB2fEJe2zCLBDzFHyNxhy8$J  +@e9d2e753d358f543b1b63e3e5e6006d485b1e90ff5940fcfda3370bec484a645""1Axy6s7cokQk1pEmgpSjViNbCrHM7kR7KC"UOP_DUP OP_HASH160 6d4ed73e63186521b76b68db4b0165da3d292a44 OP_EQUALVERIFY OP_CHECKSIG*276a9146d4ed73e63186521b76b68db4b0165da3d292a4488ac*"1Axy6s7cokQk1pEmgpSjViNbCrHM7kR7KC8$J  + + +1@9f5d5f6c6cb3a664a209204fb466d2b4e32ca4003f2717cf35b1863bf1c3aada$"@00000000000000000011db2da36841f7d1b41f096607c52d92f3ff6640ffb907(ª-2 +@87542378b850631d30d30a247b681a9b14cc6bb16d5c9245214a26be020c9918B03e2726b2710adcf5d48cad7418d6285621c907fd0f79eef46a1dacc17d7547a7c2 +@b39952e3ca18b451906ee22c98de1825c16cf11ae223a9279883f21177359515B03bd5ac5e922db49692adb6c3a141da846dfa4e1da973183cc2dd410003909cff3B +‘ +@9f5d5f6c6cb3a664a209204fb466d2b4e32ca4003f2717cf35b1863bf1c3aada""1BPrMhuVh8FumWYTP6nT9jFWaRfvudNbcq"UOP_DUP OP_HASH160 72039c31d249189ec987222a2dbef0784a2c5dbf OP_EQUALVERIFY OP_CHECKSIG*276a91472039c31d249189ec987222a2dbef0784a2c5dbf88ac*"1BPrMhuVh8FumWYTP6nT9jFWaRfvudNbcq8$J  +@9f5d5f6c6cb3a664a209204fb466d2b4e32ca4003f2717cf35b1863bf1c3aada""1Gc2yAxNzU8p7TtfESA6W5pDULFDWQnX92"UOP_DUP OP_HASH160 ab2a16afd867ca2a138d810463d92aac4f0fc90c OP_EQUALVERIFY OP_CHECKSIG*276a914ab2a16afd867ca2a138d810463d92aac4f0fc90c88ac*"1Gc2yAxNzU8p7TtfESA6W5pDULFDWQnX928$J  +٨@9f5d5f6c6cb3a664a209204fb466d2b4e32ca4003f2717cf35b1863bf1c3aada""14X9Yqx9SqfkdmipTZ1v2nYJE1fW5utrqa"UOP_DUP OP_HASH160 269bfe19ad7e1e874ae63a74836c6d237fa4df81 OP_EQUALVERIFY OP_CHECKSIG*276a914269bfe19ad7e1e874ae63a74836c6d237fa4df8188ac*"14X9Yqx9SqfkdmipTZ1v2nYJE1fW5utrqa8$J  + +1@176a69e54279de89595e894248216abe33fe3e69955f8bce48101344a2f2abd7$"@00000000000000000011db2da36841f7d1b41f096607c52d92f3ff6640ffb907(ª-2 +@111e8eaffdfe6c4f3add3868729b27ae42b8e28ad5e3d39ecf8ac8c02e335e7bB03b90dac701fed59f1309c338ea068a0cff5519c6a57419254d8fcf5fe5c335f7b2 +@ce01801ad24ff4d4720b801440c5370d796958bac8e7117aa78c764f98c5dbb0B0324bffa53b5260d5dc6d62d964b1ee076da69a7cf44be6d2ec92195c1795638c62 +@db5691cd6bfe6e2d3d51ab4152ff0328ba3ed9e491a1d5f8023a38842fd162ccB0328849a0caaca623ebfe7ff51360eb1fc1229da43685ae125e6e400f9f3d8826b2 +@d0de49c0dd15c2ac7fd2f42549aa35e6c1b03d4b0cfc9cef722f29862c913f8eB03ee1f374da916abc2cad8d98e3d70690c2aa46ad9f75b58967472c5a00a6c4b492 +@ed82c251544e1203c98b274f2fdfd7f462e4800d0c8fc528298a11852fcd43dfB023905ca1579c500754608d2a807a15d69f6cd561dfd5e52ba7b8a8927d2f2b247B +@176a69e54279de89595e894248216abe33fe3e69955f8bce48101344a2f2abd7""1PKzJdQA9XE192jnusKD84YkigbYcMKkcy"UOP_DUP OP_HASH160 f4ea16e6f8e32c7736752ac7b34be0fe2f3f690e OP_EQUALVERIFY OP_CHECKSIG*276a914f4ea16e6f8e32c7736752ac7b34be0fe2f3f690e88ac*"1PKzJdQA9XE192jnusKD84YkigbYcMKkcy8$J  +@176a69e54279de89595e894248216abe33fe3e69955f8bce48101344a2f2abd7""1Eu45PcBhVQD82QKV9UznsAVHrNFtVW7hW"UOP_DUP OP_HASH160 9871d528e52a759cf5655b2830f869f4673eb0de OP_EQUALVERIFY OP_CHECKSIG*276a9149871d528e52a759cf5655b2830f869f4673eb0de88ac*"1Eu45PcBhVQD82QKV9UznsAVHrNFtVW7hW8$J  +@176a69e54279de89595e894248216abe33fe3e69955f8bce48101344a2f2abd7""1BpJ9e2eshfG7WGSmTZToL74QqH5jD9eKv"UOP_DUP OP_HASH160 76a31f8d9e39b7bf8812b91f9dfc6d2c10d50d11 OP_EQUALVERIFY OP_CHECKSIG*276a91476a31f8d9e39b7bf8812b91f9dfc6d2c10d50d1188ac*"1BpJ9e2eshfG7WGSmTZToL74QqH5jD9eKv8$J  + +1@61e237d4a478871cae7062dfc5512e3a87e110be6bfc4f333b1e3f314c7e2db0$"@00000000000000000011db2da36841f7d1b41f096607c52d92f3ff6640ffb907(ª-2 +@6513b40b2185c6b8f4ae6de5285b8441616a06e5d92cd6337321edd234df9d29B0223be42fa3a140710a7817fcf90be7ac3164b3a3b88ef70e29c888de2ceca3d0b2 +@6513b40b2185c6b8f4ae6de5285b8441616a06e5d92cd6337321edd234df9d29B03439845daba00bf1e69c259b1ca1ffe3767c95b28dac4d8327b00a501581b47432 +@6513b40b2185c6b8f4ae6de5285b8441616a06e5d92cd6337321edd234df9d29B021ffe2c5ae4f4a7feee5b5fba118b629a1120ab10f9f236a463c0d8bc2aa54668B +@61e237d4a478871cae7062dfc5512e3a87e110be6bfc4f333b1e3f314c7e2db0""1K8Zrirk6VzipWENYARZwNiFkDB3gdJZvR"UOP_DUP OP_HASH160 c6e09a8ca589ce724741349627ab998c49059332 OP_EQUALVERIFY OP_CHECKSIG*276a914c6e09a8ca589ce724741349627ab998c4905933288ac*"1K8Zrirk6VzipWENYARZwNiFkDB3gdJZvR8$J  +@61e237d4a478871cae7062dfc5512e3a87e110be6bfc4f333b1e3f314c7e2db0""17v2pqKLaKUejvuFShZ3VZyKXqS3bfEF8c"UOP_DUP OP_HASH160 4bd852e8eca3bb686156b492168b20d7e3a1e8dd OP_EQUALVERIFY OP_CHECKSIG*276a9144bd852e8eca3bb686156b492168b20d7e3a1e8dd88ac*"17v2pqKLaKUejvuFShZ3VZyKXqS3bfEF8c8$J  +@61e237d4a478871cae7062dfc5512e3a87e110be6bfc4f333b1e3f314c7e2db0""1P8i1jsN2oqMvQVnz9CTfshNMPs1AK2SEw"UOP_DUP OP_HASH160 f2c7ea291917ee28bf4f0d002ea4445c99a48ae2 OP_EQUALVERIFY OP_CHECKSIG*276a914f2c7ea291917ee28bf4f0d002ea4445c99a48ae288ac*"1P8i1jsN2oqMvQVnz9CTfshNMPs1AK2SEw8$J  + +1@5808ec999d7b71b806342971cee953fc17e52b60c2c8507fae145aee6c56e6cb$"@00000000000000000011db2da36841f7d1b41f096607c52d92f3ff6640ffb907(ª-2 +@682762046d31a1d021d557263ef76ee350f813aff38e22bd4fef03a756d6de31B020a6302bc0a1957fb361b5031cb2884a4ab201bb89f6bf7ab5f7e2d4c2e8b40672 +@c89cb891908ca06bc7b1ccc9d8a8a93acb7f9d38c7ee0447a39d6ccf2be01b75B03016c305bd9868a01f4f5bb328966690fab5057e0dca835add3fcb69c5fd0c9972 +@aa327987d847f8b61eb7940174a17e9085d1d52c2787c0eb1b2d9c12b05cfa84B0303d309671273486f64bbc6ff15cc4eb5bf734ad0de4831654fa892b8539c8f5f2 +@c58252b9a50ecc21e59e19a641eb7a110c8b7ac8408a9346516f3f69ede4da08B033e68004a83d4c484faec6e6e377926302e4ee1cd7340e8e3e1a9d5f47785162dB + +@5808ec999d7b71b806342971cee953fc17e52b60c2c8507fae145aee6c56e6cb""19PnxUqMbxrT2PQWaynzFe97ubKy8JDMMQ"UOP_DUP OP_HASH160 5c10852063bf6b2b70238e15889cc2f4834a196e OP_EQUALVERIFY OP_CHECKSIG*276a9145c10852063bf6b2b70238e15889cc2f4834a196e88ac*"19PnxUqMbxrT2PQWaynzFe97ubKy8JDMMQ8$J  +@5808ec999d7b71b806342971cee953fc17e52b60c2c8507fae145aee6c56e6cb""1JQ8CqLWFK8TsSh88FDS3UM7NGmLNy1uvx"UOP_DUP OP_HASH160 bed9b8146ca3d465988c35a5720f0cb0c287e14c OP_EQUALVERIFY OP_CHECKSIG*276a914bed9b8146ca3d465988c35a5720f0cb0c287e14c88ac*"1JQ8CqLWFK8TsSh88FDS3UM7NGmLNy1uvx8$J  +˲C@5808ec999d7b71b806342971cee953fc17e52b60c2c8507fae145aee6c56e6cb""1LNj8GAoPLWdTNN5s9nzVGRspdDNuQmW9L"UOP_DUP OP_HASH160 d4864a186100c26e770675dd085ba1a0340c4585 OP_EQUALVERIFY OP_CHECKSIG*276a914d4864a186100c26e770675dd085ba1a0340c458588ac*"1LNj8GAoPLWdTNN5s9nzVGRspdDNuQmW9L8$J $渂-@000000000000000000140a7436faa6d42a9321c7409a61cf638cadeff04e1aeb"@00000000000000000011db2da36841f7d1b41f096607c52d92f3ff6640ffb9072 $߂-@0000000000000000001425aa0d57692368e2a6c0ac7098013295b41dc0470298"@000000000000000000140a7436faa6d42a9321c7409a61cf638cadeff04e1aeb2 + + + +1@5829ee5f597fa409dd8178c467c9d9eabf817f18ada73ec721321911fdf49462$"@0000000000000000001425aa0d57692368e2a6c0ac7098013295b41dc0470298(߂-2 +@61e237d4a478871cae7062dfc5512e3a87e110be6bfc4f333b1e3f314c7e2db0B03dc79b919094d79b79740bb7a64e00e6461ad334431dc74ecf1d6c4ace0160f4e2 +@61e237d4a478871cae7062dfc5512e3a87e110be6bfc4f333b1e3f314c7e2db0B02d71c576cadc28263a476ebd4dc5e010c35ca3d044a902a94ad8e884f54805f59B +@5829ee5f597fa409dd8178c467c9d9eabf817f18ada73ec721321911fdf49462""1KfJygzzUWGwN2bz9PSdWR6GvG2ktX4pPc"UOP_DUP OP_HASH160 ccb113d32065f165bcf18fb56e7febab577c0af9 OP_EQUALVERIFY OP_CHECKSIG*276a914ccb113d32065f165bcf18fb56e7febab577c0af988ac*"1KfJygzzUWGwN2bz9PSdWR6GvG2ktX4pPc8$J  +@5829ee5f597fa409dd8178c467c9d9eabf817f18ada73ec721321911fdf49462""112DQJrTpBEuoHcRr1LirxRfGfwdgZdBrF"UOP_DUP OP_HASH160 003ac4bd35bbafd821fe50deb77ea0ca9f37b54f OP_EQUALVERIFY OP_CHECKSIG*276a914003ac4bd35bbafd821fe50deb77ea0ca9f37b54f88ac*"112DQJrTpBEuoHcRr1LirxRfGfwdgZdBrF8$J  +@5829ee5f597fa409dd8178c467c9d9eabf817f18ada73ec721321911fdf49462""134iA1NauTeodyJ1S2XMrC7GXF3JgPZN5E"UOP_DUP OP_HASH160 16a3daa9c74cac32c68d07bbef5ee6f9458841c3 OP_EQUALVERIFY OP_CHECKSIG*276a91416a3daa9c74cac32c68d07bbef5ee6f9458841c388ac*"134iA1NauTeodyJ1S2XMrC7GXF3JgPZN5E8$J $-@0000000000000000000d7122c385697a5280faaa9a9936fba95473b725dd4459"@0000000000000000001425aa0d57692368e2a6c0ac7098013295b41dc04702982$-@000000000000000000074f8265b0b6488ed3f43243144c17c432f4a8db456635"@0000000000000000000d7122c385697a5280faaa9a9936fba95473b725dd44592$ꒃ-@00000000000000000000e10346aaf98673d5a9ee08488accd4332eb8dbf5397d"@000000000000000000074f8265b0b6488ed3f43243144c17c432f4a8db4566352 + + +1@b0d9828d435f0c43bf5cdead83ad7d7f05db6161ee77ce681ac8097e381e4406$"@00000000000000000000e10346aaf98673d5a9ee08488accd4332eb8dbf5397d(ꒃ-2 +@5829ee5f597fa409dd8178c467c9d9eabf817f18ada73ec721321911fdf49462B0222602bc28a6151811ee01d6655e1074056cda60e68377352ba98bd7e66fd23722 +@45028cc0fa7af40ac714948a0a3fbfc1fff7d7bf7bc6bffc841df29f2672f2d7B02fc02b982f84ff5abed6ffee4b5b4dab178045892763853ab6f2dc3e9df4eca2eB +@b0d9828d435f0c43bf5cdead83ad7d7f05db6161ee77ce681ac8097e381e4406""16yGNgfvgx5GnpUQ2yJPH2jSLwUT1qHPVS"UOP_DUP OP_HASH160 417cc1987653e080ea7530b2e74db659825192bb OP_EQUALVERIFY OP_CHECKSIG*276a914417cc1987653e080ea7530b2e74db659825192bb88ac*"16yGNgfvgx5GnpUQ2yJPH2jSLwUT1qHPVS8$J  +@b0d9828d435f0c43bf5cdead83ad7d7f05db6161ee77ce681ac8097e381e4406""1DbUfWJcr79nFyEh1nr1DYka6AP1WxsBBK"UOP_DUP OP_HASH160 8a26bea8237ced1ee3b4409be0241388f300e404 OP_EQUALVERIFY OP_CHECKSIG*276a9148a26bea8237ced1ee3b4409be0241388f300e40488ac*"1DbUfWJcr79nFyEh1nr1DYka6AP1WxsBBK8$J  +@b0d9828d435f0c43bf5cdead83ad7d7f05db6161ee77ce681ac8097e381e4406""19uoDQ16QKH7FsbjAFRgrXE66Qc3XcaVMR"UOP_DUP OP_HASH160 61bd36ac3f2105803d0b0275c35d063cfd17f51f OP_EQUALVERIFY OP_CHECKSIG*276a91461bd36ac3f2105803d0b0275c35d063cfd17f51f88ac*"19uoDQ16QKH7FsbjAFRgrXE66Qc3XcaVMR8$J  + + +1@c52841c220768a9ebf49ad7fc7b3ee429088af5de6a31ee33232db14d2d4a261$"@00000000000000000000e10346aaf98673d5a9ee08488accd4332eb8dbf5397d(ꒃ-2 +@b0d9828d435f0c43bf5cdead83ad7d7f05db6161ee77ce681ac8097e381e4406B0286535b626ef2b81aad0274215760ee6e058029165f85e56e459ae9b57088804b2 +@b0d9828d435f0c43bf5cdead83ad7d7f05db6161ee77ce681ac8097e381e4406B027ddda3c0e9d03dab3ee28d0d28ae6c2b9b15f9edd395746db9d6f94d20d510ccB +@c52841c220768a9ebf49ad7fc7b3ee429088af5de6a31ee33232db14d2d4a261""1NeEgjEfRER4MbMfpaC13ZN5FuiCn5CqpE"UOP_DUP OP_HASH160 ed6574a798c9e7aae1b20baf399826be6eafcebe OP_EQUALVERIFY OP_CHECKSIG*276a914ed6574a798c9e7aae1b20baf399826be6eafcebe88ac*"1NeEgjEfRER4MbMfpaC13ZN5FuiCn5CqpE8$J  +@c52841c220768a9ebf49ad7fc7b3ee429088af5de6a31ee33232db14d2d4a261""1P4fqpT392KkKox1TsNy7htyx1EGNJTEcF"UOP_DUP OP_HASH160 f20470441e049ce710e5189c10f0852070d35186 OP_EQUALVERIFY OP_CHECKSIG*276a914f20470441e049ce710e5189c10f0852070d3518688ac*"1P4fqpT392KkKox1TsNy7htyx1EGNJTEcF8$J  +@c52841c220768a9ebf49ad7fc7b3ee429088af5de6a31ee33232db14d2d4a261""1GdYt26qk3JctT14hE3vBzwVraVrncGhGK"UOP_DUP OP_HASH160 ab7379212ac54010b3931a85b06a476651719a39 OP_EQUALVERIFY OP_CHECKSIG*276a914ab7379212ac54010b3931a85b06a476651719a3988ac*"1GdYt26qk3JctT14hE3vBzwVraVrncGhGK8$J $ѝ-@00000000000000000002861a0709179557c2df5e8177ce19ed94c06a2ef991ea"@00000000000000000000e10346aaf98673d5a9ee08488accd4332eb8dbf5397d2$-@0000000000000000000896b20fdb0061843bbc7814a15f65b3af2ea74f9a29ec"@00000000000000000002861a0709179557c2df5e8177ce19ed94c06a2ef991ea2$Ϩ-@0000000000000000000cf2fb95a7db0e0a45bdaa9481a7c263a808ab53fffaf7"@0000000000000000000896b20fdb0061843bbc7814a15f65b3af2ea74f9a29ec2 $ك-@0000000000000000001905b81075f431cbc02d25e9a1b3df6924d767e118d3fb"@0000000000000000000cf2fb95a7db0e0a45bdaa9481a7c263a808ab53fffaf72 + + + +1@6b786776c915227e1b9865d54f8f44767adabe3bd1e97e604154ff633dc6ae4c$"@0000000000000000001905b81075f431cbc02d25e9a1b3df6924d767e118d3fb(ك-2 +@c52841c220768a9ebf49ad7fc7b3ee429088af5de6a31ee33232db14d2d4a261B03bc00462e1560c9c15af7c05257e4f805f221d56a484d8232a9ffda3c5de5a1db2 +@d2a38544a431a27a8de50538e70e33177aafe99a92fcfd0aa8e42206bcaf747aB02f072d70e582d8eed4c2ee6bbbd16dd56debfa57daa3913001a4c65e8f8a9da9cB +ȟ@6b786776c915227e1b9865d54f8f44767adabe3bd1e97e604154ff633dc6ae4c""1M3pJKpodrPMp8krYSePWzGFX2e3EUpCea"UOP_DUP OP_HASH160 dbead49fe6b86556c684569c121cbb1531d00932 OP_EQUALVERIFY OP_CHECKSIG*276a914dbead49fe6b86556c684569c121cbb1531d0093288ac*"1M3pJKpodrPMp8krYSePWzGFX2e3EUpCea8$J  +@6b786776c915227e1b9865d54f8f44767adabe3bd1e97e604154ff633dc6ae4c""1567o4mS1LtuhmkfDJYBijMnyCWWqXS9Za"UOP_DUP OP_HASH160 2cd8412552fcc144c4f964eaac4fd983bded207d OP_EQUALVERIFY OP_CHECKSIG*276a9142cd8412552fcc144c4f964eaac4fd983bded207d88ac*"1567o4mS1LtuhmkfDJYBijMnyCWWqXS9Za8$J  +@6b786776c915227e1b9865d54f8f44767adabe3bd1e97e604154ff633dc6ae4c""1HF8QHXMRRjw7jmYjtMnp5fLxKspfjcJwC"UOP_DUP OP_HASH160 b22e03b2159abd414d25552a9b707c9cb0652d25 OP_EQUALVERIFY OP_CHECKSIG*276a914b22e03b2159abd414d25552a9b707c9cb0652d2588ac*"1HF8QHXMRRjw7jmYjtMnp5fLxKspfjcJwC8$J $-@000000000000000000043858b380666c12c0ee2106c94f28eab12b9b7c3a23e8"@0000000000000000001905b81075f431cbc02d25e9a1b3df6924d767e118d3fb2$-@00000000000000000013fefd8f1f96bdee2bcc58cfaab88db6af3fe52984af24"@000000000000000000043858b380666c12c0ee2106c94f28eab12b9b7c3a23e82$Ô-@0000000000000000000b6486c99df9e36ae82dc5693604263e63491c89d2623a"@00000000000000000013fefd8f1f96bdee2bcc58cfaab88db6af3fe52984af242 + + +1@c24788d07f73111d42b1c06dd3ab27f2a3bd0ac9749b36ef438b702f0550386d$"@0000000000000000000b6486c99df9e36ae82dc5693604263e63491c89d2623a(Ô-2 +@5808ec999d7b71b806342971cee953fc17e52b60c2c8507fae145aee6c56e6cbB03fd13b439154d680e201d93463428e8801fb1e8b45f7ee813544b877996f838d92 +@27ada3fdcbe1321d3675ac74f359508c1441cfd50701a81279a5a30a9605b811B03ad8f602bbf1ca4b9289dcc248fef56ad0f39b7ed36e2e89236e285fc3edbb807B + +@c24788d07f73111d42b1c06dd3ab27f2a3bd0ac9749b36ef438b702f0550386d""1HuU6mxvaKwdjRQegKd9Bub5iDi5ASo2VL"UOP_DUP OP_HASH160 b96e439e8bb3c596c90fcde6f88a76edaf63a6a2 OP_EQUALVERIFY OP_CHECKSIG*276a914b96e439e8bb3c596c90fcde6f88a76edaf63a6a288ac*"1HuU6mxvaKwdjRQegKd9Bub5iDi5ASo2VL8$J  +z@c24788d07f73111d42b1c06dd3ab27f2a3bd0ac9749b36ef438b702f0550386d""1CqZyVNRDvSF9tdpZyJsD1NzCX9rZqSRpW"UOP_DUP OP_HASH160 81d8e0039c6f87d1e84c88d64ec5c639280d056a OP_EQUALVERIFY OP_CHECKSIG*276a91481d8e0039c6f87d1e84c88d64ec5c639280d056a88ac*"1CqZyVNRDvSF9tdpZyJsD1NzCX9rZqSRpW8$J  +G@c24788d07f73111d42b1c06dd3ab27f2a3bd0ac9749b36ef438b702f0550386d""189G8YjGGaqu8gFHLBGZ8fWgDftQbDMrUV"UOP_DUP OP_HASH160 4e58d692515800f26ce51c7ea5347ecae2d82fe3 OP_EQUALVERIFY OP_CHECKSIG*276a9144e58d692515800f26ce51c7ea5347ecae2d82fe388ac*"189G8YjGGaqu8gFHLBGZ8fWgDftQbDMrUV8$J  + + + +1@59e94fbafa784da5f4f4d357fa702d62ed72c8ce33a419b95f3b85e177db0844$"@0000000000000000000b6486c99df9e36ae82dc5693604263e63491c89d2623a(Ô-2 +@6b786776c915227e1b9865d54f8f44767adabe3bd1e97e604154ff633dc6ae4cB02e965a5aa061d66a279ef75438bebe9f0e185a9c67e8dcb43dfcb7251a09348982 +@bb0a40a60b4054462af52e4a18c94cf816994a4d4edbad2404262255ef6b5c18B03d03943e15f223aacc2fb8d6c6b4b530b60fded48e2e6032998b1fce64fe129e6B +@59e94fbafa784da5f4f4d357fa702d62ed72c8ce33a419b95f3b85e177db0844""1PGkNVg3bTatC4fVgEUbEbHDaRh2bQPkEG"UOP_DUP OP_HASH160 f44d35eb04cc106ba65c124cbaa0f800d8e0452d OP_EQUALVERIFY OP_CHECKSIG*276a914f44d35eb04cc106ba65c124cbaa0f800d8e0452d88ac*"1PGkNVg3bTatC4fVgEUbEbHDaRh2bQPkEG8$J  + @59e94fbafa784da5f4f4d357fa702d62ed72c8ce33a419b95f3b85e177db0844""1A1NMH94MbnsePEAbFNFRyaETHpFcvVe4T"UOP_DUP OP_HASH160 62caf42dc7d6e34924c7293e574f7c202eef35c7 OP_EQUALVERIFY OP_CHECKSIG*276a91462caf42dc7d6e34924c7293e574f7c202eef35c788ac*"1A1NMH94MbnsePEAbFNFRyaETHpFcvVe4T8$J  + @59e94fbafa784da5f4f4d357fa702d62ed72c8ce33a419b95f3b85e177db0844""19CV7fdDwfjY84bGRJWWkKLorKzX3F83hr"UOP_DUP OP_HASH160 59ed0d0f182b61dc018e8b91862c5e186f45cef0 OP_EQUALVERIFY OP_CHECKSIG*276a91459ed0d0f182b61dc018e8b91862c5e186f45cef088ac*"19CV7fdDwfjY84bGRJWWkKLorKzX3F83hr8$J ;$-@000000000000000000077faba9f427c5c2d87ef2df58812b6d55586b9d973620"@0000000000000000000b6486c99df9e36ae82dc5693604263e63491c89d2623a2$-@0000000000000000000d0fbb8d225b6e473f25fab62922e4fad198d5fbcbc6ec"@000000000000000000077faba9f427c5c2d87ef2df58812b6d55586b9d9736202 $-@0000000000000000000a8440d40d3df21e9212398497a6d5f0ae48ffee700071"@0000000000000000000d0fbb8d225b6e473f25fab62922e4fad198d5fbcbc6ec2 + + + +1@d451bdf2c2acad23a1bcc7496021f0a29c24b71891efb2581d8a802ceda1dee0$"@0000000000000000000a8440d40d3df21e9212398497a6d5f0ae48ffee700071(-2 +@57d743b852e987cb7b51b34d37e21d1103df66355e448b19076d2e188f77ce74B03ed3c2ca729e08689d9511bdb726218ddf82cf8d25918201660eac7effc540f1c2 +@f7527fb0f4df680f4f75fd24bd1332a355df3404b26614197ec238b268b62d1aB03901f40b13b1db7f9f3116c0f7a604059c3774a4bfdbac6902a72e9d2cb2edb00B +I@d451bdf2c2acad23a1bcc7496021f0a29c24b71891efb2581d8a802ceda1dee0""1K3yjA1VwEq74Mk5XTsvWD1sx6YRHxg41y"UOP_DUP OP_HASH160 c60272fe4c4803fa57489c82b7d11a2c88997aae OP_EQUALVERIFY OP_CHECKSIG*276a914c60272fe4c4803fa57489c82b7d11a2c88997aae88ac*"1K3yjA1VwEq74Mk5XTsvWD1sx6YRHxg41y8$J  +%@d451bdf2c2acad23a1bcc7496021f0a29c24b71891efb2581d8a802ceda1dee0"!1yeHmxfKi3mR3WW358JECTUighckcm9RP"UOP_DUP OP_HASH160 0ab66bdce51c9224b76dfe32d8efb62cf6d1dec7 OP_EQUALVERIFY OP_CHECKSIG*276a9140ab66bdce51c9224b76dfe32d8efb62cf6d1dec788ac*!1yeHmxfKi3mR3WW358JECTUighckcm9RP8$J  +@d451bdf2c2acad23a1bcc7496021f0a29c24b71891efb2581d8a802ceda1dee0""1CHkg94NGC3pGq8NBw9DWB6jKbr4VWRH3P"UOP_DUP OP_HASH160 7bd47f352854a453529b0caa6018a025170f36fd OP_EQUALVERIFY OP_CHECKSIG*276a9147bd47f352854a453529b0caa6018a025170f36fd88ac*"1CHkg94NGC3pGq8NBw9DWB6jKbr4VWRH3P8$J  $밅-@0000000000000000001014e4529d58efc35f9386ff29661816863140504dcde3"@0000000000000000000a8440d40d3df21e9212398497a6d5f0ae48ffee7000712 + +1@ba892a2f1b7e68273ebb5d3816940ff2e3265f6768af1b790d64c16d4adbfc22$"@0000000000000000001014e4529d58efc35f9386ff29661816863140504dcde3(밅-2 +@59e94fbafa784da5f4f4d357fa702d62ed72c8ce33a419b95f3b85e177db0844B039f515607d7d69f9fe218fdeaedb69902049be755f0218ab534c232466d4ed9052 +@59e94fbafa784da5f4f4d357fa702d62ed72c8ce33a419b95f3b85e177db0844B02f68a505686fafdded2127a4525d066505e196764b6e1851a68eec33be0ccd9d52 +@9624bfbd9b5bb9ba0bec21804a698636729684dacd1a1a9a59b958908e509af8B027ce6129ac1ee4e9b4fccbb7bfaf55668b2d528997e4a3a58d9c35daf7af4733b2 +@251bcef08fe3bc6dea83a8039738792bcfda961e0cb96f73e7febd7dac1a993dB033309e1eeead5ca6783c463b29c32a23de37ddd39dbe7ab2145710fffdca9a1d7B +@ba892a2f1b7e68273ebb5d3816940ff2e3265f6768af1b790d64c16d4adbfc22""1NBQEM9TLJLA2p29BTgovKiF9oLhuW5fuB"UOP_DUP OP_HASH160 e852314ee90f2195b854d8176394789368698bba OP_EQUALVERIFY OP_CHECKSIG*276a914e852314ee90f2195b854d8176394789368698bba88ac*"1NBQEM9TLJLA2p29BTgovKiF9oLhuW5fuB8$J  + @ba892a2f1b7e68273ebb5d3816940ff2e3265f6768af1b790d64c16d4adbfc22"!1N1zCR9dLRpHQiRXMsfFj2UxxYqZbmXsH"UOP_DUP OP_HASH160 03f98ef30b5ff57c07392704bc1f5ed4e42684a5 OP_EQUALVERIFY OP_CHECKSIG*276a91403f98ef30b5ff57c07392704bc1f5ed4e42684a588ac*!1N1zCR9dLRpHQiRXMsfFj2UxxYqZbmXsH8$J  +֘@ba892a2f1b7e68273ebb5d3816940ff2e3265f6768af1b790d64c16d4adbfc22""1L6vqqHUNTaTEHuZN8QNv9fWdzLjFzhujv"UOP_DUP OP_HASH160 d1896a2902e54b3e209d51705d72c66fd316bcf2 OP_EQUALVERIFY OP_CHECKSIG*276a914d1896a2902e54b3e209d51705d72c66fd316bcf288ac*"1L6vqqHUNTaTEHuZN8QNv9fWdzLjFzhujv8$J ;$х-@0000000000000000000d10b16a24c8a2fc281e0c51f4687c04abc6f82767e07c"@0000000000000000001014e4529d58efc35f9386ff29661816863140504dcde32 + + +1@f51801a2c5011b9b2b5032808116c6fae9e0a2d1f6d26314fafcf20e93080df5$"@0000000000000000000d10b16a24c8a2fc281e0c51f4687c04abc6f82767e07c(х-2 +@9f5d5f6c6cb3a664a209204fb466d2b4e32ca4003f2717cf35b1863bf1c3aadaB033f65ca24c310ab2ec66881e5a81a20022b06b84a10ad170ee2735e97a52d35102 +@fbda433fbaab8fa3a1424c57428cec9d3e7c29415470bd38b095fdc6ebb092f7B02738a8987fb886798a0ab1c69a00321de40557ffc2d9100f0a6563aa0931b08efB + @f51801a2c5011b9b2b5032808116c6fae9e0a2d1f6d26314fafcf20e93080df5""1HNKUrTgQdw5saaBV3Sp6yByChTMYvmpgd"UOP_DUP OP_HASH160 b38a2c9b915d33d002f90b75e529647fb8659801 OP_EQUALVERIFY OP_CHECKSIG*276a914b38a2c9b915d33d002f90b75e529647fb865980188ac*"1HNKUrTgQdw5saaBV3Sp6yByChTMYvmpgd8$J  +@f51801a2c5011b9b2b5032808116c6fae9e0a2d1f6d26314fafcf20e93080df5""1NeFKkR5w7JiSpNA2Yb1RjadNvpv6pS4ze"UOP_DUP OP_HASH160 ed65fd0de1c51a7f7807a6a79c523f873e6f7bfe OP_EQUALVERIFY OP_CHECKSIG*276a914ed65fd0de1c51a7f7807a6a79c523f873e6f7bfe88ac*"1NeFKkR5w7JiSpNA2Yb1RjadNvpv6pS4ze8$J  +ɨ@f51801a2c5011b9b2b5032808116c6fae9e0a2d1f6d26314fafcf20e93080df5""1ELNAwit9aJqAAYLVBXgG99uaCq4SozdV9"UOP_DUP OP_HASH160 924336244122b27cdd4f0cdde58192e9b8acfe90 OP_EQUALVERIFY OP_CHECKSIG*276a914924336244122b27cdd4f0cdde58192e9b8acfe9088ac*"1ELNAwit9aJqAAYLVBXgG99uaCq4SozdV98$J  + + +1@4b810f8200215aaaf2950e7a99835346847aac017bf21dace06d9b5221420444$"@0000000000000000000d10b16a24c8a2fc281e0c51f4687c04abc6f82767e07c(х-2 +@c24788d07f73111d42b1c06dd3ab27f2a3bd0ac9749b36ef438b702f0550386dB03f26cd036123b5da4a2c0c0c93db181bd9e28844cf21d64539e7f3bd01cba9ded2 +@f51801a2c5011b9b2b5032808116c6fae9e0a2d1f6d26314fafcf20e93080df5B035f9a8b11e5d1c65f454a06549b5c5b48e2b8df71f8beca9ffa9afe12fec5ce7aB + +@4b810f8200215aaaf2950e7a99835346847aac017bf21dace06d9b5221420444""1Hwtv6zhCpTnykZF159yVW8RG5PbQdPHWf"UOP_DUP OP_HASH160 b9e3cfb901eebdf3a3cacc2bf993402aee252a91 OP_EQUALVERIFY OP_CHECKSIG*276a914b9e3cfb901eebdf3a3cacc2bf993402aee252a9188ac*"1Hwtv6zhCpTnykZF159yVW8RG5PbQdPHWf8$J  +@4b810f8200215aaaf2950e7a99835346847aac017bf21dace06d9b5221420444""1EDsiA61qGAu9Wo27wAheQtA9WEqU6h8ga"UOP_DUP OP_HASH160 9108f4fc0c605b568e76689fe11b0a3809449bc0 OP_EQUALVERIFY OP_CHECKSIG*276a9149108f4fc0c605b568e76689fe11b0a3809449bc088ac*"1EDsiA61qGAu9Wo27wAheQtA9WEqU6h8ga8$J  +튭@4b810f8200215aaaf2950e7a99835346847aac017bf21dace06d9b5221420444""15DqfErt5Z4zC6NAcuav83f4FJEKc6AMxf"UOP_DUP OP_HASH160 2e4e1d0855a8c9fa429b172fa44ac46ddc618604 OP_EQUALVERIFY OP_CHECKSIG*276a9142e4e1d0855a8c9fa429b172fa44ac46ddc61860488ac*"15DqfErt5Z4zC6NAcuav83f4FJEKc6AMxf8$J $߅-@0000000000000000000275da1634c81d4bfc5ae53ea77ee29a99b404e4a6a7b6"@0000000000000000000d10b16a24c8a2fc281e0c51f4687c04abc6f82767e07c2$-@00000000000000000008ce9e255f0ea9b975fe3c98e18119c23d780e65cecc5f"@0000000000000000000275da1634c81d4bfc5ae53ea77ee29a99b404e4a6a7b62$-@000000000000000000017268445772842bcd8b00822ec6929cdb96291562c21d"@00000000000000000008ce9e255f0ea9b975fe3c98e18119c23d780e65cecc5f2 + + +1@7ed2f106ced42218aef5912e96924a54f9670423347a9eaf73b9c2c0fec8cf54$"@000000000000000000017268445772842bcd8b00822ec6929cdb96291562c21d(-2 +@4b810f8200215aaaf2950e7a99835346847aac017bf21dace06d9b5221420444B032eadadda6bc65bd6b814041ea5f8980169916e94dc6340c05925bc14246402ef2 +@4b810f8200215aaaf2950e7a99835346847aac017bf21dace06d9b5221420444B02f7da9201bedfd2e70997a50086f3e8d71aa961543a1c51b8c1384bd3d151d0c6B + +@7ed2f106ced42218aef5912e96924a54f9670423347a9eaf73b9c2c0fec8cf54""129nz9RerPuD6rreRFoZtwHrWfKNbT9dGh"UOP_DUP OP_HASH160 0ca1d70d07f2dfc7d85b9e128a4cebb7c35f8040 OP_EQUALVERIFY OP_CHECKSIG*276a9140ca1d70d07f2dfc7d85b9e128a4cebb7c35f804088ac*"129nz9RerPuD6rreRFoZtwHrWfKNbT9dGh8$J  +@7ed2f106ced42218aef5912e96924a54f9670423347a9eaf73b9c2c0fec8cf54""1KzMvpWPy78qdhHTvvPHp3oU14yNGiLoa3"UOP_DUP OP_HASH160 d04b71949bfa5e811973bc137cb0c7823df09849 OP_EQUALVERIFY OP_CHECKSIG*276a914d04b71949bfa5e811973bc137cb0c7823df0984988ac*"1KzMvpWPy78qdhHTvvPHp3oU14yNGiLoa38$J  +@7ed2f106ced42218aef5912e96924a54f9670423347a9eaf73b9c2c0fec8cf54""18snCqNw7jhrmCczfPnJUgRy9zLP7N12k8"UOP_DUP OP_HASH160 566369bab43e3670ac15a75f06d36f51db3d6b5c OP_EQUALVERIFY OP_CHECKSIG*276a914566369bab43e3670ac15a75f06d36f51db3d6b5c88ac*"18snCqNw7jhrmCczfPnJUgRy9zLP7N12k88$J  + + +1@934070a2b3f7aefb6f43ded07ab7bc9f7c65f253eaf319e74197524c53574154$"@000000000000000000017268445772842bcd8b00822ec6929cdb96291562c21d(-2 +@726b3eb17d30a80b56870023410fa10f50c5afe2da16e5bf1075ded9aa5da676B025e178bb8d645a0298ccbd0a51358a0642a01e35139a7d3ca55a789d12920da1a2 +@726b3eb17d30a80b56870023410fa10f50c5afe2da16e5bf1075ded9aa5da676B03f7315132040f9120c55611c0d114a903ccd8e05feca744a81b7df045e652c7e0B +מ@934070a2b3f7aefb6f43ded07ab7bc9f7c65f253eaf319e74197524c53574154""18Q9VdYAoc5vPG95V3pKkKWtDKc7nphshj"UOP_DUP OP_HASH160 512989a84f30102eab1d322ba90a2e3fd37752ed OP_EQUALVERIFY OP_CHECKSIG*276a914512989a84f30102eab1d322ba90a2e3fd37752ed88ac*"18Q9VdYAoc5vPG95V3pKkKWtDKc7nphshj8$J  +@934070a2b3f7aefb6f43ded07ab7bc9f7c65f253eaf319e74197524c53574154""1NDjoqkek82VTSsb59WExe61Hdho6ovNrL"UOP_DUP OP_HASH160 e8c35df28d697658e3c496ae09ec60ed756ba2f9 OP_EQUALVERIFY OP_CHECKSIG*276a914e8c35df28d697658e3c496ae09ec60ed756ba2f988ac*"1NDjoqkek82VTSsb59WExe61Hdho6ovNrL8$J  +@934070a2b3f7aefb6f43ded07ab7bc9f7c65f253eaf319e74197524c53574154""1BEgK76Wet7GJQbKAw4hu92AZh3hBVxFqp"UOP_DUP OP_HASH160 70477b4210787284a328b5d2d413bb1e49b62eed OP_EQUALVERIFY OP_CHECKSIG*276a91470477b4210787284a328b5d2d413bb1e49b62eed88ac*"1BEgK76Wet7GJQbKAw4hu92AZh3hBVxFqp8$J  $݈-@00000000000000000000bd1c050e8a227faa7183d578d0c3d58e3d7924624e84"@000000000000000000017268445772842bcd8b00822ec6929cdb96291562c21d2›$-@00000000000000000018d7f5421514cc264800efde408d95a58559430fc4d62d"@00000000000000000000bd1c050e8a227faa7183d578d0c3d58e3d7924624e842 Û$֚-@000000000000000000040dfcfae4fb4827203bacdc68c99d10548ba07dc1e235"@00000000000000000018d7f5421514cc264800efde408d95a58559430fc4d62d2 + + + +1@2e3b10b80ffec24d54a9d6c48fbe5912251920c740cbe39136e0f9c2ef6e1297Û$"@000000000000000000040dfcfae4fb4827203bacdc68c99d10548ba07dc1e235(֚-2 +@b58eae0c23b4d46fd4f369c31c51fdb464f8dc5fc852b6d96450d1f37b28516dB02ebdf3c33387c46eb3c15d1dab56e3b624b2933e22d68e40a1446f8b7927298782 +@b58eae0c23b4d46fd4f369c31c51fdb464f8dc5fc852b6d96450d1f37b28516dB02b1a3fe0b58e2522e560d62f6ca198c6fe4e4d864d59764cd2b02b4bf8642dcb4B +A@2e3b10b80ffec24d54a9d6c48fbe5912251920c740cbe39136e0f9c2ef6e1297""1DTC3rq3yiH5nwyy24SSa5yS4wBPxLJXvZ"UOP_DUP OP_HASH160 88958c4319586456132fc788a3d41e69dba4de5c OP_EQUALVERIFY OP_CHECKSIG*276a91488958c4319586456132fc788a3d41e69dba4de5c88ac*"1DTC3rq3yiH5nwyy24SSa5yS4wBPxLJXvZ8Û$J  +y@2e3b10b80ffec24d54a9d6c48fbe5912251920c740cbe39136e0f9c2ef6e1297""1GAHxLHg9p6kxoTj5Vf3XzYbnoSadV3dvr"UOP_DUP OP_HASH160 a64bc86c99063c4f0a7c353acecfc77ad87ee6ef OP_EQUALVERIFY OP_CHECKSIG*276a914a64bc86c99063c4f0a7c353acecfc77ad87ee6ef88ac*"1GAHxLHg9p6kxoTj5Vf3XzYbnoSadV3dvr8Û$J  +f@2e3b10b80ffec24d54a9d6c48fbe5912251920c740cbe39136e0f9c2ef6e1297""1MK6JGSQ2gRTfq8sZwmPwu6h8xr4iWEfbn"UOP_DUP OP_HASH160 dece6cdf12cb5465e9b859d00dbb0d5f13e52fdf OP_EQUALVERIFY OP_CHECKSIG*276a914dece6cdf12cb5465e9b859d00dbb0d5f13e52fdf88ac*"1MK6JGSQ2gRTfq8sZwmPwu6h8xr4iWEfbn8Û$J ě$袦-@00000000000000000006eb36435f67575b6bca4165e60caf0fca83be4246a258"@000000000000000000040dfcfae4fb4827203bacdc68c99d10548ba07dc1e2352ś$ȩ-@00000000000000000009439c42780dae3954e60c1f00baf440d99aaf02451a8b"@00000000000000000006eb36435f67575b6bca4165e60caf0fca83be4246a2582ƛ$Æ-@00000000000000000006266c47fbd16814413bc6ee75779103ef3b5d1f2d4d9b"@00000000000000000009439c42780dae3954e60c1f00baf440d99aaf02451a8b2Ǜ$ӆ-@000000000000000000199ec41eeafabf2264de727487cf5d203ed1bfb2224dc1"@00000000000000000006266c47fbd16814413bc6ee75779103ef3b5d1f2d4d9b2 + +1@c6cf991f336064aaa2fab47cab66893b911a98a95ea9433e226d2de8130071b4Ǜ$"@000000000000000000199ec41eeafabf2264de727487cf5d203ed1bfb2224dc1(ӆ-2 +@2e3b10b80ffec24d54a9d6c48fbe5912251920c740cbe39136e0f9c2ef6e1297B02730e080009e59b09b2ae43f09dc9ec2f1e3380096e08d97ef294ec2fbfd0171dB +@c6cf991f336064aaa2fab47cab66893b911a98a95ea9433e226d2de8130071b4""1FGZh7rkFTbN3zP1WrdS4scYZVP8qejgEP"UOP_DUP OP_HASH160 9c834a40ce1fab6dd158665e3d8c24c91a196f78 OP_EQUALVERIFY OP_CHECKSIG*276a9149c834a40ce1fab6dd158665e3d8c24c91a196f7888ac*"1FGZh7rkFTbN3zP1WrdS4scYZVP8qejgEP8Ǜ$J  +&@c6cf991f336064aaa2fab47cab66893b911a98a95ea9433e226d2de8130071b4""19Dy7y6oDNZpQvfd3qTUpLNwF1n1do9d9z"UOP_DUP OP_HASH160 5a34d8334bdcdaa5917816cc753ac01a6b39fd36 OP_EQUALVERIFY OP_CHECKSIG*276a9145a34d8334bdcdaa5917816cc753ac01a6b39fd3688ac*"19Dy7y6oDNZpQvfd3qTUpLNwF1n1do9d9z8Ǜ$J  +@c6cf991f336064aaa2fab47cab66893b911a98a95ea9433e226d2de8130071b4"l"6OP_RETURN 16018940333c3417b15372a129d482d9124f90ece71f*06a1616018940333c3417b15372a129d482d9124f90ece71f2@3<4Sr)ԂO8Ǜ$J : + + +1@3bc5d4fe86c9540b28b77cd09e44ba06322a55e42c132d721241a1fbdde10f70Ǜ$"@000000000000000000199ec41eeafabf2264de727487cf5d203ed1bfb2224dc1(ӆ-2 +@ba892a2f1b7e68273ebb5d3816940ff2e3265f6768af1b790d64c16d4adbfc22B02fc694ad91b285526cc69ed4803bfaba9d21a32446b7317f0fa5e9b725e7b4afe2 +@896a5d812bfd9ffcc6dad91f25376c9f0ef0e86c6c98f99de6268bfe9f3e39c1B037ed68f4567afebc254d9a2b5e4b885f2917bbcb082b896bbf4bd539f75731757B +@3bc5d4fe86c9540b28b77cd09e44ba06322a55e42c132d721241a1fbdde10f70""1KmEhbQYgEqQ21bPRdXscCvGsayKhQ4su7"UOP_DUP OP_HASH160 cdd000a4b1944a817a0951910a2dab6177a1741c OP_EQUALVERIFY OP_CHECKSIG*276a914cdd000a4b1944a817a0951910a2dab6177a1741c88ac*"1KmEhbQYgEqQ21bPRdXscCvGsayKhQ4su78Ǜ$J  + @3bc5d4fe86c9540b28b77cd09e44ba06322a55e42c132d721241a1fbdde10f70""1JKiW5jHhrZqqqotMuSbjY6d9YEA93kwSc"UOP_DUP OP_HASH160 be0444ee92dc71d09f83632707d8299275685de2 OP_EQUALVERIFY OP_CHECKSIG*276a914be0444ee92dc71d09f83632707d8299275685de288ac*"1JKiW5jHhrZqqqotMuSbjY6d9YEA93kwSc8Ǜ$J  +@3bc5d4fe86c9540b28b77cd09e44ba06322a55e42c132d721241a1fbdde10f70""17hvJSDwRPxY6ordojPn6vjcp7EXYpbGqT"UOP_DUP OP_HASH160 498de2e2f580e9977ada8f0011da1e480313c97c OP_EQUALVERIFY OP_CHECKSIG*276a914498de2e2f580e9977ada8f0011da1e480313c97c88ac*"17hvJSDwRPxY6ordojPn6vjcp7EXYpbGqT8Ǜ$J ;!ț$-@00000000000000000009714ed92cda31c49a2c442fbfaab96ebf6a97ac43ae31"@000000000000000000199ec41eeafabf2264de727487cf5d203ed1bfb2224dc12 + + +1@f0da353289705f13e83ee451964be71be50bf8599dd572884ed87bf0bcee195dț$"@00000000000000000009714ed92cda31c49a2c442fbfaab96ebf6a97ac43ae31(-2 +@78e59929559df6879d876df29fc90a725bc3c6c8c67c3bbffb603e0660f200d0B024e84c0bb8e6a8371a28d3715d3cb1368dd9f18ec9bf5f53b5cccb05f1ab69deb2 +@54754477081ebb161240ab8319261da182420d5a1e75f908e728dd650a145ecfB02d68792db45532132b428ea4816e6fb3d0b6c51a17b96a23eba1664e6c84cdfefB +F@f0da353289705f13e83ee451964be71be50bf8599dd572884ed87bf0bcee195d""1MTjrSYuBywL2jrW8XpmL7jNye94mGYaUj"UOP_DUP OP_HASH160 e0711a221e7f8e86cf844e6a5910ae1cde49fc6a OP_EQUALVERIFY OP_CHECKSIG*276a914e0711a221e7f8e86cf844e6a5910ae1cde49fc6a88ac*"1MTjrSYuBywL2jrW8XpmL7jNye94mGYaUj8ț$J  +@f0da353289705f13e83ee451964be71be50bf8599dd572884ed87bf0bcee195d""1GFd3Et5tD27S2EkpeiJJyxvMqBU3Y6Aoj"UOP_DUP OP_HASH160 a74dcb32620b443fae809bb085e0b3eb41ed723c OP_EQUALVERIFY OP_CHECKSIG*276a914a74dcb32620b443fae809bb085e0b3eb41ed723c88ac*"1GFd3Et5tD27S2EkpeiJJyxvMqBU3Y6Aoj8ț$J  +@f0da353289705f13e83ee451964be71be50bf8599dd572884ed87bf0bcee195d""1BGzdBb4H3WEqnTGVUWSoEPQELvU1kkkZq"UOP_DUP OP_HASH160 70b799668fe9ee8c51c1443a2d0446086a643562 OP_EQUALVERIFY OP_CHECKSIG*276a91470b799668fe9ee8c51c1443a2d0446086a64356288ac*"1BGzdBb4H3WEqnTGVUWSoEPQELvU1kkkZq8ț$J  + + +1@7b121c7741190c73a91d109267c31079fae70fe37ee45daa6030d380c2406c18ț$"@00000000000000000009714ed92cda31c49a2c442fbfaab96ebf6a97ac43ae31(-2 +@934070a2b3f7aefb6f43ded07ab7bc9f7c65f253eaf319e74197524c53574154B03f3b18a791336b91586367e50bc35556ca977871f4e383eb51d7e7302a46bdeda2 +@1b2f9707af88895d3e232d2b20bc882bdc0274031767c42c41e708a11b6d8ecbB02ea3d834320eac06e7f318312e376d610768266bf557c9063a8356d67c2748abdB +Ӟ@7b121c7741190c73a91d109267c31079fae70fe37ee45daa6030d380c2406c18""19J4X4bhe4d5xLJdZGe32n4BzoWu4qBCmu"UOP_DUP OP_HASH160 5afb03ba1fc72103015b055202a79413eabe539c OP_EQUALVERIFY OP_CHECKSIG*276a9145afb03ba1fc72103015b055202a79413eabe539c88ac*"19J4X4bhe4d5xLJdZGe32n4BzoWu4qBCmu8ț$J  +@7b121c7741190c73a91d109267c31079fae70fe37ee45daa6030d380c2406c18""1Gdz26zvZh4vzdYYVGakYiMJbxk5z3rdBW"UOP_DUP OP_HASH160 ab88755e0426620569ae01d0be702fd8392e5e96 OP_EQUALVERIFY OP_CHECKSIG*276a914ab88755e0426620569ae01d0be702fd8392e5e9688ac*"1Gdz26zvZh4vzdYYVGakYiMJbxk5z3rdBW8ț$J  +@7b121c7741190c73a91d109267c31079fae70fe37ee45daa6030d380c2406c18""1QJde9xiJCkxPvDZCZZUe8qPxe9mBnv3sL"UOP_DUP OP_HASH160 ffa08ce75f285c9366b30df0f867025ce1715d8b OP_EQUALVERIFY OP_CHECKSIG*276a914ffa08ce75f285c9366b30df0f867025ce1715d8b88ac*"1QJde9xiJCkxPvDZCZZUe8qPxe9mBnv3sL8ț$J  + + +1@ceede7b747dcbc09899a603fe5967e41f698bc10eb201df44da018a4e00fc7a5ț$"@00000000000000000009714ed92cda31c49a2c442fbfaab96ebf6a97ac43ae31(-2 +@df9d60a116d4a167dd77e89137a84d651bded3f48592fe814a6cf7b00642f1bdB0302bee6899b97568503884898b8252846c028f53a0b455212ad09b42399e35ea62 +@df9d60a116d4a167dd77e89137a84d651bded3f48592fe814a6cf7b00642f1bdB020c5487a7796cb95aa787a80820cac11c03f69dec6419cd0547f696bf5f96f6c8B +@ceede7b747dcbc09899a603fe5967e41f698bc10eb201df44da018a4e00fc7a5""1B9w521qCv9mhYKByAj4X6MhnfXygCsNUR"UOP_DUP OP_HASH160 6f61b8647b9dc4481d90603b1166c02432da1f7a OP_EQUALVERIFY OP_CHECKSIG*276a9146f61b8647b9dc4481d90603b1166c02432da1f7a88ac*"1B9w521qCv9mhYKByAj4X6MhnfXygCsNUR8ț$J  + @ceede7b747dcbc09899a603fe5967e41f698bc10eb201df44da018a4e00fc7a5""12xjMSNXc6aHCtyj4TAezyjJPsK5YAnctD"UOP_DUP OP_HASH160 15825b8f98f651388fb1364cb51ce6aecffbb2d3 OP_EQUALVERIFY OP_CHECKSIG*276a91415825b8f98f651388fb1364cb51ce6aecffbb2d388ac*"12xjMSNXc6aHCtyj4TAezyjJPsK5YAnctD8ț$J  +?@ceede7b747dcbc09899a603fe5967e41f698bc10eb201df44da018a4e00fc7a5""18niXBQ6LeggECJmi26x3dFiUmeso9S7jZ"UOP_DUP OP_HASH160 556e4219113f967be31d1c5dbc54f511fdc56276 OP_EQUALVERIFY OP_CHECKSIG*276a914556e4219113f967be31d1c5dbc54f511fdc5627688ac*"18niXBQ6LeggECJmi26x3dFiUmeso9S7jZ8ț$J ɛ$-@000000000000000000152c2753fc55f8774dbbac0e02bcbca0f1ac69727aef6e"@00000000000000000009714ed92cda31c49a2c442fbfaab96ebf6a97ac43ae312 ʛ$揇-@00000000000000000015361374e41d08da20920e0810cb483fb71faa8f03794f"@000000000000000000152c2753fc55f8774dbbac0e02bcbca0f1ac69727aef6e2 + + + +1@df740039062a90d632af36ff2e007ba913f059200f29c2e122126f27d387ed02ʛ$"@00000000000000000015361374e41d08da20920e0810cb483fb71faa8f03794f(揇-2 +@ceede7b747dcbc09899a603fe5967e41f698bc10eb201df44da018a4e00fc7a5B03c1203ff3b8bb41d95177cc47b90cfa080463075026cd2bf8fe4194da9ff13f392 +@ceede7b747dcbc09899a603fe5967e41f698bc10eb201df44da018a4e00fc7a5B035ca5eb7621da1b165b83ca18ba3f26603d4dda1c0f5229d16355db94888e5524B +@df740039062a90d632af36ff2e007ba913f059200f29c2e122126f27d387ed02""1EqRyoRH4vzQKaWuqzUNZfaYWLnimmBsjX"UOP_DUP OP_HASH160 97c273fa48efad0ea336ef5c33a3c60458032d04 OP_EQUALVERIFY OP_CHECKSIG*276a91497c273fa48efad0ea336ef5c33a3c60458032d0488ac*"1EqRyoRH4vzQKaWuqzUNZfaYWLnimmBsjX8ʛ$J  +@df740039062a90d632af36ff2e007ba913f059200f29c2e122126f27d387ed02""1J8ounDecC7ZP9C3FqaXfh84yQi6fFAZws"UOP_DUP OP_HASH160 bbf435635b07f9c07c3c15a0bf07a63a4eeefd2b OP_EQUALVERIFY OP_CHECKSIG*276a914bbf435635b07f9c07c3c15a0bf07a63a4eeefd2b88ac*"1J8ounDecC7ZP9C3FqaXfh84yQi6fFAZws8ʛ$J  +?@df740039062a90d632af36ff2e007ba913f059200f29c2e122126f27d387ed02""1GCVKTG1KaHUUirtjGMuiCjKSs6hb1wbHa"UOP_DUP OP_HASH160 a6b619e42ee77afa233a42a11559b0b73fb2aaea OP_EQUALVERIFY OP_CHECKSIG*276a914a6b619e42ee77afa233a42a11559b0b73fb2aaea88ac*"1GCVKTG1KaHUUirtjGMuiCjKSs6hb1wbHa8ʛ$J +˛$χ-@00000000000000000016b13ec3d5ccaf37f210c12744b50e7a1d810942245b69"@00000000000000000015361374e41d08da20920e0810cb483fb71faa8f03794f2* + + +1@79d8a960b48a75fad1bc2e171d1c15bd025965767675cff4f06e891a0c319617˛$"@00000000000000000016b13ec3d5ccaf37f210c12744b50e7a1d810942245b69(χ-2 +@3bc5d4fe86c9540b28b77cd09e44ba06322a55e42c132d721241a1fbdde10f70B02683698ee8a50676eb9504d1e2e5b672ee0c8dc3cf2239952ab470f6cb145d2a32 +@3a0c35c99461bfdc415b72c94ca740ebd4143bd8cb371f912ee19d68ef449bc2B0216e8eba18973f44364d0f5b2e1b1b999fd715ca47326a336e869ea5aa5ee5308B +@79d8a960b48a75fad1bc2e171d1c15bd025965767675cff4f06e891a0c319617""1ANp2AQCVwhjNJt9W7c3NyPtxsAoiqn3nJ"UOP_DUP OP_HASH160 66d91e1b1487483de206fcc45d6454f0fb7ef5d0 OP_EQUALVERIFY OP_CHECKSIG*276a91466d91e1b1487483de206fcc45d6454f0fb7ef5d088ac*"1ANp2AQCVwhjNJt9W7c3NyPtxsAoiqn3nJ8˛$J  +ѱ@79d8a960b48a75fad1bc2e171d1c15bd025965767675cff4f06e891a0c319617"!1th32UueWx9mNPFH5kxkTM6o7YHdbjtcm"UOP_DUP OP_HASH160 09c6a22e7feb401808632772fb3a542698d1dfe7 OP_EQUALVERIFY OP_CHECKSIG*276a91409c6a22e7feb401808632772fb3a542698d1dfe788ac*!1th32UueWx9mNPFH5kxkTM6o7YHdbjtcm8˛$J  + @79d8a960b48a75fad1bc2e171d1c15bd025965767675cff4f06e891a0c319617""12K4xp72GzzC6zkv3857ZW9AGxqQC5dZHN"UOP_DUP OP_HASH160 0e62ebaf038d9ba14b3aab9e61e6fa0754c6b064 OP_EQUALVERIFY OP_CHECKSIG*276a9140e62ebaf038d9ba14b3aab9e61e6fa0754c6b06488ac*"12K4xp72GzzC6zkv3857ZW9AGxqQC5dZHN8˛$J  + + +1@91aa770a799e567fa198f2e510d403844cce9ea592073ef1279009f97541b35d˛$"@00000000000000000016b13ec3d5ccaf37f210c12744b50e7a1d810942245b69(χ-2 +@79d8a960b48a75fad1bc2e171d1c15bd025965767675cff4f06e891a0c319617B0282671feca02af2d62a40623c91dabe8851d7357daf4e3e5a33cf22971070cc1f2 +@7c458d570e61b1ee227f707e4a3c6e72984f182980ddfa8b72ee22d85a370427B0237e0afc5e1785f476216324792a328b8a72ebf0f4ec34be84b236941c6954679B +@91aa770a799e567fa198f2e510d403844cce9ea592073ef1279009f97541b35d""1Jss8RtDf2K7poF18k1ZrCkS7h2NC8Hds9"UOP_DUP OP_HASH160 c418c7fee331f6cd6e6408552223576af79b748c OP_EQUALVERIFY OP_CHECKSIG*276a914c418c7fee331f6cd6e6408552223576af79b748c88ac*"1Jss8RtDf2K7poF18k1ZrCkS7h2NC8Hds98˛$J  +@91aa770a799e567fa198f2e510d403844cce9ea592073ef1279009f97541b35d""18KeU9keujNfoa72JLqNShxDGh5TvF6nMW"UOP_DUP OP_HASH160 504fa5051ee214d5662d04ddd413fa3463406753 OP_EQUALVERIFY OP_CHECKSIG*276a914504fa5051ee214d5662d04ddd413fa346340675388ac*"18KeU9keujNfoa72JLqNShxDGh5TvF6nMW8˛$J  +ͺ@91aa770a799e567fa198f2e510d403844cce9ea592073ef1279009f97541b35d""1Kqz5mFrV6atPu4Nz82ppn4XjPrEEoF6zE"UOP_DUP OP_HASH160 ceb5e14996c1d303b66669c06baf7c8ee1af525f OP_EQUALVERIFY OP_CHECKSIG*276a914ceb5e14996c1d303b66669c06baf7c8ee1af525f88ac*"1Kqz5mFrV6atPu4Nz82ppn4XjPrEEoF6zE8˛$J  + + +1@fc182dcb2acf95e3eb8655e5f82fba5f7e62ac7ee72fb355f322edaacacb8943˛$"@00000000000000000016b13ec3d5ccaf37f210c12744b50e7a1d810942245b69(χ-2 +@f51801a2c5011b9b2b5032808116c6fae9e0a2d1f6d26314fafcf20e93080df5B02e601c63491ee629c7e28fd123803f748cf2be9e7f0aa3079f768385ea7a68e022 +@1d19d3b003d152e7403fea11aeaef34587586307b58e10089bb39fae9db9cda9B028fa5922cfb4c9e3d8c8c602baa5b38b718b85367fdacf6e61c5616d1eb2da04aB + @fc182dcb2acf95e3eb8655e5f82fba5f7e62ac7ee72fb355f322edaacacb8943""1KsBPYVgS7arC8Gk6BPFZi2Uc3AyDT6RCv"UOP_DUP OP_HASH160 ceefbbf6248cfa21dd4c8ed136b8d20db413cba2 OP_EQUALVERIFY OP_CHECKSIG*276a914ceefbbf6248cfa21dd4c8ed136b8d20db413cba288ac*"1KsBPYVgS7arC8Gk6BPFZi2Uc3AyDT6RCv8˛$J  +@fc182dcb2acf95e3eb8655e5f82fba5f7e62ac7ee72fb355f322edaacacb8943"!1nUYC5qp4rJC2Z5CTJukc3om2rzpK5ANS"UOP_DUP OP_HASH160 0899b4a61a584cd2903309b7b9a4253f7f2d1060 OP_EQUALVERIFY OP_CHECKSIG*276a9140899b4a61a584cd2903309b7b9a4253f7f2d106088ac*!1nUYC5qp4rJC2Z5CTJukc3om2rzpK5ANS8˛$J  +¦@fc182dcb2acf95e3eb8655e5f82fba5f7e62ac7ee72fb355f322edaacacb8943""1K5gT1fPqHgDyjUWy5jq6y5vrrWaJUYyAy"UOP_DUP OP_HASH160 c654db9e23d48472fe2671bc43b7a3b9bdfb26b9 OP_EQUALVERIFY OP_CHECKSIG*276a914c654db9e23d48472fe2671bc43b7a3b9bdfb26b988ac*"1K5gT1fPqHgDyjUWy5jq6y5vrrWaJUYyAy8˛$J  + + +1@17f921a9b0809f429ec90217a49ab0d145ada9d035d35f143d4f2dfa221598af˛$"@00000000000000000016b13ec3d5ccaf37f210c12744b50e7a1d810942245b69(χ-2 +@7ed2f106ced42218aef5912e96924a54f9670423347a9eaf73b9c2c0fec8cf54B02dd186acf09281adea5fd94e85fe327da85e054516cef29c615918dd8f28afbb02 +@fc182dcb2acf95e3eb8655e5f82fba5f7e62ac7ee72fb355f322edaacacb8943B039d9ee3f6e25b11e0d7c927e960367b6ccda397ccac77ccad01d5b7d96b296157B + +@17f921a9b0809f429ec90217a49ab0d145ada9d035d35f143d4f2dfa221598af""1CNgnPKhYw8cax6gMayjErrACuvJnUBfza"UOP_DUP OP_HASH160 7cc353dc02f9ea0a50d6f01703fd1bc01c65a14d OP_EQUALVERIFY OP_CHECKSIG*276a9147cc353dc02f9ea0a50d6f01703fd1bc01c65a14d88ac*"1CNgnPKhYw8cax6gMayjErrACuvJnUBfza8˛$J  +@17f921a9b0809f429ec90217a49ab0d145ada9d035d35f143d4f2dfa221598af""12Nh9H3Lh2d7a84C8JepMNocbn41u48vhp"UOP_DUP OP_HASH160 0f125ed3ca8c8aa416c09da4c9948dc572768d4c OP_EQUALVERIFY OP_CHECKSIG*276a9140f125ed3ca8c8aa416c09da4c9948dc572768d4c88ac*"12Nh9H3Lh2d7a84C8JepMNocbn41u48vhp8˛$J  +@17f921a9b0809f429ec90217a49ab0d145ada9d035d35f143d4f2dfa221598af""19VFTKcoZ5WSRaXcUDGheCgi62NU2c7jSh"UOP_DUP OP_HASH160 5d18b7f85beb107ac8f26908ae71694d504449bc OP_EQUALVERIFY OP_CHECKSIG*276a9145d18b7f85beb107ac8f26908ae71694d504449bc88ac*"19VFTKcoZ5WSRaXcUDGheCgi62NU2c7jSh8˛$J ̛$-@00000000000000000018c39481ec5fa76da2173f3fdb922f8cf92aee03dcc946"@00000000000000000016b13ec3d5ccaf37f210c12744b50e7a1d810942245b692͛$ю-@000000000000000000072f8e295d6df6f025945f940a88ab7aadb3682ca46dde"@00000000000000000018c39481ec5fa76da2173f3fdb922f8cf92aee03dcc9462 Λ$Ω-@0000000000000000000520d88063f0d9be0bddd160d8a8552629acf2b2402d52"@000000000000000000072f8e295d6df6f025945f940a88ab7aadb3682ca46dde2 + + + +1@07975fee5c8faf1d54a5d393e1e358cfbc237054eadd9a05460bfc409b05615eΛ$"@0000000000000000000520d88063f0d9be0bddd160d8a8552629acf2b2402d52(Ω-2 +@2e3b10b80ffec24d54a9d6c48fbe5912251920c740cbe39136e0f9c2ef6e1297B036f72a8fdeac8c859eaefd5cdb5cce87e484e51030f071c97d752f6c0356779492 +@2e3b10b80ffec24d54a9d6c48fbe5912251920c740cbe39136e0f9c2ef6e1297B03d7f90ba94548076cccc488d7342eb01e2228abd5c96ecb72a264728f0b9abbe7B +y@07975fee5c8faf1d54a5d393e1e358cfbc237054eadd9a05460bfc409b05615e""1HWRXUBtsppmU2nx4xq1FRVddCRjvyqqTh"UOP_DUP OP_HASH160 b5128c52fcc15ef2e7431982d11653add2d8bbdb OP_EQUALVERIFY OP_CHECKSIG*276a914b5128c52fcc15ef2e7431982d11653add2d8bbdb88ac*"1HWRXUBtsppmU2nx4xq1FRVddCRjvyqqTh8Λ$J  +@07975fee5c8faf1d54a5d393e1e358cfbc237054eadd9a05460bfc409b05615e""1H6jfWPXBXu2tWQQYPxU4wr7y5JrGwZSgu"UOP_DUP OP_HASH160 b097b4d5c281ea6dab21985efd06ec6490dcd302 OP_EQUALVERIFY OP_CHECKSIG*276a914b097b4d5c281ea6dab21985efd06ec6490dcd30288ac*"1H6jfWPXBXu2tWQQYPxU4wr7y5JrGwZSgu8Λ$J  +S@07975fee5c8faf1d54a5d393e1e358cfbc237054eadd9a05460bfc409b05615e""1MjXtEStFRPYVNdMBVZ7SrR9ZoxNQqa6FN"UOP_DUP OP_HASH160 e36dc422e5a4c189bc18d0b43e93453acbe19ef3 OP_EQUALVERIFY OP_CHECKSIG*276a914e36dc422e5a4c189bc18d0b43e93453acbe19ef388ac*"1MjXtEStFRPYVNdMBVZ7SrR9ZoxNQqa6FN8Λ$J ' ϛ$ƈ-@00000000000000000012b75a89a24de7c8a9bbd4ecf3991e8f154bf61812f00b"@0000000000000000000520d88063f0d9be0bddd160d8a8552629acf2b2402d522 + + + +1@d66cfde6e07bc92bc4a81bb77797ba2a6a3c78f0d0507c78e85173edb4b32fc1ϛ$"@00000000000000000012b75a89a24de7c8a9bbd4ecf3991e8f154bf61812f00b(ƈ-2 +@91aa770a799e567fa198f2e510d403844cce9ea592073ef1279009f97541b35dB0247503255bed9194191d2148e67aa3fb8a99c9b64f70b5de4872a5613d6bb3ff02 +@7b4c0fb1d0abb37b178a94cf75f2cc16f0a3296e9961c6e064b3efaacfd268faB028185bca1129f54986fb3d9e0414d422c691f3abd8ede27f640239684f035134bB +@d66cfde6e07bc92bc4a81bb77797ba2a6a3c78f0d0507c78e85173edb4b32fc1""1CoZycZUHdhxz1AHbxicU43DrNP9SyU5sV"UOP_DUP OP_HASH160 81780b7f9a6f442c90c9ec6b93051fcbcd63f65c OP_EQUALVERIFY OP_CHECKSIG*276a91481780b7f9a6f442c90c9ec6b93051fcbcd63f65c88ac*"1CoZycZUHdhxz1AHbxicU43DrNP9SyU5sV8ϛ$J  +@d66cfde6e07bc92bc4a81bb77797ba2a6a3c78f0d0507c78e85173edb4b32fc1""1BBf9CeLjtiau9GFVasA3svq4u9LguWsna"UOP_DUP OP_HASH160 6fb5419bff8b2254a17389b8898cc2d8fd2683b2 OP_EQUALVERIFY OP_CHECKSIG*276a9146fb5419bff8b2254a17389b8898cc2d8fd2683b288ac*"1BBf9CeLjtiau9GFVasA3svq4u9LguWsna8ϛ$J  +٨@d66cfde6e07bc92bc4a81bb77797ba2a6a3c78f0d0507c78e85173edb4b32fc1""15aDpJ3JR7wxbDvA6MzSVk4J6jZauHShFQ"UOP_DUP OP_HASH160 3228ed79cd2ccfa664e65a38d0b14bc9dd557bdb OP_EQUALVERIFY OP_CHECKSIG*276a9143228ed79cd2ccfa664e65a38d0b14bc9dd557bdb88ac*"15aDpJ3JR7wxbDvA6MzSVk4J6jZauHShFQ8ϛ$J Л$ʈ-@000000000000000000068e38e68fd90ed7549ebdec0cdf51be0ea368f12c2f32"@00000000000000000012b75a89a24de7c8a9bbd4ecf3991e8f154bf61812f00b2ћ$و-@00000000000000000016220691c29d33a49976e49da2b0906645f5f04a734cd5"@000000000000000000068e38e68fd90ed7549ebdec0cdf51be0ea368f12c2f322 + + +1@01f338eaf8827932b3e33ce516b01f3f72a68ba818dc4731dd0025fcf0b3ccd0ћ$"@00000000000000000016220691c29d33a49976e49da2b0906645f5f04a734cd5(و-2 +@d66cfde6e07bc92bc4a81bb77797ba2a6a3c78f0d0507c78e85173edb4b32fc1B028df91761617dd633ee663bfd4ecddcb5cc0dd58c6bda1aad51baa16892f0d8d42 +@f78742d1aae614c36c4cc695e78b45dcbd5a7482a86324c13380c2229aa2b79eB0344eb0d92e676bf0b118032a50e73cae198628caa7e90bd3c3ce6eb0d6a4fc528B +ԡ@01f338eaf8827932b3e33ce516b01f3f72a68ba818dc4731dd0025fcf0b3ccd0""1FPwTRwzmZppjf6hiYsSKtexHxAGtwZuuM"UOP_DUP OP_HASH160 9de85e9496ecf67caf92657050b9e60afa1b8e1b OP_EQUALVERIFY OP_CHECKSIG*276a9149de85e9496ecf67caf92657050b9e60afa1b8e1b88ac*"1FPwTRwzmZppjf6hiYsSKtexHxAGtwZuuM8ћ$J  +@01f338eaf8827932b3e33ce516b01f3f72a68ba818dc4731dd0025fcf0b3ccd0""1CVXcwvuxEmjeCbLMKLneTkfiap4hRXhiD"UOP_DUP OP_HASH160 7e0e97351d77d409406e770d39b45a23f3f31258 OP_EQUALVERIFY OP_CHECKSIG*276a9147e0e97351d77d409406e770d39b45a23f3f3125888ac*"1CVXcwvuxEmjeCbLMKLneTkfiap4hRXhiD8ћ$J  +@01f338eaf8827932b3e33ce516b01f3f72a68ba818dc4731dd0025fcf0b3ccd0""19MhdrKLsgBUwuQPA8CJEbFpccAH4hRuCY"UOP_DUP OP_HASH160 5bab3f0627aef9cfacdd342d9ea6c6238abc42c3 OP_EQUALVERIFY OP_CHECKSIG*276a9145bab3f0627aef9cfacdd342d9ea6c6238abc42c388ac*"19MhdrKLsgBUwuQPA8CJEbFpccAH4hRuCY8ћ$J  + + +1@935999dc864e7ec75c73a7d9d1f3d6eea7d45212484a582094a66f53a57dd106ћ$"@00000000000000000016220691c29d33a49976e49da2b0906645f5f04a734cd5(و-2 +@17f921a9b0809f429ec90217a49ab0d145ada9d035d35f143d4f2dfa221598afB021a36a7a400fba517c7feb9ae274047d732f413534dc2dbb824cce8c02721ecc72 +@d5a56838363e1e650d529309553ab6a48e65f1f8590901281e330531759f032cB032dab532d5aa5a6179a91f2239cd11e03cd76e13706b5588bc2de788dba37e64fB +̖ +@935999dc864e7ec75c73a7d9d1f3d6eea7d45212484a582094a66f53a57dd106""1GxBGwGGghhkfC3XyCP8DMHubcys3SndpC"UOP_DUP OP_HASH160 aef9577225d0350607e8e1d7a7550be725f9b2a2 OP_EQUALVERIFY OP_CHECKSIG*276a914aef9577225d0350607e8e1d7a7550be725f9b2a288ac*"1GxBGwGGghhkfC3XyCP8DMHubcys3SndpC8ћ$J  +@935999dc864e7ec75c73a7d9d1f3d6eea7d45212484a582094a66f53a57dd106""1AVP1sCnyzXvQDNGvod7E5KNrxhghk971u"UOP_DUP OP_HASH160 681727f7478fcc828bf743c5784389c0d0cee33f OP_EQUALVERIFY OP_CHECKSIG*276a914681727f7478fcc828bf743c5784389c0d0cee33f88ac*"1AVP1sCnyzXvQDNGvod7E5KNrxhghk971u8ћ$J  +@935999dc864e7ec75c73a7d9d1f3d6eea7d45212484a582094a66f53a57dd106""1PhxhWPXaqWy94dBtorruVWhtFZreu3MTX"UOP_DUP OP_HASH160 f911e67ffa8015bd8015a935f5ab7b4467edb118 OP_EQUALVERIFY OP_CHECKSIG*276a914f911e67ffa8015bd8015a935f5ab7b4467edb11888ac*"1PhxhWPXaqWy94dBtorruVWhtFZreu3MTX8ћ$J  қ$䇉-@0000000000000000001589d26492f146f776180d2609358e3b852c624270c11e"@00000000000000000016220691c29d33a49976e49da2b0906645f5f04a734cd52 + + + +1@d0f5c6017c8b4ef4edce349e920a3ee8f6e717033276d0821b999003d6a25a00қ$"@0000000000000000001589d26492f146f776180d2609358e3b852c624270c11e(䇉-2 +@01f338eaf8827932b3e33ce516b01f3f72a68ba818dc4731dd0025fcf0b3ccd0B031f78c619227d665f10b0133d57b2b5c49199401de67e40be64d4f58fee6172492 +@d4deb23e68dfb79ed854def729773b5226917a6a772e73cc5b432c9e17aae950B02c23bdecba45365441007a29f623d8ad5aeac0d92a09dafdeb88e24b03fb4b852B +@d0f5c6017c8b4ef4edce349e920a3ee8f6e717033276d0821b999003d6a25a00""12ZVC6DMwv6keHdA7J9GFBLtm5CckskeBu"UOP_DUP OP_HASH160 111cf82a30298d9ef2a3e4a089c7b04703b31cdd OP_EQUALVERIFY OP_CHECKSIG*276a914111cf82a30298d9ef2a3e4a089c7b04703b31cdd88ac*"12ZVC6DMwv6keHdA7J9GFBLtm5CckskeBu8қ$J  +@d0f5c6017c8b4ef4edce349e920a3ee8f6e717033276d0821b999003d6a25a00""1EuewMjQhnn7afsgsFNUdBh4kfX1g3zBYd"UOP_DUP OP_HASH160 988eeeff11339259f2d789f29a18dc8fa06282d2 OP_EQUALVERIFY OP_CHECKSIG*276a914988eeeff11339259f2d789f29a18dc8fa06282d288ac*"1EuewMjQhnn7afsgsFNUdBh4kfX1g3zBYd8қ$J  +ק@d0f5c6017c8b4ef4edce349e920a3ee8f6e717033276d0821b999003d6a25a00""1DWAioyaXQChuaVW8gh7PnAdMHVDC2z93i"UOP_DUP OP_HASH160 8925afd642b8ac011d734ad20b8db9f723328571 OP_EQUALVERIFY OP_CHECKSIG*276a9148925afd642b8ac011d734ad20b8db9f72332857188ac*"1DWAioyaXQChuaVW8gh7PnAdMHVDC2z93i8қ$J ӛ$-@0000000000000000000bfa19d55e3a9cb148b427112de933147acd23468c8ed7"@0000000000000000001589d26492f146f776180d2609358e3b852c624270c11e2 + + +1@78a4bd282d62ddddf3c977a66a6b638e13e9b64f06f59d92251b9b695916d9f9ӛ$"@0000000000000000000bfa19d55e3a9cb148b427112de933147acd23468c8ed7(-2 +@d0f5c6017c8b4ef4edce349e920a3ee8f6e717033276d0821b999003d6a25a00B035bc059ec55a1d7ecdba758119a34dcffa36b0423448669de811da043c003f4a72 +@a0a1b9fc871d523a03e2f45d6446f4670be293c28b049c897ed8210efcd176c9B0287ee3ce1595e49715300fe2ec9710daedebbb4ef68b03ae62157be0bd1753c5dB +@78a4bd282d62ddddf3c977a66a6b638e13e9b64f06f59d92251b9b695916d9f9""1KrrmpY5Ggqos6tzcv1W6zrX8XkHPTH371"UOP_DUP OP_HASH160 cee031c692174759e548aa493fc53581d2761f8c OP_EQUALVERIFY OP_CHECKSIG*276a914cee031c692174759e548aa493fc53581d2761f8c88ac*"1KrrmpY5Ggqos6tzcv1W6zrX8XkHPTH3718ӛ$J  +@78a4bd282d62ddddf3c977a66a6b638e13e9b64f06f59d92251b9b695916d9f9""12AjMvpKydDCGkDDnipzj7tRT3JgfSVX56"UOP_DUP OP_HASH160 0ccf3b00797fec6fefa22d54477dfa33de602f42 OP_EQUALVERIFY OP_CHECKSIG*276a9140ccf3b00797fec6fefa22d54477dfa33de602f4288ac*"12AjMvpKydDCGkDDnipzj7tRT3JgfSVX568ӛ$J  +@78a4bd282d62ddddf3c977a66a6b638e13e9b64f06f59d92251b9b695916d9f9""1FYVM93iZNub64U4eE4JfTYJQqzkqFhcAu"UOP_DUP OP_HASH160 9f8651a085e83d1dd3d5b78a4bc3966f650b6d61 OP_EQUALVERIFY OP_CHECKSIG*276a9149f8651a085e83d1dd3d5b78a4bc3966f650b6d6188ac*"1FYVM93iZNub64U4eE4JfTYJQqzkqFhcAu8ӛ$J  + + +1@e0b3914f60eac001d2fc6ff61b1bac6cf942216155c2baff5d67971304f83fe3ӛ$"@0000000000000000000bfa19d55e3a9cb148b427112de933147acd23468c8ed7(-2 +@6330eca75d47274514cad3b892b1859e51c762251db742ca2841c9fc7f6253e1B035a07788b4272517984d7d226e8a9a0cbd181a218dae43112bd9cd5ecb379ece52 +@6330eca75d47274514cad3b892b1859e51c762251db742ca2841c9fc7f6253e1B02ed6584a1ff5c82f530216b33d0fe720cf52b65cbb17f8efccfb10e4f8e5bebbaB +Ժ@e0b3914f60eac001d2fc6ff61b1bac6cf942216155c2baff5d67971304f83fe3""1B4kbWkHzaEEoBXzdQi5ofT6qQLn44YVm6"UOP_DUP OP_HASH160 6e66e5a444c8564ac2ca9209135aee8e59e5f74f OP_EQUALVERIFY OP_CHECKSIG*276a9146e66e5a444c8564ac2ca9209135aee8e59e5f74f88ac*"1B4kbWkHzaEEoBXzdQi5ofT6qQLn44YVm68ӛ$J  +@e0b3914f60eac001d2fc6ff61b1bac6cf942216155c2baff5d67971304f83fe3""1LB3knby8uBekbin1PZQPapm9Txtu4Cq1a"UOP_DUP OP_HASH160 d250d966165a777b6d9d8a2ec02934aca0bfe481 OP_EQUALVERIFY OP_CHECKSIG*276a914d250d966165a777b6d9d8a2ec02934aca0bfe48188ac*"1LB3knby8uBekbin1PZQPapm9Txtu4Cq1a8ӛ$J  + @e0b3914f60eac001d2fc6ff61b1bac6cf942216155c2baff5d67971304f83fe3""1Lbj6bMYHtaHfjvCuia8k9SG2fpBN1teXi"UOP_DUP OP_HASH160 d6fbac44125006ce7fb254b3246cde573987446f OP_EQUALVERIFY OP_CHECKSIG*276a914d6fbac44125006ce7fb254b3246cde573987446f88ac*"1Lbj6bMYHtaHfjvCuia8k9SG2fpBN1teXi8ӛ$J u ԛ$É-@0000000000000000001315832f1df23b5e084e33927f2da8d09cadf0747baf4f"@0000000000000000000bfa19d55e3a9cb148b427112de933147acd23468c8ed72 + + + +1@26f360377a5b31f4941e81b741849484f1034df61104912c04b918528f783332ԛ$"@0000000000000000001315832f1df23b5e084e33927f2da8d09cadf0747baf4f(É-2 +@420856a3125810abc3cb4ac2c430c7bd6851b03d941568e6e1ae1524efce7455B03d4b5561079f03c5887cb2dbb7a8a1f0d5f63f39484d6520bb68b245dcaee37b52 +@e38930b751d17ea5bfd31085ff75cc3b8e0f9d288efdc857d94c7c1c7c60ba19B02dd1f42ea745e70c893114de55a605756beeca911374d033c425bd68b041e9032B +@26f360377a5b31f4941e81b741849484f1034df61104912c04b918528f783332""15fEK2mF7Hsq1ZErxJytUY9KxxJssbJjqp"UOP_DUP OP_HASH160 331b6bc9124567828bd2457af84a3a0099499de7 OP_EQUALVERIFY OP_CHECKSIG*276a914331b6bc9124567828bd2457af84a3a0099499de788ac*"15fEK2mF7Hsq1ZErxJytUY9KxxJssbJjqp8ԛ$J  +N@26f360377a5b31f4941e81b741849484f1034df61104912c04b918528f783332""15f3daX6V68d3mSEYn3PeKrv91sACW1B3q"UOP_DUP OP_HASH160 33128171c413cd1c8a281a84b020f2de1de44d50 OP_EQUALVERIFY OP_CHECKSIG*276a91433128171c413cd1c8a281a84b020f2de1de44d5088ac*"15f3daX6V68d3mSEYn3PeKrv91sACW1B3q8ԛ$J  +&@26f360377a5b31f4941e81b741849484f1034df61104912c04b918528f783332""14BJxcu4czj9Q4r9o6MhzfSh5zpevC7rLG"UOP_DUP OP_HASH160 22db874180015d5969ebc1123c4a2061dbb404ec OP_EQUALVERIFY OP_CHECKSIG*276a91422db874180015d5969ebc1123c4a2061dbb404ec88ac*"14BJxcu4czj9Q4r9o6MhzfSh5zpevC7rLG8ԛ$J ՛$։-@00000000000000000006a87cc2aacfde9c82d9371432688025eb319f9397828b"@0000000000000000001315832f1df23b5e084e33927f2da8d09cadf0747baf4f2֛$ۉ-@0000000000000000000cf554ca12597782dbc1151d83c0b93bc69ef86a8e2560"@00000000000000000006a87cc2aacfde9c82d9371432688025eb319f9397828b2כ$߉-@00000000000000000003f5190d5ac46ada3bf5ac97678719389c36c7c3ed5ddb"@0000000000000000000cf554ca12597782dbc1151d83c0b93bc69ef86a8e25602؛$މ-@00000000000000000003bee72b4fbf841b369d2876f9d3e1a2917658dc00eac9"@00000000000000000003f5190d5ac46ada3bf5ac97678719389c36c7c3ed5ddb2ٛ$-@0000000000000000000870a8e897f4395c771b036718533718be946a23373f38"@00000000000000000003bee72b4fbf841b369d2876f9d3e1a2917658dc00eac92ڛ$܊-@0000000000000000000cabcb916c704484ad8b7013bf0d92b782b035bfd3f2cd"@0000000000000000000870a8e897f4395c771b036718533718be946a23373f382 + + +1@a179293c84bb36f442cb46a888fbdeb1576b1ea915e42f544f8f1989307da771ڛ$"@0000000000000000000cabcb916c704484ad8b7013bf0d92b782b035bfd3f2cd(܊-2 +@2f022e374c917486ca50dde0414c9f60cf5b0053e19e239c874434affc1a1d9eB03950db835f1adb8d9938b6d09debae084a84a8f718456702a9d3e1f0c8db265b12 +@bce85892653f45685e4edf31c34782fef9f3261d6098e179d18be9a572e8c75eB0355a8e6eb6367825eedfba2f7c899ee74e783adcb3d1a7bc3c4882b728273e5ccB +h@a179293c84bb36f442cb46a888fbdeb1576b1ea915e42f544f8f1989307da771""1Bt1UCEBc9mw2ByVh6yJHqtAhNo6FtvcLH"UOP_DUP OP_HASH160 7756dcff368c67851db118558e64c61657d7f33f OP_EQUALVERIFY OP_CHECKSIG*276a9147756dcff368c67851db118558e64c61657d7f33f88ac*"1Bt1UCEBc9mw2ByVh6yJHqtAhNo6FtvcLH8ڛ$J  +@a179293c84bb36f442cb46a888fbdeb1576b1ea915e42f544f8f1989307da771""1F4xtAnXXsVvveYSaY8od4tPFiwWd5d9Ua"UOP_DUP OP_HASH160 9a51a8303470f2c75cda2ae55accf30ce5821efa OP_EQUALVERIFY OP_CHECKSIG*276a9149a51a8303470f2c75cda2ae55accf30ce5821efa88ac*"1F4xtAnXXsVvveYSaY8od4tPFiwWd5d9Ua8ڛ$J  +f@a179293c84bb36f442cb46a888fbdeb1576b1ea915e42f544f8f1989307da771""16Tgz1FGBPqm8tYv1gDxYyZ7VZDorcVZMu"UOP_DUP OP_HASH160 3be4d1e5c97d6a0b0db3028ceb0bce408f971e73 OP_EQUALVERIFY OP_CHECKSIG*276a9143be4d1e5c97d6a0b0db3028ceb0bce408f971e7388ac*"16Tgz1FGBPqm8tYv1gDxYyZ7VZDorcVZMu8ڛ$J  + +1@4e305d3fb35af9c8d727bb0f7adff6b2882adbdd7007c99a805832fefd8fa87eڛ$"@0000000000000000000cabcb916c704484ad8b7013bf0d92b782b035bfd3f2cd(܊-2 +@df740039062a90d632af36ff2e007ba913f059200f29c2e122126f27d387ed02B021d779c4934947a027017ced2701fa56899880ba1a014b306df6070c384693e7e2 +@e356e6f7e60c18cf99a4564d9aa004eabd73aea81d351b9bc36df99abeec825eB031ada611af64dec4a528a4b5c29bcfac4849dd6155267ceb68aed01b3dc69b4cd2 +@11cc14d55d8bd13dfda8d27bcfdd3656b0a57ae91d713c49decd4caa9bba390fB023d0b9a724f9faeb3cc05afc3c319e36723754548a038118cfa9e43536d72d3842 +@f9fe8ab1448c5938e722daf8bd20f16ce38930f5858348cbdec8b1a815080050B02f83ea0a649c71257a96802ff5a57fd83aaf4c68571f4779597a930b170305d22B +@4e305d3fb35af9c8d727bb0f7adff6b2882adbdd7007c99a805832fefd8fa87e""16xiBz6f4rHYs3p8DNU6tqA5eHFM8TkKKN"UOP_DUP OP_HASH160 4161e3d61e9d2a7c392d3580560577b39b668e5f OP_EQUALVERIFY OP_CHECKSIG*276a9144161e3d61e9d2a7c392d3580560577b39b668e5f88ac*"16xiBz6f4rHYs3p8DNU6tqA5eHFM8TkKKN8ڛ$J  +@4e305d3fb35af9c8d727bb0f7adff6b2882adbdd7007c99a805832fefd8fa87e""1KkNM6vt2iYTYdc6xxy8kYzWL9oSh12ZFM"UOP_DUP OP_HASH160 cda5f83e524082dec2608922763b17213be9a774 OP_EQUALVERIFY OP_CHECKSIG*276a914cda5f83e524082dec2608922763b17213be9a77488ac*"1KkNM6vt2iYTYdc6xxy8kYzWL9oSh12ZFM8ڛ$J  +@4e305d3fb35af9c8d727bb0f7adff6b2882adbdd7007c99a805832fefd8fa87e""19RS6Kv9UMf9yXU2nttnFyMP3Cn9SJfNU5"UOP_DUP OP_HASH160 5c5fef5969afd7eb2dfa0934fa65b4ae48ca1d3f OP_EQUALVERIFY OP_CHECKSIG*276a9145c5fef5969afd7eb2dfa0934fa65b4ae48ca1d3f88ac*"19RS6Kv9UMf9yXU2nttnFyMP3Cn9SJfNU58ڛ$J ۛ$֘-@0000000000000000000b2eeeb69eed41f97053edbf18db51045ade1f34d2a66c"@0000000000000000000cabcb916c704484ad8b7013bf0d92b782b035bfd3f2cd2aܛ$㸋-@000000000000000000165ac42525607d200fabb212b4b74ad167b1e60971e6eb"@0000000000000000000b2eeeb69eed41f97053edbf18db51045ade1f34d2a66c2` + + +1@04a17e030a0382fba3d37cd558205923a8d6bba358b0ed894590dd4ae22bcf42ܛ$"@000000000000000000165ac42525607d200fabb212b4b74ad167b1e60971e6eb(㸋-2 +@973873a0c1a08876ab047531758c5e5fcef67c06a9b7c9d5641b1f108d4669dcB025b7a2d6d0fb86571f972d98e763f8bad550e059ab4b315ec46c1d6aa7b7184522 +@24d0b5648f66f965ed14508dd53600c135df51e99c150ba93cb03cc10f994002B022866bb088173882502979aff941f575963f6aba093e198cf180ae049903f8edcB +@04a17e030a0382fba3d37cd558205923a8d6bba358b0ed894590dd4ae22bcf42""19tUNYmBudtL1aVUE9zvgf7wNQghieuLVM"UOP_DUP OP_HASH160 617d11a3f32b4a442e66ef234c2de7ee949a94e3 OP_EQUALVERIFY OP_CHECKSIG*276a914617d11a3f32b4a442e66ef234c2de7ee949a94e388ac*"19tUNYmBudtL1aVUE9zvgf7wNQghieuLVM8ܛ$J  + @04a17e030a0382fba3d37cd558205923a8d6bba358b0ed894590dd4ae22bcf42""1NmEHbTgmeiAHm3FXVcJNRSo3ge2ps2tFU"UOP_DUP OP_HASH160 eeb808d26aa9375b30af9d67c00fa7f6f55ea3f8 OP_EQUALVERIFY OP_CHECKSIG*276a914eeb808d26aa9375b30af9d67c00fa7f6f55ea3f888ac*"1NmEHbTgmeiAHm3FXVcJNRSo3ge2ps2tFU8ܛ$J  +_@04a17e030a0382fba3d37cd558205923a8d6bba358b0ed894590dd4ae22bcf42""1EcdckDUnYrZYE6a15i7gZ4LsLJGdNi6qZ"UOP_DUP OP_HASH160 9556c274d501bc2c894d34b999a22bc76c2742a3 OP_EQUALVERIFY OP_CHECKSIG*276a9149556c274d501bc2c894d34b999a22bc76c2742a388ac*"1EcdckDUnYrZYE6a15i7gZ4LsLJGdNi6qZ8ܛ$J  + + +1@98666012e22d9e3978568480b1932754979e8d7c3083f1e9b537956369e24a1aܛ$"@000000000000000000165ac42525607d200fabb212b4b74ad167b1e60971e6eb(㸋-2 +@a8b75209ad1b9ed50126907cd156bb71d0466d21316b4773db08bdafcf021b6fB038ad948c0ba941a98428b0d7b40a27b1db0a75a3fc5cc3c30c549a949ea2491922 +@08ca2b3fdff5353ae3ea4219ccd6eb32953fba8277690f0bd68e0ce17616a019B036fa3c48619a1b6a78723ea5c606a95bcc5ba5d45de14a17159bda2a656987b29B + +@98666012e22d9e3978568480b1932754979e8d7c3083f1e9b537956369e24a1a""13aezgU5sKc1JMbAqfuhCumh3qFchjS3sp"UOP_DUP OP_HASH160 1c4db1cb6d0659fdef035c662180cb0e69797775 OP_EQUALVERIFY OP_CHECKSIG*276a9141c4db1cb6d0659fdef035c662180cb0e6979777588ac*"13aezgU5sKc1JMbAqfuhCumh3qFchjS3sp8ܛ$J  + @98666012e22d9e3978568480b1932754979e8d7c3083f1e9b537956369e24a1a""1AFzz59dDZS1qrQaya73CFB4usgTybxxra"UOP_DUP OP_HASH160 658f5bad9df3725e63a57a1d24641d2a0d4c45c3 OP_EQUALVERIFY OP_CHECKSIG*276a914658f5bad9df3725e63a57a1d24641d2a0d4c45c388ac*"1AFzz59dDZS1qrQaya73CFB4usgTybxxra8ܛ$J  +̀U@98666012e22d9e3978568480b1932754979e8d7c3083f1e9b537956369e24a1a""15HVQKhqnMBYGy63BNK5K4saMmzBUFFKBg"UOP_DUP OP_HASH160 2efede0ec273d742485d5380722c1ebfbc57cec9 OP_EQUALVERIFY OP_CHECKSIG*276a9142efede0ec273d742485d5380722c1ebfbc57cec988ac*"15HVQKhqnMBYGy63BNK5K4saMmzBUFFKBg8ܛ$J  + + +1@57f1bee9a47a5e4a4ed766db8d34bb6f4f250ca49e0bc29d2e3cef3816983728ܛ$"@000000000000000000165ac42525607d200fabb212b4b74ad167b1e60971e6eb(㸋-2 +@78a4bd282d62ddddf3c977a66a6b638e13e9b64f06f59d92251b9b695916d9f9B03d456d7be0a0c4481415f72575b5149255f8a5edc0df68a86be463f4260e221272 +@a933db4bed7986fdeb96016f3367ca6aca4a2cddde24249c4cdce0abd9a1cdd6B024915e4b6fdd31f4cfabc1287ac4799703b85d9dbea71835bbc4b1c7be3d55b4bB +@57f1bee9a47a5e4a4ed766db8d34bb6f4f250ca49e0bc29d2e3cef3816983728""1EfGxNZiy83qc4ypt3b41kb1hCtyqn61HD"UOP_DUP OP_HASH160 95d6c291e045e6e515e8cc97d695bbcf28c71602 OP_EQUALVERIFY OP_CHECKSIG*276a91495d6c291e045e6e515e8cc97d695bbcf28c7160288ac*"1EfGxNZiy83qc4ypt3b41kb1hCtyqn61HD8ܛ$J  +@57f1bee9a47a5e4a4ed766db8d34bb6f4f250ca49e0bc29d2e3cef3816983728""14xkJBQD7GDxwCy6FRprAehRQifq2rrDVr"UOP_DUP OP_HASH160 2b7365a7e7bdc60ebdca56de0f1d6df98121ac93 OP_EQUALVERIFY OP_CHECKSIG*276a9142b7365a7e7bdc60ebdca56de0f1d6df98121ac9388ac*"14xkJBQD7GDxwCy6FRprAehRQifq2rrDVr8ܛ$J  +@57f1bee9a47a5e4a4ed766db8d34bb6f4f250ca49e0bc29d2e3cef3816983728""1GEYxu2TDeCG1VsEQ2ujZrvYMQQEPjpzFi"UOP_DUP OP_HASH160 a719f9eb57b59e434a3ae0e9d6c11b8322809cff OP_EQUALVERIFY OP_CHECKSIG*276a914a719f9eb57b59e434a3ae0e9d6c11b8322809cff88ac*"1GEYxu2TDeCG1VsEQ2ujZrvYMQQEPjpzFi8ܛ$J  + + +1@12bb1b53e746d41ee3a10ca33883ee4f3cee92a53ace97d5c29b6eda3cf54da1ܛ$"@000000000000000000165ac42525607d200fabb212b4b74ad167b1e60971e6eb(㸋-2 +@176a69e54279de89595e894248216abe33fe3e69955f8bce48101344a2f2abd7B03a5ab4339acf5cec448f460776ea38a1c4dbfc870808c57357aa71153baf95d022 +@910bd2652cf4b432acd70b3451d6cbff822fb879e8be9bf7bc5894fcf4f810f7B02e95ac6980824bed83cd778699a02a7af8e8eceddadfb701ce7c6747cc5c6de14B +@12bb1b53e746d41ee3a10ca33883ee4f3cee92a53ace97d5c29b6eda3cf54da1""1Je2MHvp5MAvzmgmgcczAfXo4LKU7k3KYs"UOP_DUP OP_HASH160 c17aa7dd0940f8d11f9223dde00d3f5d9d3b1537 OP_EQUALVERIFY OP_CHECKSIG*276a914c17aa7dd0940f8d11f9223dde00d3f5d9d3b153788ac*"1Je2MHvp5MAvzmgmgcczAfXo4LKU7k3KYs8ܛ$J  +@12bb1b53e746d41ee3a10ca33883ee4f3cee92a53ace97d5c29b6eda3cf54da1""17btjqsyBMCKf1evvk88graGjBt4DwK9Ex"UOP_DUP OP_HASH160 486a162fe76863b3a3d9714209a033e0d0b69468 OP_EQUALVERIFY OP_CHECKSIG*276a914486a162fe76863b3a3d9714209a033e0d0b6946888ac*"17btjqsyBMCKf1evvk88graGjBt4DwK9Ex8ܛ$J  +Ѝ@12bb1b53e746d41ee3a10ca33883ee4f3cee92a53ace97d5c29b6eda3cf54da1""1L8wNnEsR8HTYSmqyLmuuxTWFYjYTut1Cg"UOP_DUP OP_HASH160 d1eab128398a842531d7164e481ff31bc55bd720 OP_EQUALVERIFY OP_CHECKSIG*276a914d1eab128398a842531d7164e481ff31bc55bd72088ac*"1L8wNnEsR8HTYSmqyLmuuxTWFYjYTut1Cg8ܛ$J  + + +1@a5581f181eb80d35ab1defd3aec74d8ac65d1c769aa754987fd4465ce84bf919ܛ$"@000000000000000000165ac42525607d200fabb212b4b74ad167b1e60971e6eb(㸋-2 +@fc182dcb2acf95e3eb8655e5f82fba5f7e62ac7ee72fb355f322edaacacb8943B022daed00b78c63b4f065ba129c3f8091a648d3f46170f8e9258b26d99a807bdad2 +@c2fd64c24ec186e430e096bb96d96249f8a1c55df746934b9680361d7fd6203dB036d9dcc32bc9d48c97e9de36a9be749683e1ece7a4bebe3327a4c5bb8cfcb73b8B + @a5581f181eb80d35ab1defd3aec74d8ac65d1c769aa754987fd4465ce84bf919""1PX21BK5amrA1zFy7oyBeJTH75gWBKxGi2"UOP_DUP OP_HASH160 f700155a96fca552eced60bbd2ef210e6bf99eee OP_EQUALVERIFY OP_CHECKSIG*276a914f700155a96fca552eced60bbd2ef210e6bf99eee88ac*"1PX21BK5amrA1zFy7oyBeJTH75gWBKxGi28ܛ$J  +@a5581f181eb80d35ab1defd3aec74d8ac65d1c769aa754987fd4465ce84bf919""13UBvZ1WRDXkyKRUoWDW4Aiz6B4cB7oYws"UOP_DUP OP_HASH160 1b1499d1972435921c392eb4a9e1a16abbf51fb5 OP_EQUALVERIFY OP_CHECKSIG*276a9141b1499d1972435921c392eb4a9e1a16abbf51fb588ac*"13UBvZ1WRDXkyKRUoWDW4Aiz6B4cB7oYws8ܛ$J  +@a5581f181eb80d35ab1defd3aec74d8ac65d1c769aa754987fd4465ce84bf919""15wYRFTQKfd5obk5Eo79XTVFKc8QBi6ESw"UOP_DUP OP_HASH160 3631310ae72cf29fd07ecd40b79ecd134d68178f OP_EQUALVERIFY OP_CHECKSIG*276a9143631310ae72cf29fd07ecd40b79ecd134d68178f88ac*"15wYRFTQKfd5obk5Eo79XTVFKc8QBi6ESw8ܛ$J  + + +1@7ef9d6d3dd901b9b9a8d62dd3c44f6b4d9afba8df40144e10295ff1d81333b14ܛ$"@000000000000000000165ac42525607d200fabb212b4b74ad167b1e60971e6eb(㸋-2 +@081ab28611be9630608158d415f0baabb07f7a78fbe9de84ae6fbe48eb169ee3B03383f37a6ccd5614e74aa6287d3458b8d9ef8324af1c9ac7f0e786256ec3ab9862 +@0f8cea07072ba14d41aa0e2fb14b27cbb543daf81bc14343e00fe9ac524d970aB0300ed91b18ffdd712a7296334dff0d388feb2cad5ca2d8579ca82093422cb032eB +f@7ef9d6d3dd901b9b9a8d62dd3c44f6b4d9afba8df40144e10295ff1d81333b14""15MNAQUFAmuBTJNSdVZqMCKrS6vCuicD7k"UOP_DUP OP_HASH160 2fba7cd6326d458e4b632f89eded6224384dfbee OP_EQUALVERIFY OP_CHECKSIG*276a9142fba7cd6326d458e4b632f89eded6224384dfbee88ac*"15MNAQUFAmuBTJNSdVZqMCKrS6vCuicD7k8ܛ$J  +@7ef9d6d3dd901b9b9a8d62dd3c44f6b4d9afba8df40144e10295ff1d81333b14""1BcgT5peP4djycWdbm1JJ9PRjUCVbtKeiu"UOP_DUP OP_HASH160 7470bf597c0fa1b889acd26a600c102b1b8d8d6b OP_EQUALVERIFY OP_CHECKSIG*276a9147470bf597c0fa1b889acd26a600c102b1b8d8d6b88ac*"1BcgT5peP4djycWdbm1JJ9PRjUCVbtKeiu8ܛ$J  +@7ef9d6d3dd901b9b9a8d62dd3c44f6b4d9afba8df40144e10295ff1d81333b14""1JvBm9iDooLevzR9Vmd8vAXrFjvwp6PZbx"UOP_DUP OP_HASH160 c4892ad47d7e0a9d48ed2bc8edd84ca5df3cf026 OP_EQUALVERIFY OP_CHECKSIG*276a914c4892ad47d7e0a9d48ed2bc8edd84ca5df3cf02688ac*"1JvBm9iDooLevzR9Vmd8vAXrFjvwp6PZbx8ܛ$J ! + + +1@ea56962044998d0f0116c7dc6fea5cab924a302a24cc5d0399cd754609fe887cܛ$"@000000000000000000165ac42525607d200fabb212b4b74ad167b1e60971e6eb(㸋-2 +@57f1bee9a47a5e4a4ed766db8d34bb6f4f250ca49e0bc29d2e3cef3816983728B032564570e6fe575175d816b420aa4c2aa5180d678a597fa2ebee0e8dbb1c71fde2 +@57f1bee9a47a5e4a4ed766db8d34bb6f4f250ca49e0bc29d2e3cef3816983728B03fbc3ba2f1fa9feae13125f0250f590adae18f947e6a48cef288b918d63909288B +@ea56962044998d0f0116c7dc6fea5cab924a302a24cc5d0399cd754609fe887c""1Li7yWU59hxjPHyj9LLpALWbi8SiBQkUTP"UOP_DUP OP_HASH160 d8314422f04c1d0a1671c8250f2dbdbb72003357 OP_EQUALVERIFY OP_CHECKSIG*276a914d8314422f04c1d0a1671c8250f2dbdbb7200335788ac*"1Li7yWU59hxjPHyj9LLpALWbi8SiBQkUTP8ܛ$J  + @ea56962044998d0f0116c7dc6fea5cab924a302a24cc5d0399cd754609fe887c"!1B68r8mWLxwkXd8fab5YmRzqKFujEiDGx"UOP_DUP OP_HASH160 01e87243c65eb61034e00d32884e44c053936f64 OP_EQUALVERIFY OP_CHECKSIG*276a91401e87243c65eb61034e00d32884e44c053936f6488ac*!1B68r8mWLxwkXd8fab5YmRzqKFujEiDGx8ܛ$J  +@ea56962044998d0f0116c7dc6fea5cab924a302a24cc5d0399cd754609fe887c""14XXw9D3pCRtSuJgbN7WiCZr2bbipi797c"UOP_DUP OP_HASH160 26aead9c7c1a48e9baf6933d7363fb1c536344e1 OP_EQUALVERIFY OP_CHECKSIG*276a91426aead9c7c1a48e9baf6933d7363fb1c536344e188ac*"14XXw9D3pCRtSuJgbN7WiCZr2bbipi797c8ܛ$J ; + + +1@e1b07493bd48fb6ecf247eb53b3aaff4def907fe3efad38f48faf0ff54465e65ܛ$"@000000000000000000165ac42525607d200fabb212b4b74ad167b1e60971e6eb(㸋-2 +@ea56962044998d0f0116c7dc6fea5cab924a302a24cc5d0399cd754609fe887cB02b061541c7873e3874d6d7af24fc010f7b8d64e622b2d85750604cda0c5c9b71e2 +@ea56962044998d0f0116c7dc6fea5cab924a302a24cc5d0399cd754609fe887cB034bd3d6e2f76fcbdab85a2d678198f284f2d8c652cf26bef2204edaa7d378428aB +@e1b07493bd48fb6ecf247eb53b3aaff4def907fe3efad38f48faf0ff54465e65""176jaSZPhKFBTfSQsYw2dTcNqAwNip8Cws"UOP_DUP OP_HASH160 42e66029ba0c03dd51dee6f540445aaaa6e404a9 OP_EQUALVERIFY OP_CHECKSIG*276a91442e66029ba0c03dd51dee6f540445aaaa6e404a988ac*"176jaSZPhKFBTfSQsYw2dTcNqAwNip8Cws8ܛ$J  +@e1b07493bd48fb6ecf247eb53b3aaff4def907fe3efad38f48faf0ff54465e65""1Ag5YaKh32Pi2mU1FeXMpDWPsz3gCcPPbG"UOP_DUP OP_HASH160 6a1d25e52b598010d857f6c3670bbbf4696c3880 OP_EQUALVERIFY OP_CHECKSIG*276a9146a1d25e52b598010d857f6c3670bbbf4696c388088ac*"1Ag5YaKh32Pi2mU1FeXMpDWPsz3gCcPPbG8ܛ$J  +@e1b07493bd48fb6ecf247eb53b3aaff4def907fe3efad38f48faf0ff54465e65""1MBz83TCL2JSN8EFz71A3fSaED8ZT7zcnf"UOP_DUP OP_HASH160 dd765b9c3513b0a54353e04790e7db9e1c573ecb OP_EQUALVERIFY OP_CHECKSIG*276a914dd765b9c3513b0a54353e04790e7db9e1c573ecb88ac*"1MBz83TCL2JSN8EFz71A3fSaED8ZT7zcnf8ܛ$J  + + +1@5796527d343f97d6c7213147665dced2a8ac54c4afcc1f96bf9245e82fba832dܛ$"@000000000000000000165ac42525607d200fabb212b4b74ad167b1e60971e6eb(㸋-2 +@e1b07493bd48fb6ecf247eb53b3aaff4def907fe3efad38f48faf0ff54465e65B030fa48425518b2397492fe9f7f3380a751dc173065c2932d812b1d8749a4fb8c42 +@e1b07493bd48fb6ecf247eb53b3aaff4def907fe3efad38f48faf0ff54465e65B02f25231490e4ce034bab3346ed02d0d58d65bb955a2f3ade8ee4a3aa1b5f32effB +܀@5796527d343f97d6c7213147665dced2a8ac54c4afcc1f96bf9245e82fba832d""1GuMsryvMPWha8yVZFCXjudBMijsFxJ96C"UOP_DUP OP_HASH160 ae70f1a6bd11945217e1cf14e4c012656a32d782 OP_EQUALVERIFY OP_CHECKSIG*276a914ae70f1a6bd11945217e1cf14e4c012656a32d78288ac*"1GuMsryvMPWha8yVZFCXjudBMijsFxJ96C8ܛ$J  +@5796527d343f97d6c7213147665dced2a8ac54c4afcc1f96bf9245e82fba832d""1Lb8WKKbkZbvEc6wZRLNZFWw83x2gGLN8m"UOP_DUP OP_HASH160 d6decc3e29282fc6f67a2cffe1df373f56f9dd21 OP_EQUALVERIFY OP_CHECKSIG*276a914d6decc3e29282fc6f67a2cffe1df373f56f9dd2188ac*"1Lb8WKKbkZbvEc6wZRLNZFWw83x2gGLN8m8ܛ$J  +@5796527d343f97d6c7213147665dced2a8ac54c4afcc1f96bf9245e82fba832d""1NnoF6RseW65sRhMjNMtJ6jVM1SP7LmEDR"UOP_DUP OP_HASH160 ef03f6215c2abb39821873405ecdd61831ec9db6 OP_EQUALVERIFY OP_CHECKSIG*276a914ef03f6215c2abb39821873405ecdd61831ec9db688ac*"1NnoF6RseW65sRhMjNMtJ6jVM1SP7LmEDR8ܛ$J ݛ$ŋ-@000000000000000000164f9e2d32008439638656d2e02383a306042009702d5c"@000000000000000000165ac42525607d200fabb212b4b74ad167b1e60971e6eb2!ޛ$-@00000000000000000013ba7f4d8e9e61b17bd6cc149b966efe5fafc376e58f85"@000000000000000000164f9e2d32008439638656d2e02383a306042009702d5c2 + + +1@d3b3a0956069bfc1ee444b9074cfde760064edb34958082dceb0a153d22e4f6eޛ$"@00000000000000000013ba7f4d8e9e61b17bd6cc149b966efe5fafc376e58f85(-2 +@5796527d343f97d6c7213147665dced2a8ac54c4afcc1f96bf9245e82fba832dB02582af22364ab9110b3a8f6b2eb56f8bb58fa64d1fbcca7ace87a42ebacf2a7b72 +@5796527d343f97d6c7213147665dced2a8ac54c4afcc1f96bf9245e82fba832dB025e21c4e21e7d61245cc048d49ff55a960a77e64f50c8c0e657fdc4b6a3a2f7ebB +@d3b3a0956069bfc1ee444b9074cfde760064edb34958082dceb0a153d22e4f6e""1CH7oiqbgrrbG2Nafjwy8HywnwkYd7mDTn"UOP_DUP OP_HASH160 7bb5b851368f50d23ee130f3ab8122b7e997c9e3 OP_EQUALVERIFY OP_CHECKSIG*276a9147bb5b851368f50d23ee130f3ab8122b7e997c9e388ac*"1CH7oiqbgrrbG2Nafjwy8HywnwkYd7mDTn8ޛ$J  +@d3b3a0956069bfc1ee444b9074cfde760064edb34958082dceb0a153d22e4f6e""19tY8bS2HxNzyivsJGuWppebZU2GEbS728"UOP_DUP OP_HASH160 6180350516e46c02511ad8485b257e26e9212a31 OP_EQUALVERIFY OP_CHECKSIG*276a9146180350516e46c02511ad8485b257e26e9212a3188ac*"19tY8bS2HxNzyivsJGuWppebZU2GEbS7288ޛ$J  +̦@d3b3a0956069bfc1ee444b9074cfde760064edb34958082dceb0a153d22e4f6e""1HSey3G6AjCicmwNtZT6fLrbBfuhBZCHjU"UOP_DUP OP_HASH160 b45c1aaa7acba7f9cfde582bd1ee4ed2f2e9419b OP_EQUALVERIFY OP_CHECKSIG*276a914b45c1aaa7acba7f9cfde582bd1ee4ed2f2e9419b88ac*"1HSey3G6AjCicmwNtZT6fLrbBfuhBZCHjU8ޛ$J  + + +1@aba034357ada91c65027eb8a194992e1e36033a59a9bdde22e33ac219349f49fޛ$"@00000000000000000013ba7f4d8e9e61b17bd6cc149b966efe5fafc376e58f85(-2 +@e0b604ca43aa9dfe0a37312e6540f481cac5e346d2ede6c710142b75b82ff928B02f8a9ec08c929243a2dbd1da97f87a6e0ef1d968994f0041014c9b1717f35678d2 +@db7c6ebd9155d3c52ef8de7f972e2d2a425e754869c4aae839b3bc49706231dbB02bb432337a2d688133c9ad9d34a8460ec6d64ca958ab0d5731e54012b46f27c7bB + @aba034357ada91c65027eb8a194992e1e36033a59a9bdde22e33ac219349f49f""1PRC417KPYStN4W71aPCAAfzt6Nb971xyB"UOP_DUP OP_HASH160 f5e5f9d278c17fd0d252c996fe69fbacf3b85793 OP_EQUALVERIFY OP_CHECKSIG*276a914f5e5f9d278c17fd0d252c996fe69fbacf3b8579388ac*"1PRC417KPYStN4W71aPCAAfzt6Nb971xyB8ޛ$J  + @aba034357ada91c65027eb8a194992e1e36033a59a9bdde22e33ac219349f49f""1LA35gLeXKhYaVUc2fUfDRvt1PMu18wLek"UOP_DUP OP_HASH160 d21fded23509ddbe5fa3af70612ac24ae6e1c991 OP_EQUALVERIFY OP_CHECKSIG*276a914d21fded23509ddbe5fa3af70612ac24ae6e1c99188ac*"1LA35gLeXKhYaVUc2fUfDRvt1PMu18wLek8ޛ$J  +_@aba034357ada91c65027eb8a194992e1e36033a59a9bdde22e33ac219349f49f""1C21kWzWyZqRnuypRVhkYqk77314iAesb1"UOP_DUP OP_HASH160 78da6d07a4ec59bc086ce892cae99bedf6b4ee13 OP_EQUALVERIFY OP_CHECKSIG*276a91478da6d07a4ec59bc086ce892cae99bedf6b4ee1388ac*"1C21kWzWyZqRnuypRVhkYqk77314iAesb18ޛ$J  + + +1@77381cecd54a5796187e372181e5821f65fd1b94860ee1457e783404c37b2870ޛ$"@00000000000000000013ba7f4d8e9e61b17bd6cc149b966efe5fafc376e58f85(-2 +@0d4e3bc4cda3c3a1cea2e8ab285d8bc6a49366f9ff3f876c4726ae59697bb0d9B03e11754e8c9ebfc0d6da8f8a363ace38c6ce7f4c07ee7eee89f8da38a96013ff62 +@0d4e3bc4cda3c3a1cea2e8ab285d8bc6a49366f9ff3f876c4726ae59697bb0d9B024addbe2d66015eea4c97b870e725b5c063b25f57de2aee23ae0a23a751db1cf4B +E@77381cecd54a5796187e372181e5821f65fd1b94860ee1457e783404c37b2870""1GpybBTC9rzv9iysufngi2xHT3HtCavehU"UOP_DUP OP_HASH160 ad9cace325e6413ec3e47654550f45d02c36a16c OP_EQUALVERIFY OP_CHECKSIG*276a914ad9cace325e6413ec3e47654550f45d02c36a16c88ac*"1GpybBTC9rzv9iysufngi2xHT3HtCavehU8ޛ$J  +@77381cecd54a5796187e372181e5821f65fd1b94860ee1457e783404c37b2870""18iJ8LpGjTLwemGAGsu9cRh7edq9DpaAcM"UOP_DUP OP_HASH160 54983b4189f3309d289fd2fddfcf8fcfb4f594e1 OP_EQUALVERIFY OP_CHECKSIG*276a91454983b4189f3309d289fd2fddfcf8fcfb4f594e188ac*"18iJ8LpGjTLwemGAGsu9cRh7edq9DpaAcM8ޛ$J  +χ@77381cecd54a5796187e372181e5821f65fd1b94860ee1457e783404c37b2870""1N915CPXw9cZ5Hvds31ooKRLwSZimm6ybw"UOP_DUP OP_HASH160 e7de079088876c92b8cf58d037eeaaa8f5f08984 OP_EQUALVERIFY OP_CHECKSIG*276a914e7de079088876c92b8cf58d037eeaaa8f5f0898488ac*"1N915CPXw9cZ5Hvds31ooKRLwSZimm6ybw8ޛ$J ߛ$-@00000000000000000015838384de527a8c96356e3c3ee404a4f581be8deadef2"@00000000000000000013ba7f4d8e9e61b17bd6cc149b966efe5fafc376e58f852 $-@00000000000000000007381436f9eef983a2f04a0225e823f5f17b0a4e5121b7"@00000000000000000015838384de527a8c96356e3c3ee404a4f581be8deadef22 + + + +1@e90f6b55530dcb86ea64377fee1660e731fd8081da8302dab1720b971975d127$"@00000000000000000007381436f9eef983a2f04a0225e823f5f17b0a4e5121b7(-2 +@935999dc864e7ec75c73a7d9d1f3d6eea7d45212484a582094a66f53a57dd106B02a049f0862b32a3a8289a6ce398ba5fb177f969051166a2744d56d3ae2ab1978e2 +@a5581f181eb80d35ab1defd3aec74d8ac65d1c769aa754987fd4465ce84bf919B02d48f2fa2576be424107a1ffcd6cf27514a7a9c36dd66fdb9fb3b1067c29f1745B + +@e90f6b55530dcb86ea64377fee1660e731fd8081da8302dab1720b971975d127""1G9JpuhudMWDaKEHYowvbAoraAs51UfaXb"UOP_DUP OP_HASH160 a61c18488697c31b6b285a232c61be923f79a917 OP_EQUALVERIFY OP_CHECKSIG*276a914a61c18488697c31b6b285a232c61be923f79a91788ac*"1G9JpuhudMWDaKEHYowvbAoraAs51UfaXb8$J  +@e90f6b55530dcb86ea64377fee1660e731fd8081da8302dab1720b971975d127""1D2qXp8JgHJySRwzheynEJS4Jp213x7Ugz"UOP_DUP OP_HASH160 83fa6fed4d56adca60a1326e6c494ae103658fdb OP_EQUALVERIFY OP_CHECKSIG*276a91483fa6fed4d56adca60a1326e6c494ae103658fdb88ac*"1D2qXp8JgHJySRwzheynEJS4Jp213x7Ugz8$J  +@e90f6b55530dcb86ea64377fee1660e731fd8081da8302dab1720b971975d127""1K9LDksxiAuh3Vq4E9o5yoBnXpRV15CA8j"UOP_DUP OP_HASH160 c705a2c3d022d7f7c44de55ffa6eae9e9604ea7e OP_EQUALVERIFY OP_CHECKSIG*276a914c705a2c3d022d7f7c44de55ffa6eae9e9604ea7e88ac*"1K9LDksxiAuh3Vq4E9o5yoBnXpRV15CA8j8$J $ݥ-@00000000000000000012cd09ec378d0c0510863f90523f5a2f006a30cb9821cd"@00000000000000000007381436f9eef983a2f04a0225e823f5f17b0a4e5121b72 + + +1@2e32a8c955aedcaabf35b05283c7b55f7ab5047e3f5bba389d75cb36c0c3b351$"@00000000000000000012cd09ec378d0c0510863f90523f5a2f006a30cb9821cd(ݥ-2 +@d3b3a0956069bfc1ee444b9074cfde760064edb34958082dceb0a153d22e4f6eB03706d5fe82cbd94de38f2af030bd93eec22fb709fe14b8f71f2e1d1a042a0fe8b2 +@4098de2826859f4837b8ca0211613947ea847af6c1750e6d5d633d52aa7c713bB02d9400de130168fa5ec795692f4242b087f6828c0417221eda14689a3d98eb2baB +@2e32a8c955aedcaabf35b05283c7b55f7ab5047e3f5bba389d75cb36c0c3b351""1M7pSaUd3pAg3DUoJtWo7i1EaHoUgDSbmv"UOP_DUP OP_HASH160 dcac9cf9d125dffeb02d76cb10859454fde53889 OP_EQUALVERIFY OP_CHECKSIG*276a914dcac9cf9d125dffeb02d76cb10859454fde5388988ac*"1M7pSaUd3pAg3DUoJtWo7i1EaHoUgDSbmv8$J  +@2e32a8c955aedcaabf35b05283c7b55f7ab5047e3f5bba389d75cb36c0c3b351""14nJhc1xacaBRPY8ejmfk5B1qpnda4CoNv"UOP_DUP OP_HASH160 2979def366a5cec49120c9fa331ec5ddd8044f9e OP_EQUALVERIFY OP_CHECKSIG*276a9142979def366a5cec49120c9fa331ec5ddd8044f9e88ac*"14nJhc1xacaBRPY8ejmfk5B1qpnda4CoNv8$J  +@2e32a8c955aedcaabf35b05283c7b55f7ab5047e3f5bba389d75cb36c0c3b351""16UqcfLomzGUE4mU4bQSqLEnAbrRpLR3qy"UOP_DUP OP_HASH160 3c1c71073f904badf8ff173826ae00d1ff3c1a45 OP_EQUALVERIFY OP_CHECKSIG*276a9143c1c71073f904badf8ff173826ae00d1ff3c1a4588ac*"16UqcfLomzGUE4mU4bQSqLEnAbrRpLR3qy8$J  + + +1@9f53e2cd997732642c43f44387b57be0cd6178443847c491ad91cfdd3fcb397b$"@00000000000000000012cd09ec378d0c0510863f90523f5a2f006a30cb9821cd(ݥ-2 +@a5581f181eb80d35ab1defd3aec74d8ac65d1c769aa754987fd4465ce84bf919B022dede48ba47600e5ed7ea1f9471910fb26ae2ecde3e957230d376cd3cdceab4b2 +@8c3891a87ae7cea8b2c16dc3dd12a84a13f09b4c645bf29a369d0d800d7632f7B032874f2c91c8199656324c46329b11355d74411925561b61b9d56f501b87147e0B + @9f53e2cd997732642c43f44387b57be0cd6178443847c491ad91cfdd3fcb397b""1513zVybH4gbyAjBUUKfCMHRNGS1zA6JZC"UOP_DUP OP_HASH160 2be3000d8d2b00ab802c73e136cbfda544fe91b9 OP_EQUALVERIFY OP_CHECKSIG*276a9142be3000d8d2b00ab802c73e136cbfda544fe91b988ac*"1513zVybH4gbyAjBUUKfCMHRNGS1zA6JZC8$J  +@9f53e2cd997732642c43f44387b57be0cd6178443847c491ad91cfdd3fcb397b""1Lwc5w8PQzmrAmRvebAjUL1tePFbWtow9h"UOP_DUP OP_HASH160 dabe23acf6e800b9cf472df5b19d34aecd91c917 OP_EQUALVERIFY OP_CHECKSIG*276a914dabe23acf6e800b9cf472df5b19d34aecd91c91788ac*"1Lwc5w8PQzmrAmRvebAjUL1tePFbWtow9h8$J  +@9f53e2cd997732642c43f44387b57be0cd6178443847c491ad91cfdd3fcb397b""1ABKKj9HKV4Z7saNK4erS46NBYEfwbyjtx"UOP_DUP OP_HASH160 64ac963ada415d880f2a380305e01d29030db7ab OP_EQUALVERIFY OP_CHECKSIG*276a91464ac963ada415d880f2a380305e01d29030db7ab88ac*"1ABKKj9HKV4Z7saNK4erS46NBYEfwbyjtx8$J $ӌ-@00000000000000000005ef3b31287d14a54e7746ddb6b6e58e0701299b26c047"@00000000000000000012cd09ec378d0c0510863f90523f5a2f006a30cb9821cd2$Ս-@0000000000000000001270b20544a15ed4930a0ab37d60a460546306e6fbe229"@00000000000000000005ef3b31287d14a54e7746ddb6b6e58e0701299b26c0472$-@000000000000000000028b1e00016e027eafb9bff7b024ce6dd36467b251dc65"@0000000000000000001270b20544a15ed4930a0ab37d60a460546306e6fbe2292$¸-@00000000000000000008187bfa58d6b0268521553f3de27950c97bf3d111285f"@000000000000000000028b1e00016e027eafb9bff7b024ce6dd36467b251dc652$-@0000000000000000000ed109a9830ce671fbeb06f101e9ec33ad6770990a2fba"@00000000000000000008187bfa58d6b0268521553f3de27950c97bf3d111285f2$-@00000000000000000011a8b28e9f6ca89ece125013371fa5ef3f93366d890651"@0000000000000000000ed109a9830ce671fbeb06f101e9ec33ad6770990a2fba2$-@00000000000000000007b29a36f0f9c00a416260cefbd2697c1900d198cbaa7c"@00000000000000000011a8b28e9f6ca89ece125013371fa5ef3f93366d8906512$ͤ-@000000000000000000143f3bade113fb0839dab45247d742f27341ec66a52f75"@00000000000000000007b29a36f0f9c00a416260cefbd2697c1900d198cbaa7c2$渏-@0000000000000000000f261e4bc80d8eb9ba0dba7c8c6ca6f83148167b1ba517"@000000000000000000143f3bade113fb0839dab45247d742f27341ec66a52f752$-@0000000000000000000aa978cebb0f3041e01518d07701b92da0c65c3aaac2e9"@0000000000000000000f261e4bc80d8eb9ba0dba7c8c6ca6f83148167b1ba5172$-@00000000000000000011d867ed07edfccb66d468f05ded91983a6e808da2d097"@0000000000000000000aa978cebb0f3041e01518d07701b92da0c65c3aaac2e92 + + +1@c85ab331f98575975efb955e7f2771cd10cc3185038df433426599a9bd65e618$"@00000000000000000011d867ed07edfccb66d468f05ded91983a6e808da2d097(-2 +@12bb1b53e746d41ee3a10ca33883ee4f3cee92a53ace97d5c29b6eda3cf54da1B03637095fb4a8a3a12fe7cd82b328d7f40b984e76e508b13cd869ccf77e62f58932 +@fbe30614a9de8b8a8a69616780de1c19197d9e8656cf6d9d02000f837cdf2725B03ff8ca5545885b52e42e7bb6bea447ccad973888762887354c1c7d21630bf890aB +@c85ab331f98575975efb955e7f2771cd10cc3185038df433426599a9bd65e618""1Gz49SdAm9wdABMQ9fKMqqZFyhLwom9EB6"UOP_DUP OP_HASH160 af5438ebeca1890d63f09997af2584e34e7669a9 OP_EQUALVERIFY OP_CHECKSIG*276a914af5438ebeca1890d63f09997af2584e34e7669a988ac*"1Gz49SdAm9wdABMQ9fKMqqZFyhLwom9EB68$J  +@c85ab331f98575975efb955e7f2771cd10cc3185038df433426599a9bd65e618""1GMxsj719v8ZPdwej1RXjVWDbEcrQFEdqJ"UOP_DUP OP_HASH160 a880d905f31d53fd0bcc6d7243eeabf10bd19ff4 OP_EQUALVERIFY OP_CHECKSIG*276a914a880d905f31d53fd0bcc6d7243eeabf10bd19ff488ac*"1GMxsj719v8ZPdwej1RXjVWDbEcrQFEdqJ8$J  +@c85ab331f98575975efb955e7f2771cd10cc3185038df433426599a9bd65e618""18cEHpFPBdY3PG7jPynJJzR8o6G3bnAYqE"UOP_DUP OP_HASH160 53728873033c3ab0433b1278ebff724d7b7276b3 OP_EQUALVERIFY OP_CHECKSIG*276a91453728873033c3ab0433b1278ebff724d7b7276b388ac*"18cEHpFPBdY3PG7jPynJJzR8o6G3bnAYqE8$J  + + +1@ee4fbafbae3cfcd08ee8ae3b8c92f4bf9be72573ab6ef83ce845bb17effb9fb0$"@00000000000000000011d867ed07edfccb66d468f05ded91983a6e808da2d097(-2 +@2e32a8c955aedcaabf35b05283c7b55f7ab5047e3f5bba389d75cb36c0c3b351B02ace22a0026feee20fd9c883002b0efb7cd291992b5125fbccc229aae10ed38422 +@1c36aafaf1739800dea30a5ec1f7c21c758ea66a0fc20735c4e6e104f8e17d71B0280b0f9ef5c32ae4c901d8c89ab701171befcb485a8e2252d8eaa60faeb723f4dB +@ee4fbafbae3cfcd08ee8ae3b8c92f4bf9be72573ab6ef83ce845bb17effb9fb0""1An37RM7FKWJpxYkFfd6MVRZFjEXsNaxef"UOP_DUP OP_HASH160 6b3d9cbc2ad8fb2f1135e3f3c1f5b054786fef00 OP_EQUALVERIFY OP_CHECKSIG*276a9146b3d9cbc2ad8fb2f1135e3f3c1f5b054786fef0088ac*"1An37RM7FKWJpxYkFfd6MVRZFjEXsNaxef8$J  +@ee4fbafbae3cfcd08ee8ae3b8c92f4bf9be72573ab6ef83ce845bb17effb9fb0""115hZHw6Hgy3A5BHgT152Vqjd3EJu1KGmg"UOP_DUP OP_HASH160 00e384d82b5766785e52b7040eff7951a2402fef OP_EQUALVERIFY OP_CHECKSIG*276a91400e384d82b5766785e52b7040eff7951a2402fef88ac*"115hZHw6Hgy3A5BHgT152Vqjd3EJu1KGmg8$J  +믯@ee4fbafbae3cfcd08ee8ae3b8c92f4bf9be72573ab6ef83ce845bb17effb9fb0""1Jz2pwh32A8UDtyA4z1gRAMSwEBQaKwmT3"UOP_DUP OP_HASH160 c5435f777de781e33fc04390b1953557dd0762b9 OP_EQUALVERIFY OP_CHECKSIG*276a914c5435f777de781e33fc04390b1953557dd0762b988ac*"1Jz2pwh32A8UDtyA4z1gRAMSwEBQaKwmT38$J $ő-@00000000000000000009f76e731b175dde3e7fce38223b1474b5159a57950977"@00000000000000000011d867ed07edfccb66d468f05ded91983a6e808da2d0972$ґ-@0000000000000000001062006bb51d23cc2b30535a548eb3aa99d7d2678ed221"@00000000000000000009f76e731b175dde3e7fce38223b1474b5159a579509772$-@00000000000000000013a801a3e2f9bedea15350cb450a8ab0e2f7df693d8db6"@0000000000000000001062006bb51d23cc2b30535a548eb3aa99d7d2678ed2212+$-@00000000000000000008ab26360700c1f50e8e456bdbd65a448705eace843927"@00000000000000000013a801a3e2f9bedea15350cb450a8ab0e2f7df693d8db62* + + +1@430396266b1735256e173a7d4e21cf4257fed37826bc1ae77897b5f688c02cc4$"@00000000000000000008ab26360700c1f50e8e456bdbd65a448705eace843927(-2 +@7473814fcaa91800823bb2f4b1629901f476d1783a338aa8826cf8a8bc6d18cbB0253a032252b6c9fbfc2ad8a112c469150e07b52bfa4e5e9c7be5373019e4b91822 +@7473814fcaa91800823bb2f4b1629901f476d1783a338aa8826cf8a8bc6d18cbB0206dfb75bb54ac721b7d2e28ced3a5f3e3973d009582089ac57f9e59dccfdb412B +ٜ@430396266b1735256e173a7d4e21cf4257fed37826bc1ae77897b5f688c02cc4""1AmJ68GmC2UStgapwCwVpDwhVjtHW36xWf"UOP_DUP OP_HASH160 6b19b2f343a5f0ce493d09ca27ca6decfd96b31c OP_EQUALVERIFY OP_CHECKSIG*276a9146b19b2f343a5f0ce493d09ca27ca6decfd96b31c88ac*"1AmJ68GmC2UStgapwCwVpDwhVjtHW36xWf8$J  +d@430396266b1735256e173a7d4e21cf4257fed37826bc1ae77897b5f688c02cc4""14X9ZsgKEvrgCehTnstjDAM8TmizzUw4ca"UOP_DUP OP_HASH160 269c01e4fb8b5ef2bb7af585cfd73bbf4b82e09c OP_EQUALVERIFY OP_CHECKSIG*276a914269c01e4fb8b5ef2bb7af585cfd73bbf4b82e09c88ac*"14X9ZsgKEvrgCehTnstjDAM8TmizzUw4ca8$J  +֯ @430396266b1735256e173a7d4e21cf4257fed37826bc1ae77897b5f688c02cc4""1Nz57gmmeGu3zwb6sNepQ1VQWyKEhGwUwW"UOP_DUP OP_HASH160 f125c95a76a2ec9fb1eba4c802c5225904f80294 OP_EQUALVERIFY OP_CHECKSIG*276a914f125c95a76a2ec9fb1eba4c802c5225904f8029488ac*"1Nz57gmmeGu3zwb6sNepQ1VQWyKEhGwUwW8$J  + + +1@bb06452b2419e326b31b6f42a2f5f99f570742fd5e94b842f5592783204a6671$"@00000000000000000008ab26360700c1f50e8e456bdbd65a448705eace843927(-2 +@ddd832e8d2ecf2ef26085a457b20d95d50cfa59a440c245537f46ee5390e462cB0247bac8dad8bd6bbc1e69a70cb714d9d9e466970d853cd44b033dd0795cc6c2952 +@430396266b1735256e173a7d4e21cf4257fed37826bc1ae77897b5f688c02cc4B0209cb59599fba3b4bca06f6248ebf266c17552ce98568078e0abc2a515ff03855B +@bb06452b2419e326b31b6f42a2f5f99f570742fd5e94b842f5592783204a6671""1M8ErhadLg2pEWR3afXfSZBBFLdLWpoksA"UOP_DUP OP_HASH160 dcc0fe9b56b4827e36d8631f0deacd5af42c92f8 OP_EQUALVERIFY OP_CHECKSIG*276a914dcc0fe9b56b4827e36d8631f0deacd5af42c92f888ac*"1M8ErhadLg2pEWR3afXfSZBBFLdLWpoksA8$J  +d@bb06452b2419e326b31b6f42a2f5f99f570742fd5e94b842f5592783204a6671""15mo8qAHZgWZjnr4hXFaZbENsDyn5mbREK"UOP_DUP OP_HASH160 345951280d569e9ca2f70365a6156336ea1bed89 OP_EQUALVERIFY OP_CHECKSIG*276a914345951280d569e9ca2f70365a6156336ea1bed8988ac*"15mo8qAHZgWZjnr4hXFaZbENsDyn5mbREK8$J  +̂ @bb06452b2419e326b31b6f42a2f5f99f570742fd5e94b842f5592783204a6671""1HLeLSx3SePJWKBcsbdvh1fMdfcQVVkRks"UOP_DUP OP_HASH160 b33914edc9295adc29c7af9772cf2056a91bce8a OP_EQUALVERIFY OP_CHECKSIG*276a914b33914edc9295adc29c7af9772cf2056a91bce8a88ac*"1HLeLSx3SePJWKBcsbdvh1fMdfcQVVkRks8$J  + + +1@645b17a420ced878388d8b8c3c07c3c6b684167e6f715872c9afe17522ed9e04$"@00000000000000000008ab26360700c1f50e8e456bdbd65a448705eace843927(-2 +@bb06452b2419e326b31b6f42a2f5f99f570742fd5e94b842f5592783204a6671B03b3cf92898b023f3ee1b5aeaa662704d5199e83dded55296f9449a85607e3bad92 +@bb06452b2419e326b31b6f42a2f5f99f570742fd5e94b842f5592783204a6671B024cc984555a0b8bbfe30800b00c20be1cafb92c19b7649bfb8b27afbb67628479B + @645b17a420ced878388d8b8c3c07c3c6b684167e6f715872c9afe17522ed9e04""1NBh7oxDETkQh6Vw8hxoFdwPCcCMrh9PrH"UOP_DUP OP_HASH160 e8604a162c2e8f3af37ae9a3011a0453203a743f OP_EQUALVERIFY OP_CHECKSIG*276a914e8604a162c2e8f3af37ae9a3011a0453203a743f88ac*"1NBh7oxDETkQh6Vw8hxoFdwPCcCMrh9PrH8$J  +d@645b17a420ced878388d8b8c3c07c3c6b684167e6f715872c9afe17522ed9e04""17z7qdfmBMtcfS9tbYqjNV5dPi6Ms4QkLW"UOP_DUP OP_HASH160 4c9e2c4a18f30b34e9eee78b38d82b0e32af04cc OP_EQUALVERIFY OP_CHECKSIG*276a9144c9e2c4a18f30b34e9eee78b38d82b0e32af04cc88ac*"17z7qdfmBMtcfS9tbYqjNV5dPi6Ms4QkLW8$J  + @645b17a420ced878388d8b8c3c07c3c6b684167e6f715872c9afe17522ed9e04""1JBAi2id8EV2Ue9QUX8D3ogsdxwHuARTxR"UOP_DUP OP_HASH160 bc6666ba1f8e1fb01a27cba05732e34f85a40338 OP_EQUALVERIFY OP_CHECKSIG*276a914bc6666ba1f8e1fb01a27cba05732e34f85a4033888ac*"1JBAi2id8EV2Ue9QUX8D3ogsdxwHuARTxR8$J  + + +1@639203308f85d95aa29ebcead2b1730456f4436516c2bb03398dc72322ee19f6$"@00000000000000000008ab26360700c1f50e8e456bdbd65a448705eace843927(-2 +@ffb93f79cf5600c9828b8f8b1037eb3adbde0e06dca1f73a942b2418b69ae598B0262d107b16124a006d86be0b7eef00a88ce8cc0835cae468c046cf4f3e421094d2 +@a9f4846f9421b9645e5a8a5dd186344702b893386a6ae7edf19283560d87434fB02d7033e1b0574329b49f331d2f3104e36b14f0f685b4df797e0293c807af19e86B +@639203308f85d95aa29ebcead2b1730456f4436516c2bb03398dc72322ee19f6""1DUobcxjmA9AYgQDRPSsDLrEzVxwwGZgjn"UOP_DUP OP_HASH160 88e3a3337b0bab28d91ff313fc8dd5767f5b55b4 OP_EQUALVERIFY OP_CHECKSIG*276a91488e3a3337b0bab28d91ff313fc8dd5767f5b55b488ac*"1DUobcxjmA9AYgQDRPSsDLrEzVxwwGZgjn8$J  + @639203308f85d95aa29ebcead2b1730456f4436516c2bb03398dc72322ee19f6""1KtmYtwAtACB8dXR3AA5mzJ1srifQX46Yy"UOP_DUP OP_HASH160 cf3caaa3b473f0fea302c7646c4d43b4d4497af2 OP_EQUALVERIFY OP_CHECKSIG*276a914cf3caaa3b473f0fea302c7646c4d43b4d4497af288ac*"1KtmYtwAtACB8dXR3AA5mzJ1srifQX46Yy8$J  +@639203308f85d95aa29ebcead2b1730456f4436516c2bb03398dc72322ee19f6""1KAfVUsfQ9cMjVRcnhrqkvo24emvHR6bNp"UOP_DUP OP_HASH160 c7462372c38166e6ac0e01ded17b8336690d0651 OP_EQUALVERIFY OP_CHECKSIG*276a914c7462372c38166e6ac0e01ded17b8336690d065188ac*"1KAfVUsfQ9cMjVRcnhrqkvo24emvHR6bNp8$J ;$-@0000000000000000000c66a0b73ff11c35f00c657b5bb6cdaf8c7a1d5547362f"@00000000000000000008ab26360700c1f50e8e456bdbd65a448705eace8439272$ׅ-@00000000000000000000c3b22dbc3896660a1e42bfbfc7da8794173f32bc326d"@0000000000000000000c66a0b73ff11c35f00c657b5bb6cdaf8c7a1d5547362f2$ϒ-@0000000000000000000b14660b32e7fca8a3a2f281a62c35ed754326482d1d8e"@00000000000000000000c3b22dbc3896660a1e42bfbfc7da8794173f32bc326d2$ǧ-@000000000000000000079b5f2b09b1722c1bb4f886ab0736f1c473205b82fad5"@0000000000000000000b14660b32e7fca8a3a2f281a62c35ed754326482d1d8e2 $ԓ-@00000000000000000014c8aaceb96ee7c57612de8941231c78e65aeede4071d0"@000000000000000000079b5f2b09b1722c1bb4f886ab0736f1c473205b82fad52 + + + +1@e33a6318f541622b1bb40b2972d98371b89e75fed713321319d492f9c16694f0$"@00000000000000000014c8aaceb96ee7c57612de8941231c78e65aeede4071d0(ԓ-2 +@895de4fca00e8ed9330feab7bb92034198e6fb59c78846cf43877c5e6b57d365B02f360a742f3feaa28da7c105cee617531b6212497e4ddeec6c5c01f002438ce9b2 +@7741f071ee9dcabdefe29695cb66e742b0e566b7777b1185aeb107c47770dac9B027681fa71963a70f0aaf90b5ced6c653ccddc3b5d0e7aad19d7c4d319101f2bd5B +@e33a6318f541622b1bb40b2972d98371b89e75fed713321319d492f9c16694f0""1M8kdYjAKxjpkNUWD5FDiR3rzheEMDQE7b"UOP_DUP OP_HASH160 dcd9d9167529d8f624213c5c7b46901235687cd3 OP_EQUALVERIFY OP_CHECKSIG*276a914dcd9d9167529d8f624213c5c7b46901235687cd388ac*"1M8kdYjAKxjpkNUWD5FDiR3rzheEMDQE7b8$J  +@e33a6318f541622b1bb40b2972d98371b89e75fed713321319d492f9c16694f0""1EHB8TRnGbzGqk2aFVjb2kTvbTtjF15uT8"UOP_DUP OP_HASH160 91a8bed69557fb88b2c5b00726f46099b7e002bd OP_EQUALVERIFY OP_CHECKSIG*276a91491a8bed69557fb88b2c5b00726f46099b7e002bd88ac*"1EHB8TRnGbzGqk2aFVjb2kTvbTtjF15uT88$J  +5@e33a6318f541622b1bb40b2972d98371b89e75fed713321319d492f9c16694f0""1AxBtrKWJiMSBXUvRUHFVp2x7y4eu2fyZm"UOP_DUP OP_HASH160 6d291a916e232053a3f670b32099ba5ec0ff7dec OP_EQUALVERIFY OP_CHECKSIG*276a9146d291a916e232053a3f670b32099ba5ec0ff7dec88ac*"1AxBtrKWJiMSBXUvRUHFVp2x7y4eu2fyZm8$J  !$-@0000000000000000000f7648609c9bf4fa59aed27436723c94d363781a80b4b1"@00000000000000000014c8aaceb96ee7c57612de8941231c78e65aeede4071d02 + + +1@9b6c5f8af065df45656231ef431150ae555b895da5a29c6e44409ed3e72859c2$"@0000000000000000000f7648609c9bf4fa59aed27436723c94d363781a80b4b1(-2 +@d704339e645758c6bed3363b6eae2fa67dc8b1534148a6197a0a87b782ac8b68B02c7610611615fa191b8376051e05a9dcf066314159bc983fd7c18c90397b01d172 +@0615fce0693b47f6506166988b0bc32a94e86b6695848dc7fcfeeaa6512f8a7bB0305a09b822266348407661e351aa6b55797ee4a74eadbf81b6e49d9b04f5fe4b6B +@9b6c5f8af065df45656231ef431150ae555b895da5a29c6e44409ed3e72859c2""1HCRTYzVBu5Q5oFMsStSKXhLxWLKL1D3gV"UOP_DUP OP_HASH160 b1ab0123bb67153eb299f6942d25af941c0a57d5 OP_EQUALVERIFY OP_CHECKSIG*276a914b1ab0123bb67153eb299f6942d25af941c0a57d588ac*"1HCRTYzVBu5Q5oFMsStSKXhLxWLKL1D3gV8$J  +@9b6c5f8af065df45656231ef431150ae555b895da5a29c6e44409ed3e72859c2""1PeERdwiAKXc7E9EF1QHjMKbZ3neh299Wg"UOP_DUP OP_HASH160 f85d5d409d007f7819709a93c43429222fbd9857 OP_EQUALVERIFY OP_CHECKSIG*276a914f85d5d409d007f7819709a93c43429222fbd985788ac*"1PeERdwiAKXc7E9EF1QHjMKbZ3neh299Wg8$J  +@9b6c5f8af065df45656231ef431150ae555b895da5a29c6e44409ed3e72859c2""1GPozaqSUeg5UyiC2Td2ikzC7xFoF19qCN"UOP_DUP OP_HASH160 a8da43faaec9e42d7c357f4a2b6c137d9b5337e2 OP_EQUALVERIFY OP_CHECKSIG*276a914a8da43faaec9e42d7c357f4a2b6c137d9b5337e288ac*"1GPozaqSUeg5UyiC2Td2ikzC7xFoF19qCN8$J E + + +1@847b79b99088c4c76fc8b8d77a4e6f7a0a29d0d5664aca81ee67f8862f548479$"@0000000000000000000f7648609c9bf4fa59aed27436723c94d363781a80b4b1(-2 +@4e305d3fb35af9c8d727bb0f7adff6b2882adbdd7007c99a805832fefd8fa87eB024a90eab1a56a6def6765df2f0727022dc80b7a9f83d251c0ea594460c5f3df3f2 +@29f81237e50c323a40d215002a49cc36ed9db43ba39f7e8939a1925897e8d7c6B02805cf8da149afbc4a4303b84f553109d01e4074b508abccb5b3e719b61576de4B +@847b79b99088c4c76fc8b8d77a4e6f7a0a29d0d5664aca81ee67f8862f548479""1JyvNVHbqehmmHRtVRk7fJ2hoUGkZmpeEy"UOP_DUP OP_HASH160 c53dfbce385686869be7a58ed45e5a7010c6f3f3 OP_EQUALVERIFY OP_CHECKSIG*276a914c53dfbce385686869be7a58ed45e5a7010c6f3f388ac*"1JyvNVHbqehmmHRtVRk7fJ2hoUGkZmpeEy8$J  +@847b79b99088c4c76fc8b8d77a4e6f7a0a29d0d5664aca81ee67f8862f548479""1MVf78rStkrFWg8AVGLMmuJqndTyRmZD8H"UOP_DUP OP_HASH160 e0cdf8c20df03a4b92bab0a97f3ce82c4fa6aa7d OP_EQUALVERIFY OP_CHECKSIG*276a914e0cdf8c20df03a4b92bab0a97f3ce82c4fa6aa7d88ac*"1MVf78rStkrFWg8AVGLMmuJqndTyRmZD8H8$J  +ޮ_@847b79b99088c4c76fc8b8d77a4e6f7a0a29d0d5664aca81ee67f8862f548479""16WJCq1ZB7k8E69o9KvGkyHTJT8Kn9gCCS"UOP_DUP OP_HASH160 3c630d8c883f9bc92a61a04d5826bd28d9769ec0 OP_EQUALVERIFY OP_CHECKSIG*276a9143c630d8c883f9bc92a61a04d5826bd28d9769ec088ac*"16WJCq1ZB7k8E69o9KvGkyHTJT8Kn9gCCS8$J  + + +1@03366bcad15e9cd0049c36ca62449d6b454573f030ee87980266e208fdda77ce$"@0000000000000000000f7648609c9bf4fa59aed27436723c94d363781a80b4b1(-2 +@c85ab331f98575975efb955e7f2771cd10cc3185038df433426599a9bd65e618B0333ae9ae59c4690b51a62b440ab89228e82cd5585778fc8a27c990d65d4d7b4ed2 +@6fd48aeb8dc71cd3439e20966806d758a49b1d8c01b042583b476963bcd9ba75B02015b67da7f723014584ec4efea4627f58ee68a5fa5471651849620709f5200dbB +@03366bcad15e9cd0049c36ca62449d6b454573f030ee87980266e208fdda77ce""128PW2bqiaXCFypKYPubu9uQXWhHbMpitH"UOP_DUP OP_HASH160 0c5dd1e96653587ea785b8c9855aa130c31f563e OP_EQUALVERIFY OP_CHECKSIG*276a9140c5dd1e96653587ea785b8c9855aa130c31f563e88ac*"128PW2bqiaXCFypKYPubu9uQXWhHbMpitH8$J  +@03366bcad15e9cd0049c36ca62449d6b454573f030ee87980266e208fdda77ce""15ZuNR9ax4GjCsKxjRnKTBLZqJHqawXu7r"UOP_DUP OP_HASH160 3219879125eca332db3a2fa9b97dc16259bd8a86 OP_EQUALVERIFY OP_CHECKSIG*276a9143219879125eca332db3a2fa9b97dc16259bd8a8688ac*"15ZuNR9ax4GjCsKxjRnKTBLZqJHqawXu7r8$J  +y@03366bcad15e9cd0049c36ca62449d6b454573f030ee87980266e208fdda77ce""1EcxuLZv9mc5TeSX4K4aztYhkwrgSoqsD3"UOP_DUP OP_HASH160 9566dbda3ea449992f9b6caec4d28c9340e58326 OP_EQUALVERIFY OP_CHECKSIG*276a9149566dbda3ea449992f9b6caec4d28c9340e5832688ac*"1EcxuLZv9mc5TeSX4K4aztYhkwrgSoqsD38$J ; $-@000000000000000000194ac5c03c2637196c99ecfc07d14846f66809384cffc1"@0000000000000000000f7648609c9bf4fa59aed27436723c94d363781a80b4b12 + + + +1@252da3423c7cda874355c3e71773def18187e3aca881262bdfd1182671b0224c$"@000000000000000000194ac5c03c2637196c99ecfc07d14846f66809384cffc1(-2 +@18a87c7756fdcdf53d92a4cf4e002cef820d81e7b63471fc9d117e8a7aa2a103B03cdbf0f52f9187335e4e0b404f5f2721a164673db67805142ab9247ac44c7a0412 +@93e6eb95913966cd50294ad984649e18e8b86352628c4eb5a35927c087b7ec8bB0330ecbaa5a9efb4f89665b1c68631118f0d91c1029b4c8d94b42cc25b00ed8d08B +@252da3423c7cda874355c3e71773def18187e3aca881262bdfd1182671b0224c""1GN1k3xKEbaiFMmke8CFFXhthiJbuaefAS"UOP_DUP OP_HASH160 a8833dd6d74fa5b8c83e5f9376e733918dfce7c3 OP_EQUALVERIFY OP_CHECKSIG*276a914a8833dd6d74fa5b8c83e5f9376e733918dfce7c388ac*"1GN1k3xKEbaiFMmke8CFFXhthiJbuaefAS8$J  +@252da3423c7cda874355c3e71773def18187e3aca881262bdfd1182671b0224c""12rUREPoLeSu2vaDFhDGW6HwiZS1x7EeaC"UOP_DUP OP_HASH160 14536526621588b4de5025ffc4c694619933508f OP_EQUALVERIFY OP_CHECKSIG*276a91414536526621588b4de5025ffc4c694619933508f88ac*"12rUREPoLeSu2vaDFhDGW6HwiZS1x7EeaC8$J  +ޮ_@252da3423c7cda874355c3e71773def18187e3aca881262bdfd1182671b0224c""16tcDdzWU1WJ9hpSZH89r97AqUVgT8grkq"UOP_DUP OP_HASH160 409b3dcb82f919495abdc5703b99c50b95eeae0f OP_EQUALVERIFY OP_CHECKSIG*276a914409b3dcb82f919495abdc5703b99c50b95eeae0f88ac*"16tcDdzWU1WJ9hpSZH89r97AqUVgT8grkq8$J 6$-@0000000000000000000448f89edda9ecd590fae47c7599a5148152cc95805eb7"@000000000000000000194ac5c03c2637196c99ecfc07d14846f66809384cffc125 + + +1@6ca5f88b3fef90dceb5cd6d4f332d76f8c86ea607b06fec32aa48ea27744e812$"@0000000000000000000448f89edda9ecd590fae47c7599a5148152cc95805eb7(-2 +@98666012e22d9e3978568480b1932754979e8d7c3083f1e9b537956369e24a1aB02e60c4ccde26a48939fba3382253120773d855a0f53d7c320235ae1fe0433aa5f2 +@90e0e06427c188f5a11b4babf3480b1da2669121bc8537af861b2ce72385774dB035c12bd0d297b7a5754a39cecdc06db8655443e6d4d2b8a76006b92a63c123480B + +@6ca5f88b3fef90dceb5cd6d4f332d76f8c86ea607b06fec32aa48ea27744e812""1MxN3XyNHbAsXjvMRnqPBPZre9WEkYEG54"UOP_DUP OP_HASH160 e5daf5c007f09ec2720a5472a371cd799258a5da OP_EQUALVERIFY OP_CHECKSIG*276a914e5daf5c007f09ec2720a5472a371cd799258a5da88ac*"1MxN3XyNHbAsXjvMRnqPBPZre9WEkYEG548$J  + @6ca5f88b3fef90dceb5cd6d4f332d76f8c86ea607b06fec32aa48ea27744e812""1HgbBYNuisNHnX4wAFte8Dhoi1Nt1DmPuz"UOP_DUP OP_HASH160 b6fec4be715bf5dd1697e9dfb11f2391b0c725f1 OP_EQUALVERIFY OP_CHECKSIG*276a914b6fec4be715bf5dd1697e9dfb11f2391b0c725f188ac*"1HgbBYNuisNHnX4wAFte8Dhoi1Nt1DmPuz8$J  +ԱZ@6ca5f88b3fef90dceb5cd6d4f332d76f8c86ea607b06fec32aa48ea27744e812""1KWKwqRcRGPeKsfM2d4DB98L6TTEcdvc6b"UOP_DUP OP_HASH160 cafe2450246d0c5a813f11adfc62016773d987d3 OP_EQUALVERIFY OP_CHECKSIG*276a914cafe2450246d0c5a813f11adfc62016773d987d388ac*"1KWKwqRcRGPeKsfM2d4DB98L6TTEcdvc6b8$J  + + +1@ed1eea7692872746fa51568573cbe87b4bfb21912a400472483cd69fa99b9659$"@0000000000000000000448f89edda9ecd590fae47c7599a5148152cc95805eb7(-2 +@e90f6b55530dcb86ea64377fee1660e731fd8081da8302dab1720b971975d127B02fd41b2f924c140c012025f34e76ccd88e4e0f97d28355d7c0c881db7da01698f2 +@9f53e2cd997732642c43f44387b57be0cd6178443847c491ad91cfdd3fcb397bB021a2ff09adc50f48d425b8ddf4e82b204e39b683557730247a30259f48a0aa7daB + @ed1eea7692872746fa51568573cbe87b4bfb21912a400472483cd69fa99b9659""15XSyZesoe7hfCmPKmMwL9DMqBJpZbUWkT"UOP_DUP OP_HASH160 31a2aa3e56a5dda2145469a4c7b58330ae89ab2e OP_EQUALVERIFY OP_CHECKSIG*276a91431a2aa3e56a5dda2145469a4c7b58330ae89ab2e88ac*"15XSyZesoe7hfCmPKmMwL9DMqBJpZbUWkT8$J  +@ed1eea7692872746fa51568573cbe87b4bfb21912a400472483cd69fa99b9659""1HSvewZYZzV5PyfqU8VUZRAejjREVMhSsK"UOP_DUP OP_HASH160 b4693327060013c00d463faec07a3f5b0859f7d0 OP_EQUALVERIFY OP_CHECKSIG*276a914b4693327060013c00d463faec07a3f5b0859f7d088ac*"1HSvewZYZzV5PyfqU8VUZRAejjREVMhSsK8$J  +@ed1eea7692872746fa51568573cbe87b4bfb21912a400472483cd69fa99b9659""17Ni1PCqbsMqDVK63Wf3yZ6b7KG9MeAB7Y"UOP_DUP OP_HASH160 45ebb871cdae19db49afadf956bbac1809eb52a6 OP_EQUALVERIFY OP_CHECKSIG*276a91445ebb871cdae19db49afadf956bbac1809eb52a688ac*"17Ni1PCqbsMqDVK63Wf3yZ6b7KG9MeAB7Y8$J  + + +1@1684a8045f1b8ee72b290addb4fdd58f8ac8c6657ba222b8598a6825e4e62e8d$"@0000000000000000000448f89edda9ecd590fae47c7599a5148152cc95805eb7(-2 +@df740039062a90d632af36ff2e007ba913f059200f29c2e122126f27d387ed02B02ddef994b2d3716e2a1fe1272911a9476b51163e2fe4ade61efdd8297c52442232 +@f9fe8ab1448c5938e722daf8bd20f16ce38930f5858348cbdec8b1a815080050B026cdc1ba61013c5da01f3e732939ddcc2951c755571576d4af1315f4ce75c9659B +@1684a8045f1b8ee72b290addb4fdd58f8ac8c6657ba222b8598a6825e4e62e8d""19WT1PPLBmBDGddmqugS1PVW4WotdkehEJ"UOP_DUP OP_HASH160 5d52c746c8d55146fde51bc364b3d1ef0f8e29e8 OP_EQUALVERIFY OP_CHECKSIG*276a9145d52c746c8d55146fde51bc364b3d1ef0f8e29e888ac*"19WT1PPLBmBDGddmqugS1PVW4WotdkehEJ8$J  +˘@1684a8045f1b8ee72b290addb4fdd58f8ac8c6657ba222b8598a6825e4e62e8d""1P2d8b9QUAr1sVzRukKgCSFJn2rkSPxr9r"UOP_DUP OP_HASH160 f1a157fd7270fd10e90c71a8442e508d8bde38c0 OP_EQUALVERIFY OP_CHECKSIG*276a914f1a157fd7270fd10e90c71a8442e508d8bde38c088ac*"1P2d8b9QUAr1sVzRukKgCSFJn2rkSPxr9r8$J  +@1684a8045f1b8ee72b290addb4fdd58f8ac8c6657ba222b8598a6825e4e62e8d""18hcz2x9edeQyfaUqTUdyrTRwZcSNHQi1g"UOP_DUP OP_HASH160 54778e6c0f32c85a759fd33cd00d6a4f7d44914d OP_EQUALVERIFY OP_CHECKSIG*276a91454778e6c0f32c85a759fd33cd00d6a4f7d44914d88ac*"18hcz2x9edeQyfaUqTUdyrTRwZcSNHQi1g8$J  + + +1@d0091643c787517f7c83b8078d9c72a8ab54132ab13669c37aca3672d044c641$"@0000000000000000000448f89edda9ecd590fae47c7599a5148152cc95805eb7(-2 +@9f53e2cd997732642c43f44387b57be0cd6178443847c491ad91cfdd3fcb397bB03274e6c6170758703bed750cb23626f13181c3cbe257c6a0d797269e0bc6a0c4b2 +@ed1eea7692872746fa51568573cbe87b4bfb21912a400472483cd69fa99b9659B02f0f9c0e2eea1cbb4553554c1b0c53cd44b4c6a2f06f564a656e660f39a2b61f5B + @d0091643c787517f7c83b8078d9c72a8ab54132ab13669c37aca3672d044c641""1KZAUvn6jVwaRMCCWicgnjVhgrVDyzgK7w"UOP_DUP OP_HASH160 cb877d596c55932a76cc5a88fe5c44b40d5c62ff OP_EQUALVERIFY OP_CHECKSIG*276a914cb877d596c55932a76cc5a88fe5c44b40d5c62ff88ac*"1KZAUvn6jVwaRMCCWicgnjVhgrVDyzgK7w8$J  +@d0091643c787517f7c83b8078d9c72a8ab54132ab13669c37aca3672d044c641""1MAN1AiUUKUNJUW7oje5jZD9bfBPtxeoXb"UOP_DUP OP_HASH160 dd27caaa3403518349312068a9f2ab76941cccaa OP_EQUALVERIFY OP_CHECKSIG*276a914dd27caaa3403518349312068a9f2ab76941cccaa88ac*"1MAN1AiUUKUNJUW7oje5jZD9bfBPtxeoXb8$J  +@d0091643c787517f7c83b8078d9c72a8ab54132ab13669c37aca3672d044c641""18rr3j7fDFze5s14jRYH7BiTN7D7A6aCvd"UOP_DUP OP_HASH160 5636347a322e06ae2be76bbff66869897fe024a2 OP_EQUALVERIFY OP_CHECKSIG*276a9145636347a322e06ae2be76bbff66869897fe024a288ac*"18rr3j7fDFze5s14jRYH7BiTN7D7A6aCvd8$J  + + +1@83c671f86c27016e2b9a2604577e4582bd9d236fe255f419ff41579898614b4c$"@0000000000000000000448f89edda9ecd590fae47c7599a5148152cc95805eb7(-2 +@b4985115c7ee289ca28af50a5b7108c4dd9dcaedf47b7f9c1d9348579874be45B024ff4792f58e44380646237d997561058bdf15e9dcf583cb58daf29f9e3953ca12 +@b4985115c7ee289ca28af50a5b7108c4dd9dcaedf47b7f9c1d9348579874be45B039e776f78ec591f85fd3e75098df855b09ff4f166c82351c30aba7397a08e05e7B +@83c671f86c27016e2b9a2604577e4582bd9d236fe255f419ff41579898614b4c""1AzBcUndR8moqeZvZcPkEJUaDk3Zoizw3y"UOP_DUP OP_HASH160 6d89b338b4006f80fe0dadd33c7e81972ba1c01c OP_EQUALVERIFY OP_CHECKSIG*276a9146d89b338b4006f80fe0dadd33c7e81972ba1c01c88ac*"1AzBcUndR8moqeZvZcPkEJUaDk3Zoizw3y8$J  +˘@83c671f86c27016e2b9a2604577e4582bd9d236fe255f419ff41579898614b4c""1FgvtLvscw4QomSo3S17WyqyF9JtchuKKh"UOP_DUP OP_HASH160 a11ef6f0c24d5df359c46b2eb610e8d246085150 OP_EQUALVERIFY OP_CHECKSIG*276a914a11ef6f0c24d5df359c46b2eb610e8d24608515088ac*"1FgvtLvscw4QomSo3S17WyqyF9JtchuKKh8$J  +;@83c671f86c27016e2b9a2604577e4582bd9d236fe255f419ff41579898614b4c""1Hh8QVThaFbr9ZWZX7npTCBJCDqJCUVKpd"UOP_DUP OP_HASH160 b718d51879f388b9de12741dead83c03642b3fa0 OP_EQUALVERIFY OP_CHECKSIG*276a914b718d51879f388b9de12741dead83c03642b3fa088ac*"1Hh8QVThaFbr9ZWZX7npTCBJCDqJCUVKpd8$J $-@0000000000000000000752ed6cbcced6be88249656b1227fa3d0964d220486f1"@0000000000000000000448f89edda9ecd590fae47c7599a5148152cc95805eb72$ꐕ-@000000000000000000150498fe16d617de74146ba60df469556e68ce7208ecbd"@0000000000000000000752ed6cbcced6be88249656b1227fa3d0964d220486f12 + +1@73d02ddbdce5d6dd1b96fc23b835b1904d5cc6aef1532b6278f8ed39eb33ed3b$"@000000000000000000150498fe16d617de74146ba60df469556e68ce7208ecbd(ꐕ-2 +@1f7f0220fec33b63d9370165a20edbb5c39d524cb3749a68db2204dc6ef8cd70B021d734ba36d7595f697409c95f12a5e44afba328b8ab382bbb8f13f2c033a3bde2 +@24043687627e719bc658e09eb61bc8b70a9554e5f9aadd3888b406b780f7ff33B033383f79a924050272a11485486482f22133dea2b112ee41803b0a81cf573bd88B +@73d02ddbdce5d6dd1b96fc23b835b1904d5cc6aef1532b6278f8ed39eb33ed3b""149Qc9uBx7Ep79pegf9sataR7Xpv5fGMxJ"UOP_DUP OP_HASH160 227f691150b969c6ecab9a840f900d70a771d20d OP_EQUALVERIFY OP_CHECKSIG*276a914227f691150b969c6ecab9a840f900d70a771d20d88ac*"149Qc9uBx7Ep79pegf9sataR7Xpv5fGMxJ8$J  +ԍ @73d02ddbdce5d6dd1b96fc23b835b1904d5cc6aef1532b6278f8ed39eb33ed3b"!1ctxU93hjMtrNrSpyqkNttUR7eDg51sVN"UOP_DUP OP_HASH160 06c9edfc7b9df3dfac1ae57a96ff46238a8388ef OP_EQUALVERIFY OP_CHECKSIG*276a91406c9edfc7b9df3dfac1ae57a96ff46238a8388ef88ac*!1ctxU93hjMtrNrSpyqkNttUR7eDg51sVN8$J  + +1@29ae3fdbc1c9d5f75f31735ba26cf30486eca4eecf63525a39ddbf68cdda751b$"@000000000000000000150498fe16d617de74146ba60df469556e68ce7208ecbd(ꐕ-2 +@f1b1838780acb63e8946c83a9a10c60c112bd5dce2593823c98530cc572901cfB03d5cb413a7b8527a0aeb0041dea27cf7f41943b62313f63b4ec32aaa99e9eadef2 +@f1b1838780acb63e8946c83a9a10c60c112bd5dce2593823c98530cc572901cfB037e94aac6ed2eba5f6e3e39a5d8de4965bdcaea0587a8b95ea50e3c05d5f946612 +@e486827dc5f3ec04a71d17e573c441a4f9f5a8915343547bdb96af524d53937aB03253ae4ca62530d8465333bbbd0b47119b7533817fa0daa166bcaec129acd35cbB +@29ae3fdbc1c9d5f75f31735ba26cf30486eca4eecf63525a39ddbf68cdda751b""169PFVvbksdNWhzow8HQJowWdNvDMNmCFV"UOP_DUP OP_HASH160 386e87ab650dc0b73b30d839517101005921b806 OP_EQUALVERIFY OP_CHECKSIG*276a914386e87ab650dc0b73b30d839517101005921b80688ac*"169PFVvbksdNWhzow8HQJowWdNvDMNmCFV8$J  +@29ae3fdbc1c9d5f75f31735ba26cf30486eca4eecf63525a39ddbf68cdda751b""1NB8wuyxUxjG8eGQXzA7gTSLy8PZZaRJco"UOP_DUP OP_HASH160 e8456f49b7c6499006a95ac28653a5402b273e8c OP_EQUALVERIFY OP_CHECKSIG*276a914e8456f49b7c6499006a95ac28653a5402b273e8c88ac*"1NB8wuyxUxjG8eGQXzA7gTSLy8PZZaRJco8$J  +☐@29ae3fdbc1c9d5f75f31735ba26cf30486eca4eecf63525a39ddbf68cdda751b""1FVDFtBTTjNpZKn2ks9vwuTw8iMgWiij4G"UOP_DUP OP_HASH160 9ee7a3a2151f3da62c8c9f64f7719de5c37e33c7 OP_EQUALVERIFY OP_CHECKSIG*276a9149ee7a3a2151f3da62c8c9f64f7719de5c37e33c788ac*"1FVDFtBTTjNpZKn2ks9vwuTw8iMgWiij4G8$J  $Μ-@00000000000000000011518d7e25107c1f69ff8fb139a47957f89d796d9d96b1"@000000000000000000150498fe16d617de74146ba60df469556e68ce7208ecbd2 + + + +1@7e34fc18bd205ee63a8fd83b528f654ce515039d765e61a4e064f31c5cea1167$"@00000000000000000011518d7e25107c1f69ff8fb139a47957f89d796d9d96b1(Μ-2 +@77381cecd54a5796187e372181e5821f65fd1b94860ee1457e783404c37b2870B03e49213184b647e2a0c340bb0df788122843054914efbca7ca2a5001049837bc62 +@f78062fb5b0b0abd29d88fbf500589ee8278a7ffcea62b340d972968223d7141B0305e192abee66ebbabee2cf60dfbbfe9bc496f883baf6f0c3d29cb1069e717be4B + @7e34fc18bd205ee63a8fd83b528f654ce515039d765e61a4e064f31c5cea1167""1D8w31KQwXSULA6ws1YKZzwaQBbRufrS9s"UOP_DUP OP_HASH160 852186e4f8c49be2b871db5beb52432d75b478f7 OP_EQUALVERIFY OP_CHECKSIG*276a914852186e4f8c49be2b871db5beb52432d75b478f788ac*"1D8w31KQwXSULA6ws1YKZzwaQBbRufrS9s8$J  + @7e34fc18bd205ee63a8fd83b528f654ce515039d765e61a4e064f31c5cea1167""1AEWhyMbBG6W4Foga3kbe9FoxUa6Hsxmib"UOP_DUP OP_HASH160 65475653e2763c55531029f3a2e4d029d2a0cde4 OP_EQUALVERIFY OP_CHECKSIG*276a91465475653e2763c55531029f3a2e4d029d2a0cde488ac*"1AEWhyMbBG6W4Foga3kbe9FoxUa6Hsxmib8$J  +y@7e34fc18bd205ee63a8fd83b528f654ce515039d765e61a4e064f31c5cea1167""1Eb6NBqE5XNScr4f7AwZRHzyjEGVfRGsBY"UOP_DUP OP_HASH160 950c41b1070b70ad75e567c10ccb4707a5f74a81 OP_EQUALVERIFY OP_CHECKSIG*276a914950c41b1070b70ad75e567c10ccb4707a5f74a8188ac*"1Eb6NBqE5XNScr4f7AwZRHzyjEGVfRGsBY8$J ;$ɕ-@0000000000000000001230b3746b908b9145e5aa104715679309ad440322f957"@00000000000000000011518d7e25107c1f69ff8fb139a47957f89d796d9d96b12$-@0000000000000000001415ff6c148c84a2bed53bfb74dc6e61ed9213abf451fe"@0000000000000000001230b3746b908b9145e5aa104715679309ad440322f9572$-@00000000000000000009f7ed5b1ff88b61345e9024942212fe179affb2277773"@0000000000000000001415ff6c148c84a2bed53bfb74dc6e61ed9213abf451fe2 + + +1@af048eff07c83bb2bbe1d8a898426ff04b32fce7471982c4dbc3d18f3605e684$"@00000000000000000009f7ed5b1ff88b61345e9024942212fe179affb2277773(-2 +@ed1eea7692872746fa51568573cbe87b4bfb21912a400472483cd69fa99b9659B029c8eadbf2d1446edef89d68658ce43e4e6ce6628900761357dd9588063a9b1ad2 +@d0091643c787517f7c83b8078d9c72a8ab54132ab13669c37aca3672d044c641B0314077c211d3976cc5b3e99551d7f05a1f99fc53b0f61a6ffb853a891403a3bf6B + @af048eff07c83bb2bbe1d8a898426ff04b32fce7471982c4dbc3d18f3605e684""1B1JezEnKZKybGC8we6fzRAPUGo9tKoeYZ"UOP_DUP OP_HASH160 6dbffed5709c4694b335dbb54bdfbdfba45b92fd OP_EQUALVERIFY OP_CHECKSIG*276a9146dbffed5709c4694b335dbb54bdfbdfba45b92fd88ac*"1B1JezEnKZKybGC8we6fzRAPUGo9tKoeYZ8$J  +ށ +@af048eff07c83bb2bbe1d8a898426ff04b32fce7471982c4dbc3d18f3605e684""15xYCTgZCN7AbmP2iRCWAJzq6WvZn1odsk"UOP_DUP OP_HASH160 36616c685d8ea0cb2b408ef2fcb4511494c95240 OP_EQUALVERIFY OP_CHECKSIG*276a91436616c685d8ea0cb2b408ef2fcb4511494c9524088ac*"15xYCTgZCN7AbmP2iRCWAJzq6WvZn1odsk8$J  + +@af048eff07c83bb2bbe1d8a898426ff04b32fce7471982c4dbc3d18f3605e684"!1Mto5krKRMVa2X4sxKxyqv21PnVFYMXTD"UOP_DUP OP_HASH160 03f38e1c706113fc4dfb685a32cb5289abb536f7 OP_EQUALVERIFY OP_CHECKSIG*276a91403f38e1c706113fc4dfb685a32cb5289abb536f788ac*!1Mto5krKRMVa2X4sxKxyqv21PnVFYMXTD8$J  + + +1@d00f33b36f7909d91579a6d13e540e24552a16a34753a7a715166ba78c1d63b4$"@00000000000000000009f7ed5b1ff88b61345e9024942212fe179affb2277773(-2 +@03366bcad15e9cd0049c36ca62449d6b454573f030ee87980266e208fdda77ceB0257caf0aff83360e6d51edda4b6dc1938b8dba3091f55e971024d064b04e7b4d82 +@8714d002d97b548ac880adc15548604f4b4977b08aad6cf70ef2dda22aa4fc6aB02dcb375c9664736cfd768cf9b41bc63beaa391749dcee85313f37fd10e5712787B +@d00f33b36f7909d91579a6d13e540e24552a16a34753a7a715166ba78c1d63b4""15aZmhdZwysG3ZxDBVxjrB2ZRwHTRrmqHH"UOP_DUP OP_HASH160 323995e1be68fa9bb0fc7e6054f684bca506cb6b OP_EQUALVERIFY OP_CHECKSIG*276a914323995e1be68fa9bb0fc7e6054f684bca506cb6b88ac*"15aZmhdZwysG3ZxDBVxjrB2ZRwHTRrmqHH8$J  +@d00f33b36f7909d91579a6d13e540e24552a16a34753a7a715166ba78c1d63b4""1N8c5owX5An496U5AKUm6yyiSD1HVUGxiC"UOP_DUP OP_HASH160 e7cad6c4a2dc238148964f1b9c2ad9d97b62f1b7 OP_EQUALVERIFY OP_CHECKSIG*276a914e7cad6c4a2dc238148964f1b9c2ad9d97b62f1b788ac*"1N8c5owX5An496U5AKUm6yyiSD1HVUGxiC8$J  +y@d00f33b36f7909d91579a6d13e540e24552a16a34753a7a715166ba78c1d63b4""12P1VQEKpgTrWxujwA7WHSLD86XP6exzcE"UOP_DUP OP_HASH160 0f21af89a59447b76394c8efb80d9321a9b36238 OP_EQUALVERIFY OP_CHECKSIG*276a9140f21af89a59447b76394c8efb80d9321a9b3623888ac*"12P1VQEKpgTrWxujwA7WHSLD86XP6exzcE8$J ;$-@0000000000000000000a0acdf90cf400eccd6488c87753e8883314c98a773de6"@00000000000000000009f7ed5b1ff88b61345e9024942212fe179affb22777732$-@00000000000000000002c13136f30476b6c4e3a8cd4464020fb511bf68c99495"@0000000000000000000a0acdf90cf400eccd6488c87753e8883314c98a773de62$-@0000000000000000000c327f79ac681899a685be4c9667b55690b7885a121314"@00000000000000000002c13136f30476b6c4e3a8cd4464020fb511bf68c994952$-@00000000000000000001e7b1801bca91b48fbe5685ed1a982b2c26ec5c8839c2"@0000000000000000000c327f79ac681899a685be4c9667b55690b7885a1213142$ȃ-@00000000000000000017454420fe55ef44a94cca517eedb8d21b070644da79f3"@00000000000000000001e7b1801bca91b48fbe5685ed1a982b2c26ec5c8839c22$ȃ-@0000000000000000000163a920dc49c48836c37365544419084c4ae93ee556b1"@00000000000000000017454420fe55ef44a94cca517eedb8d21b070644da79f32$舗-@000000000000000000116591b2e6f86422edb1cec732ea4785e9b8135158565c"@0000000000000000000163a920dc49c48836c37365544419084c4ae93ee556b12$-@0000000000000000000371c3395ec0856c6ae8f9920cc741072da7f4a855b7c5"@000000000000000000116591b2e6f86422edb1cec732ea4785e9b8135158565c2$ȥ-@00000000000000000008c5ad0632a9d9a12b4ef6456e57da5367aab3d46b5817"@0000000000000000000371c3395ec0856c6ae8f9920cc741072da7f4a855b7c52 + +1@29a698f777ea22849ff4102fc312a8e9bbfb1d86d1baede4db61fd3771dbfcc5$"@00000000000000000008c5ad0632a9d9a12b4ef6456e57da5367aab3d46b5817(ȥ-2 +@d00f33b36f7909d91579a6d13e540e24552a16a34753a7a715166ba78c1d63b4B03dba12095b32eaaeece6db87d5caf76d35e93e68b53309dc6c764a8428dbe32f82 +@cc9c66d46d938ee83a2a4025485756b7067de29a363dc6f648163a8c3e213f12B0287c1b8d381c9753649aa003a195112d79361083646625f94af2798bd283adb312 +@cc9c66d46d938ee83a2a4025485756b7067de29a363dc6f648163a8c3e213f12B02d29f0f0d4a90c4125cd14dec22c90a818def22f4b55ef236744e8ecb65cf02bd2 +@90bb3c499aea520fdf2495a054d9c7641acae231da249b09436d9e77a419657dB02d8c1d16f45fa5af24c5a6a71fc23fd12dfb519ae603f68a655c6263993e9c97fB +@29a698f777ea22849ff4102fc312a8e9bbfb1d86d1baede4db61fd3771dbfcc5""19xURSLCFRD1tTecraz7kFL8QPz8At9Gm8"UOP_DUP OP_HASH160 623ec63ae95cc122974160f14a812f7e47deba67 OP_EQUALVERIFY OP_CHECKSIG*276a914623ec63ae95cc122974160f14a812f7e47deba6788ac*"19xURSLCFRD1tTecraz7kFL8QPz8At9Gm88$J  + +@29a698f777ea22849ff4102fc312a8e9bbfb1d86d1baede4db61fd3771dbfcc5""1N9bGzV7yaoAoMZ8he4gR7jioFb53HGdtv"UOP_DUP OP_HASH160 e7fa94c14d955f313a092767567b3a948b007944 OP_EQUALVERIFY OP_CHECKSIG*276a914e7fa94c14d955f313a092767567b3a948b00794488ac*"1N9bGzV7yaoAoMZ8he4gR7jioFb53HGdtv8$J  +@29a698f777ea22849ff4102fc312a8e9bbfb1d86d1baede4db61fd3771dbfcc5""1LBV4NJCMGLjTQ7T2Y2bwwDSrSyiDHrime"UOP_DUP OP_HASH160 d265f8a031340a5bd6132ce1cd386643befa6695 OP_EQUALVERIFY OP_CHECKSIG*276a914d265f8a031340a5bd6132ce1cd386643befa669588ac*"1LBV4NJCMGLjTQ7T2Y2bwwDSrSyiDHrime8$J $-@000000000000000000088fc9063746fcfd63257ca56deba988c7ecfc72a7389d"@00000000000000000008c5ad0632a9d9a12b4ef6456e57da5367aab3d46b58172$Ⱦ-@0000000000000000000462d27dd02239cfd7fad5f88ebd0a8424e7dc7560fe4a"@000000000000000000088fc9063746fcfd63257ca56deba988c7ecfc72a7389d2$-@000000000000000000016d0040e5cbe3114fab226e11c0690e0ffd1cebbfa05e"@0000000000000000000462d27dd02239cfd7fad5f88ebd0a8424e7dc7560fe4a2 $-@0000000000000000001136e6840b9b5a35fa9e10dc3efe60f68404435416c5f5"@000000000000000000016d0040e5cbe3114fab226e11c0690e0ffd1cebbfa05e2 + + + +1@4f8938bc84cd188dc960fa9ec6d709cc4b5fb854f8093d6df841776c62456ba3$"@0000000000000000001136e6840b9b5a35fa9e10dc3efe60f68404435416c5f5(-2 +@d0091643c787517f7c83b8078d9c72a8ab54132ab13669c37aca3672d044c641B029b3f94d664b1974b0a37bf85083fb41ea5cb7ad55b1d201440c785159ce83c5f2 +@af048eff07c83bb2bbe1d8a898426ff04b32fce7471982c4dbc3d18f3605e684B025899473fcf5077e0ece45477832daa9c229cfdd420f4e427fb309b4f5981fcc8B + @4f8938bc84cd188dc960fa9ec6d709cc4b5fb854f8093d6df841776c62456ba3""12aLDFttSCZxwk7ouTkswgqTn6zdo7oYxQ"UOP_DUP OP_HASH160 1145e3ab0af33ee53e3c43dbcfbb370a81f12725 OP_EQUALVERIFY OP_CHECKSIG*276a9141145e3ab0af33ee53e3c43dbcfbb370a81f1272588ac*"12aLDFttSCZxwk7ouTkswgqTn6zdo7oYxQ8$J  + @4f8938bc84cd188dc960fa9ec6d709cc4b5fb854f8093d6df841776c62456ba3""1MUN7xFFhtiptmGzd9PUNWdJrr9HQBRNZ9"UOP_DUP OP_HASH160 e08f606a72941ea4f53339e65544563ace7b081a OP_EQUALVERIFY OP_CHECKSIG*276a914e08f606a72941ea4f53339e65544563ace7b081a88ac*"1MUN7xFFhtiptmGzd9PUNWdJrr9HQBRNZ98$J  + +@4f8938bc84cd188dc960fa9ec6d709cc4b5fb854f8093d6df841776c62456ba3""1L86qQkg57kjN3wSL9bajVzfNnxdExZTdB"UOP_DUP OP_HASH160 d1c22c1187344764fd8f2f3fb5dffff92315deda OP_EQUALVERIFY OP_CHECKSIG*276a914d1c22c1187344764fd8f2f3fb5dffff92315deda88ac*"1L86qQkg57kjN3wSL9bajVzfNnxdExZTdB8$J L$پ-@000000000000000000028c13eaa046a1fc0c695b0b00df07f4df5303c22c0cf3"@0000000000000000001136e6840b9b5a35fa9e10dc3efe60f68404435416c5f52+$ȼژ-@000000000000000000090f1cec8bc0bf246470592302daf9c173b7c5f35a4870"@000000000000000000028c13eaa046a1fc0c695b0b00df07f4df5303c22c0cf32* + + +1@a8179552900aba8d48e625755dace5bdbd39bccdc47115603e7d8f64c833817c$"@000000000000000000090f1cec8bc0bf246470592302daf9c173b7c5f35a4870(ȼژ-2 +@639203308f85d95aa29ebcead2b1730456f4436516c2bb03398dc72322ee19f6B023cfd886079fcc2c1721a01f7e0215e536f3b94644fe6eed8de07c38e18d3ea0d2 +@73f8c2606d5014bc4964e1c2f955ea058cc2d79117600d9b8aba4ec4a2f72f22B02b97bd07244336f9c46421861e1b4ad131323edeca62e0f92782962865e4dfc58B +@a8179552900aba8d48e625755dace5bdbd39bccdc47115603e7d8f64c833817c""18DwKPHnamgBXzDEQSPyhaMDAih3N45zXs"UOP_DUP OP_HASH160 4f3b36ab526e3413aadc5c42e025da6634f9190d OP_EQUALVERIFY OP_CHECKSIG*276a9144f3b36ab526e3413aadc5c42e025da6634f9190d88ac*"18DwKPHnamgBXzDEQSPyhaMDAih3N45zXs8$J  + @a8179552900aba8d48e625755dace5bdbd39bccdc47115603e7d8f64c833817c""1GHSznr7o339JMDJezQ4WjN6YVczAJgHfr"UOP_DUP OP_HASH160 a7a63e2a897cbfa1d7e3c16a129b2b4facca7be1 OP_EQUALVERIFY OP_CHECKSIG*276a914a7a63e2a897cbfa1d7e3c16a129b2b4facca7be188ac*"1GHSznr7o339JMDJezQ4WjN6YVczAJgHfr8$J  +ߞ@a8179552900aba8d48e625755dace5bdbd39bccdc47115603e7d8f64c833817c""1EoUVC1a2x2rVdtPCymmqum9MfzEbehp4D"UOP_DUP OP_HASH160 9763b6af793c99f04532f49027ad4e935f247945 OP_EQUALVERIFY OP_CHECKSIG*276a9149763b6af793c99f04532f49027ad4e935f24794588ac*"1EoUVC1a2x2rVdtPCymmqum9MfzEbehp4D8$J ; + + +1@aea7cf564755369dc94a3b68b0addf5db9858c5a3be64dc3b8374938f5315665$"@000000000000000000090f1cec8bc0bf246470592302daf9c173b7c5f35a4870(ȼژ-2 +@aba034357ada91c65027eb8a194992e1e36033a59a9bdde22e33ac219349f49fB020644a39dff00d916e9ae0873f29d9c32d8ccb4ba5116501fda229931ad1305192 +@e3c64000258e5e78300f27482d632461b9f86b06fa767a2b70f3e9a7d48b16c2B035efeb72a76b4ec20c95d39515a4be442efeef69d82a7a30d47511695d36a2ecbB +@aea7cf564755369dc94a3b68b0addf5db9858c5a3be64dc3b8374938f5315665""1D9Ly4hHPcTjTMAc2VHKU66xayNtbPGCjV"UOP_DUP OP_HASH160 8535811fc31e5c3f7b50fcb3a4803a9502233606 OP_EQUALVERIFY OP_CHECKSIG*276a9148535811fc31e5c3f7b50fcb3a4803a950223360688ac*"1D9Ly4hHPcTjTMAc2VHKU66xayNtbPGCjV8$J  + @aea7cf564755369dc94a3b68b0addf5db9858c5a3be64dc3b8374938f5315665""12iTnRr7Ueoa3YCJLJVH8CQqoqbLXbrZTQ"UOP_DUP OP_HASH160 12cf89a9c5b7216bc30d250add824a84daea15e6 OP_EQUALVERIFY OP_CHECKSIG*276a91412cf89a9c5b7216bc30d250add824a84daea15e688ac*"12iTnRr7Ueoa3YCJLJVH8CQqoqbLXbrZTQ8$J  +U@aea7cf564755369dc94a3b68b0addf5db9858c5a3be64dc3b8374938f5315665""177SRyFWkF8uxeJMVZSrvPUYzbiYGR8sTk"UOP_DUP OP_HASH160 43087a927cb7b422b38a7bd3e29d2657a9d374d9 OP_EQUALVERIFY OP_CHECKSIG*276a91443087a927cb7b422b38a7bd3e29d2657a9d374d988ac*"177SRyFWkF8uxeJMVZSrvPUYzbiYGR8sTk8$J ; + + +1@a6647e65d6e357fd85fdf92d00ef8d8c4efdb377c556c516fd09a6b18c9391e9$"@000000000000000000090f1cec8bc0bf246470592302daf9c173b7c5f35a4870(ȼژ-2 +@a8179552900aba8d48e625755dace5bdbd39bccdc47115603e7d8f64c833817cB0304764f989f17782baad304ff56b370a9be4b41ea93c4a604df2ea30f7ef8097a2 +@a8179552900aba8d48e625755dace5bdbd39bccdc47115603e7d8f64c833817cB03c85ac49975b2f64d42924a555432b5bfb9550c02648e9f4ed3daddd4ed4ba808B +@a6647e65d6e357fd85fdf92d00ef8d8c4efdb377c556c516fd09a6b18c9391e9""17jUGkoKM5V6L4NR5N6gnwR7gS42VchFMx"UOP_DUP OP_HASH160 49d8fd856772e42991796d172067b808ff649c9f OP_EQUALVERIFY OP_CHECKSIG*276a91449d8fd856772e42991796d172067b808ff649c9f88ac*"17jUGkoKM5V6L4NR5N6gnwR7gS42VchFMx8$J  + @a6647e65d6e357fd85fdf92d00ef8d8c4efdb377c556c516fd09a6b18c9391e9""192bqKtCHhVnQXzgdy9tyC9n3xhBcCxxwV"UOP_DUP OP_HASH160 580e7fe0b530bc7d31c74df630c3e58e57d25723 OP_EQUALVERIFY OP_CHECKSIG*276a914580e7fe0b530bc7d31c74df630c3e58e57d2572388ac*"192bqKtCHhVnQXzgdy9tyC9n3xhBcCxxwV8$J  + +@a6647e65d6e357fd85fdf92d00ef8d8c4efdb377c556c516fd09a6b18c9391e9""1KdrySbvqF9BVSb922KB77EJm6uy7c8Sc9"UOP_DUP OP_HASH160 cc6af4465f4684e77e7988b549cecb135748b05e OP_EQUALVERIFY OP_CHECKSIG*276a914cc6af4465f4684e77e7988b549cecb135748b05e88ac*"1KdrySbvqF9BVSb922KB77EJm6uy7c8Sc98$J ; + + +1@cbbf90147f4c951abc4af067d5d5583f000b1a2774d5999589db09e153719bf1$"@000000000000000000090f1cec8bc0bf246470592302daf9c173b7c5f35a4870(ȼژ-2 +@a6647e65d6e357fd85fdf92d00ef8d8c4efdb377c556c516fd09a6b18c9391e9B022f8893c58d87046fb7358f2a5d4ab8f54cba88949c1eb107e8e86b2de53623e62 +@a6647e65d6e357fd85fdf92d00ef8d8c4efdb377c556c516fd09a6b18c9391e9B03dfcdb871016a348d5965f5978b5708ec9031e5e4ac3f8bf4f3b913444a8ecefcB +@cbbf90147f4c951abc4af067d5d5583f000b1a2774d5999589db09e153719bf1"!1QKRyJefzm4sYmazX4Femkmyg8CaakZNj"UOP_DUP OP_HASH160 0468f3c04f273afdca673ceb971b3e3c69f5db51 OP_EQUALVERIFY OP_CHECKSIG*276a9140468f3c04f273afdca673ceb971b3e3c69f5db5188ac*!1QKRyJefzm4sYmazX4Femkmyg8CaakZNj8$J  + @cbbf90147f4c951abc4af067d5d5583f000b1a2774d5999589db09e153719bf1""1GSCadBVyW1PXokvFmUQSqmFFYYrXxZhz8"UOP_DUP OP_HASH160 a94df3ba921c4e410ed66fc1d0b86cd08ced4b11 OP_EQUALVERIFY OP_CHECKSIG*276a914a94df3ba921c4e410ed66fc1d0b86cd08ced4b1188ac*"1GSCadBVyW1PXokvFmUQSqmFFYYrXxZhz88$J  +@cbbf90147f4c951abc4af067d5d5583f000b1a2774d5999589db09e153719bf1""1KknVa6q2FcHP51Fq6GU3pG7xq21UARRa4"UOP_DUP OP_HASH160 cdba2032b194573365d2f7f146b7419ee97b6597 OP_EQUALVERIFY OP_CHECKSIG*276a914cdba2032b194573365d2f7f146b7419ee97b659788ac*"1KknVa6q2FcHP51Fq6GU3pG7xq21UARRa48$J ;$-@000000000000000000020745c075fedda6372a9ae873f93d4712af1914384a34"@000000000000000000090f1cec8bc0bf246470592302daf9c173b7c5f35a48702$-@00000000000000000017dc3ab0cba42eb10f7272c3559138da500f21b1bb9016"@000000000000000000020745c075fedda6372a9ae873f93d4712af1914384a342 $-@00000000000000000006c7a5e8db0ffe1df2fd2762e7a3a3f4df8a36624d5980"@00000000000000000017dc3ab0cba42eb10f7272c3559138da500f21b1bb90162 + + + +1@4ceb96d3f0faac6054ecf9145399f641c6856acba4fa84c92e63fdc02e3cccf2$"@00000000000000000006c7a5e8db0ffe1df2fd2762e7a3a3f4df8a36624d5980(-2 +@04a17e030a0382fba3d37cd558205923a8d6bba358b0ed894590dd4ae22bcf42B03e3ef26ee05355defabdab3f041ee52814a812f226c51bfb5c13468372ea01d7e2 +@cda957389ccf9cb9b372b43512ddee76f176d350ea4616eb46dc8061fdd04eafB02e158125652e2978c9fd8b0a4c8acce4289ee2317ca940e2d71088b1009a53292B +@4ceb96d3f0faac6054ecf9145399f641c6856acba4fa84c92e63fdc02e3cccf2""1MpaxQAnf9PerCKkJS6G3HiPY9sQecU7gF"UOP_DUP OP_HASH160 e46269045602c2fd943c001a26deca8f5a4edd38 OP_EQUALVERIFY OP_CHECKSIG*276a914e46269045602c2fd943c001a26deca8f5a4edd3888ac*"1MpaxQAnf9PerCKkJS6G3HiPY9sQecU7gF8$J  + @4ceb96d3f0faac6054ecf9145399f641c6856acba4fa84c92e63fdc02e3cccf2""1CE9MwJ915DXMT9g9v9r6f3wmrZdZHXVkf"UOP_DUP OP_HASH160 7b25c540175ebe5731730762589c130ad99d2be0 OP_EQUALVERIFY OP_CHECKSIG*276a9147b25c540175ebe5731730762589c130ad99d2be088ac*"1CE9MwJ915DXMT9g9v9r6f3wmrZdZHXVkf8$J  +ЛZ@4ceb96d3f0faac6054ecf9145399f641c6856acba4fa84c92e63fdc02e3cccf2""1B8AeESmAknjvjtPTHJJD1hvj6uoM7q61J"UOP_DUP OP_HASH160 6f0c37def957409c18990e5d4e39a8104dc65039 OP_EQUALVERIFY OP_CHECKSIG*276a9146f0c37def957409c18990e5d4e39a8104dc6503988ac*"1B8AeESmAknjvjtPTHJJD1hvj6uoM7q61J8$J ; $-@0000000000000000000a3d32cf1bf0fc0cc32d1e3e4d474170e97f3731044f26"@00000000000000000006c7a5e8db0ffe1df2fd2762e7a3a3f4df8a36624d59802 + + + +1@3299316f80501af069f9bfb002375fa529855d55c71446e3a83437efa6e5b816$"@0000000000000000000a3d32cf1bf0fc0cc32d1e3e4d474170e97f3731044f26(-2 +@29a698f777ea22849ff4102fc312a8e9bbfb1d86d1baede4db61fd3771dbfcc5B0201ad00f1927c8891c6b9dc683ff36600f07680ccc727a43fcd394ba590b9a9ff2 +@58ec0bbf47ada8664161848501da0eb3d19c1052c6df9ad3ec557c56bd96c7efB03b7f1e2d161137de7ec5cb309620fba5cc80d8a4fba8b81d4e5ad80ce85d09fbbB +@3299316f80501af069f9bfb002375fa529855d55c71446e3a83437efa6e5b816"!1KQtB2mzhSBDD6b98X1cdJveaMX5ADGAA"UOP_DUP OP_HASH160 037b6c59d440a736ea57c290a13c1c51de5e4307 OP_EQUALVERIFY OP_CHECKSIG*276a914037b6c59d440a736ea57c290a13c1c51de5e430788ac*!1KQtB2mzhSBDD6b98X1cdJveaMX5ADGAA8$J  + @3299316f80501af069f9bfb002375fa529855d55c71446e3a83437efa6e5b816""1PbaYw75TttZqc7vKHyC2FuvH2WiEhJxV1"UOP_DUP OP_HASH160 f7dceaa2c5f6b78e41757fd928b5a26f85585a54 OP_EQUALVERIFY OP_CHECKSIG*276a914f7dceaa2c5f6b78e41757fd928b5a26f85585a5488ac*"1PbaYw75TttZqc7vKHyC2FuvH2WiEhJxV18$J  +Z@3299316f80501af069f9bfb002375fa529855d55c71446e3a83437efa6e5b816""197g4oeBrHuNBNFeGwmU9y3JcbXUyJsJP6"UOP_DUP OP_HASH160 59041cc31fa725071fbe5722367d47614d3c7036 OP_EQUALVERIFY OP_CHECKSIG*276a91459041cc31fa725071fbe5722367d47614d3c703688ac*"197g4oeBrHuNBNFeGwmU9y3JcbXUyJsJP68$J ;$-@00000000000000000008a78be2fab2a840a5480b5062b25d112b791aa6c61920"@0000000000000000000a3d32cf1bf0fc0cc32d1e3e4d474170e97f3731044f262Z$Ԑ-@00000000000000000000455a1c6231bb53a82a0ac95642daefe4823faec82516"@00000000000000000008a78be2fab2a840a5480b5062b25d112b791aa6c619202Y + + +1@2aec70d6fd7d4ccdcc3079216f3b38e27a32036bc98deb6daad607f33c24161d$"@00000000000000000000455a1c6231bb53a82a0ac95642daefe4823faec82516(Ԑ-2 +@1684a8045f1b8ee72b290addb4fdd58f8ac8c6657ba222b8598a6825e4e62e8dB02b996fff16f9c85ba7e03043f8cf2d7219432749860b9e6c1f4de89fbcc864da02 +@1684a8045f1b8ee72b290addb4fdd58f8ac8c6657ba222b8598a6825e4e62e8dB0224d8d3079e79482eec23396604a4ede96d761c565571e89ec3b1b19e0780ece8B + @2aec70d6fd7d4ccdcc3079216f3b38e27a32036bc98deb6daad607f33c24161d""1AnzqdicgAMH39aBs4rPz92xSCgjrcUHDd"UOP_DUP OP_HASH160 6b6c21a8eb7e0cc461bb90e72d0f4b0061e5b96e OP_EQUALVERIFY OP_CHECKSIG*276a9146b6c21a8eb7e0cc461bb90e72d0f4b0061e5b96e88ac*"1AnzqdicgAMH39aBs4rPz92xSCgjrcUHDd8$J  +@2aec70d6fd7d4ccdcc3079216f3b38e27a32036bc98deb6daad607f33c24161d""1EzS7ZSozPVkjVNStteKPEuaPdcLXYrPFE"UOP_DUP OP_HASH160 99764ef109ff86accdf37c76c165a8de8b4a05b8 OP_EQUALVERIFY OP_CHECKSIG*276a91499764ef109ff86accdf37c76c165a8de8b4a05b888ac*"1EzS7ZSozPVkjVNStteKPEuaPdcLXYrPFE8$J  +@2aec70d6fd7d4ccdcc3079216f3b38e27a32036bc98deb6daad607f33c24161d""1Ha2Hx5DcshXXxUjkyin3q17GMpyyuQ3AN"UOP_DUP OP_HASH160 b5c0d1673c44f92bfe7cfd673199f47f2b70bb5a OP_EQUALVERIFY OP_CHECKSIG*276a914b5c0d1673c44f92bfe7cfd673199f47f2b70bb5a88ac*"1Ha2Hx5DcshXXxUjkyin3q17GMpyyuQ3AN8$J  + + +1@11b14397896ff9af99e3dbc0e6fc10aa3344f7a36a046cc65f067946cb36d074$"@00000000000000000000455a1c6231bb53a82a0ac95642daefe4823faec82516(Ԑ-2 +@ee4fbafbae3cfcd08ee8ae3b8c92f4bf9be72573ab6ef83ce845bb17effb9fb0B03379c828a0940d42984a741d07077dfcfc460df777c8db87086b0c14dbb90c8c22 +@29d7f74efaa1da5cbd60f1efa2f3739083d0a7a33d60188afdb8b0f7a0cbc8abB03013f4dd295759c13ebbb2ba972553342d6f282bdd08356b16bc881d10e1e864aB +@11b14397896ff9af99e3dbc0e6fc10aa3344f7a36a046cc65f067946cb36d074""1EDkCndWe6hXS9TJDktakpehtPnZxNAMrS"UOP_DUP OP_HASH160 9102b0e2df9acfe771a754b6c9076e6be9bc70ce OP_EQUALVERIFY OP_CHECKSIG*276a9149102b0e2df9acfe771a754b6c9076e6be9bc70ce88ac*"1EDkCndWe6hXS9TJDktakpehtPnZxNAMrS8$J  +@11b14397896ff9af99e3dbc0e6fc10aa3344f7a36a046cc65f067946cb36d074""15DLAFaYwkL7k4fMZkKhKuvDLy37F7ryGb"UOP_DUP OP_HASH160 2e357cfc6efaf8c4a6f2ddf70aaa27092111cf62 OP_EQUALVERIFY OP_CHECKSIG*276a9142e357cfc6efaf8c4a6f2ddf70aaa27092111cf6288ac*"15DLAFaYwkL7k4fMZkKhKuvDLy37F7ryGb8$J  +@11b14397896ff9af99e3dbc0e6fc10aa3344f7a36a046cc65f067946cb36d074""1LGtWzvidd4WEpdong7ByvBgqw65KE8Wfp"UOP_DUP OP_HASH160 d36ba23bfaa72e5464335cbba6e105721206cd46 OP_EQUALVERIFY OP_CHECKSIG*276a914d36ba23bfaa72e5464335cbba6e105721206cd4688ac*"1LGtWzvidd4WEpdong7ByvBgqw65KE8Wfp8$J  + + +1@12d8f8d5c3af16c3642ad4ccee28492cc7a9339262929630f8d068ac8e960ef8$"@00000000000000000000455a1c6231bb53a82a0ac95642daefe4823faec82516(Ԑ-2 +@4c938c68c0edb3a088d655ef03084dc7ba763f4065e63463c5f6b46b0d20d8f1B02cafeec716a0854d36f60079ce538dc640e299cb56beb1f05ed6c9789ff8d40592 +@4c938c68c0edb3a088d655ef03084dc7ba763f4065e63463c5f6b46b0d20d8f1B0239e485d3542eda756b961fe9374206b89be960a0309986e53c3634cceb6d7190B +R@12d8f8d5c3af16c3642ad4ccee28492cc7a9339262929630f8d068ac8e960ef8""1MnPCFSL2on9EAiVJMNGCKg7N2VU2uEoaT"UOP_DUP OP_HASH160 e3f7c2b21469ec1425383cca52a41b7626a06bf1 OP_EQUALVERIFY OP_CHECKSIG*276a914e3f7c2b21469ec1425383cca52a41b7626a06bf188ac*"1MnPCFSL2on9EAiVJMNGCKg7N2VU2uEoaT8$J  +[@12d8f8d5c3af16c3642ad4ccee28492cc7a9339262929630f8d068ac8e960ef8""1L7Ax5su6mmtryyj3X1ts89LS4FoZ6aVgW"UOP_DUP OP_HASH160 d19530f76b8ec51660263ba0aae0a2d39cd69b8e OP_EQUALVERIFY OP_CHECKSIG*276a914d19530f76b8ec51660263ba0aae0a2d39cd69b8e88ac*"1L7Ax5su6mmtryyj3X1ts89LS4FoZ6aVgW8$J  +@12d8f8d5c3af16c3642ad4ccee28492cc7a9339262929630f8d068ac8e960ef8""1CSbic5fNQyQLtmkpT7NQucL84sYmq8ZNa"UOP_DUP OP_HASH160 7d80c363026aab1cc434312d24ca76f7f3fb025c OP_EQUALVERIFY OP_CHECKSIG*276a9147d80c363026aab1cc434312d24ca76f7f3fb025c88ac*"1CSbic5fNQyQLtmkpT7NQucL84sYmq8ZNa8$J  + +1@196a45c1dec50fe7ec4257bf9fe7b871d495f7aaaf87c364f870aef6a6e441c0$"@00000000000000000000455a1c6231bb53a82a0ac95642daefe4823faec82516(Ԑ-2 +@12d8f8d5c3af16c3642ad4ccee28492cc7a9339262929630f8d068ac8e960ef8B02cd69a0702d99c8b0924bfaa3986e39d77d3e10f925065c934defebbb7f5c94a82 +@369ac2b88e53a59690ea5299077c51794689b81dd9959cfd6d1047b6a9b46255B02fb48464d6ed87807927209fcba5c45877ba707c15657f054825881a48f974d332 +@563891dc3e19cf35a882f174745fab47f0d1f9fc6b3d3cacd7dc91dd78cff1a4B02a9edcc70bc8809aa0c0e9bb3953199dd1b1f1908cf318cf149261fe94ee1f66b2 +@ab6b22bb1246ec6d5d6215f3a17c927b0092d86989f3bd17322a58e0cf76f900B037b637f72b3725012950f3c3b24c5ff72527ad42e50efd683a05c836d62a95bc22 +@327d3e390fc931e51befec286f48f9ec234279b67229b2d0fb4b19182be7f458B03d17a8a94c7f06773d1619cf216e6a211335b4985cbc94ee4f4fac5f9c1dff71dB +Q@196a45c1dec50fe7ec4257bf9fe7b871d495f7aaaf87c364f870aef6a6e441c0""1Gq7doF6pQa9Fwx7ta8jYJA4XDCR7QtjKE"UOP_DUP OP_HASH160 ada3641d3959a5f953062efae088fad51bec7e77 OP_EQUALVERIFY OP_CHECKSIG*276a914ada3641d3959a5f953062efae088fad51bec7e7788ac*"1Gq7doF6pQa9Fwx7ta8jYJA4XDCR7QtjKE8$J  +[@196a45c1dec50fe7ec4257bf9fe7b871d495f7aaaf87c364f870aef6a6e441c0""15JMZL9Uch2N4AaivTKbhhg5VWPsdJR3Nt"UOP_DUP OP_HASH160 2f28bc25cea0f22488002ced3722dc36d1868e1a OP_EQUALVERIFY OP_CHECKSIG*276a9142f28bc25cea0f22488002ced3722dc36d1868e1a88ac*"15JMZL9Uch2N4AaivTKbhhg5VWPsdJR3Nt8$J  +@196a45c1dec50fe7ec4257bf9fe7b871d495f7aaaf87c364f870aef6a6e441c0""1L89V43W6k4YYnqdHGCcdHpeesDoBgbXn9"UOP_DUP OP_HASH160 d1c462287375fe385436d480d8386574a6a341bf OP_EQUALVERIFY OP_CHECKSIG*276a914d1c462287375fe385436d480d8386574a6a341bf88ac*"1L89V43W6k4YYnqdHGCcdHpeesDoBgbXn98$J  + +1@f0b2756c9cbfa72db5ee373cafd4e06e538c01175dc397a1eee1ca91a1637a29$"@00000000000000000000455a1c6231bb53a82a0ac95642daefe4823faec82516(Ԑ-2 +@196a45c1dec50fe7ec4257bf9fe7b871d495f7aaaf87c364f870aef6a6e441c0B02e3b211aa7b32caa9c659cd8f8198d36067021369139e5b5193006cda8d5ba3c52 +@196a45c1dec50fe7ec4257bf9fe7b871d495f7aaaf87c364f870aef6a6e441c0B0241d6e0bebacc33dbde875adc3b7bdb5621d75b4f6d5066f1e08767dfee8067ee2 +@12d8f8d5c3af16c3642ad4ccee28492cc7a9339262929630f8d068ac8e960ef8B03f2c8e34fc04078a9d6e37b0dc5dd7b2f3086576aea9d1b9ad1b85f9f46a4cc96B +Q@f0b2756c9cbfa72db5ee373cafd4e06e538c01175dc397a1eee1ca91a1637a29""18mWfRr6Anam5UCKAdbTzT8n2HyaAkaky9"UOP_DUP OP_HASH160 5533f1a0efadc59d9ed7f075785c6c8132dc470a OP_EQUALVERIFY OP_CHECKSIG*276a9145533f1a0efadc59d9ed7f075785c6c8132dc470a88ac*"18mWfRr6Anam5UCKAdbTzT8n2HyaAkaky98$J  +[@f0b2756c9cbfa72db5ee373cafd4e06e538c01175dc397a1eee1ca91a1637a29""1KLbWPPVD1ixuX14TYMAwQdxTufbCNDZ6G"UOP_DUP OP_HASH160 c926f8dab2970ee38b8ec60f1bfae2092e00bd34 OP_EQUALVERIFY OP_CHECKSIG*276a914c926f8dab2970ee38b8ec60f1bfae2092e00bd3488ac*"1KLbWPPVD1ixuX14TYMAwQdxTufbCNDZ6G8$J  +@f0b2756c9cbfa72db5ee373cafd4e06e538c01175dc397a1eee1ca91a1637a29""1JUfTZS4vGJYwDFpoggQKPMTsHRYEo4Mph"UOP_DUP OP_HASH160 bfb578eb96af3a5576afdc847e88e465389ef15f OP_EQUALVERIFY OP_CHECKSIG*276a914bfb578eb96af3a5576afdc847e88e465389ef15f88ac*"1JUfTZS4vGJYwDFpoggQKPMTsHRYEo4Mph8$J  + + +1@a84394f9e749443a4c83500c92c3534ace35f761d5dea0311cd18d8d6e00e88b$"@00000000000000000000455a1c6231bb53a82a0ac95642daefe4823faec82516(Ԑ-2 +@f0b2756c9cbfa72db5ee373cafd4e06e538c01175dc397a1eee1ca91a1637a29B031337be1638cc17dd96c37176a177a0a1c66997984b6967e25dc8166427c5ff8e2 +@f0b2756c9cbfa72db5ee373cafd4e06e538c01175dc397a1eee1ca91a1637a29B022e42bdd7b6493bf49ef30c2dcef37f40644e4cfc0945c5521bd42bd9feaa413fB +Q@a84394f9e749443a4c83500c92c3534ace35f761d5dea0311cd18d8d6e00e88b""1MqmyrrpTj6uvEvWuH2tWoi5BENwu8Ut71"UOP_DUP OP_HASH160 e49c078fbfb530918c2f1a41fb6d32a11af9f3df OP_EQUALVERIFY OP_CHECKSIG*276a914e49c078fbfb530918c2f1a41fb6d32a11af9f3df88ac*"1MqmyrrpTj6uvEvWuH2tWoi5BENwu8Ut718$J  +[@a84394f9e749443a4c83500c92c3534ace35f761d5dea0311cd18d8d6e00e88b""19KGdUmtYXKnoVKXtwwrfQMAkc9WsE95zc"UOP_DUP OP_HASH160 5b358a3b6fe34b8784eff8300fc555e23842a1a6 OP_EQUALVERIFY OP_CHECKSIG*276a9145b358a3b6fe34b8784eff8300fc555e23842a1a688ac*"19KGdUmtYXKnoVKXtwwrfQMAkc9WsE95zc8$J  +l@a84394f9e749443a4c83500c92c3534ace35f761d5dea0311cd18d8d6e00e88b""15K2Awsf1s7X223injNkfJeKZKxirUNKxe"UOP_DUP OP_HASH160 2f48f7e5fef69e8836e1750f59a4e29109ae83d1 OP_EQUALVERIFY OP_CHECKSIG*276a9142f48f7e5fef69e8836e1750f59a4e29109ae83d188ac*"15K2Awsf1s7X223injNkfJeKZKxirUNKxe8$J  + + +1@b1a1da5e8432c37731b237a1681de201e7cebd09b80bb41c7901b7e62d0d4357$"@00000000000000000000455a1c6231bb53a82a0ac95642daefe4823faec82516(Ԑ-2 +@11b14397896ff9af99e3dbc0e6fc10aa3344f7a36a046cc65f067946cb36d074B030df14a1547b7f30ae506dc2650c21218250995a4feb3f703910317a676a636672 +@11b14397896ff9af99e3dbc0e6fc10aa3344f7a36a046cc65f067946cb36d074B03527c9e719de9a38a00c10d5191a06e47f3d7be931a47b21e885ca0adad2fa592B +@b1a1da5e8432c37731b237a1681de201e7cebd09b80bb41c7901b7e62d0d4357""1MabNqGfwweaWiKgjoJb7G3pNPY1R6Hibi"UOP_DUP OP_HASH160 e1bcf03b31ca746bcf768ff8862c2a98569df775 OP_EQUALVERIFY OP_CHECKSIG*276a914e1bcf03b31ca746bcf768ff8862c2a98569df77588ac*"1MabNqGfwweaWiKgjoJb7G3pNPY1R6Hibi8$J  + @b1a1da5e8432c37731b237a1681de201e7cebd09b80bb41c7901b7e62d0d4357""18pQEb9KjaY1HJmbqzrBUck96zSFSna7H1"UOP_DUP OP_HASH160 55bfd360e2af1f473ca684ecbbc5edf619a4d6ef OP_EQUALVERIFY OP_CHECKSIG*276a91455bfd360e2af1f473ca684ecbbc5edf619a4d6ef88ac*"18pQEb9KjaY1HJmbqzrBUck96zSFSna7H18$J  +ċ @b1a1da5e8432c37731b237a1681de201e7cebd09b80bb41c7901b7e62d0d4357""17TsaMvyC59Qt9yRiZpLkDtRaJhj2b6feV"UOP_DUP OP_HASH160 46e5c9a9f493a1d4f2785d81aef80b186f716b30 OP_EQUALVERIFY OP_CHECKSIG*276a91446e5c9a9f493a1d4f2785d81aef80b186f716b3088ac*"17TsaMvyC59Qt9yRiZpLkDtRaJhj2b6feV8$J ; + + +1@2ad9f9d9078d810b1a8719fc311d6e9fcc00c8f1f83da62ae6d36cf5fa907bdb$"@00000000000000000000455a1c6231bb53a82a0ac95642daefe4823faec82516(Ԑ-2 +@6ca5f88b3fef90dceb5cd6d4f332d76f8c86ea607b06fec32aa48ea27744e812B02962cf2178702040b06583fa0f0c93e601de1c8d73e902ccd4fcf81a77f3bd13b2 +@a602b2ba576ef77f23410f8565cb7887654b68ac611a83b2080f1727097dd54eB03b3c1595c74686f5c31360f0fc923c941e09c2c498af85366a1d3281d108ff4ddB + @2ad9f9d9078d810b1a8719fc311d6e9fcc00c8f1f83da62ae6d36cf5fa907bdb""1MbFzkJrG8PPbP3BoBsqZtsKPSxzURDWp6"UOP_DUP OP_HASH160 e1dd2d14e3fb901765759c13c5bdf5ab43c4148f OP_EQUALVERIFY OP_CHECKSIG*276a914e1dd2d14e3fb901765759c13c5bdf5ab43c4148f88ac*"1MbFzkJrG8PPbP3BoBsqZtsKPSxzURDWp68$J  + @2ad9f9d9078d810b1a8719fc311d6e9fcc00c8f1f83da62ae6d36cf5fa907bdb""12XEAsPGkGCFwamGVrZ9VQvUjMnoRvnKDM"UOP_DUP OP_HASH160 10af9938ed218909882ca6f3940b6293289ac908 OP_EQUALVERIFY OP_CHECKSIG*276a91410af9938ed218909882ca6f3940b6293289ac90888ac*"12XEAsPGkGCFwamGVrZ9VQvUjMnoRvnKDM8$J  +Z@2ad9f9d9078d810b1a8719fc311d6e9fcc00c8f1f83da62ae6d36cf5fa907bdb""1H9WPgdh3VbGsCjE64gpSjftiLZu4aCQiS"UOP_DUP OP_HASH160 b11ddfeb32bc080a0f3ee59573282fa6f2e14264 OP_EQUALVERIFY OP_CHECKSIG*276a914b11ddfeb32bc080a0f3ee59573282fa6f2e1426488ac*"1H9WPgdh3VbGsCjE64gpSjftiLZu4aCQiS8$J ; $ɚ-@000000000000000000151980873458a5644e8919413f25ac200570a4cc5782ae"@00000000000000000000455a1c6231bb53a82a0ac95642daefe4823faec825162 + + + +1@86a7c3f24d3a82835590563d9bb7e4ec5a26e9ecf90bedd9202df268bc1d42e8$"@000000000000000000151980873458a5644e8919413f25ac200570a4cc5782ae(ɚ-2 +@b1a1da5e8432c37731b237a1681de201e7cebd09b80bb41c7901b7e62d0d4357B03b80238556be7ec609127704e2249aaed82fa0dd9c7e2108f97a7cae67b49fda72 +@b1a1da5e8432c37731b237a1681de201e7cebd09b80bb41c7901b7e62d0d4357B03cca2a787e474694d99da94a3cebec688460f97f2e25b49f9e01805250a98c145B +@86a7c3f24d3a82835590563d9bb7e4ec5a26e9ecf90bedd9202df268bc1d42e8"!1H2HVZgXmBRKLv9VZWttc6Vu2Pq735cQe"UOP_DUP OP_HASH160 0307ba3e42a2d970c08105a9788bd319ce89bb4e OP_EQUALVERIFY OP_CHECKSIG*276a9140307ba3e42a2d970c08105a9788bd319ce89bb4e88ac*!1H2HVZgXmBRKLv9VZWttc6Vu2Pq735cQe8$J  +@86a7c3f24d3a82835590563d9bb7e4ec5a26e9ecf90bedd9202df268bc1d42e8""18LPzBZvgBPVc1gkbXhjkLSWcV96JbKarC"UOP_DUP OP_HASH160 5073f8af35cf2b93d8fc90aa3cac6dd5e58e64dc OP_EQUALVERIFY OP_CHECKSIG*276a9145073f8af35cf2b93d8fc90aa3cac6dd5e58e64dc88ac*"18LPzBZvgBPVc1gkbXhjkLSWcV96JbKarC8$J  + +@86a7c3f24d3a82835590563d9bb7e4ec5a26e9ecf90bedd9202df268bc1d42e8"!1mjCqxd1Ht3jMANMe72jPCQ8UNS2cnPJX"UOP_DUP OP_HASH160 08758859aa71d363a6e3654a2d64090d29072240 OP_EQUALVERIFY OP_CHECKSIG*276a91408758859aa71d363a6e3654a2d64090d2907224088ac*!1mjCqxd1Ht3jMANMe72jPCQ8UNS2cnPJX8$J $-@000000000000000000166cbbe067a933a6aa3e07d131d312e21c28377b6331c4"@000000000000000000151980873458a5644e8919413f25ac200570a4cc5782ae2$ٛ-@0000000000000000000b48aa8adaf5614ffb9b80b7e56b253c947fd019c30947"@000000000000000000166cbbe067a933a6aa3e07d131d312e21c28377b6331c42$í-@00000000000000000006e32eea930a84aaab4fabeb14306a84003408aa6bccef"@0000000000000000000b48aa8adaf5614ffb9b80b7e56b253c947fd019c309472$ۛ-@0000000000000000000c1cdd2ce03783a42ff60abb678c399f0b70142f001666"@00000000000000000006e32eea930a84aaab4fabeb14306a84003408aa6bccef2$-@0000000000000000000fad0cb75ab180710974c12bb024c8d7a6b985dda1ffef"@0000000000000000000c1cdd2ce03783a42ff60abb678c399f0b70142f0016662$-@0000000000000000001288d49c82c6f1ca2e74200a93c18f5e2e3a9501b14c79"@0000000000000000000fad0cb75ab180710974c12bb024c8d7a6b985dda1ffef2$衎-@00000000000000000009e517d2d2860d3c84073fdf6af8f064c27f272a60727d"@0000000000000000001288d49c82c6f1ca2e74200a93c18f5e2e3a9501b14c792 + +1@dff59617851f13a8b35a757fc21ae47e4fe6c666ebbecbc8cefe342347766546$"@00000000000000000009e517d2d2860d3c84073fdf6af8f064c27f272a60727d(衎-2 +@322bfa374c24bbbe5281fba4506f231432ae4c54179d565c010d6302fd471f44B02c1023750c2d623001dfdf22ce06635abe9fcfda9c3952f9603926c0d550bd6242 +@4abdc08e030b028a16277d87a9d915bf1b0f32b0bc2ceebb99064dfb31158828B02902b0d7f2863abd8838d6c87f37409745a3dd78480d1bd3c06a423ea0757e0e42 +@4cc89c8354a99379c6110274afb455b865b1021eba39d021a650dbbea2f882cdB02ce499b97ec9e4c800e3a56b90de558279f929077fadaa1865fb937a113dc9e4f2 +@786b416f8f8dd792fea408956803f2d0826b478909ad4da2765d0c3051859715B02d32bc46c186d5f8be9d2cd491001ca522f66710432bff8cda9a3cf42a0fb091f2 +@fa86a8696f6de9221bef3dfb0ad84de18f80c418da7243ec15e1f48cdd450a0eB02ce499b97ec9e4c800e3a56b90de558279f929077fadaa1865fb937a113dc9e4f2 +@b5e4a30acfb1d038815f9f77a7d7e59c6720f4b54915c33d799bfdcdd43856b5B02e3d3aeb50b60607818655b23f1e3e9fb61262b5f815770ec129502c846b206672 +@8d52153a1cf555ef103d17012b5cc6748aa452493402fcfda3f3004c3d81d3ccB035a5791608965196eec6ee5a6d24212b6766fdcf36eee09b1028e646d3d146c222 +@ffa18d09ca5c583869ca24092f972baca3b399e2c1c390c8f89030adf95eedf5B02f0c3a05b9cab77724607d7da7175fbb52cda36c014677b6e9c613327e01164762 +@bceca3f59fa93cc8bb993dbd0800ac5c7e08e51177631c184609728b22077676B03d385f789b1d793a93e39b1557c4d56cc90bba29d8fc25d03023eb2ca3b592dfa2 +@77b5227778414081f14697efcb2485bed4f4145e230b1d5b456a332b1285ef66B0236d03a46679523a8a60b6bcf8f319bc2b5813e819089809c2ea40ee89031326d2 +@19b12eaae37fbee56b2b1347f0d042daf46519278f435429e8a367b491828799B035a5791608965196eec6ee5a6d24212b6766fdcf36eee09b1028e646d3d146c222 +@95d58c4f3f350bd104bb20eba64df4f858203ed082e4b14a5e859b9b091b7894B03dbba3257d8175e8fa932fa1d58f9f4a4c6949491f5fbb20670d6f6805d6fe0d52 +@34ce625fe87878777ee78f5427b77853dda3c72943617a7da576bd4b9228157aB035a5791608965196eec6ee5a6d24212b6766fdcf36eee09b1028e646d3d146c222 +@7cc2f069cf258569ff73cb108d41d9770b4e846cd1b7a5487ee292d100ea3f12B035a5791608965196eec6ee5a6d24212b6766fdcf36eee09b1028e646d3d146c222 +@6d1dbde40a34555195d24fc28284710ff10d2f8fde41495e3b837a32bd017871B02aaee668c6725fc557011adf4435bfc66a00e7a69dc588e2c474180cc9e887cc4B +h@dff59617851f13a8b35a757fc21ae47e4fe6c666ebbecbc8cefe342347766546""16NUbCL6yzedVwD1mS7UySJpKeuCxBDQUa"UOP_DUP OP_HASH160 3ae8650d4352200e9646719464add236b8eb3adb OP_EQUALVERIFY OP_CHECKSIG*276a9143ae8650d4352200e9646719464add236b8eb3adb88ac*"16NUbCL6yzedVwD1mS7UySJpKeuCxBDQUa8$J  +d@dff59617851f13a8b35a757fc21ae47e4fe6c666ebbecbc8cefe342347766546""1DN1ZCFYvouf4wpXSkkzxfXhUYkTLkSjVD"UOP_DUP OP_HASH160 879ab53c44908f1556651a7a558f10d9a33ee442 OP_EQUALVERIFY OP_CHECKSIG*276a914879ab53c44908f1556651a7a558f10d9a33ee44288ac*"1DN1ZCFYvouf4wpXSkkzxfXhUYkTLkSjVD8$J  +@dff59617851f13a8b35a757fc21ae47e4fe6c666ebbecbc8cefe342347766546""152xWXuCKSXQYjSY7dNsMtQu7TNP4Lb6FG"UOP_DUP OP_HASH160 2c3f417e2b1d88275c8bb4e8a2a76da91377b3ac OP_EQUALVERIFY OP_CHECKSIG*276a9142c3f417e2b1d88275c8bb4e8a2a76da91377b3ac88ac*"152xWXuCKSXQYjSY7dNsMtQu7TNP4Lb6FG8$J ;$-@00000000000000000013fee3fb4bfdd17eb38a4f98672295f9b2df5f6b437f25"@00000000000000000009e517d2d2860d3c84073fdf6af8f064c27f272a60727d2$-@00000000000000000000a31816449ca2adf9063e8b36e12386ddc56ea18243fa"@00000000000000000013fee3fb4bfdd17eb38a4f98672295f9b2df5f6b437f252$ۗ-@0000000000000000000f85cfa86464dc89eaba2d82067874b58fca0c4e580c81"@00000000000000000000a31816449ca2adf9063e8b36e12386ddc56ea18243fa2$丞-@00000000000000000016fda3a229bdaf193cc86f5d589406ead226363650053e"@0000000000000000000f85cfa86464dc89eaba2d82067874b58fca0c4e580c812$-@00000000000000000001812ece6e2c04654d72837f5677a51bc8d8ac431513ff"@00000000000000000016fda3a229bdaf193cc86f5d589406ead226363650053e2$-@0000000000000000000ac23fb9741c7dd469ac9559aa06d56ac2afc74b203838"@00000000000000000001812ece6e2c04654d72837f5677a51bc8d8ac431513ff2v$-@000000000000000000001838345f81c449de594761becb5aa914f24b56883a38"@0000000000000000000ac23fb9741c7dd469ac9559aa06d56ac2afc74b2038382u + + +1@d362f128042df239070fde5f1b973b769f219546e7ba1360da830d1cc2826cd4$"@000000000000000000001838345f81c449de594761becb5aa914f24b56883a38(-2 +@af048eff07c83bb2bbe1d8a898426ff04b32fce7471982c4dbc3d18f3605e684B035bd637d686c45b2cebbf41b479a5079849b0b5a8942e469a63135d1c82c88b772 +@8e97a54bd2e602220cdf4c1b313f76a7f34a4ffff9e277e30b7214efda6eb8ccB02205e4c82091dcb3b4c783850b089bd72049bed6fa374a0e587661d084cbd4fa5B + @d362f128042df239070fde5f1b973b769f219546e7ba1360da830d1cc2826cd4""1K16nHJmsWr5rYMNto5CrKNH7q43Afa6o2"UOP_DUP OP_HASH160 c57716f01aac38e2609dd60fcb650c6c4f0bcf33 OP_EQUALVERIFY OP_CHECKSIG*276a914c57716f01aac38e2609dd60fcb650c6c4f0bcf3388ac*"1K16nHJmsWr5rYMNto5CrKNH7q43Afa6o28$J  +@d362f128042df239070fde5f1b973b769f219546e7ba1360da830d1cc2826cd4""15ep5Mu5fD3Zxs4Q3DUcHMCSPcRSfQkgz6"UOP_DUP OP_HASH160 330730aa713d7ea73ae80b26af279a5f1409ed0a OP_EQUALVERIFY OP_CHECKSIG*276a914330730aa713d7ea73ae80b26af279a5f1409ed0a88ac*"15ep5Mu5fD3Zxs4Q3DUcHMCSPcRSfQkgz68$J  +_@d362f128042df239070fde5f1b973b769f219546e7ba1360da830d1cc2826cd4""1C5Ujq2HqSkR9ankjQBYvwoggydMZQ1TWD"UOP_DUP OP_HASH160 798233cbe6c6676273fe4c54b92b89d25568a4cf OP_EQUALVERIFY OP_CHECKSIG*276a914798233cbe6c6676273fe4c54b92b89d25568a4cf88ac*"1C5Ujq2HqSkR9ankjQBYvwoggydMZQ1TWD8$J  + + +1@e6a4fc4d47a86c22addeb0a0821a6f3f2818cd4881090753a9e8f98fccf594a0$"@000000000000000000001838345f81c449de594761becb5aa914f24b56883a38(-2 +@4f8938bc84cd188dc960fa9ec6d709cc4b5fb854f8093d6df841776c62456ba3B03035f0114218245e97ffb9cd1c6992e41fce7caa3116930da337541bc83bff5a52 +@e7dedf8e45841d5527d465b556f85cd7eb29e0d59f60ab7d6782edac1fa43cecB033f4c86d6806b03ec4148ac2965a3d5e9657ca1e3d602c5dece223a5ac67111a7B + @e6a4fc4d47a86c22addeb0a0821a6f3f2818cd4881090753a9e8f98fccf594a0""1264iDYUWzT1prdkcudeKnnVWBNnQRKrTW"UOP_DUP OP_HASH160 0bed4d95c4946a04e58de7fdb90869d209842714 OP_EQUALVERIFY OP_CHECKSIG*276a9140bed4d95c4946a04e58de7fdb90869d20984271488ac*"1264iDYUWzT1prdkcudeKnnVWBNnQRKrTW8$J  +@e6a4fc4d47a86c22addeb0a0821a6f3f2818cd4881090753a9e8f98fccf594a0"!1dXK4UuyB2oR5sFfRvZ5W4MmXdzWF7GXL"UOP_DUP OP_HASH160 06e846fc7940bcd3a9c4e21a566a39c9acfa2f55 OP_EQUALVERIFY OP_CHECKSIG*276a91406e846fc7940bcd3a9c4e21a566a39c9acfa2f5588ac*!1dXK4UuyB2oR5sFfRvZ5W4MmXdzWF7GXL8$J  +ٱ@e6a4fc4d47a86c22addeb0a0821a6f3f2818cd4881090753a9e8f98fccf594a0"!1M1wnY51tzhgr2JZkAEGc2DR6asaQQQu2"UOP_DUP OP_HASH160 03c91b93c71622e26ce8e02deb7f07534fb1e7bc OP_EQUALVERIFY OP_CHECKSIG*276a91403c91b93c71622e26ce8e02deb7f07534fb1e7bc88ac*!1M1wnY51tzhgr2JZkAEGc2DR6asaQQQu28$J  + + +1@b0d94962e505403ed4984075052cde7ea28402ad2a353bf764403439439f436d$"@000000000000000000001838345f81c449de594761becb5aa914f24b56883a38(-2 +@d362f128042df239070fde5f1b973b769f219546e7ba1360da830d1cc2826cd4B03869ee9d31425bb45cffdc29c5a1db82186f3e81a42eb04d3528e797145fc29bc2 +@e6a4fc4d47a86c22addeb0a0821a6f3f2818cd4881090753a9e8f98fccf594a0B02aef3a0780d6f11493e941b5f09acd21d9adc3454e8c59006e7b9b7b9e5767be3B + @b0d94962e505403ed4984075052cde7ea28402ad2a353bf764403439439f436d""1PuHWaJHKgn5h2tuuoVhJ8HbcuvsCdCxsQ"UOP_DUP OP_HASH160 fb362dd498d9aa6e0361d0934444c807db719844 OP_EQUALVERIFY OP_CHECKSIG*276a914fb362dd498d9aa6e0361d0934444c807db71984488ac*"1PuHWaJHKgn5h2tuuoVhJ8HbcuvsCdCxsQ8$J  +@b0d94962e505403ed4984075052cde7ea28402ad2a353bf764403439439f436d""18eCrzCRwPaX73zCs8aAL44TsDtceTXdAe"UOP_DUP OP_HASH160 53d22c3e94d7ac4988897b9f42aa552bcd9b0294 OP_EQUALVERIFY OP_CHECKSIG*276a91453d22c3e94d7ac4988897b9f42aa552bcd9b029488ac*"18eCrzCRwPaX73zCs8aAL44TsDtceTXdAe8$J  +@b0d94962e505403ed4984075052cde7ea28402ad2a353bf764403439439f436d""155zXU4ndTtsGF5dGfeLUHwcJuHozTbJEy"UOP_DUP OP_HASH160 2cd22fc9d69120740c90e05559f5263ddc721275 OP_EQUALVERIFY OP_CHECKSIG*276a9142cd22fc9d69120740c90e05559f5263ddc72127588ac*"155zXU4ndTtsGF5dGfeLUHwcJuHozTbJEy8$J  + + +1@b8c7b66bff4b2e34089189f879b399c7a37254e9501cfcbce56cb99a84178843$"@000000000000000000001838345f81c449de594761becb5aa914f24b56883a38(-2 +@2aec70d6fd7d4ccdcc3079216f3b38e27a32036bc98deb6daad607f33c24161dB03b90dac701fed59f1309c338ea068a0cff5519c6a57419254d8fcf5fe5c335f7b2 +@3299316f80501af069f9bfb002375fa529855d55c71446e3a83437efa6e5b816B03c14dc40c33db54b97078f591c90fa959670323da2d75fb036a8e24c6c33bf868B + @b8c7b66bff4b2e34089189f879b399c7a37254e9501cfcbce56cb99a84178843""1CuVT6n3CGDVtN5SdUfXM7iRhPY8j5EKTD"UOP_DUP OP_HASH160 8296c332ba20dd6fdcede6a54a60282d3e0c4be2 OP_EQUALVERIFY OP_CHECKSIG*276a9148296c332ba20dd6fdcede6a54a60282d3e0c4be288ac*"1CuVT6n3CGDVtN5SdUfXM7iRhPY8j5EKTD8$J  +@b8c7b66bff4b2e34089189f879b399c7a37254e9501cfcbce56cb99a84178843""1AQtLW2ZDVpUxio8WUyg7sDADHdopMy83U"UOP_DUP OP_HASH160 673d8d6fef6c3f71190ba0ecc51b3146d8add052 OP_EQUALVERIFY OP_CHECKSIG*276a914673d8d6fef6c3f71190ba0ecc51b3146d8add05288ac*"1AQtLW2ZDVpUxio8WUyg7sDADHdopMy83U8$J  +̀U@b8c7b66bff4b2e34089189f879b399c7a37254e9501cfcbce56cb99a84178843""1Ndq4zF55PpHtVsrCJ69AhUWM1cztX8vch"UOP_DUP OP_HASH160 ed51bde9b771355c9ee5d2601aebbb8d765c5da1 OP_EQUALVERIFY OP_CHECKSIG*276a914ed51bde9b771355c9ee5d2601aebbb8d765c5da188ac*"1Ndq4zF55PpHtVsrCJ69AhUWM1cztX8vch8$J  + + +1@9bd77bee57c142123d61fb354f1d8459db83e34b634b47110a7c148ad7bfd56d$"@000000000000000000001838345f81c449de594761becb5aa914f24b56883a38(-2 +@86a7c3f24d3a82835590563d9bb7e4ec5a26e9ecf90bedd9202df268bc1d42e8B02b6ac0a5e58a050abf7d9468918a4f1e436a9d1acba5395fe837fab43dc7ec21c2 +@a1998d2258267e99b67f7ea4ba7faab561e0acc4c98a69d222eaaf8e33c3a82fB0317a0110844156e646891d4a31d82ee09da7268cac973e34367c0fbeaf84e393eB +@9bd77bee57c142123d61fb354f1d8459db83e34b634b47110a7c148ad7bfd56d""1E6ryFNqeSqt8TpMjGsmuVTanLFh3Jb2Dm"UOP_DUP OP_HASH160 8fb56d7c5c6b4d8658fd15d52a12700694f40f07 OP_EQUALVERIFY OP_CHECKSIG*276a9148fb56d7c5c6b4d8658fd15d52a12700694f40f0788ac*"1E6ryFNqeSqt8TpMjGsmuVTanLFh3Jb2Dm8$J  +@9bd77bee57c142123d61fb354f1d8459db83e34b634b47110a7c148ad7bfd56d""1KFc2GyhrdhL1MMyW6dxeLYPj6LAS9dAYR"UOP_DUP OP_HASH160 c835528ca9f1685b25e4717b061e4b7aaa9ea4b8 OP_EQUALVERIFY OP_CHECKSIG*276a914c835528ca9f1685b25e4717b061e4b7aaa9ea4b888ac*"1KFc2GyhrdhL1MMyW6dxeLYPj6LAS9dAYR8$J  +Ď @9bd77bee57c142123d61fb354f1d8459db83e34b634b47110a7c148ad7bfd56d""12avpDb2Xxdiap3iNAAJc2uQiBKLbriXbj"UOP_DUP OP_HASH160 1162c635e5c31072895bc87f9385a46c295cf1f4 OP_EQUALVERIFY OP_CHECKSIG*276a9141162c635e5c31072895bc87f9385a46c295cf1f488ac*"12avpDb2Xxdiap3iNAAJc2uQiBKLbriXbj8$J  + + +1@633d749369eb3f06202a154c46bb3cadc600f49d8a0bf6f70b0427f262dbdeca$"@000000000000000000001838345f81c449de594761becb5aa914f24b56883a38(-2 +@aea7cf564755369dc94a3b68b0addf5db9858c5a3be64dc3b8374938f5315665B036ebb42ea05a93f6c845ceed80be160e1e1c92db3b9b08668bfbf6f9685f51d8d2 +@7dd88684e423fba2f35785a8317cc5ca9a1fad6007c1fc7bc0284ab11248b803B038c55ce0dab9991a5edf1d32824939839ec9273b3b6301e45751c788f735cd9a7B +@633d749369eb3f06202a154c46bb3cadc600f49d8a0bf6f70b0427f262dbdeca""17zEavMUD8pX8TWFjy3fk4o9WytgEbwWkc"UOP_DUP OP_HASH160 4ca3cdf807a1d57efa222ad4963c2815098d8d54 OP_EQUALVERIFY OP_CHECKSIG*276a9144ca3cdf807a1d57efa222ad4963c2815098d8d5488ac*"17zEavMUD8pX8TWFjy3fk4o9WytgEbwWkc8$J  + @633d749369eb3f06202a154c46bb3cadc600f49d8a0bf6f70b0427f262dbdeca""1BE4xT6BdGRsQdT4M2DskNH4G8gmL3tXyB"UOP_DUP OP_HASH160 7029f7b9333bd9cab299425062ccd49e37add17e OP_EQUALVERIFY OP_CHECKSIG*276a9147029f7b9333bd9cab299425062ccd49e37add17e88ac*"1BE4xT6BdGRsQdT4M2DskNH4G8gmL3tXyB8$J  +̭Z@633d749369eb3f06202a154c46bb3cadc600f49d8a0bf6f70b0427f262dbdeca""1H67dZtbrgxwvAnmnpL9myYCd2SJKrnpzY"UOP_DUP OP_HASH160 b079a08f2479c7f7242a7ba1112df53b9b196ba6 OP_EQUALVERIFY OP_CHECKSIG*276a914b079a08f2479c7f7242a7ba1112df53b9b196ba688ac*"1H67dZtbrgxwvAnmnpL9myYCd2SJKrnpzY8$J  + + +1@a5c02898e33d520c9b93a8dce1b9b188e62dcf3bcb401bf72265470e7882a687$"@000000000000000000001838345f81c449de594761becb5aa914f24b56883a38(-2 +@cbbf90147f4c951abc4af067d5d5583f000b1a2774d5999589db09e153719bf1B0311227d8c887baefd487857d8b0e514855db1b6f398c6b262de804c23b3a340b32 +@6eb81e0582da85b1e4509b37074c6598142d708e6b7f63d341b7847af8e3389aB0292090a1afc089c606fb2c787ffc5711b9414c69e09988599e1c1bdcad9579ed3B +@a5c02898e33d520c9b93a8dce1b9b188e62dcf3bcb401bf72265470e7882a687""1PYsEjyDGSXviyxCjNKkDMbxVkKrpiHL8t"UOP_DUP OP_HASH160 f75999043016f205d5d635975f22bc02fec4455b OP_EQUALVERIFY OP_CHECKSIG*276a914f75999043016f205d5d635975f22bc02fec4455b88ac*"1PYsEjyDGSXviyxCjNKkDMbxVkKrpiHL8t8$J  + @a5c02898e33d520c9b93a8dce1b9b188e62dcf3bcb401bf72265470e7882a687"!1LpmtaJNJgpKpw3QdypdP1xNjwuA9JKco"UOP_DUP OP_HASH160 03bfc8701cc6ba155f80aee92658bf0e13df4efc OP_EQUALVERIFY OP_CHECKSIG*276a91403bfc8701cc6ba155f80aee92658bf0e13df4efc88ac*!1LpmtaJNJgpKpw3QdypdP1xNjwuA9JKco8$J  +֨@a5c02898e33d520c9b93a8dce1b9b188e62dcf3bcb401bf72265470e7882a687""1MQoyyqxHYLGYbK6tMeESRNjq81iFKpoYj"UOP_DUP OP_HASH160 dfe34d3ef16f5fd8ca5a4e7570587ec4cee266c3 OP_EQUALVERIFY OP_CHECKSIG*276a914dfe34d3ef16f5fd8ca5a4e7570587ec4cee266c388ac*"1MQoyyqxHYLGYbK6tMeESRNjq81iFKpoYj8$J ; + + +1@8fd27fef5181bb74ddadc39838c85e90cd2c2c62551c570cef93361a473e41b3$"@000000000000000000001838345f81c449de594761becb5aa914f24b56883a38(-2 +@a5c02898e33d520c9b93a8dce1b9b188e62dcf3bcb401bf72265470e7882a687B032754aa0823f48f680303d7df7e14687b08465e541aa15f0ef184f55ee44f9cb62 +@a5c02898e33d520c9b93a8dce1b9b188e62dcf3bcb401bf72265470e7882a687B0207af999de996a9ae727c2ed059bb8b82bd05a1bccd1db0c379158fddd59e1172B +@8fd27fef5181bb74ddadc39838c85e90cd2c2c62551c570cef93361a473e41b3"!1eQKypC2HN8BEe8NZW3c9WcScoxnBsus9"UOP_DUP OP_HASH160 0712dcf95f71c5c81c645e83ef4bde23eee07a69 OP_EQUALVERIFY OP_CHECKSIG*276a9140712dcf95f71c5c81c645e83ef4bde23eee07a6988ac*!1eQKypC2HN8BEe8NZW3c9WcScoxnBsus98$J  + @8fd27fef5181bb74ddadc39838c85e90cd2c2c62551c570cef93361a473e41b3""1BS3eKCNXVnvbhm5sA1D59h9xooz99CM4d"UOP_DUP OP_HASH160 726ddd09dbfed6cec182552e2ef3bb870b5ccbd6 OP_EQUALVERIFY OP_CHECKSIG*276a914726ddd09dbfed6cec182552e2ef3bb870b5ccbd688ac*"1BS3eKCNXVnvbhm5sA1D59h9xooz99CM4d8$J  + +@8fd27fef5181bb74ddadc39838c85e90cd2c2c62551c570cef93361a473e41b3""191AZf3JxSmbxeHaAfzphGNbzMQfSZGLCw"UOP_DUP OP_HASH160 57c8fd34d45fab733aec975a25aeb0d344f4c907 OP_EQUALVERIFY OP_CHECKSIG*276a91457c8fd34d45fab733aec975a25aeb0d344f4c90788ac*"191AZf3JxSmbxeHaAfzphGNbzMQfSZGLCw8$J ; + + +1@cd13114dd99821de448b9c9a717894074ae1e22facf3e573706360f459de6680$"@000000000000000000001838345f81c449de594761becb5aa914f24b56883a38(-2 +@8fd27fef5181bb74ddadc39838c85e90cd2c2c62551c570cef93361a473e41b3B03dcb47348f243ae3d0327cc11c3e29f00c510a74787c8195ac6a9b2c1140040a32 +@8fd27fef5181bb74ddadc39838c85e90cd2c2c62551c570cef93361a473e41b3B0216c717cde82bdda186912be659492ece6b636846961b03308de4ff3e3fe07125B +@cd13114dd99821de448b9c9a717894074ae1e22facf3e573706360f459de6680""18vEpA1cKDyemVTnHZtJiipPPkNXWjuodY"UOP_DUP OP_HASH160 56da74fd758fde09b5c57972e9542212101ac395 OP_EQUALVERIFY OP_CHECKSIG*276a91456da74fd758fde09b5c57972e9542212101ac39588ac*"18vEpA1cKDyemVTnHZtJiipPPkNXWjuodY8$J  + @cd13114dd99821de448b9c9a717894074ae1e22facf3e573706360f459de6680""1NKKXgUaYCRWaNGs5pBBwvKJTunim6egrC"UOP_DUP OP_HASH160 e9d1989243f4ca6e6ee3b0924a4eb86079f37503 OP_EQUALVERIFY OP_CHECKSIG*276a914e9d1989243f4ca6e6ee3b0924a4eb86079f3750388ac*"1NKKXgUaYCRWaNGs5pBBwvKJTunim6egrC8$J  +@cd13114dd99821de448b9c9a717894074ae1e22facf3e573706360f459de6680""16tbqmPCrCftKEH9SaEQzgMX8Hjo5JAstF"UOP_DUP OP_HASH160 409aed34e54c0c97d3d6c5bb970b88237edc3c59 OP_EQUALVERIFY OP_CHECKSIG*276a914409aed34e54c0c97d3d6c5bb970b88237edc3c5988ac*"16tbqmPCrCftKEH9SaEQzgMX8Hjo5JAstF8$J ; + + +1@5b3a8e378c543ce4b53da2e4a6587645a43e7673358703ba4d59096cfbc805a3$"@000000000000000000001838345f81c449de594761becb5aa914f24b56883a38(-2 +@4ceb96d3f0faac6054ecf9145399f641c6856acba4fa84c92e63fdc02e3cccf2B03bcd18ae1e9b8049aa69777da62051f2fe6dcf6dccf44fd4cced819125a2c53be2 +@01bd86ec8836b2febc3df167d2877d271b73b11f7ff970b347a0dcd0733893e3B03d584bf151eee64f2a9d742bde98719cd3f1838129af7370d0ea69d16dd954b86B +@5b3a8e378c543ce4b53da2e4a6587645a43e7673358703ba4d59096cfbc805a3"!1tvUW6RR8S6E8Eeqor9NnpXCdimjbutSG"UOP_DUP OP_HASH160 09d1da1f1613b1bd8fb6612f96609a4b87a5e847 OP_EQUALVERIFY OP_CHECKSIG*276a91409d1da1f1613b1bd8fb6612f96609a4b87a5e84788ac*!1tvUW6RR8S6E8Eeqor9NnpXCdimjbutSG8$J  + @5b3a8e378c543ce4b53da2e4a6587645a43e7673358703ba4d59096cfbc805a3""185XZcgz2iWCXMgiPRe715narWzSxKzVX5"UOP_DUP OP_HASH160 4da40e75c7e2c20dad353f2fed854ee91d2d6426 OP_EQUALVERIFY OP_CHECKSIG*276a9144da40e75c7e2c20dad353f2fed854ee91d2d642688ac*"185XZcgz2iWCXMgiPRe715narWzSxKzVX58$J  +Z@5b3a8e378c543ce4b53da2e4a6587645a43e7673358703ba4d59096cfbc805a3""1EWKbV74mSso8siiMZXXtUAie7Pr5rvGhJ"UOP_DUP OP_HASH160 942538547cd4b1f3c3730523d3c18e2a544a9cb6 OP_EQUALVERIFY OP_CHECKSIG*276a914942538547cd4b1f3c3730523d3c18e2a544a9cb688ac*"1EWKbV74mSso8siiMZXXtUAie7Pr5rvGhJ8$J ; + + +1@41616c2c34021c29e7b07f67ddca620ab3368510869f8ea5b5620c8faa4af7d7$"@000000000000000000001838345f81c449de594761becb5aa914f24b56883a38(-2 +@2ad9f9d9078d810b1a8719fc311d6e9fcc00c8f1f83da62ae6d36cf5fa907bdbB02e329c287ea3063d22692e5461070109c336e9cd0db9adf2b40c72ae959c5781b2 +@2da0e347b7f7699627140beedb21264f8f6b08a6ba074b27ca1ac7d036418858B02c5fcd8409661859c01da622788aef419e2e8778c410f3fc548584465926d49b3B + @41616c2c34021c29e7b07f67ddca620ab3368510869f8ea5b5620c8faa4af7d7""1FxDQMyqBDSsU2FKCsVSMZmiqZSzjtgvM4"UOP_DUP OP_HASH160 a402fe00a917e4aedd4c2e70eed1d92be525ce50 OP_EQUALVERIFY OP_CHECKSIG*276a914a402fe00a917e4aedd4c2e70eed1d92be525ce5088ac*"1FxDQMyqBDSsU2FKCsVSMZmiqZSzjtgvM48$J  + @41616c2c34021c29e7b07f67ddca620ab3368510869f8ea5b5620c8faa4af7d7""15xBDBc2WDnQSN9fzEXti1VBYATy2oBEW5"UOP_DUP OP_HASH160 364fe7697669cd1afce135901bfaf4b456cb98c2 OP_EQUALVERIFY OP_CHECKSIG*276a914364fe7697669cd1afce135901bfaf4b456cb98c288ac*"15xBDBc2WDnQSN9fzEXti1VBYATy2oBEW58$J  +ЛZ@41616c2c34021c29e7b07f67ddca620ab3368510869f8ea5b5620c8faa4af7d7""12kUjHDT9NNvE4qRJZ4JdXHUS4w78XhcDi"UOP_DUP OP_HASH160 133128bb60ec42f836b67e63dcd7fd6ceeda45fa OP_EQUALVERIFY OP_CHECKSIG*276a914133128bb60ec42f836b67e63dcd7fd6ceeda45fa88ac*"12kUjHDT9NNvE4qRJZ4JdXHUS4w78XhcDi8$J ;$ȏ-@00000000000000000012dd5b72948dcf8f45d9c1465fd5377de3d2b971eedd81"@000000000000000000001838345f81c449de594761becb5aa914f24b56883a382 $ᙠ-@0000000000000000000375d2044ede0001e41d602dd00e4bda1edc6eca28a4fc"@00000000000000000012dd5b72948dcf8f45d9c1465fd5377de3d2b971eedd812 + + + +1@dc52d0c329e812fc1bbca83b28c8c70247226b57f3725fd6e519f0744d9e0162$"@0000000000000000000375d2044ede0001e41d602dd00e4bda1edc6eca28a4fc(ᙠ-2 +@b0d94962e505403ed4984075052cde7ea28402ad2a353bf764403439439f436dB035eb18fff307567adb490ca1e091b84772bacb6f56a61ba26ead095f9b8fb21da2 +@b0d94962e505403ed4984075052cde7ea28402ad2a353bf764403439439f436dB034b6c46c4255b0e35d11f4a3f437518d6db49e1c0b969713dc9fe64862fbfaf07B + @dc52d0c329e812fc1bbca83b28c8c70247226b57f3725fd6e519f0744d9e0162""13Kjz27aQCWUuxMPg1XX84BX6Ny4RMdHye"UOP_DUP OP_HASH160 197b9e8e1dc652797956ce60ed1c5ae8c041ad0a OP_EQUALVERIFY OP_CHECKSIG*276a914197b9e8e1dc652797956ce60ed1c5ae8c041ad0a88ac*"13Kjz27aQCWUuxMPg1XX84BX6Ny4RMdHye8$J  +@dc52d0c329e812fc1bbca83b28c8c70247226b57f3725fd6e519f0744d9e0162""1AeoDsH2JNUy7DSt95jvQHFWCBqUmKtsw4"UOP_DUP OP_HASH160 69df1b5016005cb17391ddd1349655a279924182 OP_EQUALVERIFY OP_CHECKSIG*276a91469df1b5016005cb17391ddd1349655a27992418288ac*"1AeoDsH2JNUy7DSt95jvQHFWCBqUmKtsw48$J  + @dc52d0c329e812fc1bbca83b28c8c70247226b57f3725fd6e519f0744d9e0162""1HEd5QvETJLXSiP6s4Xcugo2y3g5sDwC2N"UOP_DUP OP_HASH160 b21588eaf0d9e9b61b8ad2c449f829846289cfff OP_EQUALVERIFY OP_CHECKSIG*276a914b21588eaf0d9e9b61b8ad2c449f829846289cfff88ac*"1HEd5QvETJLXSiP6s4Xcugo2y3g5sDwC2N8$J #$ߠ-@000000000000000000106ac31d321cc27c08785efdf71d75fd00ca04cc406205"@0000000000000000000375d2044ede0001e41d602dd00e4bda1edc6eca28a4fc2" + + +1@954a604e933e54ac43181d12ad1fd9955ccd62611e8f109cbdeb12dff51b7d07$"@000000000000000000106ac31d321cc27c08785efdf71d75fd00ca04cc406205(ߠ-2 +@e6a4fc4d47a86c22addeb0a0821a6f3f2818cd4881090753a9e8f98fccf594a0B02ec15ee12b9f516a7d0af9a17078f57daf0e2c86c5b2e19513a46c3be5d3958612 +@dc52d0c329e812fc1bbca83b28c8c70247226b57f3725fd6e519f0744d9e0162B02adc21a9a12ce64556e50889860a9373567e1be9c1e3bf44f07e3943f57130e23B +ނ @954a604e933e54ac43181d12ad1fd9955ccd62611e8f109cbdeb12dff51b7d07""1FCTCehnpG4jH3waVRh4tt3qsnvwi6htvG"UOP_DUP OP_HASH160 9bbc353b0163ec902be454d9878816a12b2e48ce OP_EQUALVERIFY OP_CHECKSIG*276a9149bbc353b0163ec902be454d9878816a12b2e48ce88ac*"1FCTCehnpG4jH3waVRh4tt3qsnvwi6htvG8$J  +@954a604e933e54ac43181d12ad1fd9955ccd62611e8f109cbdeb12dff51b7d07""17CkxVkc26U6DfZEJtTZ6ceHtQD4GWdX2F"UOP_DUP OP_HASH160 440a060a00bc98edff3bd4dff2c41b678592fbb9 OP_EQUALVERIFY OP_CHECKSIG*276a914440a060a00bc98edff3bd4dff2c41b678592fbb988ac*"17CkxVkc26U6DfZEJtTZ6ceHtQD4GWdX2F8$J  + @954a604e933e54ac43181d12ad1fd9955ccd62611e8f109cbdeb12dff51b7d07""16VYerADyxzk5TXSPrQ6SkHEKcCkLsT3du"UOP_DUP OP_HASH160 3c3eb2b436f4206d253f165973b6e01c4193d976 OP_EQUALVERIFY OP_CHECKSIG*276a9143c3eb2b436f4206d253f165973b6e01c4193d97688ac*"16VYerADyxzk5TXSPrQ6SkHEKcCkLsT3du8$J  + +1@0009c64e839dd427e70bc95f804fb098740f8766bc45af9acd5640b91a4c5d90$"@000000000000000000106ac31d321cc27c08785efdf71d75fd00ca04cc406205(ߠ-2 +@9bd77bee57c142123d61fb354f1d8459db83e34b634b47110a7c148ad7bfd56dB025c0cce381f11383d5fb4dc215dc18e22c3e26ee864f74f0914d8bc3193e4f1922 +@57f1bee9a47a5e4a4ed766db8d34bb6f4f250ca49e0bc29d2e3cef3816983728B02a63d870705817dddce236a5457e69f6538cd39e4cbb52db932778d9d22ef1c562 +@9bd77bee57c142123d61fb354f1d8459db83e34b634b47110a7c148ad7bfd56dB03bb03d29a9b72b42bbe64a2c30d37bb475065a79337440371c1c56c7c9149e913B +@0009c64e839dd427e70bc95f804fb098740f8766bc45af9acd5640b91a4c5d90""1GgChKUyVnfGXt4uctSoszVDDECJAHWrvm"UOP_DUP OP_HASH160 abf3df33e29ecf7d4e5788723a2643aeae5906fc OP_EQUALVERIFY OP_CHECKSIG*276a914abf3df33e29ecf7d4e5788723a2643aeae5906fc88ac*"1GgChKUyVnfGXt4uctSoszVDDECJAHWrvm8$J  +@0009c64e839dd427e70bc95f804fb098740f8766bc45af9acd5640b91a4c5d90""1LyibUCifoqJ5Xnze7rXPo13KLjAry34qr"UOP_DUP OP_HASH160 db2467a8caea7158fe92ac9ad6c2ace7996d7ca4 OP_EQUALVERIFY OP_CHECKSIG*276a914db2467a8caea7158fe92ac9ad6c2ace7996d7ca488ac*"1LyibUCifoqJ5Xnze7rXPo13KLjAry34qr8$J  + @0009c64e839dd427e70bc95f804fb098740f8766bc45af9acd5640b91a4c5d90"!1FVeNo42VFgKoyHj4ZzV7Dsqa5nxNsCvi"UOP_DUP OP_HASH160 02bdbc0faaa80a35e640618e47b2a34b5ac5a9b9 OP_EQUALVERIFY OP_CHECKSIG*276a91402bdbc0faaa80a35e640618e47b2a34b5ac5a9b988ac*!1FVeNo42VFgKoyHj4ZzV7Dsqa5nxNsCvi8$J  + +1@1feb758b5b983d05fb7fc92bb4a48eda6b434b257f59c66f72a9ec25b542fb3e$"@000000000000000000106ac31d321cc27c08785efdf71d75fd00ca04cc406205(ߠ-2 +@3299316f80501af069f9bfb002375fa529855d55c71446e3a83437efa6e5b816B023ffcb6d0a24bb70e2c172439d5ee299fad341622edd94213102457572199259d2 +@dd0ab93e4a192b29f66430861de5e28e12b71de449ea761fefa9906c20fcd613B03cae697586d62c524df412364bf360fda966559b036de2f563a91d8333f1974982 +@1f8e8ecb70cce69d041cb126df84958f0b63b232123f92de7b7d6860a42e1b78B02c6c7854f95b1768eb734b471b520ad24fa81193c2b828ca2b19dfaa562fcb79cB +@1feb758b5b983d05fb7fc92bb4a48eda6b434b257f59c66f72a9ec25b542fb3e""1GUqG8DcXt3SFU4AeS1jDcLM7yaJaqDj5c"UOP_DUP OP_HASH160 a9cd675e5ffbedf4d7516df77702b69848727596 OP_EQUALVERIFY OP_CHECKSIG*276a914a9cd675e5ffbedf4d7516df77702b6984872759688ac*"1GUqG8DcXt3SFU4AeS1jDcLM7yaJaqDj5c8$J  +@1feb758b5b983d05fb7fc92bb4a48eda6b434b257f59c66f72a9ec25b542fb3e""1HtU8DM1uFm1BuhSJ7VAMbzeR2vZGPrUPc"UOP_DUP OP_HASH160 b93dde6e0c0482b2450a9a79a18094e6a1e55f96 OP_EQUALVERIFY OP_CHECKSIG*276a914b93dde6e0c0482b2450a9a79a18094e6a1e55f9688ac*"1HtU8DM1uFm1BuhSJ7VAMbzeR2vZGPrUPc8$J  +@1feb758b5b983d05fb7fc92bb4a48eda6b434b257f59c66f72a9ec25b542fb3e""15SY69BdVC97dTi1bTFHXE6XQ1unrJt2sF"UOP_DUP OP_HASH160 30b4da8a104ce0a4a69c324c56cf59741e922575 OP_EQUALVERIFY OP_CHECKSIG*276a91430b4da8a104ce0a4a69c324c56cf59741e92257588ac*"15SY69BdVC97dTi1bTFHXE6XQ1unrJt2sF8$J $-@0000000000000000000984925281978b77b36b27431a20125e4d1a466acaa13e"@000000000000000000106ac31d321cc27c08785efdf71d75fd00ca04cc4062052$-@000000000000000000066e2955e93ed16aef52787040e240d7eb08e33fc4519f"@0000000000000000000984925281978b77b36b27431a20125e4d1a466acaa13e2#$օ-@00000000000000000008b00bd9b36046fc215936a969232b1cc23b022acca75e"@000000000000000000066e2955e93ed16aef52787040e240d7eb08e33fc4519f2" + + +1@04f9368046ecd7de0aba84e105d30231b03d8594c340e778d3b3487152a339a8$"@00000000000000000008b00bd9b36046fc215936a969232b1cc23b022acca75e(օ-2 +@0009c64e839dd427e70bc95f804fb098740f8766bc45af9acd5640b91a4c5d90B02b16cf15304ab42688d771fee8079c91840067b78dc75323e2236f682c529646b2 +@55c01e2a3702991d23b55ec8b05d984c26086e344e4886192cce0005c3c6514dB026826d8d422b536b15d932c766eb3cb443f58520609e6c5c8d4bd64f8e073e58fB +@04f9368046ecd7de0aba84e105d30231b03d8594c340e778d3b3487152a339a8""17gyK91nM48U7Gzj1vQBgRdDe2L6bE2Sco"UOP_DUP OP_HASH160 495ffc15ee24e64a473b341e67d557c64bab19fa OP_EQUALVERIFY OP_CHECKSIG*276a914495ffc15ee24e64a473b341e67d557c64bab19fa88ac*"17gyK91nM48U7Gzj1vQBgRdDe2L6bE2Sco8$J  +@04f9368046ecd7de0aba84e105d30231b03d8594c340e778d3b3487152a339a8""1DBWyqBag2LYyhWhpY7P5QzJWgS77epSYT"UOP_DUP OP_HASH160 859eb1e729d9d5e19c6e014317b1a7a2fe781afa OP_EQUALVERIFY OP_CHECKSIG*276a914859eb1e729d9d5e19c6e014317b1a7a2fe781afa88ac*"1DBWyqBag2LYyhWhpY7P5QzJWgS77epSYT8$J  + @04f9368046ecd7de0aba84e105d30231b03d8594c340e778d3b3487152a339a8""1JrJjqbM1eMwXAyJzHYC1Yf6SHQuZcsjr1"UOP_DUP OP_HASH160 c3cd53ef9e166e2b5a6e05a3bd25b789f405a888 OP_EQUALVERIFY OP_CHECKSIG*276a914c3cd53ef9e166e2b5a6e05a3bd25b789f405a88888ac*"1JrJjqbM1eMwXAyJzHYC1Yf6SHQuZcsjr18$J  + + +1@77295c5191449fd5519f1f7300414fc3d17551fcb656ccceaa26b81a6fa10b58$"@00000000000000000008b00bd9b36046fc215936a969232b1cc23b022acca75e(օ-2 +@cd13114dd99821de448b9c9a717894074ae1e22facf3e573706360f459de6680B036cd549682e266be3333010d760f379971758062cd94e1bf4d2b4dca116c3bed22 +@e256bb34e953f47fd2232f70c4bb03b2ffa96539c91443149aace984a0bf8698B038d3e6b9a06f8ad50dd47c3ba80b2d5fc88647f934d1923c2a1c08957c1630b7fB +Ұ@77295c5191449fd5519f1f7300414fc3d17551fcb656ccceaa26b81a6fa10b58""1MtX9NRKDwhsjmznitMT9Kt4TD4E4KfTpA"UOP_DUP OP_HASH160 e520e4966380c2e5da7096834467765ff27772e1 OP_EQUALVERIFY OP_CHECKSIG*276a914e520e4966380c2e5da7096834467765ff27772e188ac*"1MtX9NRKDwhsjmznitMT9Kt4TD4E4KfTpA8$J  + @77295c5191449fd5519f1f7300414fc3d17551fcb656ccceaa26b81a6fa10b58""19EjuPTzYeKdmaJYGRFjXh4KRhHKjGuSyC"UOP_DUP OP_HASH160 5a5a3a431759b1107ff6008c74e1e3d48341acad OP_EQUALVERIFY OP_CHECKSIG*276a9145a5a3a431759b1107ff6008c74e1e3d48341acad88ac*"19EjuPTzYeKdmaJYGRFjXh4KRhHKjGuSyC8$J  +ʘ@77295c5191449fd5519f1f7300414fc3d17551fcb656ccceaa26b81a6fa10b58""1APQ79KH5k8J8i9AGKemU1eydwpDDLnJnz"UOP_DUP OP_HASH160 66f5923141ec89278c35c3590bc80f30be2131e5 OP_EQUALVERIFY OP_CHECKSIG*276a91466f5923141ec89278c35c3590bc80f30be2131e588ac*"1APQ79KH5k8J8i9AGKemU1eydwpDDLnJnz8$J ; + +1@aa4763a2ef0c9220111f2cf61895271171d453996ec9971adb0731397a15a660$"@00000000000000000008b00bd9b36046fc215936a969232b1cc23b022acca75e(օ-2 +@b8c7b66bff4b2e34089189f879b399c7a37254e9501cfcbce56cb99a84178843B0240d8e931d1ed5f9a1d4c5558dd6a12db01f05d2b8a6a72ac64f0ae2ad9bef9392 +@6a2351a8f4b6815672586c8e546de83dd92cfb8a5262234faee9a3901cefc620B03d92867df0a356e0fc52020ba89d28fc3b26b5fa80b7b0053ed54180398030bf82 +@0a94e44c39eb8d69411da72f793448995b30fb9527fa22e006ac14220a7ae352B037eddc12cf9164aa8eb5beeea051bb46a15f0c22fcf2ab2313235712f33a13a892 +@4681783d5d636de0c6885cc9c01bc6b5708328807c9945e0ae61b5adf1fd6542B0356e625fd7320285f22c4f8b6e363193ff3f60cbf13ddaedec18813f616097159B + @aa4763a2ef0c9220111f2cf61895271171d453996ec9971adb0731397a15a660""18ohU6JwkFoXUVnZiwUjPrcm8dMeMUctuY"UOP_DUP OP_HASH160 559dcb826dde9ba24dec7f25e59b918f0b458bf2 OP_EQUALVERIFY OP_CHECKSIG*276a914559dcb826dde9ba24dec7f25e59b918f0b458bf288ac*"18ohU6JwkFoXUVnZiwUjPrcm8dMeMUctuY8$J  + @aa4763a2ef0c9220111f2cf61895271171d453996ec9971adb0731397a15a660""16fMoT8sK9CjrMQrXJZRWzQsE2BUnW9vaK"UOP_DUP OP_HASH160 3e19cc95cfe81fda2cc3cf3390f554fd5b272c2b OP_EQUALVERIFY OP_CHECKSIG*276a9143e19cc95cfe81fda2cc3cf3390f554fd5b272c2b88ac*"16fMoT8sK9CjrMQrXJZRWzQsE2BUnW9vaK8$J  +З@aa4763a2ef0c9220111f2cf61895271171d453996ec9971adb0731397a15a660""1M51x3kPyGZJ1WWsf6E1NsRgsm6F7e3MVk"UOP_DUP OP_HASH160 dc24f8c6ef090ec836043e15d5c86ee7fc9b386b OP_EQUALVERIFY OP_CHECKSIG*276a914dc24f8c6ef090ec836043e15d5c86ee7fc9b386b88ac*"1M51x3kPyGZJ1WWsf6E1NsRgsm6F7e3MVk8$J ;$𡌡-@0000000000000000000ec7fa34480f284b35dd9c0e6ec8877c53090971c76161"@00000000000000000008b00bd9b36046fc215936a969232b1cc23b022acca75e2$𑻡-@0000000000000000000905aae7dd93442c426bcc862b54cce8e87f89523cdf8e"@0000000000000000000ec7fa34480f284b35dd9c0e6ec8877c53090971c761612 + + +1@7e90d50532570d9ccbecda559a609c7dc262c44b9c8033c3cb02723b7ecdae39$"@0000000000000000000905aae7dd93442c426bcc862b54cce8e87f89523cdf8e(𑻡-2 +@77295c5191449fd5519f1f7300414fc3d17551fcb656ccceaa26b81a6fa10b58B028236f83dc2b68536606783e22017f533f472cb8158d642115ffd60b97990c48f2 +@77295c5191449fd5519f1f7300414fc3d17551fcb656ccceaa26b81a6fa10b58B03f2e64cbd3a11f44475d652df7ca04ce692bc024e0ae1590ee1123418b2cfc487B +@7e90d50532570d9ccbecda559a609c7dc262c44b9c8033c3cb02723b7ecdae39""1K4yaPwvQqbAFoRjJpyHFqMttbr6ZQB3v9"UOP_DUP OP_HASH160 c632bd3478423b4ab4b075ad9977e0321b88e62a OP_EQUALVERIFY OP_CHECKSIG*276a914c632bd3478423b4ab4b075ad9977e0321b88e62a88ac*"1K4yaPwvQqbAFoRjJpyHFqMttbr6ZQB3v98$J  + @7e90d50532570d9ccbecda559a609c7dc262c44b9c8033c3cb02723b7ecdae39""1F1VXaAJ2tgVcXaMcYz8VG3Luaw3p4RCog"UOP_DUP OP_HASH160 99a992fe7d6a5032664ef43cd09f2e9ef3e09c57 OP_EQUALVERIFY OP_CHECKSIG*276a91499a992fe7d6a5032664ef43cd09f2e9ef3e09c5788ac*"1F1VXaAJ2tgVcXaMcYz8VG3Luaw3p4RCog8$J  + +@7e90d50532570d9ccbecda559a609c7dc262c44b9c8033c3cb02723b7ecdae39""1B9BFaexuttkx8s5qEVq7iug9ayWwHPq9b"UOP_DUP OP_HASH160 6f3d2498c70f8441ad9bb9e86e0c82def920a439 OP_EQUALVERIFY OP_CHECKSIG*276a9146f3d2498c70f8441ad9bb9e86e0c82def920a43988ac*"1B9BFaexuttkx8s5qEVq7iug9ayWwHPq9b8$J ; + + +1@eb47e3f655a0e9f00ec87e60380acfe69349c7187785c0cd517932b5c2eb592d$"@0000000000000000000905aae7dd93442c426bcc862b54cce8e87f89523cdf8e(𑻡-2 +@7e90d50532570d9ccbecda559a609c7dc262c44b9c8033c3cb02723b7ecdae39B03bd87826537d53d43a2d92666161f4283ca45192dadb1c91460b60b2dfbaebdf82 +@7e90d50532570d9ccbecda559a609c7dc262c44b9c8033c3cb02723b7ecdae39B027f5f1a18af882c79b3dd5a9920863d3b8d42afd836eba002b62025d36c0a5a2cB +@eb47e3f655a0e9f00ec87e60380acfe69349c7187785c0cd517932b5c2eb592d""13C6i6LpJmujQCb1A4kN5kxm2njHsqn9mo"UOP_DUP OP_HASH160 180997a4411acae998a695f12c34a2b50211473c OP_EQUALVERIFY OP_CHECKSIG*276a914180997a4411acae998a695f12c34a2b50211473c88ac*"13C6i6LpJmujQCb1A4kN5kxm2njHsqn9mo8$J  + @eb47e3f655a0e9f00ec87e60380acfe69349c7187785c0cd517932b5c2eb592d""13wdnkt4NbhUMbVqSFVgxLEdKe8dbcS1x6"UOP_DUP OP_HASH160 20456c5fc7e496f812b70bf4711b77ec4abfa044 OP_EQUALVERIFY OP_CHECKSIG*276a91420456c5fc7e496f812b70bf4711b77ec4abfa04488ac*"13wdnkt4NbhUMbVqSFVgxLEdKe8dbcS1x68$J  +ێ@eb47e3f655a0e9f00ec87e60380acfe69349c7187785c0cd517932b5c2eb592d""1JXWUaAJHNjxoymiWq38AfscabZAbjPDEE"UOP_DUP OP_HASH160 c03f38d3c8a18e023c86202aed254885e0fa1b06 OP_EQUALVERIFY OP_CHECKSIG*276a914c03f38d3c8a18e023c86202aed254885e0fa1b0688ac*"1JXWUaAJHNjxoymiWq38AfscabZAbjPDEE8$J ;$-@00000000000000000007272a74217146edb572ececf1357998401b79222972c2"@0000000000000000000905aae7dd93442c426bcc862b54cce8e87f89523cdf8e2 + + +1@91c1abd48f9d3cc627a90e9e11a4cd8a1d32316783d11bea28707bedc296a8e1$"@00000000000000000007272a74217146edb572ececf1357998401b79222972c2(-2 +@04f9368046ecd7de0aba84e105d30231b03d8594c340e778d3b3487152a339a8B0341c3e2bffd51086e29519b34d42d070ae68ccbf1928abb71e5cb19ceec95447b2 +@4e2020f3b8e9f8274fa1af69843202f2d6f5b221b5bd0c99091e888c0d4b13d7B03dfaf7a3ad09d38faa98ba695c412dc1b60a790d97585a425f893e2a9e2fcefaeB +Ď@91c1abd48f9d3cc627a90e9e11a4cd8a1d32316783d11bea28707bedc296a8e1""1CYoRPZJ5svSEVCPF8LxEhB1Kb3kaAzaVW"UOP_DUP OP_HASH160 7ead073fd4301adecb0fac030913cc3a8e600ce6 OP_EQUALVERIFY OP_CHECKSIG*276a9147ead073fd4301adecb0fac030913cc3a8e600ce688ac*"1CYoRPZJ5svSEVCPF8LxEhB1Kb3kaAzaVW8$J  +@91c1abd48f9d3cc627a90e9e11a4cd8a1d32316783d11bea28707bedc296a8e1"!1SsYmkL2KbfBtV8JQVjeAEWUtJ4GFwesY"UOP_DUP OP_HASH160 04e4981e2a6e6a7a511ad855ae01795ab8905617 OP_EQUALVERIFY OP_CHECKSIG*276a91404e4981e2a6e6a7a511ad855ae01795ab890561788ac*!1SsYmkL2KbfBtV8JQVjeAEWUtJ4GFwesY8$J  +@91c1abd48f9d3cc627a90e9e11a4cd8a1d32316783d11bea28707bedc296a8e1""1NdiFNZTXSYSerZ17BztaZqURiTWy5gVCq"UOP_DUP OP_HASH160 ed4c0c49f311899a83c0af074fa9bc412412eed8 OP_EQUALVERIFY OP_CHECKSIG*276a914ed4c0c49f311899a83c0af074fa9bc412412eed888ac*"1NdiFNZTXSYSerZ17BztaZqURiTWy5gVCq8$J  + +1@f8c7a1ce64c81e6107684a098d098ccd8a6c1bc9a9cda47ce2cedc426ab9d993$"@00000000000000000007272a74217146edb572ececf1357998401b79222972c2(-2 +@aa4763a2ef0c9220111f2cf61895271171d453996ec9971adb0731397a15a660B03cdcef25f043229d637ee3ac5a8023a8b15f8cfdfe6561d0a6081d2725f20e7182 +@b874fd93abe90cb06b205e18612146a16bda5a0cbb18d3ec2ffc0bc083ed4e56B03ce9b5f22b4c3d5a9d660ec7302fa2caa05d7372db01026fbb11d783e8dc3a1d32 +@33b983b42f5a14d02d12697ec2e838e4be296c9e5274898a94246d94a0f99938B03de868030eb736de9e2bc13364752e91abfee6568bf622c965a28b4cfdd83d3dfB + +@f8c7a1ce64c81e6107684a098d098ccd8a6c1bc9a9cda47ce2cedc426ab9d993""162g4TEsn8MfvYaioFpfmU4Cyk7YX4LViF"UOP_DUP OP_HASH160 3729a66ee228db17501120aabff81f7ccd67d006 OP_EQUALVERIFY OP_CHECKSIG*276a9143729a66ee228db17501120aabff81f7ccd67d00688ac*"162g4TEsn8MfvYaioFpfmU4Cyk7YX4LViF8$J  + @f8c7a1ce64c81e6107684a098d098ccd8a6c1bc9a9cda47ce2cedc426ab9d993""18PYVAvRh6XcMa39gmunvp7c2cvmEFyxyD"UOP_DUP OP_HASH160 510c50890adf3eae996f6be9f80d56c1abe796dd OP_EQUALVERIFY OP_CHECKSIG*276a914510c50890adf3eae996f6be9f80d56c1abe796dd88ac*"18PYVAvRh6XcMa39gmunvp7c2cvmEFyxyD8$J  +@f8c7a1ce64c81e6107684a098d098ccd8a6c1bc9a9cda47ce2cedc426ab9d993""14vtbCsWiLMUkjqWpjDL8Q1ZLZMAaa4cWf"UOP_DUP OP_HASH160 2b197cff2f00f943f1042dffa4528123f74b9994 OP_EQUALVERIFY OP_CHECKSIG*276a9142b197cff2f00f943f1042dffa4528123f74b999488ac*"14vtbCsWiLMUkjqWpjDL8Q1ZLZMAaa4cWf8$J ; $-@00000000000000000013c8611bde884a4f433e89ab1cb789f0e8ee123b061829"@00000000000000000007272a74217146edb572ececf1357998401b79222972c22 + + + +1@b76d54c119521c95636e611c04da469ec33440a7034c656e25dee8c258482179$"@00000000000000000013c8611bde884a4f433e89ab1cb789f0e8ee123b061829(-2 +@dc52d0c329e812fc1bbca83b28c8c70247226b57f3725fd6e519f0744d9e0162B037dc27ff17e8e0de7831df41162a0d9d32cc73ef08b429852e7aa1d06d1ea66092 +@0cb6e4ebbf885c7b0d2a24aee36f77a374869a88014eb82c2dea25601ac40a66B034206a649b853606e5c5398cef51b84c743380f79fd0432a81264d51bb30849e6B + @b76d54c119521c95636e611c04da469ec33440a7034c656e25dee8c258482179""1CUyvWbv64xvuGLFM2WnDL3AAtiohkNzSR"UOP_DUP OP_HASH160 7df42194d7075cae9e6632a40c7fc88aedb75cbc OP_EQUALVERIFY OP_CHECKSIG*276a9147df42194d7075cae9e6632a40c7fc88aedb75cbc88ac*"1CUyvWbv64xvuGLFM2WnDL3AAtiohkNzSR8$J  +z@b76d54c119521c95636e611c04da469ec33440a7034c656e25dee8c258482179"!18ZSEbn1nwk7fv6ycsJow4vqry4f4saRq"UOP_DUP OP_HASH160 016dfcb7446017830693c1719f2c027c02cc9852 OP_EQUALVERIFY OP_CHECKSIG*276a914016dfcb7446017830693c1719f2c027c02cc985288ac*!18ZSEbn1nwk7fv6ycsJow4vqry4f4saRq8$J  +ľ@b76d54c119521c95636e611c04da469ec33440a7034c656e25dee8c258482179""1QD9tyNzxjPtTpfmWoewnGduNyFP25aqoc"UOP_DUP OP_HASH160 fe974f85ae8f0c145f44389a097406ec065c2c2a OP_EQUALVERIFY OP_CHECKSIG*276a914fe974f85ae8f0c145f44389a097406ec065c2c2a88ac*"1QD9tyNzxjPtTpfmWoewnGduNyFP25aqoc8$J  +$蝧-@00000000000000000001a0a91fe379ad09868b125117cba4bb2350d16d098c57"@00000000000000000013c8611bde884a4f433e89ab1cb789f0e8ee123b0618292$ڢ-@0000000000000000000660ddce45bc42e9d3bb4dcab3f657934331ccab3b0d45"@00000000000000000001a0a91fe379ad09868b125117cba4bb2350d16d098c572$ܢ-@0000000000000000001111db734bb35047b6b02ffc44ceafd8c4819388934bc2"@0000000000000000000660ddce45bc42e9d3bb4dcab3f657934331ccab3b0d452$-@0000000000000000000e30037b565aa07f027764560bb0849feecd4b0f84b3a4"@0000000000000000001111db734bb35047b6b02ffc44ceafd8c4819388934bc22$-@000000000000000000116f19a18d41555c5308e561d94a9a1b4a36324da96d3d"@0000000000000000000e30037b565aa07f027764560bb0849feecd4b0f84b3a42 + +1@b6e7acdfd7462ebcb1c5a9b7a9a685f6a7481c4138c4c235fba677167342928b$"@000000000000000000116f19a18d41555c5308e561d94a9a1b4a36324da96d3d(-2 +@f51816388631f12685bb93d7a6044121b74bb851a312a36f46a8cc75481fc8b2B025f42d4876e5d6ea7efda9c9159dbd3b5ed936b68d21643352bcebc2e07bb9e4c2 +@cf377f8a0c9695baa97a4c6309bfa03001a1d2ac0dfae7076c8e68170737e2cbB035e89858b440e538feb528bd9e878006fb12aa535e3137615a03349d3990ce3602 +@5e49ef12a73ae37929a4fa04f9ef8b32ebe37a3ee12f44eacf388e3d220d2f8dB03783238902da122ebc72442b078704927f3d503ee9e85a041d2a02fa83efd10342 +@88286dabc1b35d4b29bcb1b4e529e5c2efc956efe993d2c098cad2e55a2e57a8B03def1aa320d7dfcf4c0399fa409bf3b9dcd522a26a0ee643178940f728c34f4382 +@4099eac2e6cb21e5bd4c87f860c73fb407d8c7f0bee842bee9bb6974eeb94e40B033e07bacc6587016a4fb672339fe3e2e45e5fe5c443045269b200191fc230a6752 +@d0d543fb6cc9f5bccec7d5c2c0f276aba17c07a5a9539ea9db43c93c8cc69b49B02c2d138f143bf4d4a3232de7d7fc5f9e7e805abc72b98dba00234c795a46f9ea22 +@dd4d423250b6ca96ddc05dc8b98fb0ada9f3ee4c363f370be2d503fa79d2902dB037b95ff3b23642f04d9014f467101e8ede8033aef074012257f8bd810f2ad5407B +@b6e7acdfd7462ebcb1c5a9b7a9a685f6a7481c4138c4c235fba677167342928b""1258YyccM6z2paF6betgK9gCAgaTawAwGY"UOP_DUP OP_HASH160 0bc017d89a4d45f04c3b53717c40c9a240d5ce92 OP_EQUALVERIFY OP_CHECKSIG*276a9140bc017d89a4d45f04c3b53717c40c9a240d5ce9288ac*"1258YyccM6z2paF6betgK9gCAgaTawAwGY8$J  +Ц@b6e7acdfd7462ebcb1c5a9b7a9a685f6a7481c4138c4c235fba677167342928b""12VM1JqcygkvjtYVcNMpNXryo8Kv5zNzmk"UOP_DUP OP_HASH160 105478e8a02960dd5ed7bd5926b6a2fd4a692859 OP_EQUALVERIFY OP_CHECKSIG*276a914105478e8a02960dd5ed7bd5926b6a2fd4a69285988ac*"12VM1JqcygkvjtYVcNMpNXryo8Kv5zNzmk8$J  +m@b6e7acdfd7462ebcb1c5a9b7a9a685f6a7481c4138c4c235fba677167342928b""1A4GC1o8T1hUdZtJHkivaUo9UevDoz2XkC"UOP_DUP OP_HASH160 63570f5083dffc54df9ffbe5aba12adb968d6ab3 OP_EQUALVERIFY OP_CHECKSIG*276a91463570f5083dffc54df9ffbe5aba12adb968d6ab388ac*"1A4GC1o8T1hUdZtJHkivaUo9UevDoz2XkC8$J $ӟ-@0000000000000000001911238e9fe90d23998ddd4ec9448bc49698f820a64e47"@000000000000000000116f19a18d41555c5308e561d94a9a1b4a36324da96d3d2 $ţ-@00000000000000000000a21e129eed2415a8a36a946a3c868c7f1d20e96da9df"@0000000000000000001911238e9fe90d23998ddd4ec9448bc49698f820a64e472 + + + +1@d098def9a0bfc22d39b5ef656a22291761cfad5596082f985adb9a07f775e2d6$"@00000000000000000000a21e129eed2415a8a36a946a3c868c7f1d20e96da9df(ţ-2 +@f8c7a1ce64c81e6107684a098d098ccd8a6c1bc9a9cda47ce2cedc426ab9d993B02c1d1e9d1a31a3550918bfc02300f51f05497a80d52170f2f3c5487f32180031b2 +@1feb758b5b983d05fb7fc92bb4a48eda6b434b257f59c66f72a9ec25b542fb3eB0256717b6c6a4457af01335e8d34c8cd2db86c7608701b708fd3bc635a79ca29b52 +@7e34fc18bd205ee63a8fd83b528f654ce515039d765e61a4e064f31c5cea1167B0271f5c5f4c73f060ca0cbf78f343e78cebba7fef0d73a5d384ed9ac8caf8b98d22 +@a0dc9f4a56314c911fba1de4e80c774c5cdd2aa27d83677696f8b9746f3eb83fB033c8a4722dfe46993522dd01504f64baf80fd46961918e845f3343e28f11b03ccB + @d098def9a0bfc22d39b5ef656a22291761cfad5596082f985adb9a07f775e2d6""1AykzyHFXVXWTKCEvQoNCrtkxYVTL5iYNe"UOP_DUP OP_HASH160 6d7527a3727d7312ae506f180e36e357477eb689 OP_EQUALVERIFY OP_CHECKSIG*276a9146d7527a3727d7312ae506f180e36e357477eb68988ac*"1AykzyHFXVXWTKCEvQoNCrtkxYVTL5iYNe8$J  +@d098def9a0bfc22d39b5ef656a22291761cfad5596082f985adb9a07f775e2d6""13q275NwZQqp7atZWbdaeYrjCe7X1dXUj5"UOP_DUP OP_HASH160 1f0523d2976e7a852c80b722282a20f22c9e513d OP_EQUALVERIFY OP_CHECKSIG*276a9141f0523d2976e7a852c80b722282a20f22c9e513d88ac*"13q275NwZQqp7atZWbdaeYrjCe7X1dXUj58$J $ţ-@0000000000000000000326b90028f63a4d39a9d2f05ec456ea49eb1bdd9e7ad8"@00000000000000000000a21e129eed2415a8a36a946a3c868c7f1d20e96da9df2 + +1@8ee185f5b89e295a526b4b11e90fb8e82645e8ed08d61e1b4b1447e8fc20ca47$"@0000000000000000000326b90028f63a4d39a9d2f05ec456ea49eb1bdd9e7ad8(ţ-2 +@008fe5657bed8e1aade3d17dfc3d6c68917329fac0ba1a68295ad822728a5fdeB02ea7db3c3cc498346c8414820120930211e48544ee51bc88915e2c717e3c50c582 +@0ac4b71907582c0eeb1d8a7b835ee09cb91cb4718daac7dd8f1626269ba23160B03f1f0bbe5ffe545091ac97d0b5a4b57448f2f7f02728202526a14fad0a0ca64782 +@4402e0a1434e078d862983004c2a8167f9c94521175bef17385a1501d1067646B031952498a2090e12f737be4a2a56f9cc11514340fcb484d1efefbd35961e36bc82 +@b6d570379f3c1ff7dd349c7982bd018cd6b7b8f3c144cc76e88afb3edc39e427B021c5054384d98c1120e240d21b5149fe0176ba02b892db9b1b7ae658f30f9d4c02 +@03366bcad15e9cd0049c36ca62449d6b454573f030ee87980266e208fdda77ceB03d8511fe20e613deb8ddc7af76c13116f8d4879b51880a48383b5e8e5465bf4482 +@7e34fc18bd205ee63a8fd83b528f654ce515039d765e61a4e064f31c5cea1167B020e157ac1fdbaf3fc1b34ff18a6642617ef6bb662097cde699958e88ffd34429c2 +@d00f33b36f7909d91579a6d13e540e24552a16a34753a7a715166ba78c1d63b4B024e998580823e62b9d8a1e3dc44deb10e570debb363f8990edbf8905c935213372 +@241c1bc3a3eb98d9d43e770e297f20e77d8f2389262981bdf4bd78a8664e9913B02ae73c87a8e267c84cd9cd1051781ef355ae9122b49ea02bbeb8bca08238b2a282 +@0fd9b19c5e48f63efa0734dc9bdd9a45074cb6363a176c31ebf26d97833ce8d7B02236d1e2f33b0e5055fd0634744136c778e285b0f2c6491c66fdd953e416a88ec2 +@1feb758b5b983d05fb7fc92bb4a48eda6b434b257f59c66f72a9ec25b542fb3eB02dc8419358e6487f4b4550009f804337fa8c92b3c1dc06dd0801e2e9bcfb09cab2 +@aa4763a2ef0c9220111f2cf61895271171d453996ec9971adb0731397a15a660B03ec11bf980f4678adcb7a11bded85ef4cef5c2b791555692278644e765cdf3a3e2 +@f8c7a1ce64c81e6107684a098d098ccd8a6c1bc9a9cda47ce2cedc426ab9d993B038200fbfca3d5ea3890a776c266cbfd7e9b6f5ba3b61d8eeb1ea521fd35f792ac2 +@d3a0c937605e7f9d8241be4c33777259cd402ff4d02b13cb6eb10dcb7a7d5cb3B02bb2d6b7d267dc0d393d89b20fa1926ba0ad0f9470aa4368c483616d2a2ecba922 +@d098def9a0bfc22d39b5ef656a22291761cfad5596082f985adb9a07f775e2d6B02ab4490eb71f651059054a228cc4dc7327b6963f9dde375885b38b0c4da542f0fB +@8ee185f5b89e295a526b4b11e90fb8e82645e8ed08d61e1b4b1447e8fc20ca47""1CkACFFS6cUxwUVLKFpt8JuVrGgGAZiWxk"UOP_DUP OP_HASH160 80d2f1d4b813d6c72e6c1f265cb82f9b7d796d48 OP_EQUALVERIFY OP_CHECKSIG*276a91480d2f1d4b813d6c72e6c1f265cb82f9b7d796d4888ac*"1CkACFFS6cUxwUVLKFpt8JuVrGgGAZiWxk8$J $ȣ-@0000000000000000000bee8058afbe37aaf6e70e82f15ce67afdeacdb964d9c6"@0000000000000000000326b90028f63a4d39a9d2f05ec456ea49eb1bdd9e7ad82$Р-@00000000000000000004524c55c0b1c2a813bfa071d4b5b3be3cc5e325f3c5aa"@0000000000000000000bee8058afbe37aaf6e70e82f15ce67afdeacdb964d9c62$-@0000000000000000000a180f4a488004cef8a776c0c9f5dc2c4e38556a3aa27c"@00000000000000000004524c55c0b1c2a813bfa071d4b5b3be3cc5e325f3c5aa2$-@00000000000000000006cd62db97078c55e5990fcbffef2da33a9d176f4f6f97"@0000000000000000000a180f4a488004cef8a776c0c9f5dc2c4e38556a3aa27c2$܌-@00000000000000000017b97ae9e0c7a014613ff67b49290da7a96b2e2b8e869e"@00000000000000000006cd62db97078c55e5990fcbffef2da33a9d176f4f6f972 $嫤-@000000000000000000084fd4c7a6df6dd4ed23da86ed6208f302cf5050160a4a"@00000000000000000017b97ae9e0c7a014613ff67b49290da7a96b2e2b8e869e2 + + + +1@0bfc582a3042ded1c8372d7a26816f3e2e244270193d9eee9a28245c573be98c$"@000000000000000000084fd4c7a6df6dd4ed23da86ed6208f302cf5050160a4a(嫤-2 +@91c1abd48f9d3cc627a90e9e11a4cd8a1d32316783d11bea28707bedc296a8e1B03a9002c81d29abdb1166315977b3f1036afc6784e403743e99fec45bcdf06b98b2 +@1d88cc33c9e0783b992b018aff3d97c8e4e7bd1b3d0fb471702799fcba6548deB0254451ac165eca9cdc85f5b11895c8058e51013f4c23c5ad136e202f3bc18c2d2B + @0bfc582a3042ded1c8372d7a26816f3e2e244270193d9eee9a28245c573be98c""1M2LfPCQpGJPLcbtWFn6xK24cCH6EuoZ7n"UOP_DUP OP_HASH160 dba3582e558a8ee2b322725a8945c8ced703c9fa OP_EQUALVERIFY OP_CHECKSIG*276a914dba3582e558a8ee2b322725a8945c8ced703c9fa88ac*"1M2LfPCQpGJPLcbtWFn6xK24cCH6EuoZ7n8$J  +@0bfc582a3042ded1c8372d7a26816f3e2e244270193d9eee9a28245c573be98c""1Jzvi861mNPmT11PVLk8Kd9mcX1Sddoyh8"UOP_DUP OP_HASH160 c56eaea24fa8db70a6569dff58e621dd8b0189cc OP_EQUALVERIFY OP_CHECKSIG*276a914c56eaea24fa8db70a6569dff58e621dd8b0189cc88ac*"1Jzvi861mNPmT11PVLk8Kd9mcX1Sddoyh88$J  +@0bfc582a3042ded1c8372d7a26816f3e2e244270193d9eee9a28245c573be98c""1JoqEhBoTvvB1xnmxAMHortKid7UeVjKD3"UOP_DUP OP_HASH160 c35589bbc8bb9c0d5352156e9ad4dafac49e65d1 OP_EQUALVERIFY OP_CHECKSIG*276a914c35589bbc8bb9c0d5352156e9ad4dafac49e65d188ac*"1JoqEhBoTvvB1xnmxAMHortKid7UeVjKD38$J  $в-@00000000000000000011bd5a659d7eb86644579e3da466812f3d39ce46d62fb5"@000000000000000000084fd4c7a6df6dd4ed23da86ed6208f302cf5050160a4a2 + + + +1@6632c2254cefdfa21251d005c7a133010b1a5d1b454caba82403bd1fddb7f89b$"@00000000000000000011bd5a659d7eb86644579e3da466812f3d39ce46d62fb5(в-2 +@0bfc582a3042ded1c8372d7a26816f3e2e244270193d9eee9a28245c573be98cB029e74dbe34b0f0caab26a285d6f6d7ff989515e0b57155537fc762e025adb46152 +@0bfc582a3042ded1c8372d7a26816f3e2e244270193d9eee9a28245c573be98cB02e01852648f282931b895a6c0f4200b0374b7f834f33098bb9fca6dba5369eadfB + @6632c2254cefdfa21251d005c7a133010b1a5d1b454caba82403bd1fddb7f89b""151ks4ySQYedgTvoWdXYecWxP8yytdiS7D"UOP_DUP OP_HASH160 2c051e4b068bb9d95c54d6fe24e0ca11dc3fc60f OP_EQUALVERIFY OP_CHECKSIG*276a9142c051e4b068bb9d95c54d6fe24e0ca11dc3fc60f88ac*"151ks4ySQYedgTvoWdXYecWxP8yytdiS7D8$J  +@6632c2254cefdfa21251d005c7a133010b1a5d1b454caba82403bd1fddb7f89b""1J7KHLeWerqvdX6twXG7xR55BdbmBVA7Jo"UOP_DUP OP_HASH160 bbabe5179cf9b0de2b3c4084a784102de7ff586b OP_EQUALVERIFY OP_CHECKSIG*276a914bbabe5179cf9b0de2b3c4084a784102de7ff586b88ac*"1J7KHLeWerqvdX6twXG7xR55BdbmBVA7Jo8$J  +@6632c2254cefdfa21251d005c7a133010b1a5d1b454caba82403bd1fddb7f89b""1KQXRPFia1MMC7wLYBXJ59HhMi8aSJrtdY"UOP_DUP OP_HASH160 c9e539938546db81507d04d02a0e2251a997ba00 OP_EQUALVERIFY OP_CHECKSIG*276a914c9e539938546db81507d04d02a0e2251a997ba0088ac*"1KQXRPFia1MMC7wLYBXJ59HhMi8aSJrtdY8$J $-@00000000000000000014fcb29e6e3b0ead3bd2e307d7f619a935f1d5323e9013"@00000000000000000011bd5a659d7eb86644579e3da466812f3d39ce46d62fb52$Ѕ-@000000000000000000096932531c7e92094cccc6e260aec6271eb406a1de9c2b"@00000000000000000014fcb29e6e3b0ead3bd2e307d7f619a935f1d5323e90132$-@00000000000000000018951b845fdc037c1078ec2e3c4a90e4b2f2e181098573"@000000000000000000096932531c7e92094cccc6e260aec6271eb406a1de9c2b2B$-@0000000000000000001162c0b5ebdf324196be7c8b62f3cd814d647249b4e25a"@00000000000000000018951b845fdc037c1078ec2e3c4a90e4b2f2e1810985732A + + +1@7a58ba66773179358663ec93c9121f02547b4cf8d2ac6f294b6f3afcb9522c3d$"@0000000000000000001162c0b5ebdf324196be7c8b62f3cd814d647249b4e25a(-2 +@07975fee5c8faf1d54a5d393e1e358cfbc237054eadd9a05460bfc409b05615eB0346245b5ef832fbeafb9d4761c93bf8052de6a59c77461710f096bb2b8925cbf02 +@02bcbc43ed252b12a5c9c79568407e72012f51ea58446989823f06043e93e7c4B027a0eff0eb00e4d2d4ecafab93a13893d1f0d55f1e826e4b5966797e4db38bbebB +A@7a58ba66773179358663ec93c9121f02547b4cf8d2ac6f294b6f3afcb9522c3d""1NiDtqofN25PR2rQytFECEBAj77fNio2ax"UOP_DUP OP_HASH160 ee2675883d847127315248a58167a82b7af9dcb4 OP_EQUALVERIFY OP_CHECKSIG*276a914ee2675883d847127315248a58167a82b7af9dcb488ac*"1NiDtqofN25PR2rQytFECEBAj77fNio2ax8$J  +x@7a58ba66773179358663ec93c9121f02547b4cf8d2ac6f294b6f3afcb9522c3d""114QgFQzYYmttrAPxsHAJQ6y1UfLWZq1ge"UOP_DUP OP_HASH160 00a5031f674547dd804c2a4757641bfb87f22570 OP_EQUALVERIFY OP_CHECKSIG*276a91400a5031f674547dd804c2a4757641bfb87f2257088ac*"114QgFQzYYmttrAPxsHAJQ6y1UfLWZq1ge8$J  +O@7a58ba66773179358663ec93c9121f02547b4cf8d2ac6f294b6f3afcb9522c3d""1DV85MeJYek97nbHpxhv9Lexw97PGP71cH"UOP_DUP OP_HASH160 88f30ff510e915a5c172827c1b283b0d4a585d46 OP_EQUALVERIFY OP_CHECKSIG*276a91488f30ff510e915a5c172827c1b283b0d4a585d4688ac*"1DV85MeJYek97nbHpxhv9Lexw97PGP71cH8$J  + + +1@0672bf535af3a00eb1545c6a4ee05afdffb27d2f421218bad7aed1300381e169$"@0000000000000000001162c0b5ebdf324196be7c8b62f3cd814d647249b4e25a(-2 +@d098def9a0bfc22d39b5ef656a22291761cfad5596082f985adb9a07f775e2d6B024582f61d783f3cc526ee24eee2b3fc38a7d666fdef1b1f00293b3fdd384610ad2 +@8ee185f5b89e295a526b4b11e90fb8e82645e8ed08d61e1b4b1447e8fc20ca47B02b3cdd30a6f204a8a9167de2480b68ed94df44f1db27cd96e80d3e700bdd78a9bB +̜ @0672bf535af3a00eb1545c6a4ee05afdffb27d2f421218bad7aed1300381e169""196oXVJwPozyanynbNPzjjsMzEXewX3viP"UOP_DUP OP_HASH160 58d9ec7a53b9d9efa3b63c5ba669f74a59c2954e OP_EQUALVERIFY OP_CHECKSIG*276a91458d9ec7a53b9d9efa3b63c5ba669f74a59c2954e88ac*"196oXVJwPozyanynbNPzjjsMzEXewX3viP8$J  + @0672bf535af3a00eb1545c6a4ee05afdffb27d2f421218bad7aed1300381e169""1BWesrTwVMgMvwG2JXHa2DJzkzMKwc9oCe"UOP_DUP OP_HASH160 734cf04c83c69201ec0bac779e58d74d5136ba1e OP_EQUALVERIFY OP_CHECKSIG*276a914734cf04c83c69201ec0bac779e58d74d5136ba1e88ac*"1BWesrTwVMgMvwG2JXHa2DJzkzMKwc9oCe8$J  +@0672bf535af3a00eb1545c6a4ee05afdffb27d2f421218bad7aed1300381e169""12HJyRFb2ADCHwxPj4PXhFGGss1s2T2HVs"UOP_DUP OP_HASH160 0e0dc8b76cacf9166b6d6cd1235a4e9757369ca5 OP_EQUALVERIFY OP_CHECKSIG*276a9140e0dc8b76cacf9166b6d6cd1235a4e9757369ca588ac*"12HJyRFb2ADCHwxPj4PXhFGGss1s2T2HVs8$J ; + + +1@601ce673b2602c14630ef9046cf26bd742dc6f20e2f2deb4505f69aa7b7779fa$"@0000000000000000001162c0b5ebdf324196be7c8b62f3cd814d647249b4e25a(-2 +@eb47e3f655a0e9f00ec87e60380acfe69349c7187785c0cd517932b5c2eb592dB026d056a9584e65d1b1aac30e5070af24a394f2111cb40c2c625114183974882f02 +@d2020be6d81a172ba4b369f94e654c9b326975fd11973084f338135366072e76B0298df854bf2350cd601f418c059776fcb9115cb7d0ab9d9af1f36dd342bee16d4B +@601ce673b2602c14630ef9046cf26bd742dc6f20e2f2deb4505f69aa7b7779fa""1Q5bXEYqQvjwN9MkaKhnZN7M1d2Nh3m2Ba"UOP_DUP OP_HASH160 fd295fafed5444ec50f6ca96f90bd0b85812d954 OP_EQUALVERIFY OP_CHECKSIG*276a914fd295fafed5444ec50f6ca96f90bd0b85812d95488ac*"1Q5bXEYqQvjwN9MkaKhnZN7M1d2Nh3m2Ba8$J  + @601ce673b2602c14630ef9046cf26bd742dc6f20e2f2deb4505f69aa7b7779fa""1PYAhRGRVUu64S3x4Tbrf3GsqoPhBwSgZQ"UOP_DUP OP_HASH160 f737c1b05463f9a48c36b0f1fb27bdab78f5e75b OP_EQUALVERIFY OP_CHECKSIG*276a914f737c1b05463f9a48c36b0f1fb27bdab78f5e75b88ac*"1PYAhRGRVUu64S3x4Tbrf3GsqoPhBwSgZQ8$J  + +@601ce673b2602c14630ef9046cf26bd742dc6f20e2f2deb4505f69aa7b7779fa""12YV5AdNTjc1yqVZxoTz8bpE5j5G4BqQvi"UOP_DUP OP_HASH160 10ec742af71458a5c84aa9e12e1608d7786ba4dd OP_EQUALVERIFY OP_CHECKSIG*276a91410ec742af71458a5c84aa9e12e1608d7786ba4dd88ac*"12YV5AdNTjc1yqVZxoTz8bpE5j5G4BqQvi8$J ; + + +1@761c93420e0d210a5eba4dc3126240a8a3409d4d585ef3f73a0ce7000640cde1$"@0000000000000000001162c0b5ebdf324196be7c8b62f3cd814d647249b4e25a(-2 +@0672bf535af3a00eb1545c6a4ee05afdffb27d2f421218bad7aed1300381e169B03c9ab33d30b4df7f8c3a3a3a312bbe35a73aec4ed5ca75771738ae064c74bfdc82 +@0672bf535af3a00eb1545c6a4ee05afdffb27d2f421218bad7aed1300381e169B0296907c7352766b58dece028330f9d7047640835d95a033e04386e374eefd0fedB + @761c93420e0d210a5eba4dc3126240a8a3409d4d585ef3f73a0ce7000640cde1""1DorpFrfqd5mKfB6fCs4iJbp5bjjonzf2q"UOP_DUP OP_HASH160 8c7e3a172c504556b1ffa6e8a752b246a12e7a90 OP_EQUALVERIFY OP_CHECKSIG*276a9148c7e3a172c504556b1ffa6e8a752b246a12e7a9088ac*"1DorpFrfqd5mKfB6fCs4iJbp5bjjonzf2q8$J  + @761c93420e0d210a5eba4dc3126240a8a3409d4d585ef3f73a0ce7000640cde1""1Aw5ukYo2E2a9yDXQaycTdQA4oAqeHCprf"UOP_DUP OP_HASH160 6cf3b136245d0d7e662970c5b3a2492a255a96fb OP_EQUALVERIFY OP_CHECKSIG*276a9146cf3b136245d0d7e662970c5b3a2492a255a96fb88ac*"1Aw5ukYo2E2a9yDXQaycTdQA4oAqeHCprf8$J  +Ħ@761c93420e0d210a5eba4dc3126240a8a3409d4d585ef3f73a0ce7000640cde1""1AJfNn2gedj8UYvJ7u2PPMhed6wr837pGS"UOP_DUP OP_HASH160 66103cd4b48561c0e6e2104c3cac1964417dd2f8 OP_EQUALVERIFY OP_CHECKSIG*276a91466103cd4b48561c0e6e2104c3cac1964417dd2f888ac*"1AJfNn2gedj8UYvJ7u2PPMhed6wr837pGS8$J ; + +1@fd28f0f8a333fb17c76fc146056775f71c809cba4e5defd032c21f798c20ba02$"@0000000000000000001162c0b5ebdf324196be7c8b62f3cd814d647249b4e25a(-2 +@601ce673b2602c14630ef9046cf26bd742dc6f20e2f2deb4505f69aa7b7779faB02edada404c2862f9e8322fd5b2ab75e40b5b09993b8efdc0f24fcec32f8a2608f2 +@01d19120a2b7f812fd187ab9e403a0d9c3e818a7bc760bca0d5c448ad7c3342bB0264184f7bb69e0360422b4c098ab01644b66a3da1faa389a79142860b7f0146082 +@601ce673b2602c14630ef9046cf26bd742dc6f20e2f2deb4505f69aa7b7779faB027061bdebe1e0089f7e1c9479b8d0136ab09cf17c1645a807d3d1a3aca69e708dB +@fd28f0f8a333fb17c76fc146056775f71c809cba4e5defd032c21f798c20ba02""1PGPoiR5iB9hPjzULDkmky8o7iidDsquPK"UOP_DUP OP_HASH160 f43c0b2e0dccf92b73cf73042816994a6b478c44 OP_EQUALVERIFY OP_CHECKSIG*276a914f43c0b2e0dccf92b73cf73042816994a6b478c4488ac*"1PGPoiR5iB9hPjzULDkmky8o7iidDsquPK8$J  + @fd28f0f8a333fb17c76fc146056775f71c809cba4e5defd032c21f798c20ba02""115pdu98T3yWB9r9M3ggmLcoqie7Sx8izM"UOP_DUP OP_HASH160 00e96db47d0bb7d4001f415cffe0b8b39537d05a OP_EQUALVERIFY OP_CHECKSIG*276a91400e96db47d0bb7d4001f415cffe0b8b39537d05a88ac*"115pdu98T3yWB9r9M3ggmLcoqie7Sx8izM8$J  +ښ +@fd28f0f8a333fb17c76fc146056775f71c809cba4e5defd032c21f798c20ba02"!194mHocup26C2zxc4E7cC7usUR7oxZUS2"UOP_DUP OP_HASH160 0186782ac53b43d6244ee08d97aef39dcfd02998 OP_EQUALVERIFY OP_CHECKSIG*276a9140186782ac53b43d6244ee08d97aef39dcfd0299888ac*!194mHocup26C2zxc4E7cC7usUR7oxZUS28$J ; + + +1@e8ebaf08350449534b2a2131b4831af8bad0bec2ceba5a60890fa5ed5b5dffe4$"@0000000000000000001162c0b5ebdf324196be7c8b62f3cd814d647249b4e25a(-2 +@fd28f0f8a333fb17c76fc146056775f71c809cba4e5defd032c21f798c20ba02B03d9973cebea11d235ed755b5a60cb06f47b1fb2177953a204880ea5b1336ae8902 +@fd28f0f8a333fb17c76fc146056775f71c809cba4e5defd032c21f798c20ba02B02d13345573315b89b575fbb41747a65fb84d95341e3defff53ff21ef347440ef2B +@e8ebaf08350449534b2a2131b4831af8bad0bec2ceba5a60890fa5ed5b5dffe4""1LwAaBgRthSFBJciaD8va7oE1foJ2Qb5M5"UOP_DUP OP_HASH160 daa8d79d9c1a059401f03a08cac44b7cfac33117 OP_EQUALVERIFY OP_CHECKSIG*276a914daa8d79d9c1a059401f03a08cac44b7cfac3311788ac*"1LwAaBgRthSFBJciaD8va7oE1foJ2Qb5M58$J  + @e8ebaf08350449534b2a2131b4831af8bad0bec2ceba5a60890fa5ed5b5dffe4""1CmLrs3n8QFosbdQ74mHzmh7NewXnjnqW5"UOP_DUP OP_HASH160 810c4394aa9c4ef4fc33de867c82270cfa695ffc OP_EQUALVERIFY OP_CHECKSIG*276a914810c4394aa9c4ef4fc33de867c82270cfa695ffc88ac*"1CmLrs3n8QFosbdQ74mHzmh7NewXnjnqW58$J  +@e8ebaf08350449534b2a2131b4831af8bad0bec2ceba5a60890fa5ed5b5dffe4""1AZYHuLzfZhV8c3USTfdMNyEAdhiJPKW43"UOP_DUP OP_HASH160 68e09047c62d39ac04d286b3a055cea0ef38a53c OP_EQUALVERIFY OP_CHECKSIG*276a91468e09047c62d39ac04d286b3a055cea0ef38a53c88ac*"1AZYHuLzfZhV8c3USTfdMNyEAdhiJPKW438$J ;$̽-@0000000000000000000c50b7072c1ca83a0dbabe8a2b2b7a05c406c1d87c9afa"@0000000000000000001162c0b5ebdf324196be7c8b62f3cd814d647249b4e25a2$-@0000000000000000000bcf4f2d2ee21c698287f15bab228b0ce6d87c6e513d4e"@0000000000000000000c50b7072c1ca83a0dbabe8a2b2b7a05c406c1d87c9afa2œ$-@0000000000000000000582e68229aa051011ca4d57e3d22909caca62bf898c03"@0000000000000000000bcf4f2d2ee21c698287f15bab228b0ce6d87c6e513d4e2 Ü$-@00000000000000000015434569230d409a203f8e5644fc498b708c810cf89cab"@0000000000000000000582e68229aa051011ca4d57e3d22909caca62bf898c032 + + + +1@306b53b12d5f6e68d374fac216085a27338c445789b0b873da0caacfc78f403aÜ$"@00000000000000000015434569230d409a203f8e5644fc498b708c810cf89cab(-2 +@e8ebaf08350449534b2a2131b4831af8bad0bec2ceba5a60890fa5ed5b5dffe4B03bf23333cc36bdc46257cd95fc3ca59414edb8869dee7f1bcbf07fdc30d7f81a82 +@b30c09bb1f60d185b0d5fce36917dc09c79b284bfabdbda5b86920dcdeb9581eB0319b8781316e2146f9faf36fc9947fc57d7d20c52a74c49603e58366914e129e5B +@306b53b12d5f6e68d374fac216085a27338c445789b0b873da0caacfc78f403a""15PDYtK9rVcRyf7N6osK9zLwjnxNzMLkQz"UOP_DUP OP_HASH160 3014215a798d6c58dbb65fee1be47b7647276388 OP_EQUALVERIFY OP_CHECKSIG*276a9143014215a798d6c58dbb65fee1be47b764727638888ac*"15PDYtK9rVcRyf7N6osK9zLwjnxNzMLkQz8Ü$J  + @306b53b12d5f6e68d374fac216085a27338c445789b0b873da0caacfc78f403a""1Kmeen6NiXQw5BWVRLy1cqDbQ1vkaLDeoz"UOP_DUP OP_HASH160 cde3ff059339541d91bd89ebc043b09a8eef237d OP_EQUALVERIFY OP_CHECKSIG*276a914cde3ff059339541d91bd89ebc043b09a8eef237d88ac*"1Kmeen6NiXQw5BWVRLy1cqDbQ1vkaLDeoz8Ü$J  +ʊ@306b53b12d5f6e68d374fac216085a27338c445789b0b873da0caacfc78f403a""1Agww6XAF8hSmd4Mi2yBU6DxjAEaacct6N"UOP_DUP OP_HASH160 6a4735c5f67f3e64dfe6b01e1b07fb0b55b3536e OP_EQUALVERIFY OP_CHECKSIG*276a9146a4735c5f67f3e64dfe6b01e1b07fb0b55b3536e88ac*"1Agww6XAF8hSmd4Mi2yBU6DxjAEaacct6N8Ü$J ;Ĝ$-@000000000000000000019f2e5ff570c5242d29aa4e1be0b51637f83377958834"@00000000000000000015434569230d409a203f8e5644fc498b708c810cf89cab2Ŝ$-@0000000000000000001148ab800d04b277de2b031d8862ba92b4b52a29c35a22"@000000000000000000019f2e5ff570c5242d29aa4e1be0b51637f833779588342Ɯ$ç-@000000000000000000095c725f2d0563ff03d1ec10d395b6809d9f8973058e06"@0000000000000000001148ab800d04b277de2b031d8862ba92b4b52a29c35a222!ǜ$-@000000000000000000107be917cfe81a9968c5852fd5160899d5fac70ab24881"@000000000000000000095c725f2d0563ff03d1ec10d395b6809d9f8973058e062 + + +1@ae6f8a5c67ab6e26dae15c8ebab05eacbc06929eb89012d6c155cbe480961a79ǜ$"@000000000000000000107be917cfe81a9968c5852fd5160899d5fac70ab24881(-2 +@7a58ba66773179358663ec93c9121f02547b4cf8d2ac6f294b6f3afcb9522c3dB020ef83e550bce14ef4781960263cc5867dd4cf7b24596ef38559cbb6a626409882 +@07975fee5c8faf1d54a5d393e1e358cfbc237054eadd9a05460bfc409b05615eB024db228d97228a5987966bd92005830a03204bb7a9325d91562fe9d90fd309423B +x@ae6f8a5c67ab6e26dae15c8ebab05eacbc06929eb89012d6c155cbe480961a79""1KyAzYWktQ8RGEQUBSiVVRYEKMcYJCQsUi"UOP_DUP OP_HASH160 d011e6233d83925d6d937eafe8a385cb6840aa95 OP_EQUALVERIFY OP_CHECKSIG*276a914d011e6233d83925d6d937eafe8a385cb6840aa9588ac*"1KyAzYWktQ8RGEQUBSiVVRYEKMcYJCQsUi8ǜ$J  +@ae6f8a5c67ab6e26dae15c8ebab05eacbc06929eb89012d6c155cbe480961a79""1AUjiUB9MKTqGy9KU1K4RsB1sSVvJ2WrKX"UOP_DUP OP_HASH160 67f8050a3dfcd4fc93224d7d5f8cfb6f5ba312e7 OP_EQUALVERIFY OP_CHECKSIG*276a91467f8050a3dfcd4fc93224d7d5f8cfb6f5ba312e788ac*"1AUjiUB9MKTqGy9KU1K4RsB1sSVvJ2WrKX8ǜ$J  +@@ae6f8a5c67ab6e26dae15c8ebab05eacbc06929eb89012d6c155cbe480961a79""1AcN5ZtyEW1oQYwkhwDn7AbQRJ67CE6EiR"UOP_DUP OP_HASH160 6969494f4d55c129a77e015874929a28aec2d01a OP_EQUALVERIFY OP_CHECKSIG*276a9146969494f4d55c129a77e015874929a28aec2d01a88ac*"1AcN5ZtyEW1oQYwkhwDn7AbQRJ67CE6EiR8ǜ$J ' + + +1@583bdbfd2b7ec23e608314725ed59d63a679074450b83fbf7dfe70f17216b69aǜ$"@000000000000000000107be917cfe81a9968c5852fd5160899d5fac70ab24881(-2 +@6632c2254cefdfa21251d005c7a133010b1a5d1b454caba82403bd1fddb7f89bB024785b666e13ddb7200463a1590f83d76fec94d8ed5e275745e1876a813d6939e2 +@6ba7bc4030ba8b87fbcdaa97e2c56299b9d59540ec72c3942c0d8d401a155796B02239d7544c675dc57ccaf03327d4beab3cfc86a98303ab904a4c63e4b09e7a5f6B + @583bdbfd2b7ec23e608314725ed59d63a679074450b83fbf7dfe70f17216b69a""16SWrih2WKXn2ormTyZcgqrh8NiKRx7iNC"UOP_DUP OP_HASH160 3babf396916d42112459c080278b0327c7d16473 OP_EQUALVERIFY OP_CHECKSIG*276a9143babf396916d42112459c080278b0327c7d1647388ac*"16SWrih2WKXn2ormTyZcgqrh8NiKRx7iNC8ǜ$J  +@583bdbfd2b7ec23e608314725ed59d63a679074450b83fbf7dfe70f17216b69a""159Q7psMXePBUymopiBFYA754mGrPdX24T"UOP_DUP OP_HASH160 2d7720e50d1070ff3d82010d238ad274675cfea1 OP_EQUALVERIFY OP_CHECKSIG*276a9142d7720e50d1070ff3d82010d238ad274675cfea188ac*"159Q7psMXePBUymopiBFYA754mGrPdX24T8ǜ$J  +_@583bdbfd2b7ec23e608314725ed59d63a679074450b83fbf7dfe70f17216b69a""12STPMqtnJLi5TwaPsTimq76Z2XoF9MhoE"UOP_DUP OP_HASH160 0fc88ce313af5fbb8810121c75c71723853f7c45 OP_EQUALVERIFY OP_CHECKSIG*276a9140fc88ce313af5fbb8810121c75c71723853f7c4588ac*"12STPMqtnJLi5TwaPsTimq76Z2XoF9MhoE8ǜ$J  + + +1@6c6fca12ec6c3dbb0b183e8ad09896b8a24aa56586f559898c78b8fbf7211917ǜ$"@000000000000000000107be917cfe81a9968c5852fd5160899d5fac70ab24881(-2 +@306b53b12d5f6e68d374fac216085a27338c445789b0b873da0caacfc78f403aB039f42fcf832ee4e9e6f4260ccb0a6fdf82ce4dfe8ab32ea4ef943bac3a167dfb42 +@306b53b12d5f6e68d374fac216085a27338c445789b0b873da0caacfc78f403aB038a124425e9d795807fb85f517c0e491cfa0775fce168e8dcf89dc65836d3d67aB +@6c6fca12ec6c3dbb0b183e8ad09896b8a24aa56586f559898c78b8fbf7211917""15y2ZYSAhhC9ZMoNsvdLeEPqfXgNMtvw8r"UOP_DUP OP_HASH160 367919a0c764cad023f8cb5f420ff8baa8033bf0 OP_EQUALVERIFY OP_CHECKSIG*276a914367919a0c764cad023f8cb5f420ff8baa8033bf088ac*"15y2ZYSAhhC9ZMoNsvdLeEPqfXgNMtvw8r8ǜ$J  + @6c6fca12ec6c3dbb0b183e8ad09896b8a24aa56586f559898c78b8fbf7211917""1EorCNSrS26c6KJQGmnMskwvhtNot2Yr6W"UOP_DUP OP_HASH160 9775d611d0ea1f29261923fbe34a66fb9ea69c29 OP_EQUALVERIFY OP_CHECKSIG*276a9149775d611d0ea1f29261923fbe34a66fb9ea69c2988ac*"1EorCNSrS26c6KJQGmnMskwvhtNot2Yr6W8ǜ$J  + +@6c6fca12ec6c3dbb0b183e8ad09896b8a24aa56586f559898c78b8fbf7211917""1AQoL2dRCeN3RSxDcBFp4SnBibfDazD8Gc"UOP_DUP OP_HASH160 67395f34dfbe3925dee8194e4c450343a555d04d OP_EQUALVERIFY OP_CHECKSIG*276a91467395f34dfbe3925dee8194e4c450343a555d04d88ac*"1AQoL2dRCeN3RSxDcBFp4SnBibfDazD8Gc8ǜ$J ;Ȝ$؋-@000000000000000000043ae7918c83d69480c7bd3318193538e8d21a2efe1072"@000000000000000000107be917cfe81a9968c5852fd5160899d5fac70ab248812ɜ$-@000000000000000000170d1de9e56ea212ae44dff5394e4d7876f1a7009e2607"@000000000000000000043ae7918c83d69480c7bd3318193538e8d21a2efe10722ʜ$-@0000000000000000000f3d89d003d8fbc742489b569abd5b41d58e7787766d26"@000000000000000000170d1de9e56ea212ae44dff5394e4d7876f1a7009e26072 + +1@64020b28634d469198accd55b88c56aea0f672371a188e306b6fba95edad51f0ʜ$"@0000000000000000000f3d89d003d8fbc742489b569abd5b41d58e7787766d26(-2 +@ae6f8a5c67ab6e26dae15c8ebab05eacbc06929eb89012d6c155cbe480961a79B0390e7d9c57b2f6ad53c9c68f3e04f03843ab40be239895b7e520fc19ec7acc2192 +@7a58ba66773179358663ec93c9121f02547b4cf8d2ac6f294b6f3afcb9522c3dB034e507e879d6a1b9cb9fb1cb45133ef7a907c691373178d4141098d14a1ae971a2 +@5a5b07973b0ed8d51427034ea584d6fcf8636fca2626585ef4f16073d289c2dbB0326a1f09099f07fdbef2352e1878658e4d63e5ae405e46714d68cb9f6e2a0ab022 +@ae6f8a5c67ab6e26dae15c8ebab05eacbc06929eb89012d6c155cbe480961a79B03b66ee0b1ffaf98a357a5e7bdbd1e8c66c5815886c852feadf55960ceebaa9cb2B +x@64020b28634d469198accd55b88c56aea0f672371a188e306b6fba95edad51f0""1G8JKBCrRV3jWnB2dMNiVpJfbYPaW9oq4Q"UOP_DUP OP_HASH160 a5eb403f89a99c4cc84aa6570dcf37bc8d001a67 OP_EQUALVERIFY OP_CHECKSIG*276a914a5eb403f89a99c4cc84aa6570dcf37bc8d001a6788ac*"1G8JKBCrRV3jWnB2dMNiVpJfbYPaW9oq4Q8ʜ$J  +@64020b28634d469198accd55b88c56aea0f672371a188e306b6fba95edad51f0""1EKUrrcemrUiiTuQZKU9sBNtiKW1pUtDs8"UOP_DUP OP_HASH160 921860e5aae1694775c75e10e803cfa94e26c9da OP_EQUALVERIFY OP_CHECKSIG*276a914921860e5aae1694775c75e10e803cfa94e26c9da88ac*"1EKUrrcemrUiiTuQZKU9sBNtiKW1pUtDs88ʜ$J  +'@64020b28634d469198accd55b88c56aea0f672371a188e306b6fba95edad51f0""1E4EUSN3sP1gxwZa2zj3785d6Gz3tzsue1"UOP_DUP OP_HASH160 8f36213b9cf318c1746db9f3fb59e4b5a6726c91 OP_EQUALVERIFY OP_CHECKSIG*276a9148f36213b9cf318c1746db9f3fb59e4b5a6726c9188ac*"1E4EUSN3sP1gxwZa2zj3785d6Gz3tzsue18ʜ$J  + + +1@274a244027a3134b14d372433235f9d25dedc4e7adc4e4abd7c57e92346515c7ʜ$"@0000000000000000000f3d89d003d8fbc742489b569abd5b41d58e7787766d26(-2 +@6c6fca12ec6c3dbb0b183e8ad09896b8a24aa56586f559898c78b8fbf7211917B02e344a93d4f52fa6492b653a2e4ea7f7607ace1749b63faddb4f87a5ca1d200f32 +@6c6fca12ec6c3dbb0b183e8ad09896b8a24aa56586f559898c78b8fbf7211917B02b7e1219b4ff7b403d8a71b1a5757c417bcca242d3c4cd13cd9a762c6f6a23ac3B + @274a244027a3134b14d372433235f9d25dedc4e7adc4e4abd7c57e92346515c7""1Jvpr3adJev55dgea7dDcY3QemzvoxkfK7"UOP_DUP OP_HASH160 c4a81fb0b2ff0e983e1ce4c88f2de9a8ef7b317e OP_EQUALVERIFY OP_CHECKSIG*276a914c4a81fb0b2ff0e983e1ce4c88f2de9a8ef7b317e88ac*"1Jvpr3adJev55dgea7dDcY3QemzvoxkfK78ʜ$J  + @274a244027a3134b14d372433235f9d25dedc4e7adc4e4abd7c57e92346515c7""13TS6h1wqNTzmtnDXWwkTwo3shT9gaWRD6"UOP_DUP OP_HASH160 1af004754c8764965a0d01949a460635581e540c OP_EQUALVERIFY OP_CHECKSIG*276a9141af004754c8764965a0d01949a460635581e540c88ac*"13TS6h1wqNTzmtnDXWwkTwo3shT9gaWRD68ʜ$J  +@274a244027a3134b14d372433235f9d25dedc4e7adc4e4abd7c57e92346515c7""14tXGdhE1evn3wjzgkiiTcxnU4aR8bE6Za"UOP_DUP OP_HASH160 2aa6dbf01a1f15794d7139e0d20ebbfbd6e813c7 OP_EQUALVERIFY OP_CHECKSIG*276a9142aa6dbf01a1f15794d7139e0d20ebbfbd6e813c788ac*"14tXGdhE1evn3wjzgkiiTcxnU4aR8bE6Za8ʜ$J ;˜$-@0000000000000000000274a0f511a7a1ff0a5aebcdaa351dbfd2a6b86388d8de"@0000000000000000000f3d89d003d8fbc742489b569abd5b41d58e7787766d262 ̜$؎-@000000000000000000076926670e67fdc904c9f0ac3c8a90a9146529bff2c483"@0000000000000000000274a0f511a7a1ff0a5aebcdaa351dbfd2a6b86388d8de2 + + + +1@1b8f7b201b74a19782a440c1069580e7bb801da52e801cab9ba394fb55c24232̜$"@000000000000000000076926670e67fdc904c9f0ac3c8a90a9146529bff2c483(؎-2 +@274a244027a3134b14d372433235f9d25dedc4e7adc4e4abd7c57e92346515c7B02a439baffba7dd7740cea69f0a271794ff6a6348819369b63cb023bf8ce6dd6c22 +@bca5e29ab37a6c2975bfa94ccf76a9be0024129c119ae8df5f3ae73452fb5877B03d00346e8ebaabe65773673aa3d8f4e0eaa63486ab70c1ad0cd05e33eae381037B + @1b8f7b201b74a19782a440c1069580e7bb801da52e801cab9ba394fb55c24232""1FJKoDSdFaC9AGdLiRmsmMWxFchdCKhDPf"UOP_DUP OP_HASH160 9cd885ea1ac6933a761031720d35ae478f16a0bb OP_EQUALVERIFY OP_CHECKSIG*276a9149cd885ea1ac6933a761031720d35ae478f16a0bb88ac*"1FJKoDSdFaC9AGdLiRmsmMWxFchdCKhDPf8̜$J  + @1b8f7b201b74a19782a440c1069580e7bb801da52e801cab9ba394fb55c24232""1JA2X6U414mnrG1n3GV5HX9HAxqEEq1DwB"UOP_DUP OP_HASH160 bc2f265d9ffdd779a60205fb2613bc368b90e1c6 OP_EQUALVERIFY OP_CHECKSIG*276a914bc2f265d9ffdd779a60205fb2613bc368b90e1c688ac*"1JA2X6U414mnrG1n3GV5HX9HAxqEEq1DwB8̜$J  +'@1b8f7b201b74a19782a440c1069580e7bb801da52e801cab9ba394fb55c24232""1BkT3YS2DrQyugx3CCPqMHXsMzgZqyAmpA"UOP_DUP OP_HASH160 75e8e26daccf20af317b9a6763444b4d4f35df26 OP_EQUALVERIFY OP_CHECKSIG*276a91475e8e26daccf20af317b9a6763444b4d4f35df2688ac*"1BkT3YS2DrQyugx3CCPqMHXsMzgZqyAmpA8̜$J ;͜$Ʃ-@000000000000000000062e58fd549085ca13d0adf82bd6cfc5ac9772ee22b781"@000000000000000000076926670e67fdc904c9f0ac3c8a90a9146529bff2c4832 + + +1@2eb926619110a5bee652a4834aea3dbc1b33b1fcf766f795fd03712815ff939d͜$"@000000000000000000062e58fd549085ca13d0adf82bd6cfc5ac9772ee22b781(Ʃ-2 +@1b8f7b201b74a19782a440c1069580e7bb801da52e801cab9ba394fb55c24232B022ae0f6300c50906d862d3d4fe3d6c863ce6bbf4f682bd186b9eb037f2d1bef242 +@1b8f7b201b74a19782a440c1069580e7bb801da52e801cab9ba394fb55c24232B0387d5ede0207307a9463a2f1b2036a8c7b61799315b78abf02da232c46a2cab1eB + @2eb926619110a5bee652a4834aea3dbc1b33b1fcf766f795fd03712815ff939d""1LTMrYehCyN8BEmKUooXuqb2hBvypdGPKL"UOP_DUP OP_HASH160 d5669cf699d22f0528eead9e2d2490ce21c02c51 OP_EQUALVERIFY OP_CHECKSIG*276a914d5669cf699d22f0528eead9e2d2490ce21c02c5188ac*"1LTMrYehCyN8BEmKUooXuqb2hBvypdGPKL8͜$J  +ਬ@2eb926619110a5bee652a4834aea3dbc1b33b1fcf766f795fd03712815ff939d""1NzxaoFjEZUMpqcwx4HcUyJPH8gT3GuiTd"UOP_DUP OP_HASH160 f150bfd8601339b96a0bcd29f2d2670d38ec1504 OP_EQUALVERIFY OP_CHECKSIG*276a914f150bfd8601339b96a0bcd29f2d2670d38ec150488ac*"1NzxaoFjEZUMpqcwx4HcUyJPH8gT3GuiTd8͜$J  +@2eb926619110a5bee652a4834aea3dbc1b33b1fcf766f795fd03712815ff939d""17USxbd1au3oet4AGADHbRshdTjvXiTEAH"UOP_DUP OP_HASH160 4701a7a06fdfaa96ba61aa8af79a7487ae94df9f OP_EQUALVERIFY OP_CHECKSIG*276a9144701a7a06fdfaa96ba61aa8af79a7487ae94df9f88ac*"17USxbd1au3oet4AGADHbRshdTjvXiTEAH8͜$J  + + +1@c49896c7cc6cd0e816137617ac99e9bd757de12feb442168266d781c4314a7b1͜$"@000000000000000000062e58fd549085ca13d0adf82bd6cfc5ac9772ee22b781(Ʃ-2 +@2eb926619110a5bee652a4834aea3dbc1b33b1fcf766f795fd03712815ff939dB03b74d628370b67717ce73b1e93e20bb35ff6dba36c76bb07a43fef411b0dd7d422 +@2eb926619110a5bee652a4834aea3dbc1b33b1fcf766f795fd03712815ff939dB024ad73a8adb51f9ab6515a41b124be4e31202b191efeb6cf81b0cd1232875b59fB + @c49896c7cc6cd0e816137617ac99e9bd757de12feb442168266d781c4314a7b1""1NoJQmE9MV97txYSHV8MLmUPqzdmF1Pi4T"UOP_DUP OP_HASH160 ef1c4eff82d0b8a4acb8d19af1d3995f42f19e9c OP_EQUALVERIFY OP_CHECKSIG*276a914ef1c4eff82d0b8a4acb8d19af1d3995f42f19e9c88ac*"1NoJQmE9MV97txYSHV8MLmUPqzdmF1Pi4T8͜$J  + @c49896c7cc6cd0e816137617ac99e9bd757de12feb442168266d781c4314a7b1""143NmQuvw18xic1Ty96cnWk9GNDKbKLuCd"UOP_DUP OP_HASH160 215b60de33efb535fa747b75c0f979f7af80f810 OP_EQUALVERIFY OP_CHECKSIG*276a914215b60de33efb535fa747b75c0f979f7af80f81088ac*"143NmQuvw18xic1Ty96cnWk9GNDKbKLuCd8͜$J  + +@c49896c7cc6cd0e816137617ac99e9bd757de12feb442168266d781c4314a7b1""1AXVjvVKGCsDYjjAEq8vkmsJW2yFqn3WgG"UOP_DUP OP_HASH160 687d9a15064d2d7fc8d904a51e9f6ad08c3d3591 OP_EQUALVERIFY OP_CHECKSIG*276a914687d9a15064d2d7fc8d904a51e9f6ad08c3d359188ac*"1AXVjvVKGCsDYjjAEq8vkmsJW2yFqn3WgG8͜$J ;Μ$ԩ-@000000000000000000163f6060d8623196bdf51e4369715f1588e3f3dddee801"@000000000000000000062e58fd549085ca13d0adf82bd6cfc5ac9772ee22b7812Ϝ$ݩ-@00000000000000000016d3e7f37b16c3e7afc32800f33732aba20e6bf6d45824"@000000000000000000163f6060d8623196bdf51e4369715f1588e3f3dddee8012М$-@000000000000000000062e18444c596de64b68ffd23477e84a3e09e057475963"@00000000000000000016d3e7f37b16c3e7afc32800f33732aba20e6bf6d458242 + + +1@74b4c737b22c5eeea38bf2614ba16bbf599ddfc281d6117e44418448f959301eМ$"@000000000000000000062e18444c596de64b68ffd23477e84a3e09e057475963(-2 +@761c93420e0d210a5eba4dc3126240a8a3409d4d585ef3f73a0ce7000640cde1B032424cdeca660ecf8a07021c5ee2234defb332719916e09597b09d825eff2bd9c2 +@761c93420e0d210a5eba4dc3126240a8a3409d4d585ef3f73a0ce7000640cde1B03532d1173484ab36783ccdcc95fcbc856fd181d77c221200fd130e98f4624d407B + @74b4c737b22c5eeea38bf2614ba16bbf599ddfc281d6117e44418448f959301e""1NXhz4R7mYKvcKxQSJPbLXoYbSjyze3iaj"UOP_DUP OP_HASH160 ec2954f3c5dedabfe042dc0800887988ae8f2de0 OP_EQUALVERIFY OP_CHECKSIG*276a914ec2954f3c5dedabfe042dc0800887988ae8f2de088ac*"1NXhz4R7mYKvcKxQSJPbLXoYbSjyze3iaj8М$J  +@74b4c737b22c5eeea38bf2614ba16bbf599ddfc281d6117e44418448f959301e""1MhurRpHRjXF6TcdvbLAjAqcM4CWtuqqXG"UOP_DUP OP_HASH160 e31f45dfc0e0eb0ac6ff800d18447fed1a960fd5 OP_EQUALVERIFY OP_CHECKSIG*276a914e31f45dfc0e0eb0ac6ff800d18447fed1a960fd588ac*"1MhurRpHRjXF6TcdvbLAjAqcM4CWtuqqXG8М$J  +@74b4c737b22c5eeea38bf2614ba16bbf599ddfc281d6117e44418448f959301e""1Dne7vfBmTYCYzZgjubN5aUx4Fywx6yDWV"UOP_DUP OP_HASH160 8c4336a15d80324885aa8af344c59071ac9e09e6 OP_EQUALVERIFY OP_CHECKSIG*276a9148c4336a15d80324885aa8af344c59071ac9e09e688ac*"1Dne7vfBmTYCYzZgjubN5aUx4Fywx6yDWV8М$J  + + +1@62f1628529505aebdf406fdb32e721325c6c026d2d649a8f787f0f1ddd6501c8М$"@000000000000000000062e18444c596de64b68ffd23477e84a3e09e057475963(-2 +@c49896c7cc6cd0e816137617ac99e9bd757de12feb442168266d781c4314a7b1B03333824972fd243165e1dff61270bf25597092f8783151e2f7fd736de9b65544f2 +@c49896c7cc6cd0e816137617ac99e9bd757de12feb442168266d781c4314a7b1B03cff4f21b7b98eb18a48172bd9af0f169311ada4760f33f4cb54f2a2287f7209bB +̟ @62f1628529505aebdf406fdb32e721325c6c026d2d649a8f787f0f1ddd6501c8""18TW8BdSPHdmiXj4NEcGRPBBubjyrQ1hji"UOP_DUP OP_HASH160 51cc01c16f95dd0934179a9c1ab1c6d69970771c OP_EQUALVERIFY OP_CHECKSIG*276a91451cc01c16f95dd0934179a9c1ab1c6d69970771c88ac*"18TW8BdSPHdmiXj4NEcGRPBBubjyrQ1hji8М$J  + @62f1628529505aebdf406fdb32e721325c6c026d2d649a8f787f0f1ddd6501c8""1KbuCo3sKrwAMQaT4MoxU9UbsTsfWqypfN"UOP_DUP OP_HASH160 cc0bfbe530efa420009c2da6e88b9f144cbe4faf OP_EQUALVERIFY OP_CHECKSIG*276a914cc0bfbe530efa420009c2da6e88b9f144cbe4faf88ac*"1KbuCo3sKrwAMQaT4MoxU9UbsTsfWqypfN8М$J  +]@62f1628529505aebdf406fdb32e721325c6c026d2d649a8f787f0f1ddd6501c8""1PpcPsDU1E54J599Z4WwJTD1uWeRLp7rCY"UOP_DUP OP_HASH160 fa53dcf212ebbe3c58550ef9864d94fb544b6317 OP_EQUALVERIFY OP_CHECKSIG*276a914fa53dcf212ebbe3c58550ef9864d94fb544b631788ac*"1PpcPsDU1E54J599Z4WwJTD1uWeRLp7rCY8М$J ;ќ$-@00000000000000000010e31facf432faf3e9e245c944a7d4a1b4b4f0c23ea90c"@000000000000000000062e18444c596de64b68ffd23477e84a3e09e0574759632Ҝ$؟-@0000000000000000000d43ec966912cc48462688bd916e26b68a8e590af95f66"@00000000000000000010e31facf432faf3e9e245c944a7d4a1b4b4f0c23ea90c2Ӝ$ү-@00000000000000000009c5bbe42500903b4ad400d230f2fe7abbb42a4e3c27bd"@0000000000000000000d43ec966912cc48462688bd916e26b68a8e590af95f662Ԝ$حê-@0000000000000000000507faf2ce7398e726af89f1b5ff77fde6ec59b2069482"@00000000000000000009c5bbe42500903b4ad400d230f2fe7abbb42a4e3c27bd2՜$-@00000000000000000009be29f05a5142a16d1a0590fda0446fda1c7d3541f993"@0000000000000000000507faf2ce7398e726af89f1b5ff77fde6ec59b20694822֜$ا-@000000000000000000117f649a2ab1d2fbaedc822046bd4d9311097ff391b4a5"@00000000000000000009be29f05a5142a16d1a0590fda0446fda1c7d3541f9932 ל$Ҭ-@00000000000000000002131b61c4c44471d26724b85ab6e55b10d65c44884ee7"@000000000000000000117f649a2ab1d2fbaedc822046bd4d9311097ff391b4a52 + + + +1@cd8a61a6824eb0eb719d3132445b3cee0f9456c28a12ba77a2fffd9ad38e58b0ל$"@00000000000000000002131b61c4c44471d26724b85ab6e55b10d65c44884ee7(Ҭ-2 +@64020b28634d469198accd55b88c56aea0f672371a188e306b6fba95edad51f0B028c350a11248244d37359db0d9204562291235c267506f96ce26c5969c69ed9ed2 +@28de2e2fd214d3a3cb1bb1345b53855ccb33cb9d382c38956113859123447d2fB0348a9c5b51f79fa50321cc592b0c79588942c318abb5926768bae950a7d717e08B +x@cd8a61a6824eb0eb719d3132445b3cee0f9456c28a12ba77a2fffd9ad38e58b0""1PayQVru9ywfxuAsQjeGCYAZnGo1DjBRAd"UOP_DUP OP_HASH160 f7bf94201068fb0ddf5faa58cd1ebc6ca595693f OP_EQUALVERIFY OP_CHECKSIG*276a914f7bf94201068fb0ddf5faa58cd1ebc6ca595693f88ac*"1PayQVru9ywfxuAsQjeGCYAZnGo1DjBRAd8ל$J  +@cd8a61a6824eb0eb719d3132445b3cee0f9456c28a12ba77a2fffd9ad38e58b0""18CCzccQxBXZajTPZGBr1bThHu8bicUpoi"UOP_DUP OP_HASH160 4ee777b5046c450ebcc98952097d2d0feab099db OP_EQUALVERIFY OP_CHECKSIG*276a9144ee777b5046c450ebcc98952097d2d0feab099db88ac*"18CCzccQxBXZajTPZGBr1bThHu8bicUpoi8ל$J  +@cd8a61a6824eb0eb719d3132445b3cee0f9456c28a12ba77a2fffd9ad38e58b0""18xi2GB6un5uzsRARnp4hEj4mMp8o9ErSt"UOP_DUP OP_HASH160 5752006a1b3e044c1cd0c1e562f7f95417b6b4d8 OP_EQUALVERIFY OP_CHECKSIG*276a9145752006a1b3e044c1cd0c1e562f7f95417b6b4d888ac*"18xi2GB6un5uzsRARnp4hEj4mMp8o9ErSt8ל$J  ؜$-@000000000000000000092ad3051dbbf10c18f0c74c326d2e83fced2c6e07ad01"@00000000000000000002131b61c4c44471d26724b85ab6e55b10d65c44884ee72+ٜ$𗕭-@0000000000000000000afc94e5a3a183e54257e52c37f7aa80ab5eb0c768c1b1"@000000000000000000092ad3051dbbf10c18f0c74c326d2e83fced2c6e07ad012* + + +1@dd4fafd1ba7a2f55eff54cf50e2770c67322e1f216f9bf7ad85017abdab15384ٜ$"@0000000000000000000afc94e5a3a183e54257e52c37f7aa80ab5eb0c768c1b1(𗕭-2 +@1d581e2a194113e9f4c218d29f1f2db3a9fb5c1edbc7a3e5e6568dd5bd5f2654B027bf1bb2e3d279c510d3a98a8060e1898950f04ffa3af96f7e48c7469a5d8a8b32 +@f2ecbd22045d3009415a2b70ad91afe8e27784f5d5891324a414bb318731349fB0306b1d50b6f844a165aaf20d057ff6d121343b5ef07f65f571a6831bd53f9a877B +@dd4fafd1ba7a2f55eff54cf50e2770c67322e1f216f9bf7ad85017abdab15384""1AuMuesiqMWwrzPfWC3ThRtFFWGpicRRZh"UOP_DUP OP_HASH160 6ca0370c1883f8da40dc7ba7859f11c2ce81ad37 OP_EQUALVERIFY OP_CHECKSIG*276a9146ca0370c1883f8da40dc7ba7859f11c2ce81ad3788ac*"1AuMuesiqMWwrzPfWC3ThRtFFWGpicRRZh8ٜ$J  +\@dd4fafd1ba7a2f55eff54cf50e2770c67322e1f216f9bf7ad85017abdab15384""1FbuddfLURNRwKaPQ2hJiQTwHyxrJputDz"UOP_DUP OP_HASH160 a02bd69b85c54323c939848206b6afc45de4199a OP_EQUALVERIFY OP_CHECKSIG*276a914a02bd69b85c54323c939848206b6afc45de4199a88ac*"1FbuddfLURNRwKaPQ2hJiQTwHyxrJputDz8ٜ$J  +@dd4fafd1ba7a2f55eff54cf50e2770c67322e1f216f9bf7ad85017abdab15384""1DbnMNcGy2B1kUQGHYCzLeYdni9JVXrNSL"UOP_DUP OP_HASH160 8a3582699c1de71a0663691f7b4b4e687d23f3d2 OP_EQUALVERIFY OP_CHECKSIG*276a9148a3582699c1de71a0663691f7b4b4e687d23f3d288ac*"1DbnMNcGy2B1kUQGHYCzLeYdni9JVXrNSL8ٜ$J & + + +1@1b6a1368cac2ec1a1a9b9ac46c8d1b6c4668e3a3c481ad75a8c99ecff0944e29ٜ$"@0000000000000000000afc94e5a3a183e54257e52c37f7aa80ab5eb0c768c1b1(𗕭-2 +@418e5ec3bccdb72d01b95072b1dfed34ff6525caeb212c10a50789f2f4c0abb0B0379e7f095eeb1fa99aded4ddcc9d7ff3587bb9278416bee8c3fa554bffe18fc912 +@1d581e2a194113e9f4c218d29f1f2db3a9fb5c1edbc7a3e5e6568dd5bd5f2654B03a3fda206012d9f692c31ed63aa99a8f82b06bc4cfac0f75536fa237824b75ddeB +@1b6a1368cac2ec1a1a9b9ac46c8d1b6c4668e3a3c481ad75a8c99ecff0944e29""1ASf1t1ChnwjrU78SZEKSr9pcQiCdGeN78"UOP_DUP OP_HASH160 679343ba0a889e04c3ffa5b623e8fc7e84830224 OP_EQUALVERIFY OP_CHECKSIG*276a914679343ba0a889e04c3ffa5b623e8fc7e8483022488ac*"1ASf1t1ChnwjrU78SZEKSr9pcQiCdGeN788ٜ$J  +\@1b6a1368cac2ec1a1a9b9ac46c8d1b6c4668e3a3c481ad75a8c99ecff0944e29""1PAdGwpVMdgKQ5MjeGEZQT7CNkoNUpoMQw"UOP_DUP OP_HASH160 f324caab2dfb8bf9f4ced6d65774d734dd85f925 OP_EQUALVERIFY OP_CHECKSIG*276a914f324caab2dfb8bf9f4ced6d65774d734dd85f92588ac*"1PAdGwpVMdgKQ5MjeGEZQT7CNkoNUpoMQw8ٜ$J  +@1b6a1368cac2ec1a1a9b9ac46c8d1b6c4668e3a3c481ad75a8c99ecff0944e29""1BpkEuShUdpA9ApzVVz5RVLpCCd2vS4TNK"UOP_DUP OP_HASH160 76b8e71a88742c78215c452a1fa2417da65f79fb OP_EQUALVERIFY OP_CHECKSIG*276a91476b8e71a88742c78215c452a1fa2417da65f79fb88ac*"1BpkEuShUdpA9ApzVVz5RVLpCCd2vS4TNK8ٜ$J & + + +1@30e729e473926625f2e50677b00608d5909d3e7ebc167c4be3d1e1094cd51d05ٜ$"@0000000000000000000afc94e5a3a183e54257e52c37f7aa80ab5eb0c768c1b1(𗕭-2 +@cd8a61a6824eb0eb719d3132445b3cee0f9456c28a12ba77a2fffd9ad38e58b0B03378e6203ebbd0df8db809fb012b3641908f390a7886eb55858c87df864130eb62 +@64020b28634d469198accd55b88c56aea0f672371a188e306b6fba95edad51f0B03bf1516f25d5bd0ae5c7563e745d757f76270086fd6e32364fbd22d2a464c250dB +@30e729e473926625f2e50677b00608d5909d3e7ebc167c4be3d1e1094cd51d05""13Ux8QHjLXJMJujgWDez3tkoUWBG69KD2Q"UOP_DUP OP_HASH160 1b3980311b7bfd3e53c0958f6438b78fd116e42e OP_EQUALVERIFY OP_CHECKSIG*276a9141b3980311b7bfd3e53c0958f6438b78fd116e42e88ac*"13Ux8QHjLXJMJujgWDez3tkoUWBG69KD2Q8ٜ$J  +_@30e729e473926625f2e50677b00608d5909d3e7ebc167c4be3d1e1094cd51d05""1A23cHddnuYZZEfTNqbyWW6Da1UrfVdJzA"UOP_DUP OP_HASH160 62ebb9b34a7196dc521c994788ccb5240f3f1535 OP_EQUALVERIFY OP_CHECKSIG*276a91462ebb9b34a7196dc521c994788ccb5240f3f153588ac*"1A23cHddnuYZZEfTNqbyWW6Da1UrfVdJzA8ٜ$J  +'@30e729e473926625f2e50677b00608d5909d3e7ebc167c4be3d1e1094cd51d05""18B2J887kM2WomDDMuxpmcJPwgKCBf9qT4"UOP_DUP OP_HASH160 4eae1f0d87876b08a6eadb8f55c35e16c5cf4675 OP_EQUALVERIFY OP_CHECKSIG*276a9144eae1f0d87876b08a6eadb8f55c35e16c5cf467588ac*"18B2J887kM2WomDDMuxpmcJPwgKCBf9qT48ٜ$J  + + +1@7f66e4ae65b791e645b418ab7bec3594b4e51895fb199b64d80fef3d75f7b2b8ٜ$"@0000000000000000000afc94e5a3a183e54257e52c37f7aa80ab5eb0c768c1b1(𗕭-2 +@954a604e933e54ac43181d12ad1fd9955ccd62611e8f109cbdeb12dff51b7d07B031daff645c7ea58ea020a963f917cf2713c5500bf958465db4f50fc20d83c657a2 +@b76d54c119521c95636e611c04da469ec33440a7034c656e25dee8c258482179B0313a8eb9b2e9e2e20639acdc7a05f009fb4f7864a3be75fcff02404bc127c54ceB +@7f66e4ae65b791e645b418ab7bec3594b4e51895fb199b64d80fef3d75f7b2b8""15xBrnujTYjXdZRaGZigbdHoUte3NXgt81"UOP_DUP OP_HASH160 365071fab614494db7485288f12f6402532cb66c OP_EQUALVERIFY OP_CHECKSIG*276a914365071fab614494db7485288f12f6402532cb66c88ac*"15xBrnujTYjXdZRaGZigbdHoUte3NXgt818ٜ$J  +@7f66e4ae65b791e645b418ab7bec3594b4e51895fb199b64d80fef3d75f7b2b8""1EBN56ouz8y1vq23CT1eqb2okR9PuNi8Br"UOP_DUP OP_HASH160 908f623c7783513329d6205f48693b827210797a OP_EQUALVERIFY OP_CHECKSIG*276a914908f623c7783513329d6205f48693b827210797a88ac*"1EBN56ouz8y1vq23CT1eqb2okR9PuNi8Br8ٜ$J  +@7f66e4ae65b791e645b418ab7bec3594b4e51895fb199b64d80fef3d75f7b2b8""14XjaEcS1KsfksMs3pH8E9hyExd4g4pJqT"UOP_DUP OP_HASH160 26b864f52100d5b5294727ed7b5e91f94c734ce3 OP_EQUALVERIFY OP_CHECKSIG*276a91426b864f52100d5b5294727ed7b5e91f94c734ce388ac*"14XjaEcS1KsfksMs3pH8E9hyExd4g4pJqT8ٜ$J +ڜ$-@0000000000000000000fa5c373cbb46885c0e639eed6e4f27052c3fc2198200f"@0000000000000000000afc94e5a3a183e54257e52c37f7aa80ab5eb0c768c1b12* + + +1@7d84fa52b91bd91c82602bdcb2a6bada2b689436fa71b10e8289a9c9de5ef96fڜ$"@0000000000000000000fa5c373cbb46885c0e639eed6e4f27052c3fc2198200f(-2 +@b76d54c119521c95636e611c04da469ec33440a7034c656e25dee8c258482179B026b7943db1874e917ced44bb2e61d210c593a1c8af2bd90909a4f9d14678cbd672 +@7f66e4ae65b791e645b418ab7bec3594b4e51895fb199b64d80fef3d75f7b2b8B02e6342ecdd973e7424590b796db01e591bc23382a80dd90546ae9a5b6a70b5d67B +Đ @7d84fa52b91bd91c82602bdcb2a6bada2b689436fa71b10e8289a9c9de5ef96f""1PaxaeUcrZkoe7U6NarKtjtamZYjMU9bNw"UOP_DUP OP_HASH160 f7bee3d1ab7b3f08f23f4a15682f7f1067d5efde OP_EQUALVERIFY OP_CHECKSIG*276a914f7bee3d1ab7b3f08f23f4a15682f7f1067d5efde88ac*"1PaxaeUcrZkoe7U6NarKtjtamZYjMU9bNw8ڜ$J  +@7d84fa52b91bd91c82602bdcb2a6bada2b689436fa71b10e8289a9c9de5ef96f""1DsJg4KDu4ip15g6WH6UyL4JJKoxmWmt3N"UOP_DUP OP_HASH160 8d250f7d46a5977b877e34a847b738582f6036fa OP_EQUALVERIFY OP_CHECKSIG*276a9148d250f7d46a5977b877e34a847b738582f6036fa88ac*"1DsJg4KDu4ip15g6WH6UyL4JJKoxmWmt3N8ڜ$J  + @7d84fa52b91bd91c82602bdcb2a6bada2b689436fa71b10e8289a9c9de5ef96f""1AXXj98tiWiNwaNaxRDoF36KqXL6CqwojJ"UOP_DUP OP_HASH160 687f4298e2d2424e0ccd8ad96850ae88c24e2ca6 OP_EQUALVERIFY OP_CHECKSIG*276a914687f4298e2d2424e0ccd8ad96850ae88c24e2ca688ac*"1AXXj98tiWiNwaNaxRDoF36KqXL6CqwojJ8ڜ$J  + + +1@108265d1e71f2a54a501851529c729c391bb81681a98ab5eed3d8e2b1184ba93ڜ$"@0000000000000000000fa5c373cbb46885c0e639eed6e4f27052c3fc2198200f(-2 +@583bdbfd2b7ec23e608314725ed59d63a679074450b83fbf7dfe70f17216b69aB02d3e9e1c62d9c7bde41c1c9f73a23048896ca7c4c5eaf9af2892261169dcab49c2 +@6e0e66d7884cf5038cab491a0f283fac0586917888cf78b8f3887b48984d97d0B0355514fd0830b09f0557cfea4542b199ff89ea75e958609fb905b444035d9ad02B + @108265d1e71f2a54a501851529c729c391bb81681a98ab5eed3d8e2b1184ba93""18Din5UdWeZHLomC5JVTyA8BXBrxW4nqA2"UOP_DUP OP_HASH160 4f30bef17aa2a1d3cb5e83a88aaade81dc1f4468 OP_EQUALVERIFY OP_CHECKSIG*276a9144f30bef17aa2a1d3cb5e83a88aaade81dc1f446888ac*"18Din5UdWeZHLomC5JVTyA8BXBrxW4nqA28ڜ$J  +@108265d1e71f2a54a501851529c729c391bb81681a98ab5eed3d8e2b1184ba93""1D2YBMJqbN5ZiNAr3H82KxAvVmezXytMAe"UOP_DUP OP_HASH160 83ebf3aaee0513227282950ebdae13078ecd2bad OP_EQUALVERIFY OP_CHECKSIG*276a91483ebf3aaee0513227282950ebdae13078ecd2bad88ac*"1D2YBMJqbN5ZiNAr3H82KxAvVmezXytMAe8ڜ$J  +߁@108265d1e71f2a54a501851529c729c391bb81681a98ab5eed3d8e2b1184ba93""1DVtnxv92V9DUmoSJH2EYx2V9LmMbxtNiY"UOP_DUP OP_HASH160 891863f95e6bd3bd7b2f6cc2e28077c576c151a4 OP_EQUALVERIFY OP_CHECKSIG*276a914891863f95e6bd3bd7b2f6cc2e28077c576c151a488ac*"1DVtnxv92V9DUmoSJH2EYx2V9LmMbxtNiY8ڜ$J  + + +1@8af4618e5ffc9afeb30e60ada4c52c98db666b9f7dadbfdc6c0561097477668eڜ$"@0000000000000000000fa5c373cbb46885c0e639eed6e4f27052c3fc2198200f(-2 +@e0b3914f60eac001d2fc6ff61b1bac6cf942216155c2baff5d67971304f83fe3B02f2d30fa9440ae805dd872a496cd494410840bfeadd3fff50c860eba292f9652c2 +@e0b3914f60eac001d2fc6ff61b1bac6cf942216155c2baff5d67971304f83fe3B02e5e0aa2e09c62d68f870b9c3125f95cd0f88bcd8902a7e08545367b7eaf14f15B +@8af4618e5ffc9afeb30e60ada4c52c98db666b9f7dadbfdc6c0561097477668e""112XNKuJ4yvTF7Z6NvDS1zt4sufnsphbvi"UOP_DUP OP_HASH160 0049c40063823c5e31692c165168a8630d6debf2 OP_EQUALVERIFY OP_CHECKSIG*276a9140049c40063823c5e31692c165168a8630d6debf288ac*"112XNKuJ4yvTF7Z6NvDS1zt4sufnsphbvi8ڜ$J  +@8af4618e5ffc9afeb30e60ada4c52c98db666b9f7dadbfdc6c0561097477668e""191Ns7XhF3E3LcSMfvM9inunkKhqe2Ks4Y"UOP_DUP OP_HASH160 57d341e6b4a5ef2abb6656c2a14f7cb1a929d245 OP_EQUALVERIFY OP_CHECKSIG*276a91457d341e6b4a5ef2abb6656c2a14f7cb1a929d24588ac*"191Ns7XhF3E3LcSMfvM9inunkKhqe2Ks4Y8ڜ$J  +մ@8af4618e5ffc9afeb30e60ada4c52c98db666b9f7dadbfdc6c0561097477668e""1N2bKNmRw6g3U3eXNmSx9wy55Q7KSpmkqb"UOP_DUP OP_HASH160 e6a7b422c8aa48db8e1715f39d2eb92764c81048 OP_EQUALVERIFY OP_CHECKSIG*276a914e6a7b422c8aa48db8e1715f39d2eb92764c8104888ac*"1N2bKNmRw6g3U3eXNmSx9wy55Q7KSpmkqb8ڜ$J U + + +1@4d541d790684f3e62da6c69b40075baf8feda4a2b631fbde0b17a70ca13ab019ڜ$"@0000000000000000000fa5c373cbb46885c0e639eed6e4f27052c3fc2198200f(-2 +@62f1628529505aebdf406fdb32e721325c6c026d2d649a8f787f0f1ddd6501c8B023c5200e1944d2c313c751b6372dd0e503a20666ac542eeadbca4368eea500d012 +@49c943dbe78026ac0e5e7d4170b43bdd945aa2c7b1f75b70a7aedb32e2fa9573B03df258c16090192a3fbc56c63f493e4568dd4c6f918fef7748590cab23120469bB + @4d541d790684f3e62da6c69b40075baf8feda4a2b631fbde0b17a70ca13ab019""14oS21iDU2mWDt8HsWCkbo4Agh8hNnYTDg"UOP_DUP OP_HASH160 29b0652605407290044cb8718d5868c43c81f1ca OP_EQUALVERIFY OP_CHECKSIG*276a91429b0652605407290044cb8718d5868c43c81f1ca88ac*"14oS21iDU2mWDt8HsWCkbo4Agh8hNnYTDg8ڜ$J  + @4d541d790684f3e62da6c69b40075baf8feda4a2b631fbde0b17a70ca13ab019""1E6aLMMNQXuLPrQUB3K4Hbrjob5K6mqzZH"UOP_DUP OP_HASH160 8fa78a5f4223d16ab5d8ec52f99ee311a3d6b092 OP_EQUALVERIFY OP_CHECKSIG*276a9148fa78a5f4223d16ab5d8ec52f99ee311a3d6b09288ac*"1E6aLMMNQXuLPrQUB3K4Hbrjob5K6mqzZH8ڜ$J  + +@4d541d790684f3e62da6c69b40075baf8feda4a2b631fbde0b17a70ca13ab019""12jh7KHhDS13j5i44pkzYicFqbQcFFevfC"UOP_DUP OP_HASH160 130b13cfcf9f02cd2fdaf8328d2ed6ad044e73b8 OP_EQUALVERIFY OP_CHECKSIG*276a914130b13cfcf9f02cd2fdaf8328d2ed6ad044e73b888ac*"12jh7KHhDS13j5i44pkzYicFqbQcFFevfC8ڜ$J ; ۜ$м-@0000000000000000000bf3649a2b3d6dc9edb1ee94862f9fd7a4fc12c9f01d1b"@0000000000000000000fa5c373cbb46885c0e639eed6e4f27052c3fc2198200f2 + + + +1@ca7ee768b90006a1eecd427546ec9ab092b9e9f28da1295c0dcf12c272e26922ۜ$"@0000000000000000000bf3649a2b3d6dc9edb1ee94862f9fd7a4fc12c9f01d1b(м-2 +@30e729e473926625f2e50677b00608d5909d3e7ebc167c4be3d1e1094cd51d05B03909d1db2ea6e9ce09ad6158a960a56a2b7c03edb3ee2a261938beceb1beea5b72 +@4d541d790684f3e62da6c69b40075baf8feda4a2b631fbde0b17a70ca13ab019B024ceda1e08638ed35d4c2a9c066a438b754c59cc00e7f46d471f36596b0fa2451B +@ca7ee768b90006a1eecd427546ec9ab092b9e9f28da1295c0dcf12c272e26922""1K954fESe66bsHPtucMeEHAxmHqXGSuFGk"UOP_DUP OP_HASH160 c6f8fbc68b50f02129f4a6700ef49fbd7cbf96a4 OP_EQUALVERIFY OP_CHECKSIG*276a914c6f8fbc68b50f02129f4a6700ef49fbd7cbf96a488ac*"1K954fESe66bsHPtucMeEHAxmHqXGSuFGk8ۜ$J  + @ca7ee768b90006a1eecd427546ec9ab092b9e9f28da1295c0dcf12c272e26922""1NRN61R6boSoCha8qNSgG5H615Keziv2D6"UOP_DUP OP_HASH160 eaf639fd81c6750efbfd803720e4a6c1467a243b OP_EQUALVERIFY OP_CHECKSIG*276a914eaf639fd81c6750efbfd803720e4a6c1467a243b88ac*"1NRN61R6boSoCha8qNSgG5H615Keziv2D68ۜ$J  +X@ca7ee768b90006a1eecd427546ec9ab092b9e9f28da1295c0dcf12c272e26922""12vE6S9PZBDbd8upgT97gqPG7WpfqNGtSe"UOP_DUP OP_HASH160 15091a10733a2d21374e0e4bce580d0a3a623933 OP_EQUALVERIFY OP_CHECKSIG*276a91415091a10733a2d21374e0e4bce580d0a3a62393388ac*"12vE6S9PZBDbd8upgT97gqPG7WpfqNGtSe8ۜ$J ;ܜ$ۭ-@00000000000000000012becb739a98c36b016487cb9882291cded467132da5f4"@0000000000000000000bf3649a2b3d6dc9edb1ee94862f9fd7a4fc12c9f01d1b2ݜ$-@000000000000000000016c6c461534dc7aa084e74e9ce9b3b2bce0494a0e2ec4"@00000000000000000012becb739a98c36b016487cb9882291cded467132da5f42ޜ$䅯-@00000000000000000019ca58f1d7f53d58e74c6988a1d415c3bfe88c4ef610b6"@000000000000000000016c6c461534dc7aa084e74e9ce9b3b2bce0494a0e2ec42ߜ$눯-@0000000000000000000176c90a681a064b8b99bc231d0207ac469e793ac76c8e"@00000000000000000019ca58f1d7f53d58e74c6988a1d415c3bfe88c4ef610b62 + + +1@449c5b795a4ba71321f28e032d5cdaffa6fbb9de726256091f0687cf6a99319cߜ$"@0000000000000000000176c90a681a064b8b99bc231d0207ac469e793ac76c8e(눯-2 +@ca7ee768b90006a1eecd427546ec9ab092b9e9f28da1295c0dcf12c272e26922B02c14a05c927ad0c16446aed05d99f426416d1ff898a44b4dafed3f3ca3667a04f2 +@6d48b5b4c2be297ee012346891e7988e9f9ddb838cffc9d86e5c05f9eeb5cfbdB030c6e16d87c711985a3c3e2306668329978845e25ad8867263d285f3b38a1ddccB +@449c5b795a4ba71321f28e032d5cdaffa6fbb9de726256091f0687cf6a99319c""18NtwBGR19Vpx3ZWShR9owGXvYqWdiXENL"UOP_DUP OP_HASH160 50ecf7d3d2ad150312d23f81c338ee132dfd5a20 OP_EQUALVERIFY OP_CHECKSIG*276a91450ecf7d3d2ad150312d23f81c338ee132dfd5a2088ac*"18NtwBGR19Vpx3ZWShR9owGXvYqWdiXENL8ߜ$J  + @449c5b795a4ba71321f28e032d5cdaffa6fbb9de726256091f0687cf6a99319c""1Dqxjj8htsjQBPPuv293eHxmCvHi3PJ63D"UOP_DUP OP_HASH160 8ce4008fca25a21453aa986d619af259a4394e06 OP_EQUALVERIFY OP_CHECKSIG*276a9148ce4008fca25a21453aa986d619af259a4394e0688ac*"1Dqxjj8htsjQBPPuv293eHxmCvHi3PJ63D8ߜ$J  +@449c5b795a4ba71321f28e032d5cdaffa6fbb9de726256091f0687cf6a99319c""1NU2MoFc7NhNFrszNYQHuMPatXzv14KptH"UOP_DUP OP_HASH160 eb7701aaa8d45b9dc4e417e7c7df89aa5a57af9c OP_EQUALVERIFY OP_CHECKSIG*276a914eb7701aaa8d45b9dc4e417e7c7df89aa5a57af9c88ac*"1NU2MoFc7NhNFrszNYQHuMPatXzv14KptH8ߜ$J ; + +1@6fb5f3a96a27b836ed59ba7e59c0df7c57f2a79d577dc0ab7b08b487cb58e41eߜ$"@0000000000000000000176c90a681a064b8b99bc231d0207ac469e793ac76c8e(눯-2 +@30e729e473926625f2e50677b00608d5909d3e7ebc167c4be3d1e1094cd51d05B0365a5825718ed0bbfae88ada2812cb37d216b90ce3dab239a1d7be210a8539fce2 +@cd8a61a6824eb0eb719d3132445b3cee0f9456c28a12ba77a2fffd9ad38e58b0B030a31905798a34b682fe9eae2e9f5d7f9fcbae547d9e47b6e4e2ee5d68c6d201d2 +@30e729e473926625f2e50677b00608d5909d3e7ebc167c4be3d1e1094cd51d05B03895800ad23b7f89dd94db5049d545875b828f52eb56fff68b4710ccfa0c083c92 +@f5ff15fc91afc924f29683cbec39f419f67ff491bf67f7f99fa9afe97b40862eB037c44e25fa16eb9996fa7720f22bc1cbd5d888d83afbbb764eaa933979c00bf41B +_@6fb5f3a96a27b836ed59ba7e59c0df7c57f2a79d577dc0ab7b08b487cb58e41e""1LMY7imF9NnAWTCnZRGXb1uKtp9ufHDVyL"UOP_DUP OP_HASH160 d44caeef7e0eabe53bb0b06fd9f9830d4b45ff6e OP_EQUALVERIFY OP_CHECKSIG*276a914d44caeef7e0eabe53bb0b06fd9f9830d4b45ff6e88ac*"1LMY7imF9NnAWTCnZRGXb1uKtp9ufHDVyL8ߜ$J  +@6fb5f3a96a27b836ed59ba7e59c0df7c57f2a79d577dc0ab7b08b487cb58e41e""1Hb2SRaMRdGuWbeDq2ZJj5986tLCVqRvwV"UOP_DUP OP_HASH160 b5f15b1cb657af20024fa6465f5c8aed47ab8471 OP_EQUALVERIFY OP_CHECKSIG*276a914b5f15b1cb657af20024fa6465f5c8aed47ab847188ac*"1Hb2SRaMRdGuWbeDq2ZJj5986tLCVqRvwV8ߜ$J  +@6fb5f3a96a27b836ed59ba7e59c0df7c57f2a79d577dc0ab7b08b487cb58e41e""1HJQiudY5KKyZsScgwp2ANWE8WDJBCkRy9"UOP_DUP OP_HASH160 b2cce2efc9056bda18bb7092c9fdcc49f3b3289a OP_EQUALVERIFY OP_CHECKSIG*276a914b2cce2efc9056bda18bb7092c9fdcc49f3b3289a88ac*"1HJQiudY5KKyZsScgwp2ANWE8WDJBCkRy98ߜ$J $؟-@00000000000000000004cfbd13596383336e8cd8b9d12b8824421011ca8109c5"@0000000000000000000176c90a681a064b8b99bc231d0207ac469e793ac76c8e2$ؖ-@0000000000000000000ca626a3daad049983a1e2c910adf339a081c99bd9f7cf"@00000000000000000004cfbd13596383336e8cd8b9d12b8824421011ca8109c52$-@0000000000000000000d4bb01834482db4583b9811233e924aa62e1d9742e653"@0000000000000000000ca626a3daad049983a1e2c910adf339a081c99bd9f7cf2$ȯ-@0000000000000000000702fdad3a6612be713caf8a3bf9cb94b5892c6a8d0639"@0000000000000000000d4bb01834482db4583b9811233e924aa62e1d9742e6532$-@00000000000000000005097c3f698b2c63e3efe7ccc916bac119ffedde79f356"@0000000000000000000702fdad3a6612be713caf8a3bf9cb94b5892c6a8d06392$-@00000000000000000010884303e6efbbdb1307f0923801edd404fde2f2e72e5a"@00000000000000000005097c3f698b2c63e3efe7ccc916bac119ffedde79f3562$ȼ-@0000000000000000000e5dcf31bc18cae848fd76093839144e6f693b09d990f6"@00000000000000000010884303e6efbbdb1307f0923801edd404fde2f2e72e5a2$-@000000000000000000137a8b718e5da7396027e918344c69a33029e5bd7f02b8"@0000000000000000000e5dcf31bc18cae848fd76093839144e6f693b09d990f62$-@0000000000000000000dc58ac23686b0292fb18ca9c605488b05b44fa83af052"@000000000000000000137a8b718e5da7396027e918344c69a33029e5bd7f02b82$-@0000000000000000000050edb73e79106dba5b31409544a8471189064cf1866f"@0000000000000000000dc58ac23686b0292fb18ca9c605488b05b44fa83af0522$°-@00000000000000000003c4821ff2df1abc1b464a62f800071a625659ded19e98"@0000000000000000000050edb73e79106dba5b31409544a8471189064cf1866f2$-@0000000000000000000f02e25cbb3edf9c42632f7727b85a53c1875fa9d00ff4"@00000000000000000003c4821ff2df1abc1b464a62f800071a625659ded19e982$Ѣ-@0000000000000000000529a9f672369e9eda9cb1cf5596ee410dea23e6bf8288"@0000000000000000000f02e25cbb3edf9c42632f7727b85a53c1875fa9d00ff42$-@000000000000000000193cf505438ed4f0776dd98b0f51ecc05ba98e9044b87c"@0000000000000000000529a9f672369e9eda9cb1cf5596ee410dea23e6bf82882 $-@00000000000000000007bce77d7207b5ccc95e5e0e33e3517718c43cf633d015"@000000000000000000193cf505438ed4f0776dd98b0f51ecc05ba98e9044b87c2 + + + +1@5964caeb4326279c571dd238039e701184afceed096a775869e31c3f99883474$"@00000000000000000007bce77d7207b5ccc95e5e0e33e3517718c43cf633d015(-2 +@449c5b795a4ba71321f28e032d5cdaffa6fbb9de726256091f0687cf6a99319cB02e1beb473bfaedc32b0725afd08e2bc28cbc510d27db36fefed44007c49316e872 +@83a17523b3adc6c6b3bcdf1a0b083b3e99ec04a441d1d17a6ce0b54a558477d6B03ed4899f605923bef14f20a5f7107fcdf9df216cc1190d1af808a6d5a51c38d2bB +@5964caeb4326279c571dd238039e701184afceed096a775869e31c3f99883474""12sBR1ftYuTatwxaWYGnQNWJw6RhG76YWM"UOP_DUP OP_HASH160 14759df617bf6630fccde848fd5895319b4f2d85 OP_EQUALVERIFY OP_CHECKSIG*276a91414759df617bf6630fccde848fd5895319b4f2d8588ac*"12sBR1ftYuTatwxaWYGnQNWJw6RhG76YWM8$J  + @5964caeb4326279c571dd238039e701184afceed096a775869e31c3f99883474""18D6CK3WicKjah2sZfA6nnxsxvr8tDnWBY"UOP_DUP OP_HASH160 4f1235678bcdd28e1097c19e41c08a61ee147aad OP_EQUALVERIFY OP_CHECKSIG*276a9144f1235678bcdd28e1097c19e41c08a61ee147aad88ac*"18D6CK3WicKjah2sZfA6nnxsxvr8tDnWBY8$J  +@5964caeb4326279c571dd238039e701184afceed096a775869e31c3f99883474""1Nd17SoFBgkGtsAygfir3etwcTRGAESEZs"UOP_DUP OP_HASH160 ed29b57681067fa85dbaefadf2b87ee330874cc2 OP_EQUALVERIFY OP_CHECKSIG*276a914ed29b57681067fa85dbaefadf2b87ee330874cc288ac*"1Nd17SoFBgkGtsAygfir3etwcTRGAESEZs8$J ;$-@0000000000000000000463ec68ce512acab732c2d14450237a10c7dddd880089"@00000000000000000007bce77d7207b5ccc95e5e0e33e3517718c43cf633d0152$آ-@00000000000000000007c72ba57cc9f9af0e0e7a7980fba893bf39d8841d3fe0"@0000000000000000000463ec68ce512acab732c2d14450237a10c7dddd8800892$ز-@00000000000000000012088fc93baea7a75711a68b16b931ff1f71a4ff7d4640"@00000000000000000007c72ba57cc9f9af0e0e7a7980fba893bf39d8841d3fe02$-@00000000000000000003b5f3a5423cd2929d80a051acd5c51fba9e69e2ccdec0"@00000000000000000012088fc93baea7a75711a68b16b931ff1f71a4ff7d46402$࢏-@00000000000000000017690a330069d61f61437523eb11b018ef68c0055fda2d"@00000000000000000003b5f3a5423cd2929d80a051acd5c51fba9e69e2ccdec02$-@00000000000000000019a99020c29e98faf5e6bc0dd0b9d2ccf6d7b4aabc1059"@00000000000000000017690a330069d61f61437523eb11b018ef68c0055fda2d2$Ȍ-@000000000000000000080315cbbd7eb939ecda199b78df8c0e4feec237ab0742"@00000000000000000019a99020c29e98faf5e6bc0dd0b9d2ccf6d7b4aabc10592 $-@000000000000000000178ee9639f2548be799fd02567fbe7ab72db5569284f27"@000000000000000000080315cbbd7eb939ecda199b78df8c0e4feec237ab07422 + +1@b8a9be99b5a92ac02081b35c1c57d48ec7c5a303f349c1d362c7afe98964a073$"@000000000000000000178ee9639f2548be799fd02567fbe7ab72db5569284f27(-2 +@dfa30216181d8752f9310334e5e1d2b841c351fc15de33c5abd867fe4aeae40bB035cebf91bb5d78d77d1cca50f89af2c36f6afe3b871d90d5588d9491ad0770d4f2 +@a09e805af80880b96fc4da11be2416c09dc6774c35a5fdb24c9cce86ddcf1f41B03fb247af91e543b462df8a38f7788004fd486ce86b279f725f0e953995c3d43d5B +&@b8a9be99b5a92ac02081b35c1c57d48ec7c5a303f349c1d362c7afe98964a073""19ak4sce8DgAXLB1FjbbGrAN1JSTd16TLw"UOP_DUP OP_HASH160 5e22aeef451276bbb85538c85ccba37de2d8360e OP_EQUALVERIFY OP_CHECKSIG*276a9145e22aeef451276bbb85538c85ccba37de2d8360e88ac*"19ak4sce8DgAXLB1FjbbGrAN1JSTd16TLw8$J  +@b8a9be99b5a92ac02081b35c1c57d48ec7c5a303f349c1d362c7afe98964a073""15xrBr26HXxTBaTmGpa8QCiNckJkZGis9t"UOP_DUP OP_HASH160 367070b4f502f06524add64c72dfc70220953cac OP_EQUALVERIFY OP_CHECKSIG*276a914367070b4f502f06524add64c72dfc70220953cac88ac*"15xrBr26HXxTBaTmGpa8QCiNckJkZGis9t8$J  $-@00000000000000000009847f4149baa41974605a042839c8f6d52f218908ed69"@000000000000000000178ee9639f2548be799fd02567fbe7ab72db5569284f272 + + + +1@19e0cd6e4bd6897f64727136cd393c994a38f7c66c5fdb75130ea8f19079de01$"@00000000000000000009847f4149baa41974605a042839c8f6d52f218908ed69(-2 +@108265d1e71f2a54a501851529c729c391bb81681a98ab5eed3d8e2b1184ba93B025c538e1fc16bcfa4359db76544df3fe8967eb04b9ed518c93885cbe007ddb4962 +@e4b4bb8d2dccbef627a62590fa11008dd489ae263b955f0d2728ac38b0f919abB024ce02c0ec23b6d83234e15a8f24ed673ef3ca18b77d55c6f56a3929d7c9acda1B + @19e0cd6e4bd6897f64727136cd393c994a38f7c66c5fdb75130ea8f19079de01""1AYpwShMfKxgd3YRjkZMjYnPqsKYukFn1W"UOP_DUP OP_HASH160 68be0b4769260f1812275a38c773678ff597d291 OP_EQUALVERIFY OP_CHECKSIG*276a91468be0b4769260f1812275a38c773678ff597d29188ac*"1AYpwShMfKxgd3YRjkZMjYnPqsKYukFn1W8$J  + @19e0cd6e4bd6897f64727136cd393c994a38f7c66c5fdb75130ea8f19079de01""1K4xafpR5Acvw8jy3J1XSgz4gE8TExgo6k"UOP_DUP OP_HASH160 c631e883dda26f6a0e2a1e71dec43f48ae48f70c OP_EQUALVERIFY OP_CHECKSIG*276a914c631e883dda26f6a0e2a1e71dec43f48ae48f70c88ac*"1K4xafpR5Acvw8jy3J1XSgz4gE8TExgo6k8$J  +Ư @19e0cd6e4bd6897f64727136cd393c994a38f7c66c5fdb75130ea8f19079de01""1P1B28vFJou4vmr8dBhpyjFHVB4BhZ797H"UOP_DUP OP_HASH160 f15b219501ed170a1ee84f32e59a6d5488800e72 OP_EQUALVERIFY OP_CHECKSIG*276a914f15b219501ed170a1ee84f32e59a6d5488800e7288ac*"1P1B28vFJou4vmr8dBhpyjFHVB4BhZ797H8$J ;$-@0000000000000000001545573c0d878cdd8c3b09d583cdf0b4a3df414876741b"@00000000000000000009847f4149baa41974605a042839c8f6d52f218908ed692$޴-@000000000000000000051e27e3605e1dffecb9b52208c386b90d82c0ffd8ac14"@0000000000000000001545573c0d878cdd8c3b09d583cdf0b4a3df414876741b2$-@0000000000000000000630249bed497f98ec4f5abe482579f84f69f7a420dbf1"@000000000000000000051e27e3605e1dffecb9b52208c386b90d82c0ffd8ac142$-@00000000000000000000126b3297b353c66251f9879685fcee0b466400ebc730"@0000000000000000000630249bed497f98ec4f5abe482579f84f69f7a420dbf12$ෂ-@00000000000000000016caf3cc539c784e8f94dfb033ed34ab27eed98d317bdd"@00000000000000000000126b3297b353c66251f9879685fcee0b466400ebc7302$-@0000000000000000000db7c6f64d52730ffa0a78900f2dd4dd6e8eb7fb6f544b"@00000000000000000016caf3cc539c784e8f94dfb033ed34ab27eed98d317bdd2$Ƶ-@00000000000000000001161b200e73732ee85ac24260cb97a0e5fd44b03fa59c"@0000000000000000000db7c6f64d52730ffa0a78900f2dd4dd6e8eb7fb6f544b2$˵-@0000000000000000000fca4ad171eea2a8d17831ac97bb91f21ceedd526cff15"@00000000000000000001161b200e73732ee85ac24260cb97a0e5fd44b03fa59c2$-@0000000000000000001926b0aa451de3e7485cdd468b94852283ada069898d3e"@0000000000000000000fca4ad171eea2a8d17831ac97bb91f21ceedd526cff152$ɶ-@0000000000000000000e02cef1877e14ea35d09a0ab649752dccc54cb23866a5"@0000000000000000001926b0aa451de3e7485cdd468b94852283ada069898d3e2$-@0000000000000000000410a23ca333438201321d5fa3318525d630e8643a5806"@0000000000000000000e02cef1877e14ea35d09a0ab649752dccc54cb23866a52$ةǷ-@0000000000000000000999851ef12d154efb48ef9d36769665dbbcb1bea2288b"@0000000000000000000410a23ca333438201321d5fa3318525d630e8643a58062$-@0000000000000000001592f74bdb97635d1dccebd1aef554d131f50d65c72e38"@0000000000000000000999851ef12d154efb48ef9d36769665dbbcb1bea2288b2$⊸-@0000000000000000000f4047fed547074081a456591a05f7b8db93327f20bbf0"@0000000000000000001592f74bdb97635d1dccebd1aef554d131f50d65c72e382$-@0000000000000000001158f5ae1e66a991b47985dfeff9d72c7343068fec7eb2"@0000000000000000000f4047fed547074081a456591a05f7b8db93327f20bbf02$Ǹ-@0000000000000000000d5a5ad18915fe74097448007d1bdc231e8d5e59ff396e"@0000000000000000001158f5ae1e66a991b47985dfeff9d72c7343068fec7eb22$-@00000000000000000014c3811ece5661a56d3480867489668645e0ff08069e1c"@0000000000000000000d5a5ad18915fe74097448007d1bdc231e8d5e59ff396e2$-@00000000000000000010f260976ad77eb5aca83eb97b39a474c54e25d8e36182"@00000000000000000014c3811ece5661a56d3480867489668645e0ff08069e1c2$-@00000000000000000001c0234512f7b0c5cca9f826eceb5a06d29d95f6a75a11"@00000000000000000010f260976ad77eb5aca83eb97b39a474c54e25d8e361822$𞿺-@00000000000000000005f0b68224d2b1ed9c33fafa428eced976f2515438e55a"@00000000000000000001c0234512f7b0c5cca9f826eceb5a06d29d95f6a75a112 $ĺ-@000000000000000000175546a8e7ba1bdc2518151defddd3e827937e9da6d34f"@00000000000000000005f0b68224d2b1ed9c33fafa428eced976f2515438e55a2 + + + +1@16b58ec6b193a422431275303dc09ba1c8813f16e242b60fcee0c20a03974e21$"@000000000000000000175546a8e7ba1bdc2518151defddd3e827937e9da6d34f(ĺ-2 +@8af642c187ec587f6130aa753531492bb8fb05b96e571b35c0c1286399029ff8B02cc260db2d8ff9b886339b2fea0fd12336e445083c0c1d2c979fd5ad18d653bb72 +@8af642c187ec587f6130aa753531492bb8fb05b96e571b35c0c1286399029ff8B02c76f1f5c6e0a21a240dac3562fe860c2b4d934e3aaff50bb4caca9098998f29dB +@16b58ec6b193a422431275303dc09ba1c8813f16e242b60fcee0c20a03974e21""17FeZ9pt4ZdtK3tk5zVCpEXVpeUykaFSJA"UOP_DUP OP_HASH160 4495ed4d25c0313e7bf517e29377404e3ffb8584 OP_EQUALVERIFY OP_CHECKSIG*276a9144495ed4d25c0313e7bf517e29377404e3ffb858488ac*"17FeZ9pt4ZdtK3tk5zVCpEXVpeUykaFSJA8$J  +@16b58ec6b193a422431275303dc09ba1c8813f16e242b60fcee0c20a03974e21"!1Cws1tC9XdDi2otL7yPwsa9VjoVLyZyEx"UOP_DUP OP_HASH160 02425f522bafa95d14d8c7b9b262da1f1577d1db OP_EQUALVERIFY OP_CHECKSIG*276a91402425f522bafa95d14d8c7b9b262da1f1577d1db88ac*!1Cws1tC9XdDi2otL7yPwsa9VjoVLyZyEx8$J  +۰<@16b58ec6b193a422431275303dc09ba1c8813f16e242b60fcee0c20a03974e21""1DW8Ucr7n7F6DtV7kXQ5xrqknpidVaeKbd"UOP_DUP OP_HASH160 8923d026d25c053f4953f515ab25c3a385c0ce12 OP_EQUALVERIFY OP_CHECKSIG*276a9148923d026d25c053f4953f515ab25c3a385c0ce1288ac*"1DW8Ucr7n7F6DtV7kXQ5xrqknpidVaeKbd8$J 7 $-@00000000000000000013bf4fed9a2dae2819ee40eb45c9006901d8076644a838"@000000000000000000175546a8e7ba1bdc2518151defddd3e827937e9da6d34f2 + + + +1@e34cf29a5b60beaec42029db040d538be4badc5e8656116e80fcf0c06e71f9d6$"@00000000000000000013bf4fed9a2dae2819ee40eb45c9006901d8076644a838(-2 +@e491ac349155daafc613486cfc0458627e6f520c7ae88c0b6ccc2ad1d003e033B039cacd1c11fc96a909d05fbb63ec06a5f7b9791fda674be851f5ee71b63152e692 +@9ffd5d63f6a337a1aaf778292fb1a6b2c163f5047ae89a8f06473ae9c97ea82cB03bea48543ac82584f067efac85d984597ccf29ff11e7630c15afe421077cb4cc2B + @e34cf29a5b60beaec42029db040d538be4badc5e8656116e80fcf0c06e71f9d6""1HcN21WcpRZKSDBnfNgBRLpdF7qKRXCPuP"UOP_DUP OP_HASH160 b6321d9a8a8066750bab666d6fb2aef35067ccc7 OP_EQUALVERIFY OP_CHECKSIG*276a914b6321d9a8a8066750bab666d6fb2aef35067ccc788ac*"1HcN21WcpRZKSDBnfNgBRLpdF7qKRXCPuP8$J  +Z@e34cf29a5b60beaec42029db040d538be4badc5e8656116e80fcf0c06e71f9d6""1GCh579McuCVymyLVgTfFVPL9Y2ErZx7jn"UOP_DUP OP_HASH160 a6bfe9686115a02a0667fc39a6b41bd11d1686b6 OP_EQUALVERIFY OP_CHECKSIG*276a914a6bfe9686115a02a0667fc39a6b41bd11d1686b688ac*"1GCh579McuCVymyLVgTfFVPL9Y2ErZx7jn8$J  +Ύ@e34cf29a5b60beaec42029db040d538be4badc5e8656116e80fcf0c06e71f9d6""16oAKFaDyRyruMJEox7j74LM7qACHPHmUa"UOP_DUP OP_HASH160 3f9389e5bde8f6d403293ee19d85885b6c6ffb49 OP_EQUALVERIFY OP_CHECKSIG*276a9143f9389e5bde8f6d403293ee19d85885b6c6ffb4988ac*"16oAKFaDyRyruMJEox7j74LM7qACHPHmUa8$J  $굻-@00000000000000000001dbc13d43622fcfa9747034d1d6eb0a4f137d9069385e"@00000000000000000013bf4fed9a2dae2819ee40eb45c9006901d8076644a8382$ƻ-@000000000000000000021e1a85f4c627dbfcb367b8f7a8e3d9cdbeb84d6500a9"@00000000000000000001dbc13d43622fcfa9747034d1d6eb0a4f137d9069385e2 $-@0000000000000000001103b9d065c9ca487641ffa07c34c6dd2de09bc31fc664"@000000000000000000021e1a85f4c627dbfcb367b8f7a8e3d9cdbeb84d6500a92 + +1@2b757f94ac8a20c788939ecf76d7eec5508e4f4efcf5f72aa2b94e824555396b$"@0000000000000000001103b9d065c9ca487641ffa07c34c6dd2de09bc31fc664(-2 +@9a7b79dea5850fc87d593227071799e7494bf60eac90f3ca1ada15119e8f5fe7B02446c3c9c6661019597ae2fbb2b270318cc0e3632ac32555525b456912a5fdfcc2 +@ada1720f9ff322d04b2b9a52fce364b4f348a5ac393715744d9350752db7b08cB03b57fc5318c7757094491e476ea9f8d43c559145c7cd24e38ab04aaf47b7ac6a6B +E@2b757f94ac8a20c788939ecf76d7eec5508e4f4efcf5f72aa2b94e824555396b""13jWhDz15eFtBPy1RgpAt3noVqgU9eaA9C"UOP_DUP OP_HASH160 1dfa8244ac051152b29911c36992e83f366fcdb2 OP_EQUALVERIFY OP_CHECKSIG*276a9141dfa8244ac051152b29911c36992e83f366fcdb288ac*"13jWhDz15eFtBPy1RgpAt3noVqgU9eaA9C8$J  +@2b757f94ac8a20c788939ecf76d7eec5508e4f4efcf5f72aa2b94e824555396b""16BeCuwJx7i9jRYCqSPqwNEnUGsimn7Sc7"UOP_DUP OP_HASH160 38dbd895a524011ab5a73d04afdf63e6ac4e3508 OP_EQUALVERIFY OP_CHECKSIG*276a91438dbd895a524011ab5a73d04afdf63e6ac4e350888ac*"16BeCuwJx7i9jRYCqSPqwNEnUGsimn7Sc78$J  $ȋ-@000000000000000000097b9c051f3ca798080e9c222cd62f1677ab96ada1c29c"@0000000000000000001103b9d065c9ca487641ffa07c34c6dd2de09bc31fc6642$-@000000000000000000163d79d7f6955ce679c26ca6985ffc05062b7b32bfa232"@000000000000000000097b9c051f3ca798080e9c222cd62f1677ab96ada1c29c2 + + +1@392dbf898bc1956033c21c2a19816a30183a110668e6e0458f8dd526da83c994$"@000000000000000000163d79d7f6955ce679c26ca6985ffc05062b7b32bfa232(-2 +@430396266b1735256e173a7d4e21cf4257fed37826bc1ae77897b5f688c02cc4B02efb14b67c4a5f6d201ba1fdb6c4c2368fda54b8b05e70f9103ba6a391ffe97102 +@645b17a420ced878388d8b8c3c07c3c6b684167e6f715872c9afe17522ed9e04B0299efb1c039030615b9f144fc7c7752d3e8687d9faa9caa2010fab6849c2ea62dB +@392dbf898bc1956033c21c2a19816a30183a110668e6e0458f8dd526da83c994""1HC6dpETomtxqjFs9HxSQ4T2NMN9rsVL7w"UOP_DUP OP_HASH160 b19b4ab084992de9bc4dcd1e6caf6daf0ef18278 OP_EQUALVERIFY OP_CHECKSIG*276a914b19b4ab084992de9bc4dcd1e6caf6daf0ef1827888ac*"1HC6dpETomtxqjFs9HxSQ4T2NMN9rsVL7w8$J  +d@392dbf898bc1956033c21c2a19816a30183a110668e6e0458f8dd526da83c994""1MaVNAa4JVuKKJZoPPH8KM1r7brxuGiy3U"UOP_DUP OP_HASH160 e1b7eb95a622dc32a24cfb4d1786c4e8f8a5d6a8 OP_EQUALVERIFY OP_CHECKSIG*276a914e1b7eb95a622dc32a24cfb4d1786c4e8f8a5d6a888ac*"1MaVNAa4JVuKKJZoPPH8KM1r7brxuGiy3U8$J  +Όߟ @392dbf898bc1956033c21c2a19816a30183a110668e6e0458f8dd526da83c994""12WhtKdbrZ38MvYuGGvm37Hh1m1dQyeRZS"UOP_DUP OP_HASH160 109651501c62eeff0cf9517f95bab0ba969b078a OP_EQUALVERIFY OP_CHECKSIG*276a914109651501c62eeff0cf9517f95bab0ba969b078a88ac*"12WhtKdbrZ38MvYuGGvm37Hh1m1dQyeRZS8$J  + + +1@fd9567d9c7d2d0628845fa84cc3b440279dc74678c9976f5c86c70b898fbe23a$"@000000000000000000163d79d7f6955ce679c26ca6985ffc05062b7b32bfa232(-2 +@74b4c737b22c5eeea38bf2614ba16bbf599ddfc281d6117e44418448f959301eB03c5b5e3688b990105e7ff43876e0514d4303dff8a63fd35e74561f9c33d69427f2 +@6328c9708977d388940456264f6834493a317e9fcc6a1736100171ca85c06807B03e65e364a4da952d9de456e6b07caebcab143c10a77cd1f2700a742fb4550d6b9B +đ @fd9567d9c7d2d0628845fa84cc3b440279dc74678c9976f5c86c70b898fbe23a""1533wbmabXM234UtgyZYdHSBjxDmZkXHty"UOP_DUP OP_HASH160 2c43ca570b742429459f4307939582c8d05ff22b OP_EQUALVERIFY OP_CHECKSIG*276a9142c43ca570b742429459f4307939582c8d05ff22b88ac*"1533wbmabXM234UtgyZYdHSBjxDmZkXHty8$J  +@fd9567d9c7d2d0628845fa84cc3b440279dc74678c9976f5c86c70b898fbe23a""13YKvaYrfxZDtfLPJRXCjJgV4oJRSy9ayJ"UOP_DUP OP_HASH160 1bdcf1721cbe7a8196d3e4dfe8c7a4d6c2bf9b63 OP_EQUALVERIFY OP_CHECKSIG*276a9141bdcf1721cbe7a8196d3e4dfe8c7a4d6c2bf9b6388ac*"13YKvaYrfxZDtfLPJRXCjJgV4oJRSy9ayJ8$J  +d@fd9567d9c7d2d0628845fa84cc3b440279dc74678c9976f5c86c70b898fbe23a""1JqGcRxJ9Aoe4FqDRugJgUrWA4We3teYRS"UOP_DUP OP_HASH160 c39b22c2cb5ca0f55cabf3094c80c3df9b703240 OP_EQUALVERIFY OP_CHECKSIG*276a914c39b22c2cb5ca0f55cabf3094c80c3df9b70324088ac*"1JqGcRxJ9Aoe4FqDRugJgUrWA4We3teYRS8$J ;?$茲-@000000000000000000071d66084f75dfb8514da06ba882298297774927e4a211"@000000000000000000163d79d7f6955ce679c26ca6985ffc05062b7b32bfa2322> + +1@0603e47f23efdcca881fd261971da82efb1e5fb9f1b3d9240ba42f1eda6d8b87$"@000000000000000000071d66084f75dfb8514da06ba882298297774927e4a211(茲-2 +@dd4fafd1ba7a2f55eff54cf50e2770c67322e1f216f9bf7ad85017abdab15384B02f810de3ebfd7eb059b48191c80689a8455cb40daec88b202062b301090162a892 +@4e7132c6a647720acfa23110a3d49de8104a481ecef8282527d258d67578385dB026e2e22ac3fd3efb3481fc13b08138e40e4c0d5db81d0ea82be578993b64c3e962 +@7ef6a37ac492a607c15ab691dd083502af635e7d13f67f47f255fc8f91f5ac11B031fb63a027399cf3bbfcf8f48f38e6a384515353338499bfc660f97283e433f7f2 +@091c892dde8ed2d0a76efd0100b107b97ff2e1901a4173645021f6156bb744afB02b028076a4c5177cab054f21db88aa225b62c2d8abc096a8a431ae758b0fd2c312 +@dd4fafd1ba7a2f55eff54cf50e2770c67322e1f216f9bf7ad85017abdab15384B032c7967540c60a1a6722673e21a52d15b9aa9eaa2acd503fbc55b0b75575cbdd6B +@0603e47f23efdcca881fd261971da82efb1e5fb9f1b3d9240ba42f1eda6d8b87""1NpBhjZUTGAFcp12YqcHr85of6K71XoLSV"UOP_DUP OP_HASH160 ef472020b705d2a7c9469257aec7624b24830c6a OP_EQUALVERIFY OP_CHECKSIG*276a914ef472020b705d2a7c9469257aec7624b24830c6a88ac*"1NpBhjZUTGAFcp12YqcHr85of6K71XoLSV8$J  +\@0603e47f23efdcca881fd261971da82efb1e5fb9f1b3d9240ba42f1eda6d8b87""1PS8isT2buGs5rso2k13DXLgLnGYzSKMwn"UOP_DUP OP_HASH160 f6139cb91e3165fa5199c5ec1190188c1158c542 OP_EQUALVERIFY OP_CHECKSIG*276a914f6139cb91e3165fa5199c5ec1190188c1158c54288ac*"1PS8isT2buGs5rso2k13DXLgLnGYzSKMwn8$J  +@0603e47f23efdcca881fd261971da82efb1e5fb9f1b3d9240ba42f1eda6d8b87""1DQ2yAXV6L78casRz15ybQTkUSaGna8Ucd"UOP_DUP OP_HASH160 87fcb8391b3acabcd09ec866d0d7123780bf9758 OP_EQUALVERIFY OP_CHECKSIG*276a91487fcb8391b3acabcd09ec866d0d7123780bf975888ac*"1DQ2yAXV6L78casRz15ybQTkUSaGna8Ucd8$J & + +1@cced0373583e2cc108c782d5be2aaf9d2d4c2ee5c87cccc3f2cc8bb46b2699a9$"@000000000000000000071d66084f75dfb8514da06ba882298297774927e4a211(茲-2 +@645b17a420ced878388d8b8c3c07c3c6b684167e6f715872c9afe17522ed9e04B03f287c566cd9b89ef6dd1853bb98c6d6c8ab5c56f76efa453dc1c65d55e4fec282 +@392dbf898bc1956033c21c2a19816a30183a110668e6e0458f8dd526da83c994B02690c5a315a07439b34a66cd585ffa4a64f142f9cc6475097e6b976348ccfc69e2 +@ccc2f22e92e533db631ba72d0937476ae9e3a322a83b11f6c81309712fefc98aB03d16fbf7fdfe016b0dc1b956ec4ad3d2fec47294e93373f06a13dbd4e9fdbeaad2 +@fc6507c27df1947339898e135617a155eb89a08028ea44cec6b17c22bc9aafb7B034d384485fe2817c170647f6b66d9e0da3bb51c2df6892853e090a9efa2082bb32 +@81db8a00c61bec39261adc0d66c32af8da67777b8f3d39688412a0821d4f230eB02f650d2813bfd777a6ab494160c57afc4fa977701fe98f1156b820c615fc59d4a2 +@58ec0bbf47ada8664161848501da0eb3d19c1052c6df9ad3ec557c56bd96c7efB0313a429590edfcf8a904e53e836968fa7a2bc6b404ebedbc85681e29d155b47f42 +@392dbf898bc1956033c21c2a19816a30183a110668e6e0458f8dd526da83c994B03ca4422a4a0212e7d2eaac3a43a2b6e39e8561c3972de8e626f504dda4cb64b57B +}@cced0373583e2cc108c782d5be2aaf9d2d4c2ee5c87cccc3f2cc8bb46b2699a9""13bpqV2CbfPvtRUb8EfaKJeJGXtgzJsoGF"UOP_DUP OP_HASH160 1c86535fc2eb20610bff44dd22b1e8e9135eb3f7 OP_EQUALVERIFY OP_CHECKSIG*276a9141c86535fc2eb20610bff44dd22b1e8e9135eb3f788ac*"13bpqV2CbfPvtRUb8EfaKJeJGXtgzJsoGF8$J  +d@cced0373583e2cc108c782d5be2aaf9d2d4c2ee5c87cccc3f2cc8bb46b2699a9""19wCK3HZDztFJPtwEgexJubQK3fR6Gcy1Q"UOP_DUP OP_HASH160 6200e9012fcb48f2cc51169fb10cd3fc34023d2a OP_EQUALVERIFY OP_CHECKSIG*276a9146200e9012fcb48f2cc51169fb10cd3fc34023d2a88ac*"19wCK3HZDztFJPtwEgexJubQK3fR6Gcy1Q8$J  + +@cced0373583e2cc108c782d5be2aaf9d2d4c2ee5c87cccc3f2cc8bb46b2699a9""1NGQikFUwsaMZByBsrkuhWsAW2UHj2iZcx"UOP_DUP OP_HASH160 e944ae5f1fea660c96d5c5dba1511e6cfce765e2 OP_EQUALVERIFY OP_CHECKSIG*276a914e944ae5f1fea660c96d5c5dba1511e6cfce765e288ac*"1NGQikFUwsaMZByBsrkuhWsAW2UHj2iZcx8$J  + + +1@a8636c22cc7bac97f9e646ab854092022b0e09af08d37bc4338d2e48be6c17f5$"@000000000000000000071d66084f75dfb8514da06ba882298297774927e4a211(茲-2 +@41616c2c34021c29e7b07f67ddca620ab3368510869f8ea5b5620c8faa4af7d7B031d2219d184eb94432300114abd4edbf4487ea88d3377da15c7abc6f9da7fd8382 +@d5f0bf14687c4810becfb6875d69499fb4d5f26fdd338030ee06ebabdfcf6c90B031efccbb8f9ca81ac22a559c0116e11e07f48dde75be7ac6e5a6e224327fbee88B + @a8636c22cc7bac97f9e646ab854092022b0e09af08d37bc4338d2e48be6c17f5""14kD4QptS1oH7PPCdKAmK5c43EJL2U4BHE"UOP_DUP OP_HASH160 29145473e09dfa071326ddd80de34502d3ea4919 OP_EQUALVERIFY OP_CHECKSIG*276a91429145473e09dfa071326ddd80de34502d3ea491988ac*"14kD4QptS1oH7PPCdKAmK5c43EJL2U4BHE8$J  +@a8636c22cc7bac97f9e646ab854092022b0e09af08d37bc4338d2e48be6c17f5""1CzxqLVKjoTSc1Jbog5PwaVu2BU5fTLzp6"UOP_DUP OP_HASH160 839fb367bad798e214448d6e830c6bb3725eb328 OP_EQUALVERIFY OP_CHECKSIG*276a914839fb367bad798e214448d6e830c6bb3725eb32888ac*"1CzxqLVKjoTSc1Jbog5PwaVu2BU5fTLzp68$J  +_@a8636c22cc7bac97f9e646ab854092022b0e09af08d37bc4338d2e48be6c17f5""13Zj88cni13VoWsG5W4Nvc4bfLtkW6TKjG"UOP_DUP OP_HASH160 1c20b98d8a5e60f9e055bf674159420f1b2a56a9 OP_EQUALVERIFY OP_CHECKSIG*276a9141c20b98d8a5e60f9e055bf674159420f1b2a56a988ac*"13Zj88cni13VoWsG5W4Nvc4bfLtkW6TKjG8$J ; + + +1@b14f449e9f828bd03f603e7febb5f1380ac6ef2a2e15e83cba5313b605c8f3cb$"@000000000000000000071d66084f75dfb8514da06ba882298297774927e4a211(茲-2 +@cced0373583e2cc108c782d5be2aaf9d2d4c2ee5c87cccc3f2cc8bb46b2699a9B024e55d1992d06f2c957eea60ecd42f4e2245a75bd5527fa59fc179e8385fc54062 +@cced0373583e2cc108c782d5be2aaf9d2d4c2ee5c87cccc3f2cc8bb46b2699a9B023464ddf4b60c5196b622af8efd5f21b211bc5071aed390511bf6728ade4dc1f4B +i@b14f449e9f828bd03f603e7febb5f1380ac6ef2a2e15e83cba5313b605c8f3cb""13oWvaqWnYthVijs1QQAMtLkRvsm7Jke9K"UOP_DUP OP_HASH160 1ebc5d6f8925312d2702546db9308a9c4bd4a0e9 OP_EQUALVERIFY OP_CHECKSIG*276a9141ebc5d6f8925312d2702546db9308a9c4bd4a0e988ac*"13oWvaqWnYthVijs1QQAMtLkRvsm7Jke9K8$J  +d@b14f449e9f828bd03f603e7febb5f1380ac6ef2a2e15e83cba5313b605c8f3cb""1LHy3jKjv7ytbaYjiRhr5RqyHb5aHWks5F"UOP_DUP OP_HASH160 d39fd4bd491dc45f9f6242504c3b48888940d5c3 OP_EQUALVERIFY OP_CHECKSIG*276a914d39fd4bd491dc45f9f6242504c3b48888940d5c388ac*"1LHy3jKjv7ytbaYjiRhr5RqyHb5aHWks5F8$J  + @b14f449e9f828bd03f603e7febb5f1380ac6ef2a2e15e83cba5313b605c8f3cb""1GekVLt86nnVNq7TSihuWhPGWua7KxGZQh"UOP_DUP OP_HASH160 abad947165885e7420973739af7ba0807307527d OP_EQUALVERIFY OP_CHECKSIG*276a914abad947165885e7420973739af7ba0807307527d88ac*"1GekVLt86nnVNq7TSihuWhPGWua7KxGZQh8$J  + + +1@975c2ab0efe394d98d17d0c576a71a9535b4d9e2e6b5dbde89b9a28294c95f7d$"@000000000000000000071d66084f75dfb8514da06ba882298297774927e4a211(茲-2 +@b14f449e9f828bd03f603e7febb5f1380ac6ef2a2e15e83cba5313b605c8f3cbB02175a301e5bf7e0b2f3df942e4e75c7741cabd82cdba485e2c8e942a67443d0b42 +@b14f449e9f828bd03f603e7febb5f1380ac6ef2a2e15e83cba5313b605c8f3cbB0369f4a12dd36d11d28ce56fa1be0e5de159110d063f07f9c271fc9192a6a53993B +T@975c2ab0efe394d98d17d0c576a71a9535b4d9e2e6b5dbde89b9a28294c95f7d""1GSYcLnsArTPTwVkKxbgm4bsqqTRCaPLKv"UOP_DUP OP_HASH160 a95eac046b6ecca43a6b9986c92b2a905ad2a8eb OP_EQUALVERIFY OP_CHECKSIG*276a914a95eac046b6ecca43a6b9986c92b2a905ad2a8eb88ac*"1GSYcLnsArTPTwVkKxbgm4bsqqTRCaPLKv8$J  +d@975c2ab0efe394d98d17d0c576a71a9535b4d9e2e6b5dbde89b9a28294c95f7d""1EZHccvW2aDCfc5Ee7RxZZRfvh26MfuREE"UOP_DUP OP_HASH160 94b4d092dd0c003c463408dbb788fb4083a53950 OP_EQUALVERIFY OP_CHECKSIG*276a91494b4d092dd0c003c463408dbb788fb4083a5395088ac*"1EZHccvW2aDCfc5Ee7RxZZRfvh26MfuREE8$J  +β @975c2ab0efe394d98d17d0c576a71a9535b4d9e2e6b5dbde89b9a28294c95f7d""19DBHDX2aZfmxjD2YjUy8BHgQWtF8rNE77"UOP_DUP OP_HASH160 5a0e942aa2c0f6a3190b581114889a097a42dc97 OP_EQUALVERIFY OP_CHECKSIG*276a9145a0e942aa2c0f6a3190b581114889a097a42dc9788ac*"19DBHDX2aZfmxjD2YjUy8BHgQWtF8rNE778$J $-@0000000000000000001858080a851671592b9345852cbe6901708a41723f81ef"@000000000000000000071d66084f75dfb8514da06ba882298297774927e4a2112$ؑ-@00000000000000000013c04d63acdad2d0ce405db9621da12441f9eb167a63cd"@0000000000000000001858080a851671592b9345852cbe6901708a41723f81ef2$ż-@0000000000000000000cc916044746a5ad9a3f82d6ac7c3ad018c21080040130"@00000000000000000013c04d63acdad2d0ce405db9621da12441f9eb167a63cd2$-@0000000000000000000e647b97aff07cb02c950d48f459955875591de90e913b"@0000000000000000000cc916044746a5ad9a3f82d6ac7c3ad018c210800401302+$ȋ-@00000000000000000004c1b01a14ee84e6a81f36be9afba847c465b58c686e6d"@0000000000000000000e647b97aff07cb02c950d48f459955875591de90e913b2* + + +1@940d6f4f5d26abf3c9f539949e6a5b4445c3c55e28699a25499df124b621f42b$"@00000000000000000004c1b01a14ee84e6a81f36be9afba847c465b58c686e6d(ȋ-2 +@6fb5f3a96a27b836ed59ba7e59c0df7c57f2a79d577dc0ab7b08b487cb58e41eB03d37f094bc2a52ab46aae6cccb8793d18101be51bc297a0fb124893fb24a4f5072 +@6fb5f3a96a27b836ed59ba7e59c0df7c57f2a79d577dc0ab7b08b487cb58e41eB022f773ee53ddcfac499b468d546b925c9953eb62ead811159d03ec4f8b02a461dB +A@940d6f4f5d26abf3c9f539949e6a5b4445c3c55e28699a25499df124b621f42b""12phAXHK8GjhwFCWF53PbrmCFV5f7oMdyc"UOP_DUP OP_HASH160 13fd340ede6e47f1969cf356387a6feab3ce3bba OP_EQUALVERIFY OP_CHECKSIG*276a91413fd340ede6e47f1969cf356387a6feab3ce3bba88ac*"12phAXHK8GjhwFCWF53PbrmCFV5f7oMdyc8$J  +^@940d6f4f5d26abf3c9f539949e6a5b4445c3c55e28699a25499df124b621f42b""14QkXt5KnHwSiHEdgTXLjwQHArHMm3Lr64"UOP_DUP OP_HASH160 256648941dbb109dd70635646ef47e2a247b42bb OP_EQUALVERIFY OP_CHECKSIG*276a914256648941dbb109dd70635646ef47e2a247b42bb88ac*"14QkXt5KnHwSiHEdgTXLjwQHArHMm3Lr648$J  +@940d6f4f5d26abf3c9f539949e6a5b4445c3c55e28699a25499df124b621f42b""12DeB9yG9hjdHfgWkfKh8vAmZZkUSCkMec"UOP_DUP OP_HASH160 0d5c2646e8b6babad821f0fbf132ccb398286f3a OP_EQUALVERIFY OP_CHECKSIG*276a9140d5c2646e8b6babad821f0fbf132ccb398286f3a88ac*"12DeB9yG9hjdHfgWkfKh8vAmZZkUSCkMec8$J  + + +1@af66866d575a3bd3f4ecc1c1442f21a5febf439f3b7169808af86bbedaa619c1$"@00000000000000000004c1b01a14ee84e6a81f36be9afba847c465b58c686e6d(ȋ-2 +@fd9567d9c7d2d0628845fa84cc3b440279dc74678c9976f5c86c70b898fbe23aB0386bbad1d9ae912719113ade2e504265013d20d84dc2eafea5fb412e718d67a462 +@74b4c737b22c5eeea38bf2614ba16bbf599ddfc281d6117e44418448f959301eB03a4190c4bdca5d639affa2f1b5ad4e9938c88364b43ab0fc855cfacb451afd865B +Ј @af66866d575a3bd3f4ecc1c1442f21a5febf439f3b7169808af86bbedaa619c1""1PF93MSsfWc9BKq7c8MKcfeU6PdXzj8hSw"UOP_DUP OP_HASH160 f3ff4d792c264077920589cc8c372995f15cb6bf OP_EQUALVERIFY OP_CHECKSIG*276a914f3ff4d792c264077920589cc8c372995f15cb6bf88ac*"1PF93MSsfWc9BKq7c8MKcfeU6PdXzj8hSw8$J  +Է@af66866d575a3bd3f4ecc1c1442f21a5febf439f3b7169808af86bbedaa619c1""18xFkr9a6JXuFR5X9MBaHHvJnBBAFayBrr"UOP_DUP OP_HASH160 573c1378f3feb8eed78c8ae33911736c6eef3222 OP_EQUALVERIFY OP_CHECKSIG*276a914573c1378f3feb8eed78c8ae33911736c6eef322288ac*"18xFkr9a6JXuFR5X9MBaHHvJnBBAFayBrr8$J  +@af66866d575a3bd3f4ecc1c1442f21a5febf439f3b7169808af86bbedaa619c1""18S8QBFg6Q3A2izniqgWiBqWYkHJjMudVy"UOP_DUP OP_HASH160 518974d703673a4c8dfca2fd6cca8c8a23e0d4a5 OP_EQUALVERIFY OP_CHECKSIG*276a914518974d703673a4c8dfca2fd6cca8c8a23e0d4a588ac*"18S8QBFg6Q3A2izniqgWiBqWYkHJjMudVy8$J  + + +1@1e6511a41d3b94b42f828171bf6891b0e109cb138bc0850c7192cafb07ba2a5a$"@00000000000000000004c1b01a14ee84e6a81f36be9afba847c465b58c686e6d(ȋ-2 +@af66866d575a3bd3f4ecc1c1442f21a5febf439f3b7169808af86bbedaa619c1B0218f703cce9a92326db85fef5ac96efb16fabc34f18a738c5af163fd0772195772 +@330d6fcd80f4a1649d34f81bd74596dd495326825cfc0311743052ee93c2f3a2B0381b3bef521b0c1f9f4dd587732d78194fd79f1fcd7b196a85c0a8c593c980c66B + +@1e6511a41d3b94b42f828171bf6891b0e109cb138bc0850c7192cafb07ba2a5a""1CsqyJB9W8WR2DvhwGseYEzjwZxYpDYRxn"UOP_DUP OP_HASH160 82470f71ac3a810f3b87405d47d4b9d5ae1e1cc2 OP_EQUALVERIFY OP_CHECKSIG*276a91482470f71ac3a810f3b87405d47d4b9d5ae1e1cc288ac*"1CsqyJB9W8WR2DvhwGseYEzjwZxYpDYRxn8$J  +@1e6511a41d3b94b42f828171bf6891b0e109cb138bc0850c7192cafb07ba2a5a""1AzBbA6Zk3nUVxwVCRBdNtubLbxKXfAFur"UOP_DUP OP_HASH160 6d89ae5987235bd5a4a995fb92ea17c0af3afe4b OP_EQUALVERIFY OP_CHECKSIG*276a9146d89ae5987235bd5a4a995fb92ea17c0af3afe4b88ac*"1AzBbA6Zk3nUVxwVCRBdNtubLbxKXfAFur8$J  +@1e6511a41d3b94b42f828171bf6891b0e109cb138bc0850c7192cafb07ba2a5a""18pe7iyXmgMYQ4RH59CFY3r3XGANk35arU"UOP_DUP OP_HASH160 55cb69db79bd01905653511392bf82fc3d8cfe4b OP_EQUALVERIFY OP_CHECKSIG*276a91455cb69db79bd01905653511392bf82fc3d8cfe4b88ac*"18pe7iyXmgMYQ4RH59CFY3r3XGANk35arU8$J  + + +1@f4f0c7c32cf01d58873480b477817e5d58db451692b2797f594b95b8772ced8b$"@00000000000000000004c1b01a14ee84e6a81f36be9afba847c465b58c686e6d(ȋ-2 +@742f52416a66a4dcda04815cb5d0e0aba4a4c6616ee55fa5959bd7f9d855e9f9B03c1ac25c856d2e7f57af1690e149100275a3b9a7a525be911d10514ad512208442 +@5bd9ffe5ff8678076b464f07aa4fc3ee615e5483c14d90affec455e83f35c556B03ac9dc0b3d3bda6fcdfae148f842c0de130f23c3ff1b82f406747e268aac8089dB +.@f4f0c7c32cf01d58873480b477817e5d58db451692b2797f594b95b8772ced8b""1HMAkpHc7idr99UcrNy23cU5XAHdra74em"UOP_DUP OP_HASH160 b35279a6f8266b56de4d85602d1a419c552ec97f OP_EQUALVERIFY OP_CHECKSIG*276a914b35279a6f8266b56de4d85602d1a419c552ec97f88ac*"1HMAkpHc7idr99UcrNy23cU5XAHdra74em8$J  +@f4f0c7c32cf01d58873480b477817e5d58db451692b2797f594b95b8772ced8b""1NHyDFB98SRu1Kn2MWx9JvH5CawCNLnaUs"UOP_DUP OP_HASH160 e990383272a6a7572d2fb503973b3873385e5787 OP_EQUALVERIFY OP_CHECKSIG*276a914e990383272a6a7572d2fb503973b3873385e578788ac*"1NHyDFB98SRu1Kn2MWx9JvH5CawCNLnaUs8$J  +Ӄ@f4f0c7c32cf01d58873480b477817e5d58db451692b2797f594b95b8772ced8b""1LSpvyqnUUhU2vf5xtB8inT6WAqnAUqaS7"UOP_DUP OP_HASH160 d54ccca983c1c9c74df57214ae6794445bc9a7df OP_EQUALVERIFY OP_CHECKSIG*276a914d54ccca983c1c9c74df57214ae6794445bc9a7df88ac*"1LSpvyqnUUhU2vf5xtB8inT6WAqnAUqaS78$J $Жؽ-@000000000000000000055a97d351d11614689e545f69689ba5c239080477d583"@00000000000000000004c1b01a14ee84e6a81f36be9afba847c465b58c686e6d2,$-@00000000000000000014e130fea72d09d41d68cfaa68314f9e267f094c8af3d6"@000000000000000000055a97d351d11614689e545f69689ba5c239080477d5832+ + + +1@e331dda24ebe68da33953fb687dcdaba3fe984f849c555d6c11f2b9a56f11390$"@00000000000000000014e130fea72d09d41d68cfaa68314f9e267f094c8af3d6(-2 +@975c2ab0efe394d98d17d0c576a71a9535b4d9e2e6b5dbde89b9a28294c95f7dB03518d94c9e4e250c02023da4e680da598598211fb5c50b2244a02460c1d2734f42 +@975c2ab0efe394d98d17d0c576a71a9535b4d9e2e6b5dbde89b9a28294c95f7dB0291597ea9ddf4593044b9f458f0edee7acbfe03815261cb745fef9b71b8f8af5aB +@@e331dda24ebe68da33953fb687dcdaba3fe984f849c555d6c11f2b9a56f11390""17BcukwT1925kanDZsVkAb1V5vpxi9tHYL"UOP_DUP OP_HASH160 43d2e3e144bf381954131ade7f5c98b10e6b1fe8 OP_EQUALVERIFY OP_CHECKSIG*276a91443d2e3e144bf381954131ade7f5c98b10e6b1fe888ac*"17BcukwT1925kanDZsVkAb1V5vpxi9tHYL8$J  +d@e331dda24ebe68da33953fb687dcdaba3fe984f849c555d6c11f2b9a56f11390""12bedr7yvFShaok42bv67LrpCRHVkzp9bU"UOP_DUP OP_HASH160 1185af51ec0b03dd7d413a83140811f8a16c8514 OP_EQUALVERIFY OP_CHECKSIG*276a9141185af51ec0b03dd7d413a83140811f8a16c851488ac*"12bedr7yvFShaok42bv67LrpCRHVkzp9bU8$J  +②@e331dda24ebe68da33953fb687dcdaba3fe984f849c555d6c11f2b9a56f11390""1GDYSKA8LsXqXK9ZzzUnttA8xWhtGi3nnD"UOP_DUP OP_HASH160 a6e91ebf888b0e5192fe17a9bb3098a2ad71b2eb OP_EQUALVERIFY OP_CHECKSIG*276a914a6e91ebf888b0e5192fe17a9bb3098a2ad71b2eb88ac*"1GDYSKA8LsXqXK9ZzzUnttA8xWhtGi3nnD8$J  + +1@d7ea7aaeb4788604bb7debac9bef3df9d50e10dc2aac20c59cc1e359c664dbd4$"@00000000000000000014e130fea72d09d41d68cfaa68314f9e267f094c8af3d6(-2 +@e331dda24ebe68da33953fb687dcdaba3fe984f849c555d6c11f2b9a56f11390B0238d045599878fc7796ba01a2b2f8085182b8c1742801bfe3f70d8dbfc07818932 +@0685ead42fa70f0c4016457f81398709ef8927c4198e7b834f1a9400f7f5dac3B025804cf8cb5b707410dc8ebb6c62a16cf3831602a6ae34ba5b6061bbeb178fd162 +@e331dda24ebe68da33953fb687dcdaba3fe984f849c555d6c11f2b9a56f11390B0389c6786ca18f6b84ef9ced2dfc7ec33281003ea5c7f3be70f6883ff659d4ac9aB +,@d7ea7aaeb4788604bb7debac9bef3df9d50e10dc2aac20c59cc1e359c664dbd4""1JHj2Ur5HkNoZPB853pviurZLXpKq1XrZG"UOP_DUP OP_HASH160 bda3dff622b8a805dcb49d58e629a578799d3ecb OP_EQUALVERIFY OP_CHECKSIG*276a914bda3dff622b8a805dcb49d58e629a578799d3ecb88ac*"1JHj2Ur5HkNoZPB853pviurZLXpKq1XrZG8$J  +d@d7ea7aaeb4788604bb7debac9bef3df9d50e10dc2aac20c59cc1e359c664dbd4""1EBKhxUPJRX5b7KzBwDAnpFPQKCm3btZnT"UOP_DUP OP_HASH160 908d68efe621f20145eea70243c04db4f3b32514 OP_EQUALVERIFY OP_CHECKSIG*276a914908d68efe621f20145eea70243c04db4f3b3251488ac*"1EBKhxUPJRX5b7KzBwDAnpFPQKCm3btZnT8$J  +@d7ea7aaeb4788604bb7debac9bef3df9d50e10dc2aac20c59cc1e359c664dbd4""1NBfem2rGKo6g1zUGanHPiAUqrFt2oGfRi"UOP_DUP OP_HASH160 e85f10b913bf313721bf5201da5604b8f6f80716 OP_EQUALVERIFY OP_CHECKSIG*276a914e85f10b913bf313721bf5201da5604b8f6f8071688ac*"1NBfem2rGKo6g1zUGanHPiAUqrFt2oGfRi8$J  + + +1@25fa539c525cbc9d6d75d435cd6955bdfbb20f202a95d39693759a2b4a9f322d$"@00000000000000000014e130fea72d09d41d68cfaa68314f9e267f094c8af3d6(-2 +@242d571083f4097d1321989048917e73976bca7317d8fef156f08d8c678aafebB037f44ae600793ac8644a2d3788358de433608909ac0c0ad1bd03055d257d26b1f2 +@ef54ae9abcdb146a974581737ac463a9e18bb82d3556cbe7b54fc5b5a222b850B0383df3c7f7c0248603eda01e9404e555863ca12c0cdfc6fa0f6b988426601b7a7B +@25fa539c525cbc9d6d75d435cd6955bdfbb20f202a95d39693759a2b4a9f322d""14LMcSEkpfYRHAZt6LWzzGgDr9ra54bKri"UOP_DUP OP_HASH160 24917c5c18b89e0f2742848520103a70bcb1e072 OP_EQUALVERIFY OP_CHECKSIG*276a91424917c5c18b89e0f2742848520103a70bcb1e07288ac*"14LMcSEkpfYRHAZt6LWzzGgDr9ra54bKri8$J  +@25fa539c525cbc9d6d75d435cd6955bdfbb20f202a95d39693759a2b4a9f322d""13Z538trgduS5hP1Vt1d29uAoE7ubTEYku"UOP_DUP OP_HASH160 1c00ee9f6f6c4473758254df4543447d1e4162e2 OP_EQUALVERIFY OP_CHECKSIG*276a9141c00ee9f6f6c4473758254df4543447d1e4162e288ac*"13Z538trgduS5hP1Vt1d29uAoE7ubTEYku8$J  +@25fa539c525cbc9d6d75d435cd6955bdfbb20f202a95d39693759a2b4a9f322d""19ZBeRoc4GYPrW5thKfQAg6Gf3nUkqtvaS"UOP_DUP OP_HASH160 5dd7340b776797b5f7e466f1c78f205961c3e143 OP_EQUALVERIFY OP_CHECKSIG*276a9145dd7340b776797b5f7e466f1c78f205961c3e14388ac*"19ZBeRoc4GYPrW5thKfQAg6Gf3nUkqtvaS8$J  + + +1@58fec4a093fcaf789d138cbebc0d5aedd6fad32e992844c85b6bf745ad0e3d4d$"@00000000000000000014e130fea72d09d41d68cfaa68314f9e267f094c8af3d6(-2 +@25fa539c525cbc9d6d75d435cd6955bdfbb20f202a95d39693759a2b4a9f322dB031d0df2f090fb5b4e74cdcf5e040066a1c17e0beedd6e6ac861686322ef1101902 +@25fa539c525cbc9d6d75d435cd6955bdfbb20f202a95d39693759a2b4a9f322dB025c8dd15c2bef20affcc872cb4c8ea03aae654db835e37010df45532f306e5644B +@58fec4a093fcaf789d138cbebc0d5aedd6fad32e992844c85b6bf745ad0e3d4d""14F5PSPXWQ7XbXPvzhu5jKZ7FeZtDG4PFJ"UOP_DUP OP_HASH160 2391dcdf2f952cb6f03eca3342619b75869a6445 OP_EQUALVERIFY OP_CHECKSIG*276a9142391dcdf2f952cb6f03eca3342619b75869a644588ac*"14F5PSPXWQ7XbXPvzhu5jKZ7FeZtDG4PFJ8$J  +@58fec4a093fcaf789d138cbebc0d5aedd6fad32e992844c85b6bf745ad0e3d4d""19sLd4q4m4uQSBj7nfPSUERSst7mQVDZgG"UOP_DUP OP_HASH160 61462f0feb69008bc9e249fb884eeb0531bc7935 OP_EQUALVERIFY OP_CHECKSIG*276a91461462f0feb69008bc9e249fb884eeb0531bc793588ac*"19sLd4q4m4uQSBj7nfPSUERSst7mQVDZgG8$J  +@58fec4a093fcaf789d138cbebc0d5aedd6fad32e992844c85b6bf745ad0e3d4d""1L1fc5b9gb3iLqLDf2GTruQHe8MCuXipX3"UOP_DUP OP_HASH160 d08a9d95c021b1e68983af3b395ad15edc234b08 OP_EQUALVERIFY OP_CHECKSIG*276a914d08a9d95c021b1e68983af3b395ad15edc234b0888ac*"1L1fc5b9gb3iLqLDf2GTruQHe8MCuXipX38$J $-@00000000000000000001bdc9075b6c9bdcc478c631b9ce6862da707cfa2d9f98"@00000000000000000014e130fea72d09d41d68cfaa68314f9e267f094c8af3d62$-@00000000000000000003b1682c65ed407e46ff8c77443c2d9627c4660a4bc136"@00000000000000000001bdc9075b6c9bdcc478c631b9ce6862da707cfa2d9f982$ܾ-@000000000000000000017ef0d8ff676c77299abb0d8b41dbc5a3c8d552d759ae"@00000000000000000003b1682c65ed407e46ff8c77443c2d9627c4660a4bc1362$-@0000000000000000000547c15370fb5f420ee9cd60f4ca91b2d85c6fe066e158"@000000000000000000017ef0d8ff676c77299abb0d8b41dbc5a3c8d552d759ae2$-@00000000000000000005537c80e7a0c2f8e968e4c72a0c53d376c826e88a06bc"@0000000000000000000547c15370fb5f420ee9cd60f4ca91b2d85c6fe066e1582 + + +1@8b66a3ba32cde7b4822022379bd2ecc2a731b5506243e23e6ef530b2d7a77967$"@00000000000000000005537c80e7a0c2f8e968e4c72a0c53d376c826e88a06bc(-2 +@7ef9d6d3dd901b9b9a8d62dd3c44f6b4d9afba8df40144e10295ff1d81333b14B023f02ef54404d3f88917b55b9bec478e9e612e04fa7ecb5cf20f9b828b44035b52 +@ad7e85f90e8c26d3e738e84e01bf328733cdbb5cc01f836dee76fc960c76dba0B039022833ca128a0c57d1763f30779515f22169e228c0247a18110bc68ad721bd9B +f@8b66a3ba32cde7b4822022379bd2ecc2a731b5506243e23e6ef530b2d7a77967""1CdFFHB9Mj6wMXUoSpf75xjRQdFZnJ75qi"UOP_DUP OP_HASH160 7f844017e2654817cd6270420279bd133f44ecbe OP_EQUALVERIFY OP_CHECKSIG*276a9147f844017e2654817cd6270420279bd133f44ecbe88ac*"1CdFFHB9Mj6wMXUoSpf75xjRQdFZnJ75qi8$J  +л@8b66a3ba32cde7b4822022379bd2ecc2a731b5506243e23e6ef530b2d7a77967""13Y9KVzSTvmpWq5MXTVB56fG6fWK1DvNoc"UOP_DUP OP_HASH160 1bd41738553cdbd83a6d586f0c28d90ee475090a OP_EQUALVERIFY OP_CHECKSIG*276a9141bd41738553cdbd83a6d586f0c28d90ee475090a88ac*"13Y9KVzSTvmpWq5MXTVB56fG6fWK1DvNoc8$J  +܍@8b66a3ba32cde7b4822022379bd2ecc2a731b5506243e23e6ef530b2d7a77967""12NbvRhLJntV1GUKVkDpifxKCTMwjS77tD"UOP_DUP OP_HASH160 0f0e02fd354b6e76d6436ca971a4c5950dcba6da OP_EQUALVERIFY OP_CHECKSIG*276a9140f0e02fd354b6e76d6436ca971a4c5950dcba6da88ac*"12NbvRhLJntV1GUKVkDpifxKCTMwjS77tD8$J ' + + +1@44253766ace60f165e712f078e331fbcb6f61fcdf4056956f02e7be71f2f91da$"@00000000000000000005537c80e7a0c2f8e968e4c72a0c53d376c826e88a06bc(-2 +@940d6f4f5d26abf3c9f539949e6a5b4445c3c55e28699a25499df124b621f42bB03c5d08335721d39fde10d585a39e94fda4dfaa8e7d320aad536c6aff1302075d42 +@940d6f4f5d26abf3c9f539949e6a5b4445c3c55e28699a25499df124b621f42bB025b8620c4dad3fcf87c2672fe67b9eacec555e8a770a4dc46d27a821031da85e1B +^@44253766ace60f165e712f078e331fbcb6f61fcdf4056956f02e7be71f2f91da""1Km9UTwK1vvE3tzLrnH5zQ7DzsCQp44UUM"UOP_DUP OP_HASH160 cdcba3c7e2aba87e7bc38725583e867894931022 OP_EQUALVERIFY OP_CHECKSIG*276a914cdcba3c7e2aba87e7bc38725583e86789493102288ac*"1Km9UTwK1vvE3tzLrnH5zQ7DzsCQp44UUM8$J  + @44253766ace60f165e712f078e331fbcb6f61fcdf4056956f02e7be71f2f91da""1G8ucN7tc2SAv29fRuBe47Up9WhEuN12PZ"UOP_DUP OP_HASH160 a608b7022d5821c38ee0ff5f31679f33dfb758d2 OP_EQUALVERIFY OP_CHECKSIG*276a914a608b7022d5821c38ee0ff5f31679f33dfb758d288ac*"1G8ucN7tc2SAv29fRuBe47Up9WhEuN12PZ8$J  +ϔ@44253766ace60f165e712f078e331fbcb6f61fcdf4056956f02e7be71f2f91da""1M1uLc1E4RgBkSccoNDPhZ3mRghgjzEejN"UOP_DUP OP_HASH160 db8e348a0131ff2824e20140e8c1bca6659bd35c OP_EQUALVERIFY OP_CHECKSIG*276a914db8e348a0131ff2824e20140e8c1bca6659bd35c88ac*"1M1uLc1E4RgBkSccoNDPhZ3mRghgjzEejN8$J $ٿ-@00000000000000000000008b80d0529bc20ac2c580f85acd2aed0baf5b82bdf5"@00000000000000000005537c80e7a0c2f8e968e4c72a0c53d376c826e88a06bc2!$-@0000000000000000001581ab9cc657d2730a3371d300cee7b1ebb204389c4e43"@00000000000000000000008b80d0529bc20ac2c580f85acd2aed0baf5b82bdf52 + + +1@2482e6ca3c409d3b8207b4ad75e1e7430a015bda928b2ca7ab9e8b104411d2de$"@0000000000000000001581ab9cc657d2730a3371d300cee7b1ebb204389c4e43(-2 +@7494732248a9d75155f0c44501fa8ca5368efdda9795e7c566e6262e6e1118feB02a44761839b4fab42689c9cdd917519cdc61733d4bc6b459689a3fdf5ef902ade2 +@5bc226a98e1820c5e05d72f07cf8602a3b3664ccdfa8ef668c662736cb8601ebB0231260190892d6f74149a8389701dc8f3eb4eac79ea43acafb783f1c1f79612cbB +Y@2482e6ca3c409d3b8207b4ad75e1e7430a015bda928b2ca7ab9e8b104411d2de""1GroGDek61SR2mThHsH7MBExux8SvHZAXr"UOP_DUP OP_HASH160 adf4e303b7b3442eb91b3a0f77de2c5145d059ff OP_EQUALVERIFY OP_CHECKSIG*276a914adf4e303b7b3442eb91b3a0f77de2c5145d059ff88ac*"1GroGDek61SR2mThHsH7MBExux8SvHZAXr8$J  +@2482e6ca3c409d3b8207b4ad75e1e7430a015bda928b2ca7ab9e8b104411d2de""1JUZJCK1SCsbD3gstdYoSZRh7MCd1ELaNK"UOP_DUP OP_HASH160 bfb0543af111dbe871f6426ede7ddea0f79f8cdb OP_EQUALVERIFY OP_CHECKSIG*276a914bfb0543af111dbe871f6426ede7ddea0f79f8cdb88ac*"1JUZJCK1SCsbD3gstdYoSZRh7MCd1ELaNK8$J  +s@2482e6ca3c409d3b8207b4ad75e1e7430a015bda928b2ca7ab9e8b104411d2de""17J5DmcYFKzvNvMFVjrwgKhCQz5Lx6YBjf"UOP_DUP OP_HASH160 450b594f24a372e3ada25df98fbc6db225a55b08 OP_EQUALVERIFY OP_CHECKSIG*276a914450b594f24a372e3ada25df98fbc6db225a55b0888ac*"17J5DmcYFKzvNvMFVjrwgKhCQz5Lx6YBjf8$J  + + +1@c39a5749154c5f16fe7f3f6535f9e2c8e4f129e296e09ca53f5d29d40f522ae7$"@0000000000000000001581ab9cc657d2730a3371d300cee7b1ebb204389c4e43(-2 +@1e6511a41d3b94b42f828171bf6891b0e109cb138bc0850c7192cafb07ba2a5aB02a262c5f0e85a78cc5e4864718a79af17c9159f6c7b2417690495685720a818312 +@0685ead42fa70f0c4016457f81398709ef8927c4198e7b834f1a9400f7f5dac3B036c185cb477145341570c763b8399fcba63704bc61c9d4fbe80f7d6a05ff54d57B + +@c39a5749154c5f16fe7f3f6535f9e2c8e4f129e296e09ca53f5d29d40f522ae7""1LVDfKMKQRZqhMKZ638AZ3kDuHfhmKEdR9"UOP_DUP OP_HASH160 d5c09afa455893a607b4450d5501e0a2ef10e5e1 OP_EQUALVERIFY OP_CHECKSIG*276a914d5c09afa455893a607b4450d5501e0a2ef10e5e188ac*"1LVDfKMKQRZqhMKZ638AZ3kDuHfhmKEdR98$J  +ѱ@c39a5749154c5f16fe7f3f6535f9e2c8e4f129e296e09ca53f5d29d40f522ae7""1KbhaAu4JaazbTaVXx1HaVkC9MmrGrG9Gu"UOP_DUP OP_HASH160 cc024647b7aa5d926a750031a873265c2f313cf9 OP_EQUALVERIFY OP_CHECKSIG*276a914cc024647b7aa5d926a750031a873265c2f313cf988ac*"1KbhaAu4JaazbTaVXx1HaVkC9MmrGrG9Gu8$J  +a@c39a5749154c5f16fe7f3f6535f9e2c8e4f129e296e09ca53f5d29d40f522ae7""157L3ZAPadmJ4oi8eXAsAnLv3uzRzXMLGm"UOP_DUP OP_HASH160 2d12e56504c7f746e267d82ad72c1a56554312b0 OP_EQUALVERIFY OP_CHECKSIG*276a9142d12e56504c7f746e267d82ad72c1a56554312b088ac*"157L3ZAPadmJ4oi8eXAsAnLv3uzRzXMLGm8$J  + + +1@4aac9d36e662bf09c9bf78769b06fc2861f25d6b8b376db9d546e6b52b786e17$"@0000000000000000001581ab9cc657d2730a3371d300cee7b1ebb204389c4e43(-2 +@5964caeb4326279c571dd238039e701184afceed096a775869e31c3f99883474B037e6e1fd93bd340b23b59d42f5d4802d3bf11b667a737307fd079e57eb5f357922 +@607ff20e251de943f833035b52be2de607b39e456cb3156e568b4c5ccf7f2f53B034fc8b45d001bf4fda6114b8cf622dc39cae5d6f802814925e857433a1e05b6dfB +@4aac9d36e662bf09c9bf78769b06fc2861f25d6b8b376db9d546e6b52b786e17""1DvX1skwKNPPvj2BCMThbHk6qYW68fBhZa"UOP_DUP OP_HASH160 8dc09c57c45997df3ec13ad716e63af882a06867 OP_EQUALVERIFY OP_CHECKSIG*276a9148dc09c57c45997df3ec13ad716e63af882a0686788ac*"1DvX1skwKNPPvj2BCMThbHk6qYW68fBhZa8$J  +@4aac9d36e662bf09c9bf78769b06fc2861f25d6b8b376db9d546e6b52b786e17""15cfDD1RhmhPVjhjEyZ93ax14pwbDoPrzj"UOP_DUP OP_HASH160 329ef552633e376ccd9ffc28dfd4870aeecb5d55 OP_EQUALVERIFY OP_CHECKSIG*276a914329ef552633e376ccd9ffc28dfd4870aeecb5d5588ac*"15cfDD1RhmhPVjhjEyZ93ax14pwbDoPrzj8$J  +@4aac9d36e662bf09c9bf78769b06fc2861f25d6b8b376db9d546e6b52b786e17""17rHSVtpB8Cq3WxtEbobqH8jox7LfzreTp"UOP_DUP OP_HASH160 4b22dc24d36760c19f61634e2fe5fbc43016e7be OP_EQUALVERIFY OP_CHECKSIG*276a9144b22dc24d36760c19f61634e2fe5fbc43016e7be88ac*"17rHSVtpB8Cq3WxtEbobqH8jox7LfzreTp8$J ; $-@0000000000000000001359253ffdbdd9fd722d5c9c0c6a5bf866b70dd20058fa"@0000000000000000001581ab9cc657d2730a3371d300cee7b1ebb204389c4e432 + + + +1@d1a342ecd9712ff3f323acd3200a8dd49bb9af0dddab8b102280485b2950112d$"@0000000000000000001359253ffdbdd9fd722d5c9c0c6a5bf866b70dd20058fa(-2 +@4d541d790684f3e62da6c69b40075baf8feda4a2b631fbde0b17a70ca13ab019B03d26a52f367bd91e035592569d734c6fe4c93e938ddc960d05d339bdcc043d47b2 +@4aac9d36e662bf09c9bf78769b06fc2861f25d6b8b376db9d546e6b52b786e17B03d896e7622f38d499c6effbe7879bfd51ffb4ac79c31a538400ba2596764b6d7eB + @d1a342ecd9712ff3f323acd3200a8dd49bb9af0dddab8b102280485b2950112d""1MxnxDDsiSWcW4tKrewTqbuDgyQabHy9yV"UOP_DUP OP_HASH160 e5efc096769a103e66b84c362eaecba9ccd8d8db OP_EQUALVERIFY OP_CHECKSIG*276a914e5efc096769a103e66b84c362eaecba9ccd8d8db88ac*"1MxnxDDsiSWcW4tKrewTqbuDgyQabHy9yV8$J  +@d1a342ecd9712ff3f323acd3200a8dd49bb9af0dddab8b102280485b2950112d""1L4Y9D1jKcSVaaEhSeEGZay5uYAjd5JhR6"UOP_DUP OP_HASH160 d115a226195be5e944c0ae58cf75671b80c398ca OP_EQUALVERIFY OP_CHECKSIG*276a914d115a226195be5e944c0ae58cf75671b80c398ca88ac*"1L4Y9D1jKcSVaaEhSeEGZay5uYAjd5JhR68$J  +Ƌ @d1a342ecd9712ff3f323acd3200a8dd49bb9af0dddab8b102280485b2950112d""188YGfoxnTKngTZjsvtE88SH97x5cxeSgR"UOP_DUP OP_HASH160 4e35e52dea895964b3b7cfe27a9137dd2ed32c26 OP_EQUALVERIFY OP_CHECKSIG*276a9144e35e52dea895964b3b7cfe27a9137dd2ed32c2688ac*"188YGfoxnTKngTZjsvtE88SH97x5cxeSgR8$J ;$պ-@000000000000000000147771fe11d86f4c88ea1acbe5ddefc8a213098bd93627"@0000000000000000001359253ffdbdd9fd722d5c9c0c6a5bf866b70dd20058fa2$-@0000000000000000000b98693657851238226f4989666f34e499c5ad506902ee"@000000000000000000147771fe11d86f4c88ea1acbe5ddefc8a213098bd936272$-@00000000000000000001419f06990ec53eef2d9c86ef7a0048c902e71e9ed61e"@0000000000000000000b98693657851238226f4989666f34e499c5ad506902ee2$-@000000000000000000187952f4bd3aa113f8bd85477a71f57ee08dec62117722"@00000000000000000001419f06990ec53eef2d9c86ef7a0048c902e71e9ed61e2$Ȁ-@0000000000000000000443b324d5a36260d041f9c98b101c31ca23e043a0f8b2"@000000000000000000187952f4bd3aa113f8bd85477a71f57ee08dec621177222$-@00000000000000000000e2dec7f2cfccddd4b3b8320b0ae952b4b5a4313b63f8"@0000000000000000000443b324d5a36260d041f9c98b101c31ca23e043a0f8b22$-@0000000000000000000e558979280e91217c7872f6e87b07eff705566868926e"@00000000000000000000e2dec7f2cfccddd4b3b8320b0ae952b4b5a4313b63f82$-@0000000000000000000906bb74fb1f76e287676749a0709f459d4031b6be7161"@0000000000000000000e558979280e91217c7872f6e87b07eff705566868926e2N$-@0000000000000000000f55fff945b9ffede53032d24122761266ba46fd2a5209"@0000000000000000000906bb74fb1f76e287676749a0709f459d4031b6be71612L + + +1@aa56f8f4e874814b1000e7a88af743e616a4a916e1b3fc8843654b2826926247$"@0000000000000000000f55fff945b9ffede53032d24122761266ba46fd2a5209(-2 +@44d76edb94d06406ee707cced31b5bfff77713d9219d3fbe718f56bc94d5ba81B02a5c6a78f4cfce7cb2d57b0718d1c8fded6843050e3275381b47c9c3f5b8855e72 +@73e5e61ffda181d8e79dc32dc20772a00acd58775cceaa82f1b980b5453a4852B03d9aee17a833b1f9812bb8c681622a29f875334ee925adb9152192771e7a3eac8B +ùg@aa56f8f4e874814b1000e7a88af743e616a4a916e1b3fc8843654b2826926247""1GTR9HR1SNLk9zy5WdSQMfFK1xvSAuKeFT"UOP_DUP OP_HASH160 a988daec2e2164ebfda55abd667c384c233bee97 OP_EQUALVERIFY OP_CHECKSIG*276a914a988daec2e2164ebfda55abd667c384c233bee9788ac*"1GTR9HR1SNLk9zy5WdSQMfFK1xvSAuKeFT8$J  +@aa56f8f4e874814b1000e7a88af743e616a4a916e1b3fc8843654b2826926247""1MD7MqsHfocYfRZPqWnVKjsMBMbFDLYYSp"UOP_DUP OP_HASH160 ddacd0d43c29a7e78f39b07623bc35a3151fa791 OP_EQUALVERIFY OP_CHECKSIG*276a914ddacd0d43c29a7e78f39b07623bc35a3151fa79188ac*"1MD7MqsHfocYfRZPqWnVKjsMBMbFDLYYSp8$J  + @aa56f8f4e874814b1000e7a88af743e616a4a916e1b3fc8843654b2826926247""1B7j9YMRBVPXXuHcmDt2a8vNrm1wTxJtt4"UOP_DUP OP_HASH160 6ef6efb567a7ba04f422e7aaaf9145221734d108 OP_EQUALVERIFY OP_CHECKSIG*276a9146ef6efb567a7ba04f422e7aaaf9145221734d10888ac*"1B7j9YMRBVPXXuHcmDt2a8vNrm1wTxJtt48$J  + + +1@dde29226a6217894784f487176ce4c3c1eed5cfdd7403c79ddf5e231faae3cbe$"@0000000000000000000f55fff945b9ffede53032d24122761266ba46fd2a5209(-2 +@db069e1b32993a1e0eede0c4617fb55b29c37ced089c0effd43f132a385c054eB0383b873a24a3f835fbbb3ab067beb598244e3c7582a41ec5cc2ffc509f39bf8592 +@aa56f8f4e874814b1000e7a88af743e616a4a916e1b3fc8843654b2826926247B023eb95843dcdca784f5b7999e1082c91f800a1fc7f9831de0009c1300d219fc52B +o@dde29226a6217894784f487176ce4c3c1eed5cfdd7403c79ddf5e231faae3cbe""177XjHfz7i15rR3dW3cuXM787AW2e6adcz"UOP_DUP OP_HASH160 430ce6de4857d4f7a68d62ffe0feb4e101b80681 OP_EQUALVERIFY OP_CHECKSIG*276a914430ce6de4857d4f7a68d62ffe0feb4e101b8068188ac*"177XjHfz7i15rR3dW3cuXM787AW2e6adcz8$J  +@dde29226a6217894784f487176ce4c3c1eed5cfdd7403c79ddf5e231faae3cbe""16qdMZMQnLVdC5QM9Hkdhir9qwhG3kedTn"UOP_DUP OP_HASH160 400af1371811320185205b8c50a785416a1243a7 OP_EQUALVERIFY OP_CHECKSIG*276a914400af1371811320185205b8c50a785416a1243a788ac*"16qdMZMQnLVdC5QM9Hkdhir9qwhG3kedTn8$J  + @dde29226a6217894784f487176ce4c3c1eed5cfdd7403c79ddf5e231faae3cbe""1PG5nP4AMZdXZ9dGkmTrxRVt2W6LmchAm4"UOP_DUP OP_HASH160 f42cffb36c70b6303c8a16ac42caac1e03c6cd9a OP_EQUALVERIFY OP_CHECKSIG*276a914f42cffb36c70b6303c8a16ac42caac1e03c6cd9a88ac*"1PG5nP4AMZdXZ9dGkmTrxRVt2W6LmchAm48$J  + + +1@a344f7e52701d1d1c5fb8a174e7ce891f974eda6692082afd8e745dc045ab9e8$"@0000000000000000000f55fff945b9ffede53032d24122761266ba46fd2a5209(-2 +@e7053464ae476abe7764c61af0bdec09da2d5c0711cebcf3eeaf0cab0950e6b7B035e53466839367cc1fdcb25f5d0deca17f4505a933bed1d213f4b3a457fbf6ab02 +@dde29226a6217894784f487176ce4c3c1eed5cfdd7403c79ddf5e231faae3cbeB033b4d10660dc6d028a9d272239396466cebe6cb70e5bcd1efd827e9e139a381e7B +@a344f7e52701d1d1c5fb8a174e7ce891f974eda6692082afd8e745dc045ab9e8""1Jw7BmbyBs39Hdm7yoVf7ZxuPKmA4UrFzY"UOP_DUP OP_HASH160 c4b5c3886baab028b6128cebae4dce1563904340 OP_EQUALVERIFY OP_CHECKSIG*276a914c4b5c3886baab028b6128cebae4dce156390434088ac*"1Jw7BmbyBs39Hdm7yoVf7ZxuPKmA4UrFzY8$J  +6@a344f7e52701d1d1c5fb8a174e7ce891f974eda6692082afd8e745dc045ab9e8""1BQtqbvx3jxEmSBn9wMtkN1xdf74xWyzBz"UOP_DUP OP_HASH160 723618dca6f7e3c624440c80a8041e138e87f2b7 OP_EQUALVERIFY OP_CHECKSIG*276a914723618dca6f7e3c624440c80a8041e138e87f2b788ac*"1BQtqbvx3jxEmSBn9wMtkN1xdf74xWyzBz8$J  + @a344f7e52701d1d1c5fb8a174e7ce891f974eda6692082afd8e745dc045ab9e8""1KvtHXFXtGi43odjPEi6d1KsBEnVhCxiz4"UOP_DUP OP_HASH160 cfa31eda9ffbf5870bf63d9c7aa288c0b2a40c84 OP_EQUALVERIFY OP_CHECKSIG*276a914cfa31eda9ffbf5870bf63d9c7aa288c0b2a40c8488ac*"1KvtHXFXtGi43odjPEi6d1KsBEnVhCxiz48$J  + + +1@b8a18a6ff0e5abdc6e00c3a8b56dd851e101871482c5cf2bd1fd1ea083157bc8$"@0000000000000000000f55fff945b9ffede53032d24122761266ba46fd2a5209(-2 +@8a2295fa0f985f9b701ae2c49b2a425ed6f8f4668fdd76128e4451b53d31db15B028624c544f9d45f75a75d870ce5385760b393eb6595b4f2103d591e1f573ef1a72 +@a344f7e52701d1d1c5fb8a174e7ce891f974eda6692082afd8e745dc045ab9e8B02383ab47a12eebf1c43241c6146703ba2a23b01877cb2503c42a3135632457bcdB +ͣy@b8a18a6ff0e5abdc6e00c3a8b56dd851e101871482c5cf2bd1fd1ea083157bc8""1NfmmADEskqaErewgmSRJrgF4TPtq7ejKG"UOP_DUP OP_HASH160 edafd01abc98a14916f3bc00d6ad30297fbe35fa OP_EQUALVERIFY OP_CHECKSIG*276a914edafd01abc98a14916f3bc00d6ad30297fbe35fa88ac*"1NfmmADEskqaErewgmSRJrgF4TPtq7ejKG8$J  +G@b8a18a6ff0e5abdc6e00c3a8b56dd851e101871482c5cf2bd1fd1ea083157bc8""15f3qq8T9i1kt55xYVWuH4GsmmxB5KNsHt"UOP_DUP OP_HASH160 3312ae95fae1d4f28c3eb239e61238ccc657e2e0 OP_EQUALVERIFY OP_CHECKSIG*276a9143312ae95fae1d4f28c3eb239e61238ccc657e2e088ac*"15f3qq8T9i1kt55xYVWuH4GsmmxB5KNsHt8$J  + @b8a18a6ff0e5abdc6e00c3a8b56dd851e101871482c5cf2bd1fd1ea083157bc8""1DZ4E4YPKECEe9mzsDNESXzGBCWsAJfxBZ"UOP_DUP OP_HASH160 89b1832f03362580af3f5706e9df6ef287875e04 OP_EQUALVERIFY OP_CHECKSIG*276a91489b1832f03362580af3f5706e9df6ef287875e0488ac*"1DZ4E4YPKECEe9mzsDNESXzGBCWsAJfxBZ8$J  + + +1@8986a543a017e0a5e595f278c776a1d154d36c34e1b7d8f8384c4168dc5ea9af$"@0000000000000000000f55fff945b9ffede53032d24122761266ba46fd2a5209(-2 +@2482e6ca3c409d3b8207b4ad75e1e7430a015bda928b2ca7ab9e8b104411d2deB032f20a3c440b6591ae8ccb1ee4b8234a53e00c2feae1c53289f99da58f29d8fea2 +@02f6cab1affb5813a126f83cbda759bff01ff585ad6e418a0d9379964ad6d61bB024eab600d3d13bfbcc90af5cc991888410ca2883988142a6037d9282f3a36a6d2B +Y@8986a543a017e0a5e595f278c776a1d154d36c34e1b7d8f8384c4168dc5ea9af""1D1ozwDeFcmafK3ywfCgNdUR4v8UZTqKgW"UOP_DUP OP_HASH160 83c8bdf9add77c0b1b489f854d3e47e0817d9307 OP_EQUALVERIFY OP_CHECKSIG*276a91483c8bdf9add77c0b1b489f854d3e47e0817d930788ac*"1D1ozwDeFcmafK3ywfCgNdUR4v8UZTqKgW8$J  +@8986a543a017e0a5e595f278c776a1d154d36c34e1b7d8f8384c4168dc5ea9af""1ABzEtnBvBPcTkorrcAqNw3PgyyDt2krQD"UOP_DUP OP_HASH160 64cd12a4ae747696550aeeed1fe6336ca3382d09 OP_EQUALVERIFY OP_CHECKSIG*276a91464cd12a4ae747696550aeeed1fe6336ca3382d0988ac*"1ABzEtnBvBPcTkorrcAqNw3PgyyDt2krQD8$J  +<@8986a543a017e0a5e595f278c776a1d154d36c34e1b7d8f8384c4168dc5ea9af""1Fb8SpJA8BpYjrqFUPfCGM3DQWSbLbkV2M"UOP_DUP OP_HASH160 a0061e57a978c84ec1ed9f8f0db654812ce52be7 OP_EQUALVERIFY OP_CHECKSIG*276a914a0061e57a978c84ec1ed9f8f0db654812ce52be788ac*"1Fb8SpJA8BpYjrqFUPfCGM3DQWSbLbkV2M8$J  + +1@f510e21a776e37698363e0155f9bed39b8be7c584c241ac0f2dabb808a80bc81$"@0000000000000000000f55fff945b9ffede53032d24122761266ba46fd2a5209(-2 +@a344f7e52701d1d1c5fb8a174e7ce891f974eda6692082afd8e745dc045ab9e8B02098617771d6ec698cf95d6e1c0aac4c10e07371c7d9f6eb5d471809711da86012 +@b8a18a6ff0e5abdc6e00c3a8b56dd851e101871482c5cf2bd1fd1ea083157bc8B0265e51733cd7510f3f3ebc8e844f78e5efad7de7a4f8668cd90b8ba2fd12a6dbe2 +@b8a18a6ff0e5abdc6e00c3a8b56dd851e101871482c5cf2bd1fd1ea083157bc8B02066d04aa6929414927deb231a4252295b9a9ab297bcbb1b386aa8a0ad54c9c2eB +I@f510e21a776e37698363e0155f9bed39b8be7c584c241ac0f2dabb808a80bc81""1G2TE7gg54eFWk55xZXpqwkwXrnQXT33B9"UOP_DUP OP_HASH160 a4d031f7a4bab62d6b7818fbffda658c318bf64d OP_EQUALVERIFY OP_CHECKSIG*276a914a4d031f7a4bab62d6b7818fbffda658c318bf64d88ac*"1G2TE7gg54eFWk55xZXpqwkwXrnQXT33B98$J  +4@f510e21a776e37698363e0155f9bed39b8be7c584c241ac0f2dabb808a80bc81""1H3D3SVwVPrfpjJYpK81oJJkrsmHVam2LE"UOP_DUP OP_HASH160 afece58c478c90ca67736209bc6c33c104e8f667 OP_EQUALVERIFY OP_CHECKSIG*276a914afece58c478c90ca67736209bc6c33c104e8f66788ac*"1H3D3SVwVPrfpjJYpK81oJJkrsmHVam2LE8$J  + @f510e21a776e37698363e0155f9bed39b8be7c584c241ac0f2dabb808a80bc81""1DLo2QfjpFdFVg7r6eCeKZudKix7tJd9vr"UOP_DUP OP_HASH160 875fd4f19100e4ed612ac9939189be80ff8534f0 OP_EQUALVERIFY OP_CHECKSIG*276a914875fd4f19100e4ed612ac9939189be80ff8534f088ac*"1DLo2QfjpFdFVg7r6eCeKZudKix7tJd9vr8$J  + +1@482c78dd7d7e005a14a5b60b96b48473b5b5cd07cc6c950a863b73846e214e38$"@0000000000000000000f55fff945b9ffede53032d24122761266ba46fd2a5209(-2 +@f510e21a776e37698363e0155f9bed39b8be7c584c241ac0f2dabb808a80bc81B03cb44a569b6cabfe473ff5f40cb6f11d47b90ce7d8f03b1672100f0195b74bee82 +@dde29226a6217894784f487176ce4c3c1eed5cfdd7403c79ddf5e231faae3cbeB037f40a44a293e8ed68da975ab4ff9b7534cb4ba74865cb6d928fb916cf206255d2 +@f510e21a776e37698363e0155f9bed39b8be7c584c241ac0f2dabb808a80bc81B02d003fb6901d8dc006bad16cb3ef74a43d0e22ae22501b703dd4411435171176aB +y@482c78dd7d7e005a14a5b60b96b48473b5b5cd07cc6c950a863b73846e214e38""1B5CCifnZRzUJgZmiYLpRcAHuJo6hTSXiG"UOP_DUP OP_HASH160 6e7c45ce42c3f49727f2d6e125d96ddb99709daf OP_EQUALVERIFY OP_CHECKSIG*276a9146e7c45ce42c3f49727f2d6e125d96ddb99709daf88ac*"1B5CCifnZRzUJgZmiYLpRcAHuJo6hTSXiG8$J  +@482c78dd7d7e005a14a5b60b96b48473b5b5cd07cc6c950a863b73846e214e38""17XMKZ96WzvF66r7tRa7L8zwyzzjMmzSxM"UOP_DUP OP_HASH160 478e321ce954d98d7b8ce1709576df0c911b6c9e OP_EQUALVERIFY OP_CHECKSIG*276a914478e321ce954d98d7b8ce1709576df0c911b6c9e88ac*"17XMKZ96WzvF66r7tRa7L8zwyzzjMmzSxM8$J  + @482c78dd7d7e005a14a5b60b96b48473b5b5cd07cc6c950a863b73846e214e38""1GxPCj92117UCNvV6cwvEAkL3zVYH5fkXP"UOP_DUP OP_HASH160 af034c50768a0e4db79620306c455481331b00c6 OP_EQUALVERIFY OP_CHECKSIG*276a914af034c50768a0e4db79620306c455481331b00c688ac*"1GxPCj92117UCNvV6cwvEAkL3zVYH5fkXP8$J $-@00000000000000000009c50f6db0c51c471b2aa0b6358ef87c81565a326e87d7"@0000000000000000000f55fff945b9ffede53032d24122761266ba46fd2a52092$-@00000000000000000018902549a713f3b0c052db277bb33d09ff0284b066adfb"@00000000000000000009c50f6db0c51c471b2aa0b6358ef87c81565a326e87d72$-@0000000000000000000e88287a4461a3bd20a9edd55b36ea729912ad4140bb5b"@00000000000000000018902549a713f3b0c052db277bb33d09ff0284b066adfb2$-@000000000000000000142fa28288dc15214a3fc3d442c08f7ef98548bbb5396a"@0000000000000000000e88287a4461a3bd20a9edd55b36ea729912ad4140bb5b2$-@0000000000000000000f1a7825bc05322fc8f6250e8ad56846cc94c83da381fd"@000000000000000000142fa28288dc15214a3fc3d442c08f7ef98548bbb5396a2$-@0000000000000000000fa2cf6daeacf7eb1c87a2596a4ed639b671863c583f68"@0000000000000000000f1a7825bc05322fc8f6250e8ad56846cc94c83da381fd2)$-@0000000000000000000e4b79b0f9acde16b307840d1b8c9111a1b44e94934997"@0000000000000000000fa2cf6daeacf7eb1c87a2596a4ed639b671863c583f682( + + +1@dc3c347be7eabb24d0f1e633bf15bb20bfb7a53b2ade886bcc0262b587b8555d$"@0000000000000000000e4b79b0f9acde16b307840d1b8c9111a1b44e94934997(-2 +@633d749369eb3f06202a154c46bb3cadc600f49d8a0bf6f70b0427f262dbdecaB02a19d0b7f6abd85b0d61b1550cf68c827cbb30b5dc213b353bda664e18814f68c2 +@dde301201a043e59986aa1c1aef5a6adf40f96df2e50881dcb5ceb29b2163491B03bd45d97731fafa5fd49e26d573ef053f0f35030d056281cd380cb5ff50769dafB +@dc3c347be7eabb24d0f1e633bf15bb20bfb7a53b2ade886bcc0262b587b8555d""15iNtrESEJpKtyAFNMGMpefjTcxYVLwbjr"UOP_DUP OP_HASH160 33b3d56e40228a6ec3e2eae0bb99a3dd3fa403f9 OP_EQUALVERIFY OP_CHECKSIG*276a91433b3d56e40228a6ec3e2eae0bb99a3dd3fa403f988ac*"15iNtrESEJpKtyAFNMGMpefjTcxYVLwbjr8$J  + @dc3c347be7eabb24d0f1e633bf15bb20bfb7a53b2ade886bcc0262b587b8555d""13xBhwLndabSz59FP7ZyEa5165cmtJiguA"UOP_DUP OP_HASH160 206010f4223dbf5641459b5feef7e47bff594010 OP_EQUALVERIFY OP_CHECKSIG*276a914206010f4223dbf5641459b5feef7e47bff59401088ac*"13xBhwLndabSz59FP7ZyEa5165cmtJiguA8$J  +Z@dc3c347be7eabb24d0f1e633bf15bb20bfb7a53b2ade886bcc0262b587b8555d""1Dw51p3jSAQ64B2KRY7y8XpEZbezrydrXn"UOP_DUP OP_HASH160 8ddb5271c17cd74d3083c69934f7df6230c6b096 OP_EQUALVERIFY OP_CHECKSIG*276a9148ddb5271c17cd74d3083c69934f7df6230c6b09688ac*"1Dw51p3jSAQ64B2KRY7y8XpEZbezrydrXn8$J  + + +1@7077bde12817a677a929cb82ad48c7d117f59b201e7cdb0b051a33d26fa30ad0$"@0000000000000000000e4b79b0f9acde16b307840d1b8c9111a1b44e94934997(-2 +@c39a5749154c5f16fe7f3f6535f9e2c8e4f129e296e09ca53f5d29d40f522ae7B02bd66352c02c0d6fb75739f567c6a53d0ad7f34f87d136a6433add3595f71b00a2 +@8f6538db41b60e950381fef2eb33724966cf8d36e82253b3354f7bc928b2362eB03b2a899be703b3a38b0fc624bdf61703abf33aab13b187c1d20a8403eee3e0b5aB +IJ +@7077bde12817a677a929cb82ad48c7d117f59b201e7cdb0b051a33d26fa30ad0""1LdSbnbc41CwtpPJY56sZqkXKzjmYGBSda"UOP_DUP OP_HASH160 d74ebbef54e218a4750b814470791aefd55cb54d OP_EQUALVERIFY OP_CHECKSIG*276a914d74ebbef54e218a4750b814470791aefd55cb54d88ac*"1LdSbnbc41CwtpPJY56sZqkXKzjmYGBSda8$J  + @7077bde12817a677a929cb82ad48c7d117f59b201e7cdb0b051a33d26fa30ad0""13tQPvcz4zCN2kXXGUf2873Q9J5yENZQER"UOP_DUP OP_HASH160 1fa8feb7a7f7a35e14e5c40f2698fde1bf6b9903 OP_EQUALVERIFY OP_CHECKSIG*276a9141fa8feb7a7f7a35e14e5c40f2698fde1bf6b990388ac*"13tQPvcz4zCN2kXXGUf2873Q9J5yENZQER8$J  +@7077bde12817a677a929cb82ad48c7d117f59b201e7cdb0b051a33d26fa30ad0""1DjocA6aU9BTvVccQVBmss4DfVdCdcBZRM"UOP_DUP OP_HASH160 8bb9e278e3f06538175a259c4c9709d094f05c04 OP_EQUALVERIFY OP_CHECKSIG*276a9148bb9e278e3f06538175a259c4c9709d094f05c0488ac*"1DjocA6aU9BTvVccQVBmss4DfVdCdcBZRM8$J ; + + +1@d30e00ae42ae4c005020ae3d26b31fecd2f6296b6a7f32ce1b4d6ef39d9453ec$"@0000000000000000000e4b79b0f9acde16b307840d1b8c9111a1b44e94934997(-2 +@a5203d90db2c05dcb72edd670501eb7a1a92236bd05b6d94bdef8b371c130306B031ffcdaba9ccb5356f9b6fa42823362c35945a7a56f54b29525a1337ee8174ddb2 +@a5203d90db2c05dcb72edd670501eb7a1a92236bd05b6d94bdef8b371c130306B0228fd4723993977e35a6628ca451dd9b5dc6a1c6efed591ef727b9186352385c4B +b@d30e00ae42ae4c005020ae3d26b31fecd2f6296b6a7f32ce1b4d6ef39d9453ec""1QBDiM6DKJShA3r6sbr5sz5jD4KwGMDnc3"UOP_DUP OP_HASH160 fe39aa312fe215c334248666507cdfad5ec4b359 OP_EQUALVERIFY OP_CHECKSIG*276a914fe39aa312fe215c334248666507cdfad5ec4b35988ac*"1QBDiM6DKJShA3r6sbr5sz5jD4KwGMDnc38$J  +d@d30e00ae42ae4c005020ae3d26b31fecd2f6296b6a7f32ce1b4d6ef39d9453ec""16nfmSU8qxDgN5aTsL2x5Tcg3uiE8cr15s"UOP_DUP OP_HASH160 3f7bb524609517f33a222dcda9690149b6ccecb3 OP_EQUALVERIFY OP_CHECKSIG*276a9143f7bb524609517f33a222dcda9690149b6ccecb388ac*"16nfmSU8qxDgN5aTsL2x5Tcg3uiE8cr15s8$J  +O@d30e00ae42ae4c005020ae3d26b31fecd2f6296b6a7f32ce1b4d6ef39d9453ec""1LbNj8hn9iwNMLqg5As66ZUC1pSvHuQa5h"UOP_DUP OP_HASH160 d6eaab3d1bb9e9ad199d1b70236fda16b5d6ac0e OP_EQUALVERIFY OP_CHECKSIG*276a914d6eaab3d1bb9e9ad199d1b70236fda16b5d6ac0e88ac*"1LbNj8hn9iwNMLqg5As66ZUC1pSvHuQa5h8$J ; + +1@ce9389dd9d29ee74acc17a424e28a01c0bf6dd93c0a433dacbef8b588291d7c5$"@0000000000000000000e4b79b0f9acde16b307840d1b8c9111a1b44e94934997(-2 +@289e92593d3b4f6537a2f4f2d05381da6d85772586f8b46984952d9d23999e7bB0200022a8123a4c2aae07d34e96cc4997b18e9019a270c64246e7b966e7f027c9c2 +@150d0bfbf8b3d440c68fa868d71a63da81cf7f0a728ff821d96bc7c5cb5db703B03f7c2c277fa629a48134b6793c7f31bfe7a2a02d4f795bdfab7c8c7e1e4986301B +@ce9389dd9d29ee74acc17a424e28a01c0bf6dd93c0a433dacbef8b588291d7c5""1HMggdfEb8J52qx87Xw8DGNuBrhvHspCKi"UOP_DUP OP_HASH160 b36b752e34956a86b68b60228a0f45f1acfa41ae OP_EQUALVERIFY OP_CHECKSIG*276a914b36b752e34956a86b68b60228a0f45f1acfa41ae88ac*"1HMggdfEb8J52qx87Xw8DGNuBrhvHspCKi8$J  +@ce9389dd9d29ee74acc17a424e28a01c0bf6dd93c0a433dacbef8b588291d7c5""17ED5UPybj8k3CtV4BLJGYeeo4hS4ruT6H"UOP_DUP OP_HASH160 44503e611a8245af89cfef5b16ccaa24f313a90c OP_EQUALVERIFY OP_CHECKSIG*276a91444503e611a8245af89cfef5b16ccaa24f313a90c88ac*"17ED5UPybj8k3CtV4BLJGYeeo4hS4ruT6H8$J  $-@000000000000000000134534d7eed5e75ade601747ed70e78ff0ea29ac99996e"@0000000000000000000e4b79b0f9acde16b307840d1b8c9111a1b44e949349972,$-@0000000000000000000f8a7e5f8002a1a3506543c60011bc34dad8f199c71de5"@000000000000000000134534d7eed5e75ade601747ed70e78ff0ea29ac99996e2+ + +1@e4433aa7305080ff0e53f44dc501c29f316ca3466aee097d79d4b10a6fc71daf$"@0000000000000000000f8a7e5f8002a1a3506543c60011bc34dad8f199c71de5(-2 +@482c78dd7d7e005a14a5b60b96b48473b5b5cd07cc6c950a863b73846e214e38B03bb4e953427bd9500e52307d6a961d46f56afec8a26fffe568d7bd73cc75545512 +@2451dad3a5d29926d6fd64bf7810eac014037c78cfa4e63f44bdc059d02e79ddB034dd6d8d9b1a0d36a290088e560faa3177b8f91bc6750f378cf4ea7a2d3d85b58B +y@e4433aa7305080ff0e53f44dc501c29f316ca3466aee097d79d4b10a6fc71daf""1B3NqFm3BSkZcLvhJWzYuxbTL8aMSLSmwC"UOP_DUP OP_HASH160 6e24506dc8872d117a1c495ec6d046d1ccd9af8e OP_EQUALVERIFY OP_CHECKSIG*276a9146e24506dc8872d117a1c495ec6d046d1ccd9af8e88ac*"1B3NqFm3BSkZcLvhJWzYuxbTL8aMSLSmwC8$J  +@e4433aa7305080ff0e53f44dc501c29f316ca3466aee097d79d4b10a6fc71daf""1KCCRzzJ6tQ5fafQY8cfgtMfoLBpbfBc3m"UOP_DUP OP_HASH160 c79061bfb90ff8fcc7736b06d0c0075db47ff392 OP_EQUALVERIFY OP_CHECKSIG*276a914c79061bfb90ff8fcc7736b06d0c0075db47ff39288ac*"1KCCRzzJ6tQ5fafQY8cfgtMfoLBpbfBc3m8$J  +@e4433aa7305080ff0e53f44dc501c29f316ca3466aee097d79d4b10a6fc71daf"l"6OP_RETURN 1001c2a47688edf393debc12e459679f74cde900fc29*06a161001c2a47688edf393debc12e459679f74cde900fc292¤v޼Ygt)8$J  + + +1@928e7e6bc5a727ee8f7419b19244a5282fcb7313c17d462024002c1367849297$"@0000000000000000000f8a7e5f8002a1a3506543c60011bc34dad8f199c71de5(-2 +@19e0cd6e4bd6897f64727136cd393c994a38f7c66c5fdb75130ea8f19079de01B029c89616d0c5f96c028aaf7e5f0df917568a6f2a369ead90ecbac57d3975b21762 +@19e0cd6e4bd6897f64727136cd393c994a38f7c66c5fdb75130ea8f19079de01B03aeff044c13cd274b7c1d4be3bfdd1b9acdb175f9b6fcece529e56520b218b3e1B + @928e7e6bc5a727ee8f7419b19244a5282fcb7313c17d462024002c1367849297""1A2imyeEWnD1APfBcxhm1wtYgK2BrXvg4M"UOP_DUP OP_HASH160 630c6ba0237c983894c73d5744ebe6e1c46a20c2 OP_EQUALVERIFY OP_CHECKSIG*276a914630c6ba0237c983894c73d5744ebe6e1c46a20c288ac*"1A2imyeEWnD1APfBcxhm1wtYgK2BrXvg4M8$J  + @928e7e6bc5a727ee8f7419b19244a5282fcb7313c17d462024002c1367849297""19sXyZPChZDTx9BjzJte75fToNz6Wid4S1"UOP_DUP OP_HASH160 614fa93e54e4bbf3c5f2ba1cc95b35827e695dc1 OP_EQUALVERIFY OP_CHECKSIG*276a914614fa93e54e4bbf3c5f2ba1cc95b35827e695dc188ac*"19sXyZPChZDTx9BjzJte75fToNz6Wid4S18$J  +@928e7e6bc5a727ee8f7419b19244a5282fcb7313c17d462024002c1367849297""1JkNRB3ADZqtD7ed2ApsHVC6qvNVY7sBum"UOP_DUP OP_HASH160 c2ade70aa439c810b017347e3e4f0aedd5900e94 OP_EQUALVERIFY OP_CHECKSIG*276a914c2ade70aa439c810b017347e3e4f0aedd5900e9488ac*"1JkNRB3ADZqtD7ed2ApsHVC6qvNVY7sBum8$J ; + + +1@4d03d067b5fd1db76cca79e23679bf0c47f83e9d7fc116c1bd9dc78ac82434f3$"@0000000000000000000f8a7e5f8002a1a3506543c60011bc34dad8f199c71de5(-2 +@7077bde12817a677a929cb82ad48c7d117f59b201e7cdb0b051a33d26fa30ad0B0200c4bd0b2e379d07ffca46377e7a74760cebff548b95c30b8bdc7c66392121ab2 +@25ce4021ec62051eaa976519fa25e56359c58ca5aecefec96b2be602db5cf94cB03c1722002de534a3219600c62f0cd0b7b656ee4133f0a0c03b93a84d5c8be68f2B + @4d03d067b5fd1db76cca79e23679bf0c47f83e9d7fc116c1bd9dc78ac82434f3""14jX6SxApNijsNBviJFSbjvt6guhN73QJp"UOP_DUP OP_HASH160 28f2f808f86a213ec639a496b03898e667fc6862 OP_EQUALVERIFY OP_CHECKSIG*276a91428f2f808f86a213ec639a496b03898e667fc686288ac*"14jX6SxApNijsNBviJFSbjvt6guhN73QJp8$J  + @4d03d067b5fd1db76cca79e23679bf0c47f83e9d7fc116c1bd9dc78ac82434f3""1KUQ9Kqgdx3m4pkU2gzogaj33qPt98PmVG"UOP_DUP OP_HASH160 caa0d0777ea716e854cf734c276afdd104b15476 OP_EQUALVERIFY OP_CHECKSIG*276a914caa0d0777ea716e854cf734c276afdd104b1547688ac*"1KUQ9Kqgdx3m4pkU2gzogaj33qPt98PmVG8$J  +@4d03d067b5fd1db76cca79e23679bf0c47f83e9d7fc116c1bd9dc78ac82434f3""1F5D54hXFSS3VkXsbCDmTiy5xf1DL2DAfn"UOP_DUP OP_HASH160 9a5d801a678945893f17f783db869a1dc8ccf331 OP_EQUALVERIFY OP_CHECKSIG*276a9149a5d801a678945893f17f783db869a1dc8ccf33188ac*"1F5D54hXFSS3VkXsbCDmTiy5xf1DL2DAfn8$J ; + +1@17c6413b1347595a3d1be5923030cacb1b733691132e4992208902013da0b8a6$"@0000000000000000000f8a7e5f8002a1a3506543c60011bc34dad8f199c71de5(-2 +@a344f7e52701d1d1c5fb8a174e7ce891f974eda6692082afd8e745dc045ab9e8B023f9de6e051fc241d5addb3eec9677e367a7ff10892e2d1b6cca7a78a55a30b132 +@ab310af60881899b65c87dd6db5ddd31b73d68e5000d20820d55db940fa84ca2B02be0ffa16f1d8f59782491aa8dec6ba91d9f3ecb19604144dd1d783ab3888a623B +ح@17c6413b1347595a3d1be5923030cacb1b733691132e4992208902013da0b8a6""19UAWfx8EJuvgZVRJQRSegyxj1ntRobn7P"UOP_DUP OP_HASH160 5ce42d56b878e5f0df9d1d9aab1aa55f3d96fafc OP_EQUALVERIFY OP_CHECKSIG*276a9145ce42d56b878e5f0df9d1d9aab1aa55f3d96fafc88ac*"19UAWfx8EJuvgZVRJQRSegyxj1ntRobn7P8$J  +?@17c6413b1347595a3d1be5923030cacb1b733691132e4992208902013da0b8a6""19UAWfx8EJuvgZVRJQRSegyxj1ntRobn7P"UOP_DUP OP_HASH160 5ce42d56b878e5f0df9d1d9aab1aa55f3d96fafc OP_EQUALVERIFY OP_CHECKSIG*276a9145ce42d56b878e5f0df9d1d9aab1aa55f3d96fafc88ac*"19UAWfx8EJuvgZVRJQRSegyxj1ntRobn7P8$J   +%@17c6413b1347595a3d1be5923030cacb1b733691132e4992208902013da0b8a6""1KbrZBpUHZ3ct99vHEKyxBC4L3dYA5PxpY"UOP_DUP OP_HASH160 cc09c5efc14974c1534459a53ec834a2f07a4229 OP_EQUALVERIFY OP_CHECKSIG*276a914cc09c5efc14974c1534459a53ec834a2f07a422988ac*"1KbrZBpUHZ3ct99vHEKyxBC4L3dYA5PxpY8$J  +@17c6413b1347595a3d1be5923030cacb1b733691132e4992208902013da0b8a6"l"6OP_RETURN 11010e102fc8243eb904a538642febc2dd7556f2cba8*06a1611010e102fc8243eb904a538642febc2dd7556f2cba82/$>8d/uV˨8$J  $-@000000000000000000138435ad70fc03ecbaf6852901ed5500bb7c530ff70a09"@0000000000000000000f8a7e5f8002a1a3506543c60011bc34dad8f199c71de52 + +1@4b47c20abb9cf4703036248e2acd6cfb851a3057d9822ff3834e000a3400304b$"@000000000000000000138435ad70fc03ecbaf6852901ed5500bb7c530ff70a09(-2 +@928e7e6bc5a727ee8f7419b19244a5282fcb7313c17d462024002c1367849297B02634451eb66e75502f880f44d2636a67de2eed2bb19d5523ac10157f0df07cd7a2 +@581e96c7d38b558134526b82dad43358979cd580450e108b697d74202eadf0fdB0359fdc71166e457769b57adaba8f3d00921bb4b067420797847f82e1c5b2919a42 +@928e7e6bc5a727ee8f7419b19244a5282fcb7313c17d462024002c1367849297B033f488bb58c3669d211f6a5ad42880136b1fa00f7364bb457db1e9a98d902ffc4B + @4b47c20abb9cf4703036248e2acd6cfb851a3057d9822ff3834e000a3400304b""13reb81tcgViD3CKLypSUZUcHirvK5Ci1n"UOP_DUP OP_HASH160 1f5402c532d7e38f60816ec5366325aa3c5fc755 OP_EQUALVERIFY OP_CHECKSIG*276a9141f5402c532d7e38f60816ec5366325aa3c5fc75588ac*"13reb81tcgViD3CKLypSUZUcHirvK5Ci1n8$J  + @4b47c20abb9cf4703036248e2acd6cfb851a3057d9822ff3834e000a3400304b""1ABtMm1DGb3RQaTbz2k1nmULW7EoDdhVEf"UOP_DUP OP_HASH160 64c829c094613d9abf4fb839f4c6a33dfbd1bf2e OP_EQUALVERIFY OP_CHECKSIG*276a91464c829c094613d9abf4fb839f4c6a33dfbd1bf2e88ac*"1ABtMm1DGb3RQaTbz2k1nmULW7EoDdhVEf8$J  +@4b47c20abb9cf4703036248e2acd6cfb851a3057d9822ff3834e000a3400304b""1AVotDLEmeJVF4itmZyhfaWnrty2U4GSzg"UOP_DUP OP_HASH160 682bea384ee236e271e66d58401f328e0a5131d4 OP_EQUALVERIFY OP_CHECKSIG*276a914682bea384ee236e271e66d58401f328e0a5131d488ac*"1AVotDLEmeJVF4itmZyhfaWnrty2U4GSzg8$J ;$-@0000000000000000000ed7c81c02d3fc2a1a09a69626de3ee2b9361d89d1bb8a"@000000000000000000138435ad70fc03ecbaf6852901ed5500bb7c530ff70a092$Ƞ-@00000000000000000014f827ec4dae27632633d31d8488a2b596a007a0764b87"@0000000000000000000ed7c81c02d3fc2a1a09a69626de3ee2b9361d89d1bb8a2 $ԑ-@00000000000000000009382cf822991832125391cf6e2605b24bba3350d177e2"@00000000000000000014f827ec4dae27632633d31d8488a2b596a007a0764b872 + + + +1@b40e2067b6793ef64d48009d237e1f55d3141c778f000ef6954dca73a5a72104$"@00000000000000000009382cf822991832125391cf6e2605b24bba3350d177e2(ԑ-2 +@4d03d067b5fd1db76cca79e23679bf0c47f83e9d7fc116c1bd9dc78ac82434f3B0361aae104bf7d14cfe74f38f21c1a8b2d7ddddf5b7a7f4c2a5d138703ceab34992 +@efcb57a12f946c8015fd3d460f92cba30e2581af32515080be00ae647cfe4c85B022dad7016811c1a98977bfd11ff52623c83ade1b50196573c877e34bc75abc7fdB + @b40e2067b6793ef64d48009d237e1f55d3141c778f000ef6954dca73a5a72104""1F7XRurbQXuYvpCscyAmGp8zCve3ucGPDt"UOP_DUP OP_HASH160 9acda873b013022fe5f94a0b4e7ee74f1391be1a OP_EQUALVERIFY OP_CHECKSIG*276a9149acda873b013022fe5f94a0b4e7ee74f1391be1a88ac*"1F7XRurbQXuYvpCscyAmGp8zCve3ucGPDt8$J  + @b40e2067b6793ef64d48009d237e1f55d3141c778f000ef6954dca73a5a72104""18qPJ5ME98J5gGjPN7UQ8gsm3LkUNWk1Sh"UOP_DUP OP_HASH160 55ef7503003ec0f07d093382b917fafcada5d52a OP_EQUALVERIFY OP_CHECKSIG*276a91455ef7503003ec0f07d093382b917fafcada5d52a88ac*"18qPJ5ME98J5gGjPN7UQ8gsm3LkUNWk1Sh8$J  +@b40e2067b6793ef64d48009d237e1f55d3141c778f000ef6954dca73a5a72104""15ohheU2UXX8qDFTtp3C42WBGRHYdQHFoj"UOP_DUP OP_HASH160 34b59cd91f0b7fe3cb066c112ae07e7892336ed7 OP_EQUALVERIFY OP_CHECKSIG*276a91434b59cd91f0b7fe3cb066c112ae07e7892336ed788ac*"15ohheU2UXX8qDFTtp3C42WBGRHYdQHFoj8$J ; $-@0000000000000000001902f643f7d6435d9e03d7c4a5c2584d36c8e68538e84f"@00000000000000000009382cf822991832125391cf6e2605b24bba3350d177e22 + + + +1@95c2902a6687ef91b4592df45fadb08960c16ef3711eb97287842b9dbc3e73a0$"@0000000000000000001902f643f7d6435d9e03d7c4a5c2584d36c8e68538e84f(-2 +@b40e2067b6793ef64d48009d237e1f55d3141c778f000ef6954dca73a5a72104B024e3848959b9b267bfb641351487094e9589f8fe2ae4958d7e552df4b34784cb42 +@efbbe1f9c03c9e0ee784c86baccd234693cf816fc471b85165028f3a0a597c02B02897bd22a7d1f438d48d43125af67bac3811d04921ca22275a0071581284cad4eB + @95c2902a6687ef91b4592df45fadb08960c16ef3711eb97287842b9dbc3e73a0""1HTf2CkioE91iH4qLrVMjMb3tDd7WRRcw7"UOP_DUP OP_HASH160 b48c90ceff6a721d0226412fc8fffdefbae6efa9 OP_EQUALVERIFY OP_CHECKSIG*276a914b48c90ceff6a721d0226412fc8fffdefbae6efa988ac*"1HTf2CkioE91iH4qLrVMjMb3tDd7WRRcw78$J  + @95c2902a6687ef91b4592df45fadb08960c16ef3711eb97287842b9dbc3e73a0""154zNsTA6rMDLdP11ZpUa3Z8B4TV27rE48"UOP_DUP OP_HASH160 2ca1a5a0b41032a41322658739a3ee9d4aac73ed OP_EQUALVERIFY OP_CHECKSIG*276a9142ca1a5a0b41032a41322658739a3ee9d4aac73ed88ac*"154zNsTA6rMDLdP11ZpUa3Z8B4TV27rE488$J  +θ @95c2902a6687ef91b4592df45fadb08960c16ef3711eb97287842b9dbc3e73a0""1AvLnPs5ozJMWbvKhciNMSh9TkPUycWSyq"UOP_DUP OP_HASH160 6ccfb11738eebf7eade37d34f50778b7084bd662 OP_EQUALVERIFY OP_CHECKSIG*276a9146ccfb11738eebf7eade37d34f50778b7084bd66288ac*"1AvLnPs5ozJMWbvKhciNMSh9TkPUycWSyq8$J ;$Ж-@0000000000000000000496e74ea4b40c9fe0211b32bfdf9220726c3a3fc1e53f"@0000000000000000001902f643f7d6435d9e03d7c4a5c2584d36c8e68538e84f2 $-@00000000000000000001e0a5897d992fb379554ec6908f8bd0655b5b9b688199"@0000000000000000000496e74ea4b40c9fe0211b32bfdf9220726c3a3fc1e53f2 + +1@5dad67f34f351262c2f2efb8f2349a0b9ddf1e63e63aba07e0bbe91c6e03f3cc$"@00000000000000000001e0a5897d992fb379554ec6908f8bd0655b5b9b688199(-2 +@dec0bc4cd6f93d28da516186f5ff3509c20b013f031516870d74046c86522349B03b5e0b99a0c1702d812d49be6502c0e08bd69da9a46f7165ba65b37bacff1b37e2 +@2749f60cc42af91eaab218f6389f85bb2b6eff0417a6138a47ca551ebc02b72fB0282b5b0d4b6b6ce57e749afd9c81800b6b4c9848b4a08a90e7ac20e03ace1822aB +@5dad67f34f351262c2f2efb8f2349a0b9ddf1e63e63aba07e0bbe91c6e03f3cc""1EeBhFtwZQFmvKDQHEkDBz29D9X6btTpZE"UOP_DUP OP_HASH160 95a1f3e72ecd5cdc727aa7a7e6afdbcdc85746e8 OP_EQUALVERIFY OP_CHECKSIG*276a91495a1f3e72ecd5cdc727aa7a7e6afdbcdc85746e888ac*"1EeBhFtwZQFmvKDQHEkDBz29D9X6btTpZE8$J  +ذ@5dad67f34f351262c2f2efb8f2349a0b9ddf1e63e63aba07e0bbe91c6e03f3cc""1EeBhFtwZQFmvKDQHEkDBz29D9X6btTpZE"UOP_DUP OP_HASH160 95a1f3e72ecd5cdc727aa7a7e6afdbcdc85746e8 OP_EQUALVERIFY OP_CHECKSIG*276a91495a1f3e72ecd5cdc727aa7a7e6afdbcdc85746e888ac*"1EeBhFtwZQFmvKDQHEkDBz29D9X6btTpZE8$J   +@5dad67f34f351262c2f2efb8f2349a0b9ddf1e63e63aba07e0bbe91c6e03f3cc""1AkfbuERqnd5sSe6sPgRjEkgGsLtyFeqHp"UOP_DUP OP_HASH160 6afb3dd3f2c9ebd41e635f41e747f830dd6bbe6a OP_EQUALVERIFY OP_CHECKSIG*276a9146afb3dd3f2c9ebd41e635f41e747f830dd6bbe6a88ac*"1AkfbuERqnd5sSe6sPgRjEkgGsLtyFeqHp8$J  +@5dad67f34f351262c2f2efb8f2349a0b9ddf1e63e63aba07e0bbe91c6e03f3cc"l"6OP_RETURN 11010228b00686f746b7a671fdd580df8c673cb6c22d*06a1611010228b00686f746b7a671fdd580df8c673cb6c22d2(FqՀߌg<-8$J $-@000000000000000000157bd96cb0185dfece8c09fdab71b725862e96709d24d0"@00000000000000000001e0a5897d992fb379554ec6908f8bd0655b5b9b6881992$ߊ-@0000000000000000000b392282ae7c276991ca30b429a2bdae6b767e7c12e6db"@000000000000000000157bd96cb0185dfece8c09fdab71b725862e96709d24d02$-@0000000000000000000bd176e52f862c112eb2c4f3e1be65f409bfab7a63aeea"@0000000000000000000b392282ae7c276991ca30b429a2bdae6b767e7c12e6db2 $-@00000000000000000019aeffe91bb60d2444c1633a145046108f02bd76322241"@0000000000000000000bd176e52f862c112eb2c4f3e1be65f409bfab7a63aeea2 + +1@b079b9e7f4ef31bdad5c78a8c64e645b377579c53c3d5711a5bbb2c91dcbd54c$"@00000000000000000019aeffe91bb60d2444c1633a145046108f02bd76322241(-2 +@95c2902a6687ef91b4592df45fadb08960c16ef3711eb97287842b9dbc3e73a0B0349334ab4c0cb391558bdb7acbed27bfc34ae5a36fdf9a49e03a52a7ac07d0eb52 +@1e6511a41d3b94b42f828171bf6891b0e109cb138bc0850c7192cafb07ba2a5aB03d2568bb2f09c0a648cdf464a1851bd8086576af1a1537e3b493309f4493ff9bd2 +@70b6bdc1da143f25da4caa7e658ea99d6f059ad4fd048057f64156a55883e776B03be5c7831ca472bd6da70844765f05260a22f86fdf6252662421214cf76ad934dB +@b079b9e7f4ef31bdad5c78a8c64e645b377579c53c3d5711a5bbb2c91dcbd54c""17KexE7P4XZ1njvxokTTBXRQmMSGL7itXy"UOP_DUP OP_HASH160 4557ec42befbd0a7705e77268d4ca09167322a87 OP_EQUALVERIFY OP_CHECKSIG*276a9144557ec42befbd0a7705e77268d4ca09167322a8788ac*"17KexE7P4XZ1njvxokTTBXRQmMSGL7itXy8$J  + @b079b9e7f4ef31bdad5c78a8c64e645b377579c53c3d5711a5bbb2c91dcbd54c""1Ary3ZJMTxbJQysKsgaNiH4xdLkAv3BnBA"UOP_DUP OP_HASH160 6c2c4c242fb4856c8963af8eef3fc7e0be6f7ace OP_EQUALVERIFY OP_CHECKSIG*276a9146c2c4c242fb4856c8963af8eef3fc7e0be6f7ace88ac*"1Ary3ZJMTxbJQysKsgaNiH4xdLkAv3BnBA8$J  +@b079b9e7f4ef31bdad5c78a8c64e645b377579c53c3d5711a5bbb2c91dcbd54c""1JxeGEL9DrvRy8uoemRiyvuSUH64eXAakm"UOP_DUP OP_HASH160 c5001f180bedef3e8a1ffe34f792b4269ceea796 OP_EQUALVERIFY OP_CHECKSIG*276a914c5001f180bedef3e8a1ffe34f792b4269ceea79688ac*"1JxeGEL9DrvRy8uoemRiyvuSUH64eXAakm8$J ;$-@000000000000000000100a183494b326af2260ff7e8906aefd5157270e502ee4"@00000000000000000019aeffe91bb60d2444c1633a145046108f02bd763222412$-@000000000000000000171fce4eadc23ccc69c13308705ac396f4b3b8bf9f861e"@000000000000000000100a183494b326af2260ff7e8906aefd5157270e502ee42$-@00000000000000000000745276d81edbde31a6c69c228525ffa63ff573682edf"@000000000000000000171fce4eadc23ccc69c13308705ac396f4b3b8bf9f861e26Ý$-@0000000000000000000d6bc18906ac9302c3bc14a6f38e71dd153327ac13e62d"@00000000000000000000745276d81edbde31a6c69c228525ffa63ff573682edf25 + + +1@21c842e1314307fb9fb6c9151a5626358382f952fff1f6729f0f818cade63b61Ý$"@0000000000000000000d6bc18906ac9302c3bc14a6f38e71dd153327ac13e62d(-2 +@847b79b99088c4c76fc8b8d77a4e6f7a0a29d0d5664aca81ee67f8862f548479B029dc1e20eccac739df31e700332f2c60f39dd1855aebe02a419b2289626d346782 +@db26a603a05769f28bf8f1786ea70b246c3fe76d7d3958cc98b81a74d8f7ea47B0220a81022f05804963fc81a7b8614bb9522882194a5cb543034eb47222457bdc1B +@21c842e1314307fb9fb6c9151a5626358382f952fff1f6729f0f818cade63b61""1HNu54PqDoCbqfNxKBvz6EEgdG6fYRoZqq"UOP_DUP OP_HASH160 b3a636ac1bb54c61f61fc6bd2b7b142f2dda6942 OP_EQUALVERIFY OP_CHECKSIG*276a914b3a636ac1bb54c61f61fc6bd2b7b142f2dda694288ac*"1HNu54PqDoCbqfNxKBvz6EEgdG6fYRoZqq8Ý$J  +@21c842e1314307fb9fb6c9151a5626358382f952fff1f6729f0f818cade63b61""12Pdx1fZJDfNCJcwdQxtTXPKfHpNeLCT17"UOP_DUP OP_HASH160 0f401eb6b7cd5125a8df45acbb7968438674cb5b OP_EQUALVERIFY OP_CHECKSIG*276a9140f401eb6b7cd5125a8df45acbb7968438674cb5b88ac*"12Pdx1fZJDfNCJcwdQxtTXPKfHpNeLCT178Ý$J  +_@21c842e1314307fb9fb6c9151a5626358382f952fff1f6729f0f818cade63b61""12zNbaS3JBkkRyjoT4fb5zgYh5cu3kj7H3"UOP_DUP OP_HASH160 15d1dcf80951843bc3c9b05356e25f5083081e29 OP_EQUALVERIFY OP_CHECKSIG*276a91415d1dcf80951843bc3c9b05356e25f5083081e2988ac*"12zNbaS3JBkkRyjoT4fb5zgYh5cu3kj7H38Ý$J  + + +1@c1124735315039b362d2fab53738ac2319afe69c57d2cefc008d0efc7593360cÝ$"@0000000000000000000d6bc18906ac9302c3bc14a6f38e71dd153327ac13e62d(-2 +@a179293c84bb36f442cb46a888fbdeb1576b1ea915e42f544f8f1989307da771B03c957e58ac94373d717dce5780f87791686d377db18738e250b635fa22ac50d072 +@21c842e1314307fb9fb6c9151a5626358382f952fff1f6729f0f818cade63b61B0379cbf60f5a8cc9775382dc782ff95f09231b6d365ea8bf7886d478abe2f1b379B +T@c1124735315039b362d2fab53738ac2319afe69c57d2cefc008d0efc7593360c""15JsVTiaeasFDUGaa6D4f1L2V4wvaAC1mA"UOP_DUP OP_HASH160 2f41b8d4fbdac7676c14a15f4782edfe05c96ed8 OP_EQUALVERIFY OP_CHECKSIG*276a9142f41b8d4fbdac7676c14a15f4782edfe05c96ed888ac*"15JsVTiaeasFDUGaa6D4f1L2V4wvaAC1mA8Ý$J  +@c1124735315039b362d2fab53738ac2319afe69c57d2cefc008d0efc7593360c""1MyAL8iaJXQ8dc834cMSxMRTGqyVZQBjBR"UOP_DUP OP_HASH160 e6019904ab178568d53ae6673a2b117f68748727 OP_EQUALVERIFY OP_CHECKSIG*276a914e6019904ab178568d53ae6673a2b117f6874872788ac*"1MyAL8iaJXQ8dc834cMSxMRTGqyVZQBjBR8Ý$J  +ں]@c1124735315039b362d2fab53738ac2319afe69c57d2cefc008d0efc7593360c""1B3L9xJwzUAKj2uipVQBYVt6zkzEXdmM4b"UOP_DUP OP_HASH160 6e22143b12df2ee62c1f0fcd5168e91bc08e6d15 OP_EQUALVERIFY OP_CHECKSIG*276a9146e22143b12df2ee62c1f0fcd5168e91bc08e6d1588ac*"1B3L9xJwzUAKj2uipVQBYVt6zkzEXdmM4b8Ý$J  + +1@57e685d8b74c4253508e8556fb218fc65c48c1561c5f100b55371e685e2d05d0Ý$"@0000000000000000000d6bc18906ac9302c3bc14a6f38e71dd153327ac13e62d(-2 +@b4efa7d6ac46ec91798318d281e161e3b6c774b210945e7111271b6add53fb18B026db6b3dc53e54a889745b01c11cdb35575bc6ff4d648a4314c948be3c371224d2 +@00627a4981f9d3b16a9d57f8d7f84c03f21512870d82b96ac143287f760a2d51B0394282a96ac8a6d1a91561a820f60c8c61795c18af17723f32084d890c3eaf4bd2 +@3128af84f8dae51923b13caaa0a53164c41507a6bacd4ff901d7b19aeb80f0e3B0247d6eff9e58de2667f06ca91fc0bd15410dd1be9b897c7a03021b0d26bf3170b2 +@c7c55cea4f13f69a67f02acdcd8ad3a2a01fe5acbc01f190cb36607adf6ca14eB03c2c12c51089969136f700cce504af0207e8ad91e36c619898ccdc2ca2c690ce5B +ʍ@57e685d8b74c4253508e8556fb218fc65c48c1561c5f100b55371e685e2d05d0""1PPRUr7B1ZF7BRoGjXn7oaTRaM179fd1xd"UOP_DUP OP_HASH160 f5905a76aba2acea3a70e0867276fa48c5872bd0 OP_EQUALVERIFY OP_CHECKSIG*276a914f5905a76aba2acea3a70e0867276fa48c5872bd088ac*"1PPRUr7B1ZF7BRoGjXn7oaTRaM179fd1xd8Ý$J  +Z@57e685d8b74c4253508e8556fb218fc65c48c1561c5f100b55371e685e2d05d0""18udJPbYZSsp8bGS4wWLaAat2hc1isGnjN"UOP_DUP OP_HASH160 56bccfe365161e7535226fdc994e806ba0407572 OP_EQUALVERIFY OP_CHECKSIG*276a91456bccfe365161e7535226fdc994e806ba040757288ac*"18udJPbYZSsp8bGS4wWLaAat2hc1isGnjN8Ý$J  +@57e685d8b74c4253508e8556fb218fc65c48c1561c5f100b55371e685e2d05d0""1GL6yPiroNxXECUmjweg5RuHG19LzsfLRc"UOP_DUP OP_HASH160 a826c682b51fcfc2f35cab0b6e7e5c1666915adb OP_EQUALVERIFY OP_CHECKSIG*276a914a826c682b51fcfc2f35cab0b6e7e5c1666915adb88ac*"1GL6yPiroNxXECUmjweg5RuHG19LzsfLRc8Ý$J  + +1@bea919af1fffce5da79b723483d08cc94aaa2201c5676f9b1ac86ba9aab01e11Ý$"@0000000000000000000d6bc18906ac9302c3bc14a6f38e71dd153327ac13e62d(-2 +@aafc70893ac3d0d482ab19223a3d93dc25254470b83e729c8a95777a25a5e20fB039225412f80faed67b3e8177a5d503dc753341b99249456551b5a48a8201d7f1d2 +@e7c187c668a1b551b13f09e46b8901f1245c696763bf4916b341577f74136332B037f9e9df0bb1f56202f4ae384fd83e593ad83bbf819527ccd435487acd8d57a0b2 +@91852bd90b037a9058c3dca80b777ee64be622f6b58d3bd004dbf7352879570aB0200375ae942325424f8d8eff532e42dab5c112e485f8c6fddc71758877965ccab2 +@1d5d5d0b64d03d04b4b43861158f0a6dd0031dfca9ce46ec132b617f7a011b77B03f1c8f5f9bb5fc2e1fa5e3d5615598e8dbc9432506b489b3ac8c644c5d9d6683a2 +@083563bbfad2187e1f36bec0af374d78a698239e782e8c679f56a56ec9ccfeb0B026893f14b6d5c52c9e0667fc5946716e5d50ca6e45a900486ff79cd0c73bc2eb82 +@dc240058de5829717f0a7044ced0e7d35d5bdd9c72b59470be52590383955bd7B024b296ba01a8739e1101a7998d72fad515c8afc1e9d221ed911ff418ba62338492 +@803e9b68edb6565b00fd1582b27fcdefe0f1ff141797e3dc727982a33fb390d0B03fa65b7d03b8e1afeb40db82a0b4e62f63fa404b5946b0864114306a1559beac82 +@0a5d3c8bdaf5cacd2ada2460d3f23352d6959a05a9759b40a36425a10d091759B03844e7b5524268ea40540b4887d05468826a59efb000a4950e714f2a99d2446382 +@411441014e8e66380fde634ec720ee68c43ca8e6c562a106278d54267c55b276B028f42440e3296505c15b7de64525ffd51c17a921230b5fb83322b99263f49b18a2 +@2f59dfda00023d47d9518d5cd1ff145da8974f4c23155978df498bba0c613431B0200350fc2c9c8cc5d6037e7dead11540b83e44e768f80e6d60fa539a3f6fa9b06B +Ė@bea919af1fffce5da79b723483d08cc94aaa2201c5676f9b1ac86ba9aab01e11""16bDav1aBEANurLKgnPwGKCiqApMRydfq2"UOP_DUP OP_HASH160 3d5146dd891d2aad7b371ed16b97d11f7160d04a OP_EQUALVERIFY OP_CHECKSIG*276a9143d5146dd891d2aad7b371ed16b97d11f7160d04a88ac*"16bDav1aBEANurLKgnPwGKCiqApMRydfq28Ý$J  +@bea919af1fffce5da79b723483d08cc94aaa2201c5676f9b1ac86ba9aab01e11""1FeNMBRfdtgdyJY8n6jB33FYgE9fu6uNhN"UOP_DUP OP_HASH160 a0a2f8cf260cce00b1faf04a45ddf378862a6e6b OP_EQUALVERIFY OP_CHECKSIG*276a914a0a2f8cf260cce00b1faf04a45ddf378862a6e6b88ac*"1FeNMBRfdtgdyJY8n6jB33FYgE9fu6uNhN8Ý$J  +@bea919af1fffce5da79b723483d08cc94aaa2201c5676f9b1ac86ba9aab01e11""1HbGTuMGTA1ve9CYySkr3Czb59UvMUX39i"UOP_DUP OP_HASH160 b5fd105560d63154bb97541c604ca2860b66a95e OP_EQUALVERIFY OP_CHECKSIG*276a914b5fd105560d63154bb97541c604ca2860b66a95e88ac*"1HbGTuMGTA1ve9CYySkr3Czb59UvMUX39i8Ý$J !ĝ$-@0000000000000000000de6ba1b9f0a2696ddcc1240bc897392b54544a10190a2"@0000000000000000000d6bc18906ac9302c3bc14a6f38e71dd153327ac13e62d2ŝ$-@00000000000000000015ea37da69e4239211ae706430ae2b277c214716fe8761"@0000000000000000000de6ba1b9f0a2696ddcc1240bc897392b54544a10190a22Ɲ$-@000000000000000000185fdf63985b99e27bdb83cbf56f247eb8a6f3a9993d89"@00000000000000000015ea37da69e4239211ae706430ae2b277c214716fe87612ǝ$-@0000000000000000000fcc4b3c3eebb685a486156651c91e34f3225a485e2020"@000000000000000000185fdf63985b99e27bdb83cbf56f247eb8a6f3a9993d892 ȝ$-@00000000000000000003cdc54e127838977efdefdc1bce38c4acfaa35885f73a"@0000000000000000000fcc4b3c3eebb685a486156651c91e34f3225a485e20202 + + + +1@995f63c55c187d7e51c6fcb1ee616fd77eb6d4fb58764db1376469f3c53d70eaȝ$"@00000000000000000003cdc54e127838977efdefdc1bce38c4acfaa35885f73a(-2 +@44b873bffbbcdf11d371692eeb9e42efc01884f960e6e2a5417c401d3fead5acB03f1076710b253217ddfb8bd0e8484ef92fc3e360b34f1b8a884942554b3afd7d42 +@91f35950b0a6a03211c41881ba3c9486102b2162f9824da3ff04fd77c1770017B0329b875dd5d932487dfdcdf16f935f4748f3f6c1938dfb971b4347a7e786d8c77B +@995f63c55c187d7e51c6fcb1ee616fd77eb6d4fb58764db1376469f3c53d70ea""1P4Bu4RFuLM8sbs5ZahTZGqrTNbvacRQZR"UOP_DUP OP_HASH160 f1ed1ca9690f06671c95258514062d0410532655 OP_EQUALVERIFY OP_CHECKSIG*276a914f1ed1ca9690f06671c95258514062d041053265588ac*"1P4Bu4RFuLM8sbs5ZahTZGqrTNbvacRQZR8ȝ$J  +#@995f63c55c187d7e51c6fcb1ee616fd77eb6d4fb58764db1376469f3c53d70ea""17vJ6LbWpfE5EZ5ZDyePhjP8XC3pKTmaCX"UOP_DUP OP_HASH160 4be51181d2001fb9b46c56338afeddf291c5db5c OP_EQUALVERIFY OP_CHECKSIG*276a9144be51181d2001fb9b46c56338afeddf291c5db5c88ac*"17vJ6LbWpfE5EZ5ZDyePhjP8XC3pKTmaCX8ȝ$J  +@995f63c55c187d7e51c6fcb1ee616fd77eb6d4fb58764db1376469f3c53d70ea""1KgFXT1HBq7ygn5Z1ndLD68ZJy7jNED6id"UOP_DUP OP_HASH160 ccde9c88385be6e8455b6cb57ddd2dab2bd8ef42 OP_EQUALVERIFY OP_CHECKSIG*276a914ccde9c88385be6e8455b6cb57ddd2dab2bd8ef4288ac*"1KgFXT1HBq7ygn5Z1ndLD68ZJy7jNED6id8ȝ$J &ɝ$-@00000000000000000003ad29cde5c82ae91825677dc417be42ae74a4e99221c8"@00000000000000000003cdc54e127838977efdefdc1bce38c4acfaa35885f73a2ʝ$У-@0000000000000000000710948b93dc158d3326eccc5953fe19e6b3aa29374116"@00000000000000000003ad29cde5c82ae91825677dc417be42ae74a4e99221c82˝$-@00000000000000000014b7037e243eb5fc68d6c531be685fb9b0a95f6796885a"@0000000000000000000710948b93dc158d3326eccc5953fe19e6b3aa293741162̝$-@0000000000000000001729e14b5dfd29713e88cc105704b6776740c6150984a8"@00000000000000000014b7037e243eb5fc68d6c531be685fb9b0a95f6796885a2!͝$-@000000000000000000073cb3d974def1c216e6e33922efe816976d6522eba67a"@0000000000000000001729e14b5dfd29713e88cc105704b6776740c6150984a82 + + +1@5e0fcd0fede973004748d3cea92b45a478d75f68a6753f8d059bd35689245b1c͝$"@000000000000000000073cb3d974def1c216e6e33922efe816976d6522eba67a(-2 +@4b47c20abb9cf4703036248e2acd6cfb851a3057d9822ff3834e000a3400304bB03fe75c3f9d7de2acf399429e1417e764fefb9d605ba049815c7482743fef34dc22 +@878ff02786ddb6984d0aa22c643e62aed4a134430331d5563cecaec4e225cf6fB03db7b4a1c554a97952404b288731dcc70d90c66d95173c5915e67402f063ab64aB + @5e0fcd0fede973004748d3cea92b45a478d75f68a6753f8d059bd35689245b1c""1M8kDtD5mbofByyXHcpuJmxEvEcvV6BZcq"UOP_DUP OP_HASH160 dcd981e60487fa4197635e27a0859664cf48f0de OP_EQUALVERIFY OP_CHECKSIG*276a914dcd981e60487fa4197635e27a0859664cf48f0de88ac*"1M8kDtD5mbofByyXHcpuJmxEvEcvV6BZcq8͝$J  +@5e0fcd0fede973004748d3cea92b45a478d75f68a6753f8d059bd35689245b1c""1G25bAFz8ZHXLAW7JRphGX1KoM88dgpbGp"UOP_DUP OP_HASH160 a4be2225c120fa4b3b31c4dec2f8065649942f0f OP_EQUALVERIFY OP_CHECKSIG*276a914a4be2225c120fa4b3b31c4dec2f8065649942f0f88ac*"1G25bAFz8ZHXLAW7JRphGX1KoM88dgpbGp8͝$J  +@5e0fcd0fede973004748d3cea92b45a478d75f68a6753f8d059bd35689245b1c""15ZRzzXcUWUsPFMGsSjTWTmozTu7kD8Cco"UOP_DUP OP_HASH160 3202aec85389b9ac4a428db7b45033a75bde1aae OP_EQUALVERIFY OP_CHECKSIG*276a9143202aec85389b9ac4a428db7b45033a75bde1aae88ac*"15ZRzzXcUWUsPFMGsSjTWTmozTu7kD8Cco8͝$J  + + +1@8daa78b0e99cfceaccd13b3c813cd945f7e273497296184d26be215aa232a57f͝$"@000000000000000000073cb3d974def1c216e6e33922efe816976d6522eba67a(-2 +@5e0fcd0fede973004748d3cea92b45a478d75f68a6753f8d059bd35689245b1cB03e7dc697843849d8fc8aa447a4aebcec6a54b527199dc6e6f64576273afd8d9382 +@5e0fcd0fede973004748d3cea92b45a478d75f68a6753f8d059bd35689245b1cB023dfc442e9c54f5d3a7d793c73187a7fba9cabe3a70b8d35ad60fad6d54c6d373B + @8daa78b0e99cfceaccd13b3c813cd945f7e273497296184d26be215aa232a57f""18pbmfD1wzBk3xGkGJuD6s6unh6XUfiS4V"UOP_DUP OP_HASH160 55c974886edd90282ab78d27bb6b562c005ec9ee OP_EQUALVERIFY OP_CHECKSIG*276a91455c974886edd90282ab78d27bb6b562c005ec9ee88ac*"18pbmfD1wzBk3xGkGJuD6s6unh6XUfiS4V8͝$J  +@8daa78b0e99cfceaccd13b3c813cd945f7e273497296184d26be215aa232a57f""1NCgCjWwLSERmSscQsJH7PcESDqbp6uBrd"UOP_DUP OP_HASH160 e88ff103e7b933b5d6f9057b267c6c05a38bd875 OP_EQUALVERIFY OP_CHECKSIG*276a914e88ff103e7b933b5d6f9057b267c6c05a38bd87588ac*"1NCgCjWwLSERmSscQsJH7PcESDqbp6uBrd8͝$J  +Ѩ@8daa78b0e99cfceaccd13b3c813cd945f7e273497296184d26be215aa232a57f""1CwThrsD9HHC5cjypQHrXpz1Z1kKeQWnnT"UOP_DUP OP_HASH160 82f6232855e533971c0d9ffdb4accb8681eecd38 OP_EQUALVERIFY OP_CHECKSIG*276a91482f6232855e533971c0d9ffdb4accb8681eecd3888ac*"1CwThrsD9HHC5cjypQHrXpz1Z1kKeQWnnT8͝$J  + + +1@e03511299540938b7f813c74858fec2167364fce8070e38d648ba886ecfcaf4e͝$"@000000000000000000073cb3d974def1c216e6e33922efe816976d6522eba67a(-2 +@8daa78b0e99cfceaccd13b3c813cd945f7e273497296184d26be215aa232a57fB0360958d55a2b27b66fdc2f6f8c311e09315b6423454833110f424e14ad96e2e552 +@8daa78b0e99cfceaccd13b3c813cd945f7e273497296184d26be215aa232a57fB03fcde0dd8557d03c1dd73a07d37692f2a88b9acaa82e8d005ecdd90a8e6eb82dbB + @e03511299540938b7f813c74858fec2167364fce8070e38d648ba886ecfcaf4e""1DTyUdWqfFLfv2fawQ6wemxv1kywH1tBKC"UOP_DUP OP_HASH160 88bb77f0748198990db7726a8027b52ad65f2abf OP_EQUALVERIFY OP_CHECKSIG*276a91488bb77f0748198990db7726a8027b52ad65f2abf88ac*"1DTyUdWqfFLfv2fawQ6wemxv1kywH1tBKC8͝$J  +@e03511299540938b7f813c74858fec2167364fce8070e38d648ba886ecfcaf4e""1C9YHpRjERC2ZzoiDDFvG5x5JkFUTxizmU"UOP_DUP OP_HASH160 7a46d4b3327230f35fdbf928f3709c0566ff80b8 OP_EQUALVERIFY OP_CHECKSIG*276a9147a46d4b3327230f35fdbf928f3709c0566ff80b888ac*"1C9YHpRjERC2ZzoiDDFvG5x5JkFUTxizmU8͝$J  +@e03511299540938b7f813c74858fec2167364fce8070e38d648ba886ecfcaf4e""1JbUEMsrLo7T66mRopsTEWjvS1sQZpogTi"UOP_DUP OP_HASH160 c0ff0303733a72d9201e6f7d2029fe335ba220e4 OP_EQUALVERIFY OP_CHECKSIG*276a914c0ff0303733a72d9201e6f7d2029fe335ba220e488ac*"1JbUEMsrLo7T66mRopsTEWjvS1sQZpogTi8͝$J Ν$-@000000000000000000089d17e182777b8bdad29679b5b976db5f98845216d0ba"@000000000000000000073cb3d974def1c216e6e33922efe816976d6522eba67a2 + + +1@97cd24fba9964dfed3ed0a9c1093e92ae22be5c69d3d6573113ccc427d97f2f3Ν$"@000000000000000000089d17e182777b8bdad29679b5b976db5f98845216d0ba(-2 +@b079b9e7f4ef31bdad5c78a8c64e645b377579c53c3d5711a5bbb2c91dcbd54cB038200ca922284912ecff901fc746db0af0e80e2277d9ee55073188b33b02a064e2 +@fb3942b25b363537cd7e62858ef36d8430854297a5c4b4ce55b77d368d9fdf40B02117bd519017941552efb705a42ee5f3ee8a6463b21464dbdafaab6874b8b19daB +ԉ@97cd24fba9964dfed3ed0a9c1093e92ae22be5c69d3d6573113ccc427d97f2f3"!16j75YWVEjXgWTfK4Fw1AwMDWyBeYbhUV"UOP_DUP OP_HASH160 01153a24dd2be54c56301263e43b1556551464b5 OP_EQUALVERIFY OP_CHECKSIG*276a91401153a24dd2be54c56301263e43b1556551464b588ac*!16j75YWVEjXgWTfK4Fw1AwMDWyBeYbhUV8Ν$J  + @97cd24fba9964dfed3ed0a9c1093e92ae22be5c69d3d6573113ccc427d97f2f3""13VTV1tvmBfzx61Re31h3okzN18tCzTzie"UOP_DUP OP_HASH160 1b520162c63f331f0b9e548fea5ca22698a82e7b OP_EQUALVERIFY OP_CHECKSIG*276a9141b520162c63f331f0b9e548fea5ca22698a82e7b88ac*"13VTV1tvmBfzx61Re31h3okzN18tCzTzie8Ν$J  +_@97cd24fba9964dfed3ed0a9c1093e92ae22be5c69d3d6573113ccc427d97f2f3""1H1TGv1e5pfabgQ7KnFTMvuEmW53EL1NF6"UOP_DUP OP_HASH160 af97f1fe5cf24e1e6a8bce51846bf99b6108fe05 OP_EQUALVERIFY OP_CHECKSIG*276a914af97f1fe5cf24e1e6a8bce51846bf99b6108fe0588ac*"1H1TGv1e5pfabgQ7KnFTMvuEmW53EL1NF68Ν$J ; + + +1@57975865c1f4177404ab3579677938eff755fdb3c2db0538af20fd7584f4892eΝ$"@000000000000000000089d17e182777b8bdad29679b5b976db5f98845216d0ba(-2 +@97cd24fba9964dfed3ed0a9c1093e92ae22be5c69d3d6573113ccc427d97f2f3B0267478f786c989f9565dc141b5bbd052ebf1b90f5647fce736eaa73a26c0e3e152 +@50d2089942c15bc732059de35d26e412d99a3cd1cc9622fcabb53eb2efc57b74B036722c46e5ae90eef655b3dacdde59fe0a26676999e4275f06d12349acb867dd3B +@57975865c1f4177404ab3579677938eff755fdb3c2db0538af20fd7584f4892e""1M6aszF6VWWRZ7TfQCT3YQGaBmC8xcGjAj"UOP_DUP OP_HASH160 dc70e0568dd5424673553bb5c8a645733f3aa6f9 OP_EQUALVERIFY OP_CHECKSIG*276a914dc70e0568dd5424673553bb5c8a645733f3aa6f988ac*"1M6aszF6VWWRZ7TfQCT3YQGaBmC8xcGjAj8Ν$J  + @57975865c1f4177404ab3579677938eff755fdb3c2db0538af20fd7584f4892e""12vXnasMcHkXNU1Xsjjrq1Ks8d3F2pe15H"UOP_DUP OP_HASH160 1517dedcef83c046242812e18d1c4e7136604f43 OP_EQUALVERIFY OP_CHECKSIG*276a9141517dedcef83c046242812e18d1c4e7136604f4388ac*"12vXnasMcHkXNU1Xsjjrq1Ks8d3F2pe15H8Ν$J  +߽m@57975865c1f4177404ab3579677938eff755fdb3c2db0538af20fd7584f4892e""1JKWNQUKozZvtsSLhgtPa7niVWtRdy3ZxV"UOP_DUP OP_HASH160 bdfa24453d19d60fc8be641c1cb432d8e82f6df4 OP_EQUALVERIFY OP_CHECKSIG*276a914bdfa24453d19d60fc8be641c1cb432d8e82f6df488ac*"1JKWNQUKozZvtsSLhgtPa7niVWtRdy3ZxV8Ν$J ;ϝ$-@00000000000000000015771ebbae0e17d3d5bd33498ecd76b35b9e2cc90ae9ca"@000000000000000000089d17e182777b8bdad29679b5b976db5f98845216d0ba2 + + +1@86a4d52ec33c2a419654a252d48383e28b6c0ff034a51a3f28632cf97e3a0680ϝ$"@00000000000000000015771ebbae0e17d3d5bd33498ecd76b35b9e2cc90ae9ca(-2 +@e03511299540938b7f813c74858fec2167364fce8070e38d648ba886ecfcaf4eB0322774d6d385ac794d6bbe048970942a036b1dd0bcbd82054544c400a025c06432 +@e03511299540938b7f813c74858fec2167364fce8070e38d648ba886ecfcaf4eB03c5fe91974986ad0b3e472a7c1349d055f25f425c8bd1eb6e7f031d0c1bb59a5bB + @86a4d52ec33c2a419654a252d48383e28b6c0ff034a51a3f28632cf97e3a0680""1DJFzDeaL19SLLvLPVTkzyiNjx1HbbccVW"UOP_DUP OP_HASH160 86e517435740e47bbf508ae0133f62ed6aa82f0b OP_EQUALVERIFY OP_CHECKSIG*276a91486e517435740e47bbf508ae0133f62ed6aa82f0b88ac*"1DJFzDeaL19SLLvLPVTkzyiNjx1HbbccVW8ϝ$J  +@86a4d52ec33c2a419654a252d48383e28b6c0ff034a51a3f28632cf97e3a0680""19wGshQdcnxp7VWL57UYEvD236Xd3bpJPn"UOP_DUP OP_HASH160 6204b81ef041272c325aa9731b567422668b1fa8 OP_EQUALVERIFY OP_CHECKSIG*276a9146204b81ef041272c325aa9731b567422668b1fa888ac*"19wGshQdcnxp7VWL57UYEvD236Xd3bpJPn8ϝ$J  +@86a4d52ec33c2a419654a252d48383e28b6c0ff034a51a3f28632cf97e3a0680""152mDixjseTbCc9qwYkjDz8xjxJBasd1gL"UOP_DUP OP_HASH160 2c35d4e1a6a8f50d552ec047d5172742e1ee33c1 OP_EQUALVERIFY OP_CHECKSIG*276a9142c35d4e1a6a8f50d552ec047d5172742e1ee33c188ac*"152mDixjseTbCc9qwYkjDz8xjxJBasd1gL8ϝ$J  + + +1@95635cd6529db6acae7e267c541dc9357e58fb6f36273fd14da21c8c8406123dϝ$"@00000000000000000015771ebbae0e17d3d5bd33498ecd76b35b9e2cc90ae9ca(-2 +@57975865c1f4177404ab3579677938eff755fdb3c2db0538af20fd7584f4892eB02ff62f5a9e28828e9f3753e3c3637358467fb5ec35d28c3a3d4d2cf99f2db30212 +@25b606100ab176a6724cdf97d6b8ea53fc92efdfbe86646b1b4d80e8e20b8dffB034c7240f55e24a19463f42ccb59639adc705b043ac11568e3891793153c7d6b1fB +@95635cd6529db6acae7e267c541dc9357e58fb6f36273fd14da21c8c8406123d""1EpdaPsQZWr1iQqqndqvHfuXiCCJvXUh9u"UOP_DUP OP_HASH160 979bb7a12e151bfc9de002d8acc8b18b2513021a OP_EQUALVERIFY OP_CHECKSIG*276a914979bb7a12e151bfc9de002d8acc8b18b2513021a88ac*"1EpdaPsQZWr1iQqqndqvHfuXiCCJvXUh9u8ϝ$J  + @95635cd6529db6acae7e267c541dc9357e58fb6f36273fd14da21c8c8406123d""1BoJQJjaaqoHCoEB2PcgSCbMZVjrJkXpDW"UOP_DUP OP_HASH160 7672eb1ba8477cb7adc1d31ade3d202521f342b4 OP_EQUALVERIFY OP_CHECKSIG*276a9147672eb1ba8477cb7adc1d31ade3d202521f342b488ac*"1BoJQJjaaqoHCoEB2PcgSCbMZVjrJkXpDW8ϝ$J  +@95635cd6529db6acae7e267c541dc9357e58fb6f36273fd14da21c8c8406123d""1QFvR3wzseGpq2g6jrcZZV2qEbps69LxTz"UOP_DUP OP_HASH160 ff1d4e0832afe0c74be2ee18603b66d5388b7327 OP_EQUALVERIFY OP_CHECKSIG*276a914ff1d4e0832afe0c74be2ee18603b66d5388b732788ac*"1QFvR3wzseGpq2g6jrcZZV2qEbps69LxTz8ϝ$J ; Н$Ǭ-@0000000000000000000e2d73e893c0e39c22e1b00f5f27478e326ed37407538f"@00000000000000000015771ebbae0e17d3d5bd33498ecd76b35b9e2cc90ae9ca2 + + + +1@99a29d5462f275740dc7de595f3de057d5037d0ffaf9d32f4bfc39ab512274b4Н$"@0000000000000000000e2d73e893c0e39c22e1b00f5f27478e326ed37407538f(Ǭ-2 +@21c842e1314307fb9fb6c9151a5626358382f952fff1f6729f0f818cade63b61B0227dddc785816569045fe4aa86863e5b24abc4fda2bc4e54f51efa8ed131e36f12 +@7ff969d9ca094de1bff1760faf535f3fc3f8903b2d93cc5d137e0db77557a033B02c580080edf014535c194e5aa86a47de8fa7777c2f2d248dacd57ab7cfde46861B +@99a29d5462f275740dc7de595f3de057d5037d0ffaf9d32f4bfc39ab512274b4""1Ni8mggCqe3zyxkJN4d4Y73nFMPkDAcQk1"UOP_DUP OP_HASH160 ee222eabc43149e50d7641d50901bef173377997 OP_EQUALVERIFY OP_CHECKSIG*276a914ee222eabc43149e50d7641d50901bef17337799788ac*"1Ni8mggCqe3zyxkJN4d4Y73nFMPkDAcQk18Н$J  +@99a29d5462f275740dc7de595f3de057d5037d0ffaf9d32f4bfc39ab512274b4""14YjXKT3cdcB1D5eQpEVmvcfN31PMeREie"UOP_DUP OP_HASH160 26e8c4b29fcc89e9e656df2b4d0cc1ffd8f187be OP_EQUALVERIFY OP_CHECKSIG*276a91426e8c4b29fcc89e9e656df2b4d0cc1ffd8f187be88ac*"14YjXKT3cdcB1D5eQpEVmvcfN31PMeREie8Н$J  +_@99a29d5462f275740dc7de595f3de057d5037d0ffaf9d32f4bfc39ab512274b4""1LgxC4REyqfLE6FSG38B1abo2ZJANetWLp"UOP_DUP OP_HASH160 d7f8aee9b8159cf880eb4b21312224a1e138be50 OP_EQUALVERIFY OP_CHECKSIG*276a914d7f8aee9b8159cf880eb4b21312224a1e138be5088ac*"1LgxC4REyqfLE6FSG38B1abo2ZJANetWLp8Н$J ѝ$-@00000000000000000013941c8dad0e528cf39454e1832f51629abd72b5b919a8"@0000000000000000000e2d73e893c0e39c22e1b00f5f27478e326ed37407538f2ҝ$-@0000000000000000000215ac2b75986ad0c9ca9a60058511c38c093569f373a2"@00000000000000000013941c8dad0e528cf39454e1832f51629abd72b5b919a82ӝ$-@00000000000000000019f70b53d7e0952aa804001023240638089a04827ecc1b"@0000000000000000000215ac2b75986ad0c9ca9a60058511c38c093569f373a22ԝ$-@0000000000000000000b3d05a860b549a2d1d9b9249cdc896b03a9b3d3635e68"@00000000000000000019f70b53d7e0952aa804001023240638089a04827ecc1b2՝$-@0000000000000000000978be7324ecd2281b09e6c33d6d516cacd69908ebe499"@0000000000000000000b3d05a860b549a2d1d9b9249cdc896b03a9b3d3635e682֝$苣-@0000000000000000001960704d7c0747daf207d5072b85a8c8c618e3325b7ab0"@0000000000000000000978be7324ecd2281b09e6c33d6d516cacd69908ebe4992ם$Ȓ-@000000000000000000149c99db0646ae764a06fce109d2ea6b4dbf176326a2ed"@0000000000000000001960704d7c0747daf207d5072b85a8c8c618e3325b7ab02؝$-@00000000000000000010f8ad387ee59a55add7b27224b7557792a48865daf8a6"@000000000000000000149c99db0646ae764a06fce109d2ea6b4dbf176326a2ed2 + + +1@1edf5fd751606adffa6447d45022297f246b73678cdbf985d82ed15dffab171e؝$"@00000000000000000010f8ad387ee59a55add7b27224b7557792a48865daf8a6(-2 +@44253766ace60f165e712f078e331fbcb6f61fcdf4056956f02e7be71f2f91daB0275189c5b48e42e90d7b3076472febb0844399c873c4f7ed694bcefddb78f3e5a2 +@44253766ace60f165e712f078e331fbcb6f61fcdf4056956f02e7be71f2f91daB0238d44ea809cd85cbeae76e35c22e4e217d6dec0ce84433d5461c70fa309a4b66B +A@1edf5fd751606adffa6447d45022297f246b73678cdbf985d82ed15dffab171e""1MtHyQMt2NbA1dpcbJCBmdqK7WkLeWV6ua"UOP_DUP OP_HASH160 e515e5cab0a09c0a63ba76daa90560b03806f9b0 OP_EQUALVERIFY OP_CHECKSIG*276a914e515e5cab0a09c0a63ba76daa90560b03806f9b088ac*"1MtHyQMt2NbA1dpcbJCBmdqK7WkLeWV6ua8؝$J  +^@1edf5fd751606adffa6447d45022297f246b73678cdbf985d82ed15dffab171e""1J33rws6ZQXp4nHDdTz8qssziiV5vxdV7f"UOP_DUP OP_HASH160 badd5bcd7f8cc58f1ca76f45dc436c7c294704ca OP_EQUALVERIFY OP_CHECKSIG*276a914badd5bcd7f8cc58f1ca76f45dc436c7c294704ca88ac*"1J33rws6ZQXp4nHDdTz8qssziiV5vxdV7f8؝$J  +@1edf5fd751606adffa6447d45022297f246b73678cdbf985d82ed15dffab171e""15N3c9Jwb4PnkKmHnLvQLAB17vB1MKuLPv"UOP_DUP OP_HASH160 2fdb69e48efa4bfbab209cf601bdf58abb24a2b8 OP_EQUALVERIFY OP_CHECKSIG*276a9142fdb69e48efa4bfbab209cf601bdf58abb24a2b888ac*"15N3c9Jwb4PnkKmHnLvQLAB17vB1MKuLPv8؝$J  + + +1@05dd349f8a8d6abc8b07eabb1a6c931c078975e6030a9565fa83ec06c1087f45؝$"@00000000000000000010f8ad387ee59a55add7b27224b7557792a48865daf8a6(-2 +@1edf5fd751606adffa6447d45022297f246b73678cdbf985d82ed15dffab171eB0365208cd94e5b8800d9c90831d2a40c36272e729f18c9096a7734e2dbee5a8dd42 +@6dab0d206f4a275d2656914afa7299fe7cfe90f249d416047f1929b8386f3537B030b7e5ee110e424a0cc8502db35866c759a575fd1ef36717e549c0a3d1d641a2fB +@05dd349f8a8d6abc8b07eabb1a6c931c078975e6030a9565fa83ec06c1087f45""1Fex2XkAiG9pRNgvbJoEi3VLeFwfpaF4Fi"UOP_DUP OP_HASH160 a0bf15d42637a3ee31d5c3d922ff0be9da64e1ae OP_EQUALVERIFY OP_CHECKSIG*276a914a0bf15d42637a3ee31d5c3d922ff0be9da64e1ae88ac*"1Fex2XkAiG9pRNgvbJoEi3VLeFwfpaF4Fi8؝$J  +W@05dd349f8a8d6abc8b07eabb1a6c931c078975e6030a9565fa83ec06c1087f45""1Dwn6r3L2tqYNnCLADLp7itsCQRpNMCULX"UOP_DUP OP_HASH160 8dfd9e9cdf1ad13eb604283a76cf5e700f3db5f2 OP_EQUALVERIFY OP_CHECKSIG*276a9148dfd9e9cdf1ad13eb604283a76cf5e700f3db5f288ac*"1Dwn6r3L2tqYNnCLADLp7itsCQRpNMCULX8؝$J  +O@05dd349f8a8d6abc8b07eabb1a6c931c078975e6030a9565fa83ec06c1087f45""1HuDrXAVRKHutQdyHSK7rUv4Gy1PMDNan5"UOP_DUP OP_HASH160 b9625f5304cdc06082227ae4106c624113a9fb5c OP_EQUALVERIFY OP_CHECKSIG*276a914b9625f5304cdc06082227ae4106c624113a9fb5c88ac*"1HuDrXAVRKHutQdyHSK7rUv4Gy1PMDNan58؝$J ٝ$-@0000000000000000000315ee5583d4d3423a1092cc0c3a08ceaf2668811bdd3f"@00000000000000000010f8ad387ee59a55add7b27224b7557792a48865daf8a62ڝ$ǻ-@00000000000000000007bbf5d82e7f145897035e054544c6f7b653c5a2fccc42"@0000000000000000000315ee5583d4d3423a1092cc0c3a08ceaf2668811bdd3f2 + + +1@eeaba57b979b1935c8f86ad26fc31567cc872ba36a533f9f18f66a8e0c770551ڝ$"@00000000000000000007bbf5d82e7f145897035e054544c6f7b653c5a2fccc42(ǻ-2 +@86a4d52ec33c2a419654a252d48383e28b6c0ff034a51a3f28632cf97e3a0680B034dce3197e2a95a452518e633dd1a8868366c9ed8289f15cad8cb86b3b076f91a2 +@04892bdbce3e01654f52a844faf1864a8be1a153b8def5d9fc1cd567007d087cB026488bc8fcf9859e34e5710002e45d8c3536eb3905d764af2ae34b8dec3d5b41aB +̥ @eeaba57b979b1935c8f86ad26fc31567cc872ba36a533f9f18f66a8e0c770551""1AUFzvDngR2q7xBuSfkyq7yerGzaU4yisw"UOP_DUP OP_HASH160 67e0e219c536b075205cf1fce0ef41511b1c3f17 OP_EQUALVERIFY OP_CHECKSIG*276a91467e0e219c536b075205cf1fce0ef41511b1c3f1788ac*"1AUFzvDngR2q7xBuSfkyq7yerGzaU4yisw8ڝ$J  +@eeaba57b979b1935c8f86ad26fc31567cc872ba36a533f9f18f66a8e0c770551""1GJ3fh2tEZ99bsRsWhn4uW9wnWHzyt3dqR"UOP_DUP OP_HASH160 a7c32f393e91d97b35af5d6f1aa521d8d9a33fb9 OP_EQUALVERIFY OP_CHECKSIG*276a914a7c32f393e91d97b35af5d6f1aa521d8d9a33fb988ac*"1GJ3fh2tEZ99bsRsWhn4uW9wnWHzyt3dqR8ڝ$J  +@eeaba57b979b1935c8f86ad26fc31567cc872ba36a533f9f18f66a8e0c770551""18tqRTNDynqReGahBC2vyvaPNuvPaPtrR6"UOP_DUP OP_HASH160 569683cf24cd6ae53d55c3f102879627eac29203 OP_EQUALVERIFY OP_CHECKSIG*276a914569683cf24cd6ae53d55c3f102879627eac2920388ac*"18tqRTNDynqReGahBC2vyvaPNuvPaPtrR68ڝ$J  + + +1@9d1ac216d5a11d1e985a6430343040b41679ac54072ec4f896868c3a157b6115ڝ$"@00000000000000000007bbf5d82e7f145897035e054544c6f7b653c5a2fccc42(ǻ-2 +@95635cd6529db6acae7e267c541dc9357e58fb6f36273fd14da21c8c8406123dB036154dabbe9e3d1ce2f7ba52629184b4625258d8f3446783b57da6ac2718a52362 +@1a4f24a50af25b4f7e79c7fe401938021fd2e8f97151439c3e53eed15a1799c1B02f91970d43cfae723de587d95afcb325007e9dcc0257ca84bfb8446a4b9a9182eB +@9d1ac216d5a11d1e985a6430343040b41679ac54072ec4f896868c3a157b6115""1Pbz86kgyHq8xqMLRHJA7rcDFpgENtu8WK"UOP_DUP OP_HASH160 f7f097e3f45e504845c317a0da4932204497f829 OP_EQUALVERIFY OP_CHECKSIG*276a914f7f097e3f45e504845c317a0da4932204497f82988ac*"1Pbz86kgyHq8xqMLRHJA7rcDFpgENtu8WK8ڝ$J  + @9d1ac216d5a11d1e985a6430343040b41679ac54072ec4f896868c3a157b6115""1Nz9R8iMUYU89eiCHQa9xnaRVTsvLy3EQG"UOP_DUP OP_HASH160 f129606dd733ee3142b7fe22cca80b1124e04326 OP_EQUALVERIFY OP_CHECKSIG*276a914f129606dd733ee3142b7fe22cca80b1124e0432688ac*"1Nz9R8iMUYU89eiCHQa9xnaRVTsvLy3EQG8ڝ$J  +_@9d1ac216d5a11d1e985a6430343040b41679ac54072ec4f896868c3a157b6115""16VYFubryPJskTxtW7485TjzY7un4dt5Kd"UOP_DUP OP_HASH160 3c3e5e2e27ad67a29b4d2fcecf73211dbe1ebe40 OP_EQUALVERIFY OP_CHECKSIG*276a9143c3e5e2e27ad67a29b4d2fcecf73211dbe1ebe4088ac*"16VYFubryPJskTxtW7485TjzY7un4dt5Kd8ڝ$J ;۝$-@000000000000000000148e2226f0bb5c94fc6eede6e5a3c5edf9d284418e9dd6"@00000000000000000007bbf5d82e7f145897035e054544c6f7b653c5a2fccc422ܝ$-@00000000000000000005930a3831c9c8920045ac8bb99e436616c66a92715c71"@000000000000000000148e2226f0bb5c94fc6eede6e5a3c5edf9d284418e9dd62ݝ$-@00000000000000000008ad60a4a030ad37f879547aaeebcc6b09451897da7354"@00000000000000000005930a3831c9c8920045ac8bb99e436616c66a92715c712ޝ$-@00000000000000000006ea213bab77dd9a387a7468ca4f98ca9608c8c5e1d23e"@00000000000000000008ad60a4a030ad37f879547aaeebcc6b09451897da73542ߝ$-@0000000000000000001a1011df3f569186fae5bcd17264655fe3bca7a5cdeb62"@00000000000000000006ea213bab77dd9a387a7468ca4f98ca9608c8c5e1d23e2 + + +1@02776f89668b61fb61c8ff0d819211c2f3eda66a1ec15ca780b7a5fe1241ec06ߝ$"@0000000000000000001a1011df3f569186fae5bcd17264655fe3bca7a5cdeb62(-2 +@eeaba57b979b1935c8f86ad26fc31567cc872ba36a533f9f18f66a8e0c770551B03b97b43c83e39c8eeb09a87b38e025ee9b6b6bb4b1657ae645ed0f6c28f6780c62 +@7b5414163cf81b95e48d1dd3dca9858fe7090a48ffa8f2a9196c14af6f8c71b0B02f7813bd0b071059f17133352ab6cfbfb6b025c1f8e2807c2a6e803511f6d8e20B + @02776f89668b61fb61c8ff0d819211c2f3eda66a1ec15ca780b7a5fe1241ec06""18Akf19UizV374crwEY6pPUPvyKApaeLZr"UOP_DUP OP_HASH160 4ea110d081dc7c8738bc2be629c678c2b3cd8e54 OP_EQUALVERIFY OP_CHECKSIG*276a9144ea110d081dc7c8738bc2be629c678c2b3cd8e5488ac*"18Akf19UizV374crwEY6pPUPvyKApaeLZr8ߝ$J  +@02776f89668b61fb61c8ff0d819211c2f3eda66a1ec15ca780b7a5fe1241ec06""15eKVfEsNTP3QRvPjDRWSedkHQhYqYEPmU"UOP_DUP OP_HASH160 32ef54f3784009514c65b455257dc4c673211924 OP_EQUALVERIFY OP_CHECKSIG*276a91432ef54f3784009514c65b455257dc4c67321192488ac*"15eKVfEsNTP3QRvPjDRWSedkHQhYqYEPmU8ߝ$J  +@02776f89668b61fb61c8ff0d819211c2f3eda66a1ec15ca780b7a5fe1241ec06""1Jk8Czn1n97iYSqcFyWkYDkYW9SYWLChhr"UOP_DUP OP_HASH160 c2a20a675ff1881e9514e700e8522b4e379a5d96 OP_EQUALVERIFY OP_CHECKSIG*276a914c2a20a675ff1881e9514e700e8522b4e379a5d9688ac*"1Jk8Czn1n97iYSqcFyWkYDkYW9SYWLChhr8ߝ$J  + + +1@c485ca8433ce8417f6fff949fe727c59bf560285758cee938615422be5e7eff7ߝ$"@0000000000000000001a1011df3f569186fae5bcd17264655fe3bca7a5cdeb62(-2 +@02776f89668b61fb61c8ff0d819211c2f3eda66a1ec15ca780b7a5fe1241ec06B03b1ccec3cf036ba0539eb0021d824e6ca36a0881003a900f4c214ddadf5d064ef2 +@02776f89668b61fb61c8ff0d819211c2f3eda66a1ec15ca780b7a5fe1241ec06B036d34f0f9fd6b5810668f154587ad7eca757d39d96a752df8808ab9ddafcd7d88B + +@c485ca8433ce8417f6fff949fe727c59bf560285758cee938615422be5e7eff7""1CNhRQHWNCt8ZdvDLBtfNAQcfKdU8FwrSH"UOP_DUP OP_HASH160 7cc3dc3ec26e17b57119b03c89e8f61b627eb151 OP_EQUALVERIFY OP_CHECKSIG*276a9147cc3dc3ec26e17b57119b03c89e8f61b627eb15188ac*"1CNhRQHWNCt8ZdvDLBtfNAQcfKdU8FwrSH8ߝ$J  +@c485ca8433ce8417f6fff949fe727c59bf560285758cee938615422be5e7eff7""1D21q4XCo1iDvK9mp2hPBftzJuAAuZB8xa"UOP_DUP OP_HASH160 83d29df89fb92c9f6ec6a623f7c0921f61b90139 OP_EQUALVERIFY OP_CHECKSIG*276a91483d29df89fb92c9f6ec6a623f7c0921f61b9013988ac*"1D21q4XCo1iDvK9mp2hPBftzJuAAuZB8xa8ߝ$J  +@c485ca8433ce8417f6fff949fe727c59bf560285758cee938615422be5e7eff7""13sJjVJ7GJChyYUm48pRU6NAL9hWR474SB"UOP_DUP OP_HASH160 1f73da1f860f66b037f1b4f1441a3ce77318e90b OP_EQUALVERIFY OP_CHECKSIG*276a9141f73da1f860f66b037f1b4f1441a3ce77318e90b88ac*"13sJjVJ7GJChyYUm48pRU6NAL9hWR474SB8ߝ$J $-@00000000000000000007d59414af0c2e206045c9fa48044ea40794b1903d862e"@0000000000000000001a1011df3f569186fae5bcd17264655fe3bca7a5cdeb622 $-@0000000000000000000daa711f38759ee2da357d8571088caa104c8ae8398165"@00000000000000000007d59414af0c2e206045c9fa48044ea40794b1903d862e2 + + + +1@1f59e62f89a8d64f2a9acbb0dab36db22908653461d91ff572acd42fbbd737dd$"@0000000000000000000daa711f38759ee2da357d8571088caa104c8ae8398165(-2 +@c485ca8433ce8417f6fff949fe727c59bf560285758cee938615422be5e7eff7B032090180043aff27f989d78dc2c0e72aed363e64eaf117cc5f87a007053d345de2 +@384fcd39e30c9dd3742fc68f00d4be971dc8965d96d62d85d0f3d8111a949416B02ac2d956e01904c98d47da98e250ca3cf1b30f79f103f91d67c141cb29040f769B + +@1f59e62f89a8d64f2a9acbb0dab36db22908653461d91ff572acd42fbbd737dd""1KG6vew26Kyt1sMuyMxcLQLo7DgNZbATxB"UOP_DUP OP_HASH160 c84d73149b1b1809f84c832742878836bec86b9e OP_EQUALVERIFY OP_CHECKSIG*276a914c84d73149b1b1809f84c832742878836bec86b9e88ac*"1KG6vew26Kyt1sMuyMxcLQLo7DgNZbATxB8$J  +@1f59e62f89a8d64f2a9acbb0dab36db22908653461d91ff572acd42fbbd737dd""1Cywrs4rW8GRsjQWr3SbX2gBnncuyjLsZE"UOP_DUP OP_HASH160 836e78d90d700be403c44abc6f8603e416405380 OP_EQUALVERIFY OP_CHECKSIG*276a914836e78d90d700be403c44abc6f8603e41640538088ac*"1Cywrs4rW8GRsjQWr3SbX2gBnncuyjLsZE8$J  +ܐ@1f59e62f89a8d64f2a9acbb0dab36db22908653461d91ff572acd42fbbd737dd""1KQdbzyLePWZmDAgVJ6mjryQKJeSXkn2sS"UOP_DUP OP_HASH160 c9ea62e0c02d503e6409b2c81152ae12ee49759d OP_EQUALVERIFY OP_CHECKSIG*276a914c9ea62e0c02d503e6409b2c81152ae12ee49759d88ac*"1KQdbzyLePWZmDAgVJ6mjryQKJeSXkn2sS8$J $-@0000000000000000000609e6f1d4e8334e824c9d9a29b1470ce1bb7a7196116f"@0000000000000000000daa711f38759ee2da357d8571088caa104c8ae83981652$ڙ-@00000000000000000005e90ffcd22fe281f280b6a436e5ccddf33302248c8c5e"@0000000000000000000609e6f1d4e8334e824c9d9a29b1470ce1bb7a7196116f2$-@00000000000000000000d2090ad848ac86a735f5aa025bae9520b6cbe831bd0f"@00000000000000000005e90ffcd22fe281f280b6a436e5ccddf33302248c8c5e2$Ї-@00000000000000000006bd7a9edad580f20bd2c1f876af2a811f83ba3fa719c3"@00000000000000000000d2090ad848ac86a735f5aa025bae9520b6cbe831bd0f2$-@0000000000000000000e3b34886dda5f8122a4e53b5cbd369b6bdcc3411fbe9d"@00000000000000000006bd7a9edad580f20bd2c1f876af2a811f83ba3fa719c32$-@00000000000000000008ca7ca91edd7dcc2223be1cbca6b62c4a464a2b8ef67a"@0000000000000000000e3b34886dda5f8122a4e53b5cbd369b6bdcc3411fbe9d2.$ͧ-@00000000000000000018e2509c889a8aa40ea1e74fa5d10d80769ac67efc764d"@00000000000000000008ca7ca91edd7dcc2223be1cbca6b62c4a464a2b8ef67a2, + + +1@44299390c064c180a0a8b67914dfc95509dc8185a58ff7cc68e29dcff642605b$"@00000000000000000018e2509c889a8aa40ea1e74fa5d10d80769ac67efc764d(ͧ-2 +@7d84fa52b91bd91c82602bdcb2a6bada2b689436fa71b10e8289a9c9de5ef96fB0282fb79e268fe1b76c94e0e2c432cad622bcbd58634446a1fa2b34917e1e6f1e22 +@97a20657a40fe356d14d2a1160747fbe65b9b6d242e643fda57d66fcae0fb86dB032d93fe1c7e52269bded7c0461506cf11b7f6560dfd0c3677c0bd76be0af49b94B +@44299390c064c180a0a8b67914dfc95509dc8185a58ff7cc68e29dcff642605b""1FhEYaEeSEtfoBRjn4eyobnaRpj8mubzzX"UOP_DUP OP_HASH160 a12db4a955c3bd8e2551627458e6a318a2c13ee7 OP_EQUALVERIFY OP_CHECKSIG*276a914a12db4a955c3bd8e2551627458e6a318a2c13ee788ac*"1FhEYaEeSEtfoBRjn4eyobnaRpj8mubzzX8$J  +@44299390c064c180a0a8b67914dfc95509dc8185a58ff7cc68e29dcff642605b""1N7N58XtjMHD2ZuPSZyBi1iaryDVAGk55n"UOP_DUP OP_HASH160 e78eba01898cf9af5ef31e74bb49fda25b001e9e OP_EQUALVERIFY OP_CHECKSIG*276a914e78eba01898cf9af5ef31e74bb49fda25b001e9e88ac*"1N7N58XtjMHD2ZuPSZyBi1iaryDVAGk55n8$J  +@44299390c064c180a0a8b67914dfc95509dc8185a58ff7cc68e29dcff642605b""1DVhE3T5JmBLULmXCaGurSPTevbE9UH6Cb"UOP_DUP OP_HASH160 890ebbff312e078ebe278252b3dc767c066281d3 OP_EQUALVERIFY OP_CHECKSIG*276a914890ebbff312e078ebe278252b3dc767c066281d388ac*"1DVhE3T5JmBLULmXCaGurSPTevbE9UH6Cb8$J  + + +1@ff7666ea37cc2148a7ad8875524fa9f507676401efb37a6e811b7e177ea3e2a1$"@00000000000000000018e2509c889a8aa40ea1e74fa5d10d80769ac67efc764d(ͧ-2 +@05dd349f8a8d6abc8b07eabb1a6c931c078975e6030a9565fa83ec06c1087f45B02cac25f02755bd8d49e29947bda7dd1e21094b5e2cd4eae4b1ee530b171e732572 +@1edf5fd751606adffa6447d45022297f246b73678cdbf985d82ed15dffab171eB03da05989759e23ae31ecd8385340c1244e8989581ff7999a88a8747a1e5618f23B +W@ff7666ea37cc2148a7ad8875524fa9f507676401efb37a6e811b7e177ea3e2a1""16Rhs1kwm5ftcTK9HbVL1iXnkCCzTN1HcE"UOP_DUP OP_HASH160 3b84b8dd54cdd6a50c3d93597e819119e39033df OP_EQUALVERIFY OP_CHECKSIG*276a9143b84b8dd54cdd6a50c3d93597e819119e39033df88ac*"16Rhs1kwm5ftcTK9HbVL1iXnkCCzTN1HcE8$J  + @ff7666ea37cc2148a7ad8875524fa9f507676401efb37a6e811b7e177ea3e2a1""1CqrkioZotHYJgaAFrhxd2XuyauzMthiF4"UOP_DUP OP_HASH160 81e6e1d616f9b3fb081737a4d572faa46113a8b4 OP_EQUALVERIFY OP_CHECKSIG*276a91481e6e1d616f9b3fb081737a4d572faa46113a8b488ac*"1CqrkioZotHYJgaAFrhxd2XuyauzMthiF48$J  + @ff7666ea37cc2148a7ad8875524fa9f507676401efb37a6e811b7e177ea3e2a1""16YFpfQwR9BmKgENyoGxtzAJRioXtW9k9o"UOP_DUP OP_HASH160 3cc1e5753242bb2a75a68df520c7a1ceb1247664 OP_EQUALVERIFY OP_CHECKSIG*276a9143cc1e5753242bb2a75a68df520c7a1ceb124766488ac*"16YFpfQwR9BmKgENyoGxtzAJRioXtW9k9o8$J  + +1@6ed9386cd82bae1d9915d7f6087af164f526f1b208cbbcb8dd1e8ec7b6ec3a29$"@00000000000000000018e2509c889a8aa40ea1e74fa5d10d80769ac67efc764d(ͧ-2 +@2ff49269678c9f8d0fc736a8360aa3f41bb1336c2cb4ec09080f340b589f9d1eB02b55649d828d2f8ce7416587b665433b4188612019d81ac78a64797ddaf687f6c2 +@a9df3310e75e582159a3f6f56c2e1bff25017877c1bd00464c4837f265735ffaB0358f86e95ca256a5935302bc8974f9e79b99b6126e3b618328af719d1329a647f2 +@2ff49269678c9f8d0fc736a8360aa3f41bb1336c2cb4ec09080f340b589f9d1eB037346125bbca3bfeec428694868d2c8105f49e5f44a4620236469cf101719d9272 +@52556bf41405a61602c7f9f459cffc9c9817df2bd10e2f8da4e8d5615aabc9b6B03f3c42c98f124bca0134497325f3e286ee3767f90f3d7cf1ff787f50aa91f312dB +@6ed9386cd82bae1d9915d7f6087af164f526f1b208cbbcb8dd1e8ec7b6ec3a29""1DtGYQkiKBS2w6yYcFepj1wu4c2bbDVYQU"UOP_DUP OP_HASH160 8d53b266fee723a6e9dd4756b8781a6abfa1b3cd OP_EQUALVERIFY OP_CHECKSIG*276a9148d53b266fee723a6e9dd4756b8781a6abfa1b3cd88ac*"1DtGYQkiKBS2w6yYcFepj1wu4c2bbDVYQU8$J  +@6ed9386cd82bae1d9915d7f6087af164f526f1b208cbbcb8dd1e8ec7b6ec3a29""1Ljnog1dSHCYdrAbSvMUGiHvCw3hzhx9wT"UOP_DUP OP_HASH160 d882189ba5061e251c41d474feb1580976f3dfe7 OP_EQUALVERIFY OP_CHECKSIG*276a914d882189ba5061e251c41d474feb1580976f3dfe788ac*"1Ljnog1dSHCYdrAbSvMUGiHvCw3hzhx9wT8$J  +ݤ @6ed9386cd82bae1d9915d7f6087af164f526f1b208cbbcb8dd1e8ec7b6ec3a29""1Nc52XeLUhm7joBNc3hz8Wp6jnRhcDeSiq"UOP_DUP OP_HASH160 ecfc8fa78af4cd27be41091ad2b7dcdb49f26925 OP_EQUALVERIFY OP_CHECKSIG*276a914ecfc8fa78af4cd27be41091ad2b7dcdb49f2692588ac*"1Nc52XeLUhm7joBNc3hz8Wp6jnRhcDeSiq8$J  + + +1@61ba8c1aa80c2ffd6f1e1764ba0ba9d7c200345027b3362e9249a7b947a8d453$"@00000000000000000018e2509c889a8aa40ea1e74fa5d10d80769ac67efc764d(ͧ-2 +@1f59e62f89a8d64f2a9acbb0dab36db22908653461d91ff572acd42fbbd737ddB03b70543a83ad6a3459f2fcc127f1aa67ad4d7392c647a80d7608d974b14480f612 +@1f59e62f89a8d64f2a9acbb0dab36db22908653461d91ff572acd42fbbd737ddB03ec6e6ef3a25c7bbcb74549e7bfe509455906380700e7997e009ed36cac645380B + +@61ba8c1aa80c2ffd6f1e1764ba0ba9d7c200345027b3362e9249a7b947a8d453""17xRxq7NtpsuEBrG8rXuffH23JQqxt4C7q"UOP_DUP OP_HASH160 4c4c786650afe451d635fbaa2c989fea2f5af395 OP_EQUALVERIFY OP_CHECKSIG*276a9144c4c786650afe451d635fbaa2c989fea2f5af39588ac*"17xRxq7NtpsuEBrG8rXuffH23JQqxt4C7q8$J  +@61ba8c1aa80c2ffd6f1e1764ba0ba9d7c200345027b3362e9249a7b947a8d453""13qh6LYDwRN4e1CHLR6GetT5oFZDPXxSbf"UOP_DUP OP_HASH160 1f25af53200001da8b66a7a22bd3e18b3976ca5f OP_EQUALVERIFY OP_CHECKSIG*276a9141f25af53200001da8b66a7a22bd3e18b3976ca5f88ac*"13qh6LYDwRN4e1CHLR6GetT5oFZDPXxSbf8$J  +@61ba8c1aa80c2ffd6f1e1764ba0ba9d7c200345027b3362e9249a7b947a8d453""1FLnaXLxaEK92z5TShWLCbT3jmutRLgtov"UOP_DUP OP_HASH160 9d4fb5f92d3d25f38d5961a363ed4ebcfa9a80aa OP_EQUALVERIFY OP_CHECKSIG*276a9149d4fb5f92d3d25f38d5961a363ed4ebcfa9a80aa88ac*"1FLnaXLxaEK92z5TShWLCbT3jmutRLgtov8$J $Ȍ-@0000000000000000000c3b722ad12d7a4f2cbe7c19bdd2b21d4c68b31a945c55"@00000000000000000018e2509c889a8aa40ea1e74fa5d10d80769ac67efc764d2$В-@0000000000000000000d026cd138b8b350b248505e04c94906ca6057a9107342"@0000000000000000000c3b722ad12d7a4f2cbe7c19bdd2b21d4c68b31a945c552K$-@0000000000000000000085b72068e2279b9eb8bf5bcfe9251dd2fe2b1963fa9e"@0000000000000000000d026cd138b8b350b248505e04c94906ca6057a91073422J + + +1@d4cf7a17103a7aeb2190a49e92235430f65cf4708ba056adb96d05af7a22ba7e$"@0000000000000000000085b72068e2279b9eb8bf5bcfe9251dd2fe2b1963fa9e(-2 +@09409a4b18b21634e4ecb31a25424d6f30e3220ce491ff13c3b504ca59c7ee83B02f469189ce133f050df5fc7ebcbc3dce2f10f0546a4adbbc1e8907710efbe8fe12 +@a9ecd4b73769e42fd63e40d4627d831cfaaa7baac2daac1d4f76dabba8e57732B036210edd02fdcff891d8564c7accb63dc37b4fa31f66cc5f6875a1cc60799b8e1B +ĉ@d4cf7a17103a7aeb2190a49e92235430f65cf4708ba056adb96d05af7a22ba7e""1C8R7cPuXMd9jTbC7LVwVSjrkwE9ZB1Yok"UOP_DUP OP_HASH160 7a106cb7fdddea9b01c2bf9dd762f0c01a962f33 OP_EQUALVERIFY OP_CHECKSIG*276a9147a106cb7fdddea9b01c2bf9dd762f0c01a962f3388ac*"1C8R7cPuXMd9jTbC7LVwVSjrkwE9ZB1Yok8$J  +@d4cf7a17103a7aeb2190a49e92235430f65cf4708ba056adb96d05af7a22ba7e""12cXjpbNt7XtzH89T6KPyKV1digGrbSE97"UOP_DUP OP_HASH160 11b057edfac358e0a9a85784844aef3e0b80194c OP_EQUALVERIFY OP_CHECKSIG*276a91411b057edfac358e0a9a85784844aef3e0b80194c88ac*"12cXjpbNt7XtzH89T6KPyKV1digGrbSE978$J  +@d4cf7a17103a7aeb2190a49e92235430f65cf4708ba056adb96d05af7a22ba7e""1DTxRXLfz6MKv3XPuLDpXXmzh158LHXMC7"UOP_DUP OP_HASH160 88ba96cbacef3c06c6523d71164eaa1e4961af97 OP_EQUALVERIFY OP_CHECKSIG*276a91488ba96cbacef3c06c6523d71164eaa1e4961af9788ac*"1DTxRXLfz6MKv3XPuLDpXXmzh158LHXMC78$J  + + +1@5030735a966e7c38ee92c559faecda2c6bf36cd123331f0be22176ddb50cdeaa$"@0000000000000000000085b72068e2279b9eb8bf5bcfe9251dd2fe2b1963fa9e(-2 +@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5B0348c787437df42f4807db555d2d30050d5eee0fe025c5349e969889f1ab68e2bc2 +@7f742178b102c533e7a0c2e2f961bcc5277578de2601fdb001f488674e16a680B031a8e21f6b59e70ae1c22bc80782d579b642d8f24a833b0cbaa05b50b77cf2231B +N@5030735a966e7c38ee92c559faecda2c6bf36cd123331f0be22176ddb50cdeaa""1B2jsXs4j96zMdFES1FAAhVWuWBM55CDx5"UOP_DUP OP_HASH160 6e0575fe4a8285077ab07c977df2a79128349222 OP_EQUALVERIFY OP_CHECKSIG*276a9146e0575fe4a8285077ab07c977df2a7912834922288ac*"1B2jsXs4j96zMdFES1FAAhVWuWBM55CDx58$J  +@5030735a966e7c38ee92c559faecda2c6bf36cd123331f0be22176ddb50cdeaa""15qHWJusA45J54Wt4H4LQB2vBDVY196zZg"UOP_DUP OP_HASH160 35023f4be8265eaedfad8169712633a250f450c0 OP_EQUALVERIFY OP_CHECKSIG*276a91435023f4be8265eaedfad8169712633a250f450c088ac*"15qHWJusA45J54Wt4H4LQB2vBDVY196zZg8$J  +@5030735a966e7c38ee92c559faecda2c6bf36cd123331f0be22176ddb50cdeaa""1NUNyJZmneZLQF37mw5Z8HcuuXZuVR2Vtj"UOP_DUP OP_HASH160 eb883671fb1f45bb3207627bed4d7c80efe7680d OP_EQUALVERIFY OP_CHECKSIG*276a914eb883671fb1f45bb3207627bed4d7c80efe7680d88ac*"1NUNyJZmneZLQF37mw5Z8HcuuXZuVR2Vtj8$J  + + +1@31f6b7241bd625cce45d8e02cb5c7df015c24056b103c945b6a8977be2eb60d8$"@0000000000000000000085b72068e2279b9eb8bf5bcfe9251dd2fe2b1963fa9e(-2 +@b52f49569f5e429f658f8eca1c98d7af56517d42cfc3f9122aa00fdef1d7d9dcB03a54410ba7acefcf6d37a2b70783af10ced2a524e87aaa4172991a23a8716dace2 +@deac5d391240bb8986236ca8931cbb34b8f8d31f0c6e215e068e9515fa4ea976B0326de93342b95312fa1c9c6663837fe0fce147ee7f2265e2e756df762cf2b6ed0B +z@31f6b7241bd625cce45d8e02cb5c7df015c24056b103c945b6a8977be2eb60d8"!16RztuV5eZfxf9uRMVvfSZ7uzYsQJiygg"UOP_DUP OP_HASH160 0106f27eaed3966a6ce27343deb28be8b51d0772 OP_EQUALVERIFY OP_CHECKSIG*276a9140106f27eaed3966a6ce27343deb28be8b51d077288ac*!16RztuV5eZfxf9uRMVvfSZ7uzYsQJiygg8$J  +@31f6b7241bd625cce45d8e02cb5c7df015c24056b103c945b6a8977be2eb60d8""186brzC4CTPeHx5Wkh9NH9NiiT7gkwd2VN"UOP_DUP OP_HASH160 4dd80fbd6d5ced5ae4ec0f8ed9ad2da3d01ac88a OP_EQUALVERIFY OP_CHECKSIG*276a9144dd80fbd6d5ced5ae4ec0f8ed9ad2da3d01ac88a88ac*"186brzC4CTPeHx5Wkh9NH9NiiT7gkwd2VN8$J  +@31f6b7241bd625cce45d8e02cb5c7df015c24056b103c945b6a8977be2eb60d8""19bPwccbVnHDtUUJHSrrRJ55zjyRnQUDDD"UOP_DUP OP_HASH160 5e424cb74e0148075a74d3f094edd5be5fa781d9 OP_EQUALVERIFY OP_CHECKSIG*276a9145e424cb74e0148075a74d3f094edd5be5fa781d988ac*"19bPwccbVnHDtUUJHSrrRJ55zjyRnQUDDD8$J  + + +1@fce417803756fe5b9c9de732697ce1d59bd65a8f32457d28352900740a0b8535$"@0000000000000000000085b72068e2279b9eb8bf5bcfe9251dd2fe2b1963fa9e(-2 +@8b66a3ba32cde7b4822022379bd2ecc2a731b5506243e23e6ef530b2d7a77967B023ff1e1bcc1477dbb59597e934c7ada72871b5b1d1b771f84864e7f68d7d5fd152 +@1b54da50b3cd7cf8c2d0b2904377837e1bed98e0da71e99d10d2daffc3248654B0343b11e2e8a4659673e2dd9958bdf4dd7907a73755b2dadcba78e5c6924d75b71B +f@fce417803756fe5b9c9de732697ce1d59bd65a8f32457d28352900740a0b8535""1Pd2PLHGa16CneUKqmZvnzmUg9tbeb9ABx"UOP_DUP OP_HASH160 f822e5e6174d4549eab1a41cd80f1b3560264508 OP_EQUALVERIFY OP_CHECKSIG*276a914f822e5e6174d4549eab1a41cd80f1b356026450888ac*"1Pd2PLHGa16CneUKqmZvnzmUg9tbeb9ABx8$J  +@fce417803756fe5b9c9de732697ce1d59bd65a8f32457d28352900740a0b8535""1BV5fJvfAjJA3quL64EMTPgmoWhwQ3GiQ2"UOP_DUP OP_HASH160 7300cb8f7bcd61819121e5389588e7d4e8222a91 OP_EQUALVERIFY OP_CHECKSIG*276a9147300cb8f7bcd61819121e5389588e7d4e8222a9188ac*"1BV5fJvfAjJA3quL64EMTPgmoWhwQ3GiQ28$J  +s@fce417803756fe5b9c9de732697ce1d59bd65a8f32457d28352900740a0b8535""1KxmsC2mGnm5jLfFuoXXAkdqCu4pqXpfZL"UOP_DUP OP_HASH160 cffe97fd8fd07d1271b39338a7e86390814a77dd OP_EQUALVERIFY OP_CHECKSIG*276a914cffe97fd8fd07d1271b39338a7e86390814a77dd88ac*"1KxmsC2mGnm5jLfFuoXXAkdqCu4pqXpfZL8$J  + + +1@5c211d5ddfb3172135d88e3c169dec3979eedd922e1e1a71d376b6c89f7be292$"@0000000000000000000085b72068e2279b9eb8bf5bcfe9251dd2fe2b1963fa9e(-2 +@fce417803756fe5b9c9de732697ce1d59bd65a8f32457d28352900740a0b8535B0241a368c9c5f32885c58ffb29743e0782301284081d54ec79095d5e8ed87273e02 +@fef04cde00b7121c7da1c7ab96c83760bac3d8ff890529d6332498cad2a1fcaaB02cfc6e9537c15a9a7701b2ad5ffd609039663b231d8204ee1b6f9c422005bc528B +e@5c211d5ddfb3172135d88e3c169dec3979eedd922e1e1a71d376b6c89f7be292""1Frtmwz8EYrzs1Ax3LCz92v5wPtLj2ENiH"UOP_DUP OP_HASH160 a3015cd7a510352a3942fe99d269935143aeee26 OP_EQUALVERIFY OP_CHECKSIG*276a914a3015cd7a510352a3942fe99d269935143aeee2688ac*"1Frtmwz8EYrzs1Ax3LCz92v5wPtLj2ENiH8$J  +@5c211d5ddfb3172135d88e3c169dec3979eedd922e1e1a71d376b6c89f7be292""1CAp3WrbFyeu6Q2gWqJfvQKVzZDzgJ6gTL"UOP_DUP OP_HASH160 7a8465a8043b1b4947257428ad201a8d358fcdcd OP_EQUALVERIFY OP_CHECKSIG*276a9147a8465a8043b1b4947257428ad201a8d358fcdcd88ac*"1CAp3WrbFyeu6Q2gWqJfvQKVzZDzgJ6gTL8$J  +[@5c211d5ddfb3172135d88e3c169dec3979eedd922e1e1a71d376b6c89f7be292""1EtmbQsmQnMpS9BPTkzowwNc1LZg5JNpLW"UOP_DUP OP_HASH160 986412e83b52a866a54e542ae50d3a8fe0e75487 OP_EQUALVERIFY OP_CHECKSIG*276a914986412e83b52a866a54e542ae50d3a8fe0e7548788ac*"1EtmbQsmQnMpS9BPTkzowwNc1LZg5JNpLW8$J * + + +1@d4d56a1c18ccdbfb7690167b133a9f2cab954e944cbe051f81c3da2cd80a1ff9$"@0000000000000000000085b72068e2279b9eb8bf5bcfe9251dd2fe2b1963fa9e(-2 +@61ba8c1aa80c2ffd6f1e1764ba0ba9d7c200345027b3362e9249a7b947a8d453B028e2b9eb9cfa4cf0210f037ded184fbca5753e009e8efd8675ed8184329214c4a2 +@61ba8c1aa80c2ffd6f1e1764ba0ba9d7c200345027b3362e9249a7b947a8d453B0325df6179e3094389dab756b59026e2e98652cec8b3a4d56a0571313b24932c4eB + +@d4d56a1c18ccdbfb7690167b133a9f2cab954e944cbe051f81c3da2cd80a1ff9""1DaYSPHq1UpwNTvRnsLHQetroc9k7Em6hy"UOP_DUP OP_HASH160 89f97a9e8db532f189bbb4f08a15b055a0d4c162 OP_EQUALVERIFY OP_CHECKSIG*276a91489f97a9e8db532f189bbb4f08a15b055a0d4c16288ac*"1DaYSPHq1UpwNTvRnsLHQetroc9k7Em6hy8$J  + @d4d56a1c18ccdbfb7690167b133a9f2cab954e944cbe051f81c3da2cd80a1ff9""1B6FWo8Cbp1Jq1vWmdhx4tk79bS5g9WP7J"UOP_DUP OP_HASH160 6eaf73fd38f79d17ff083eea2675600fa6deca82 OP_EQUALVERIFY OP_CHECKSIG*276a9146eaf73fd38f79d17ff083eea2675600fa6deca8288ac*"1B6FWo8Cbp1Jq1vWmdhx4tk79bS5g9WP7J8$J  +衢@d4d56a1c18ccdbfb7690167b133a9f2cab954e944cbe051f81c3da2cd80a1ff9""12N3XZ4UgScrikMahKJQ5tXdQ8yGzQcbby"UOP_DUP OP_HASH160 0ef2f8609be283fa07823a6b3d4f6bf7cc62ae28 OP_EQUALVERIFY OP_CHECKSIG*276a9140ef2f8609be283fa07823a6b3d4f6bf7cc62ae2888ac*"12N3XZ4UgScrikMahKJQ5tXdQ8yGzQcbby8$J ; + + +1@ae137924e41fab4a09f004d2d5c9aec257eff9d96b872874e0534351849e512a$"@0000000000000000000085b72068e2279b9eb8bf5bcfe9251dd2fe2b1963fa9e(-2 +@d451bdf2c2acad23a1bcc7496021f0a29c24b71891efb2581d8a802ceda1dee0B02434811e460e3251f0bbb381dfca2f8ffc805770a306aabaa33683dd76a70d2842 +@a3e173f368b8f3aca3064a572546384dfc7fddcd6cdb1b87679e2e14b1fadf6aB02a9b2310911123a48aee55cd1dd197e0ffc17f9db0c5431af4588a4971b7465f6B +G@ae137924e41fab4a09f004d2d5c9aec257eff9d96b872874e0534351849e512a""18YDbiHJfqKUhvjhTJCEUpqezos5PqrMZ5"UOP_DUP OP_HASH160 52b04abf5534ab96ffbd01085ac272cafc9a8fc1 OP_EQUALVERIFY OP_CHECKSIG*276a91452b04abf5534ab96ffbd01085ac272cafc9a8fc188ac*"18YDbiHJfqKUhvjhTJCEUpqezos5PqrMZ58$J  +&@ae137924e41fab4a09f004d2d5c9aec257eff9d96b872874e0534351849e512a"!1W8bATdZzgiKsT62RJkxwtwipJ2bZMJN1"UOP_DUP OP_HASH160 058265dbd6da355cc601346a4095c1c7679d749e OP_EQUALVERIFY OP_CHECKSIG*276a914058265dbd6da355cc601346a4095c1c7679d749e88ac*!1W8bATdZzgiKsT62RJkxwtwipJ2bZMJN18$J  +@ae137924e41fab4a09f004d2d5c9aec257eff9d96b872874e0534351849e512a""1FowDysfNErfcCrUvLQjjfCcLPd8uiAMeJ"UOP_DUP OP_HASH160 a27228b20793a9ce34c3010e0092e685a871a6fa OP_EQUALVERIFY OP_CHECKSIG*276a914a27228b20793a9ce34c3010e0092e685a871a6fa88ac*"1FowDysfNErfcCrUvLQjjfCcLPd8uiAMeJ8$J $̚-@000000000000000000163bc0206115f672e61f348409a4fb284b0a75a446cbe0"@0000000000000000000085b72068e2279b9eb8bf5bcfe9251dd2fe2b1963fa9e2$-@00000000000000000018af4a7421a0d4cc27046a21681c720b56aeaaa61335d3"@000000000000000000163bc0206115f672e61f348409a4fb284b0a75a446cbe02$Ѩ-@0000000000000000000fe771840e20cb46fb9d7faa69b1c66259fe57fe0e8ec4"@00000000000000000018af4a7421a0d4cc27046a21681c720b56aeaaa61335d32$ή-@0000000000000000001308437b9a945f8f9b23a3934b19c1855ee87570190274"@0000000000000000000fe771840e20cb46fb9d7faa69b1c66259fe57fe0e8ec42$-@000000000000000000028ff9f60fa6ddeb5fe9022c384a653d265500f97312ea"@0000000000000000001308437b9a945f8f9b23a3934b19c1855ee875701902742$萳-@0000000000000000000dad130783e8240d3b799a260bb10563ff57f8beab1c22"@000000000000000000028ff9f60fa6ddeb5fe9022c384a653d265500f97312ea2$ȷ-@0000000000000000001527cb5d3054f46e9921f2f6699ee0078dd8df896eb6ce"@0000000000000000000dad130783e8240d3b799a260bb10563ff57f8beab1c222 $-@00000000000000000002ca58ebb815c0f97dff0ff3bc8c5fd23e5c38734d173a"@0000000000000000001527cb5d3054f46e9921f2f6699ee0078dd8df896eb6ce2 + +1@cf3ccdfb51b1e54c77b595e5148a8c5631ba8caac2e51e0288ae05c0bf153cc6$"@00000000000000000002ca58ebb815c0f97dff0ff3bc8c5fd23e5c38734d173a(-2 +@5030735a966e7c38ee92c559faecda2c6bf36cd123331f0be22176ddb50cdeaaB037e345fba94930adc9a1be609c5621d6f980aedf0c6eca6cc87c7d92bf2ec8e3f2 +@07b114beb6b4e8066c34df6a8e8700343d23ca2310b9431487fea5e11647762eB0234fd06a212eb5d9ca029af2bc64a9fb073ba9a2a33efe9f6c1f72b225e090c55B +L@cf3ccdfb51b1e54c77b595e5148a8c5631ba8caac2e51e0288ae05c0bf153cc6""1BUZD6gBGb7osykqVHPgQrCTY8du8Kkt12"UOP_DUP OP_HASH160 72e7600ba615bcf3764eeb77bb8a189792abb388 OP_EQUALVERIFY OP_CHECKSIG*276a91472e7600ba615bcf3764eeb77bb8a189792abb38888ac*"1BUZD6gBGb7osykqVHPgQrCTY8du8Kkt128$J  +e@cf3ccdfb51b1e54c77b595e5148a8c5631ba8caac2e51e0288ae05c0bf153cc6""1BUZD6gBGb7osykqVHPgQrCTY8du8Kkt12"UOP_DUP OP_HASH160 72e7600ba615bcf3764eeb77bb8a189792abb388 OP_EQUALVERIFY OP_CHECKSIG*276a91472e7600ba615bcf3764eeb77bb8a189792abb38888ac*"1BUZD6gBGb7osykqVHPgQrCTY8du8Kkt128$J   +ĉ@cf3ccdfb51b1e54c77b595e5148a8c5631ba8caac2e51e0288ae05c0bf153cc6""1Km3cdrk7jHftZ5X4HAEL84ieNzWgC3EQT"UOP_DUP OP_HASH160 cdc6bfb2cb21086c93ac777071dcf5c7e0ef90b5 OP_EQUALVERIFY OP_CHECKSIG*276a914cdc6bfb2cb21086c93ac777071dcf5c7e0ef90b588ac*"1Km3cdrk7jHftZ5X4HAEL84ieNzWgC3EQT8$J  +@cf3ccdfb51b1e54c77b595e5148a8c5631ba8caac2e51e0288ae05c0bf153cc6"l"6OP_RETURN 110172653a27e24528662d2a86bd0f120223cc9373a1*06a16110172653a27e24528662d2a86bd0f120223cc9373a12re:'E(f-*#̓s8$J $-@0000000000000000000d36a42939b71de3777a774be0e7a783350c46c9d02eb3"@00000000000000000002ca58ebb815c0f97dff0ff3bc8c5fd23e5c38734d173a2 + + +1@f63f1e74168d937aa9e975a294051044a1720acdec6271be2146e08191ffa945$"@0000000000000000000d36a42939b71de3777a774be0e7a783350c46c9d02eb3(-2 +@7f66e4ae65b791e645b418ab7bec3594b4e51895fb199b64d80fef3d75f7b2b8B0273199b6f77a3094110fddc84f96b244fd743d78195736ee91f045163fae1c1622 +@44299390c064c180a0a8b67914dfc95509dc8185a58ff7cc68e29dcff642605bB03536589a59ae78837794ee48612e1ac7453d35752a75442670c4e489f3c0b6bbbB +@f63f1e74168d937aa9e975a294051044a1720acdec6271be2146e08191ffa945""1ESrURcHSxS5JBwwYgN9p71kVWrE3HwmVw"UOP_DUP OP_HASH160 937d5502d79def6433bdfa8b4b03dde69bf514fe OP_EQUALVERIFY OP_CHECKSIG*276a914937d5502d79def6433bdfa8b4b03dde69bf514fe88ac*"1ESrURcHSxS5JBwwYgN9p71kVWrE3HwmVw8$J  +@f63f1e74168d937aa9e975a294051044a1720acdec6271be2146e08191ffa945""13A6bedR1GSpZoxZmguLBgVGoouHqncrSx"UOP_DUP OP_HASH160 17a8aaedd428c26b41aac8848dfff9cc25a663dc OP_EQUALVERIFY OP_CHECKSIG*276a91417a8aaedd428c26b41aac8848dfff9cc25a663dc88ac*"13A6bedR1GSpZoxZmguLBgVGoouHqncrSx8$J  +ۘ@f63f1e74168d937aa9e975a294051044a1720acdec6271be2146e08191ffa945""19NyxXvjTJNe8EufAmdS3fBLPjhvJfNTCv"UOP_DUP OP_HASH160 5be94983e364c0946dd7bf361aa2fc6962b8fc6b OP_EQUALVERIFY OP_CHECKSIG*276a9145be94983e364c0946dd7bf361aa2fc6962b8fc6b88ac*"19NyxXvjTJNe8EufAmdS3fBLPjhvJfNTCv8$J  + + +1@2616e53bbdf320930bf3ea59c88eed529a18f124dd9c9b00ce7400afd0dc7523$"@0000000000000000000d36a42939b71de3777a774be0e7a783350c46c9d02eb3(-2 +@44299390c064c180a0a8b67914dfc95509dc8185a58ff7cc68e29dcff642605bB037ae02dc95369a04600badae59c860242b3077195474587e4b56d9178763f90142 +@d910d44938582884ec18ec4e45146de053b2fef98d0ce0fa7179929f02997c3bB02df6b5ac251ba3dea5c29075daf0fce295c753877b5ee8c14be07706869afedcbB +@2616e53bbdf320930bf3ea59c88eed529a18f124dd9c9b00ce7400afd0dc7523""1PDUrz7c1ejP2pKxerDADZ2yZed8Kxw2HL"UOP_DUP OP_HASH160 f3af044315003f6046fe757a1d4ffb4db859d52b OP_EQUALVERIFY OP_CHECKSIG*276a914f3af044315003f6046fe757a1d4ffb4db859d52b88ac*"1PDUrz7c1ejP2pKxerDADZ2yZed8Kxw2HL8$J  +@2616e53bbdf320930bf3ea59c88eed529a18f124dd9c9b00ce7400afd0dc7523"!1XkxL84Xx7se78jUpChovSR7Ze8urexwr"UOP_DUP OP_HASH160 05d12b762a79d4d7c2998634d4bf7604460789fe OP_EQUALVERIFY OP_CHECKSIG*276a91405d12b762a79d4d7c2998634d4bf7604460789fe88ac*!1XkxL84Xx7se78jUpChovSR7Ze8urexwr8$J  +<@2616e53bbdf320930bf3ea59c88eed529a18f124dd9c9b00ce7400afd0dc7523""1PRHPR6EqcX6hycRkx9F4YPispCGVWnY84"UOP_DUP OP_HASH160 f5ea6dd71d894e185046baf9d6af88d6d0e22be7 OP_EQUALVERIFY OP_CHECKSIG*276a914f5ea6dd71d894e185046baf9d6af88d6d0e22be788ac*"1PRHPR6EqcX6hycRkx9F4YPispCGVWnY848$J  $-@0000000000000000000cc2844e12d9ff4fc657a40c07f05745497e1031d25650"@0000000000000000000d36a42939b71de3777a774be0e7a783350c46c9d02eb32 + + + +1@a6eea699074fec12273be1453c8bfd6060fd36f8a38f483eef76740af0824b9d$"@0000000000000000000cc2844e12d9ff4fc657a40c07f05745497e1031d25650(-2 +@2616e53bbdf320930bf3ea59c88eed529a18f124dd9c9b00ce7400afd0dc7523B0325ce4f6b7d482be31828e5599c4dd3bdef2441f5f4a3ae978a27e990bcc0769b2 +@f63f1e74168d937aa9e975a294051044a1720acdec6271be2146e08191ffa945B02e2541863d5df09d967de223a4c68b2b06e8d5e98c1bfa0cf27f94f678aa59947B +@a6eea699074fec12273be1453c8bfd6060fd36f8a38f483eef76740af0824b9d""12gSd7N2BvfBiT9tPozbZrTJRq5Fjep7cF"UOP_DUP OP_HASH160 126dbca88fa132d9a05dc8d8b3c8ea36731631e6 OP_EQUALVERIFY OP_CHECKSIG*276a914126dbca88fa132d9a05dc8d8b3c8ea36731631e688ac*"12gSd7N2BvfBiT9tPozbZrTJRq5Fjep7cF8$J  +@a6eea699074fec12273be1453c8bfd6060fd36f8a38f483eef76740af0824b9d""1BqWeUGg7ejcQyrnjiZ8EsvYo61oq7YQEK"UOP_DUP OP_HASH160 76ddf8a51ea5a0a91d073cb598def7edacbfbba5 OP_EQUALVERIFY OP_CHECKSIG*276a91476ddf8a51ea5a0a91d073cb598def7edacbfbba588ac*"1BqWeUGg7ejcQyrnjiZ8EsvYo61oq7YQEK8$J  +@a6eea699074fec12273be1453c8bfd6060fd36f8a38f483eef76740af0824b9d""12uvQ7C4jxzNvVWHDMT3DaGALQj9kvZ6Y8"UOP_DUP OP_HASH160 14fa549d9863fd9f3ebb0c78956ec92c736e3d24 OP_EQUALVERIFY OP_CHECKSIG*276a91414fa549d9863fd9f3ebb0c78956ec92c736e3d2488ac*"12uvQ7C4jxzNvVWHDMT3DaGALQj9kvZ6Y88$J $-@00000000000000000007396a31880cbc52bb98842788bf43cc1d42fea1b8ccdd"@0000000000000000000cc2844e12d9ff4fc657a40c07f05745497e1031d256502 $Ѣ-@0000000000000000000656ada1903f093ed2ba6ebbb05c84c9ec96e7991581d1"@00000000000000000007396a31880cbc52bb98842788bf43cc1d42fea1b8ccdd2 + + + +1@220708452f08d6158d3e1780d28ecc2afb7f199351f65133e6f747f37c81843e$"@0000000000000000000656ada1903f093ed2ba6ebbb05c84c9ec96e7991581d1(Ѣ-2 +@d4d56a1c18ccdbfb7690167b133a9f2cab954e944cbe051f81c3da2cd80a1ff9B03a736925dbf988597c39e5ce7c8bc082e01e1471bec36dbab8a46cf1476c3201d2 +@a6d8dfe81f0f2f0c91f238dc8b1189e23091f8a3bf91f6bceb40f1675593e7d2B03c1a182a1012c23b8183f00002a55521b78f55668be01f7e0d3b49605395cd81cB + +@220708452f08d6158d3e1780d28ecc2afb7f199351f65133e6f747f37c81843e""14paS7SxjvuueSNTc8HMk4gTH3VipP7WVU"UOP_DUP OP_HASH160 29e7d602a055935abd66bdb0712fc6b62c2436a2 OP_EQUALVERIFY OP_CHECKSIG*276a91429e7d602a055935abd66bdb0712fc6b62c2436a288ac*"14paS7SxjvuueSNTc8HMk4gTH3VipP7WVU8$J  +@220708452f08d6158d3e1780d28ecc2afb7f199351f65133e6f747f37c81843e""1LHAeDa8sB7R7VNRy6dEz3dBYKV6b9qYFo"UOP_DUP OP_HASH160 d37917ff510164a4a8917e2cc82e55fd8a67f936 OP_EQUALVERIFY OP_CHECKSIG*276a914d37917ff510164a4a8917e2cc82e55fd8a67f93688ac*"1LHAeDa8sB7R7VNRy6dEz3dBYKV6b9qYFo8$J  +@220708452f08d6158d3e1780d28ecc2afb7f199351f65133e6f747f37c81843e""16rgaR9DuGQHNmMqEueNE9qs51s8N1qTnb"UOP_DUP OP_HASH160 403e0c2bfd2647e4a45790474cb5822ba02552f9 OP_EQUALVERIFY OP_CHECKSIG*276a914403e0c2bfd2647e4a45790474cb5822ba02552f988ac*"16rgaR9DuGQHNmMqEueNE9qs51s8N1qTnb8$J  $-@00000000000000000000f86d904b8dd7d5c876c58ae743e8a6a7d07d31b13634"@0000000000000000000656ada1903f093ed2ba6ebbb05c84c9ec96e7991581d12 + + + +1@4c8fe15327ae386b08fdc08b3562558484e4f746918531a39e5f11d757e65532$"@00000000000000000000f86d904b8dd7d5c876c58ae743e8a6a7d07d31b13634(-2 +@f63f1e74168d937aa9e975a294051044a1720acdec6271be2146e08191ffa945B03ca2b9d51e30a10145cf1b5fd8eafe35da6902da94c82d57be71a81d643a6a62a2 +@1f4d4ca4cf86d82ef6731fb34d01e7b2858ca0f89e4425457b3537adf4333816B029f1493a8cf31a4f82fda09c251c2897971e56a3b6a6538359990a439901d97c4B +@4c8fe15327ae386b08fdc08b3562558484e4f746918531a39e5f11d757e65532""1BhFfR2tPmyjbenN4MVPykzQ8WbWg8ApdR"UOP_DUP OP_HASH160 754e22c371a8d86201d32aa79b482d30351f40a4 OP_EQUALVERIFY OP_CHECKSIG*276a914754e22c371a8d86201d32aa79b482d30351f40a488ac*"1BhFfR2tPmyjbenN4MVPykzQ8WbWg8ApdR8$J  +@4c8fe15327ae386b08fdc08b3562558484e4f746918531a39e5f11d757e65532""1G9Hx6b9Ls1bNqHbPaA5cmJ89pys5mKd9q"UOP_DUP OP_HASH160 a61b5d1159b42abe17beb1555c973d7146c59ca9 OP_EQUALVERIFY OP_CHECKSIG*276a914a61b5d1159b42abe17beb1555c973d7146c59ca988ac*"1G9Hx6b9Ls1bNqHbPaA5cmJ89pys5mKd9q8$J  +@4c8fe15327ae386b08fdc08b3562558484e4f746918531a39e5f11d757e65532""1NMKUGz9XM5C44xnk2UqzXzqAFBn2g9vjv"UOP_DUP OP_HASH160 ea3260ff8ba4dd5865e39fd441656ae920d16c33 OP_EQUALVERIFY OP_CHECKSIG*276a914ea3260ff8ba4dd5865e39fd441656ae920d16c3388ac*"1NMKUGz9XM5C44xnk2UqzXzqAFBn2g9vjv8$J !$-@0000000000000000000ad772bf40201d4884173b9fbc525dc4c258174c735cd4"@00000000000000000000f86d904b8dd7d5c876c58ae743e8a6a7d07d31b136342 + + +1@76d14e8fcbcd338ae4ab675260cf7015544326a72e8cb3fbf0562cb6543d668a$"@0000000000000000000ad772bf40201d4884173b9fbc525dc4c258174c735cd4(-2 +@220708452f08d6158d3e1780d28ecc2afb7f199351f65133e6f747f37c81843eB02aa816b0d05ada2dc58a2849daa690b6e93785be5c96d3a83bad12787a4e13bd12 +@12dc631d964b528f828c7b1ef240a72f665600f180c070dfb5c0868e8a0728cfB02c2cf927bf4048189fbf6de2dd687a2a8cedd832449607a61e5234770de5eb778B + @76d14e8fcbcd338ae4ab675260cf7015544326a72e8cb3fbf0562cb6543d668a""1BCcoA5Es66XsNvXBivC3DkiCtmz13XV4k"UOP_DUP OP_HASH160 6fe3b6d8e3d52d1c1cd3cb1f89ac9c44308aa8a3 OP_EQUALVERIFY OP_CHECKSIG*276a9146fe3b6d8e3d52d1c1cd3cb1f89ac9c44308aa8a388ac*"1BCcoA5Es66XsNvXBivC3DkiCtmz13XV4k8$J  +@76d14e8fcbcd338ae4ab675260cf7015544326a72e8cb3fbf0562cb6543d668a""13wMha4hwqo9K5MVnGE6jVG4a4Dzcvz2M7"UOP_DUP OP_HASH160 2037fe189ee685cfd0c30cf8059762adbdd67aec OP_EQUALVERIFY OP_CHECKSIG*276a9142037fe189ee685cfd0c30cf8059762adbdd67aec88ac*"13wMha4hwqo9K5MVnGE6jVG4a4Dzcvz2M78$J  +ĝ@76d14e8fcbcd338ae4ab675260cf7015544326a72e8cb3fbf0562cb6543d668a""1DC5agASwMbvd9xLpxhN9JZxsNDetcodNg"UOP_DUP OP_HASH160 85b9e89f79d35088d83a4e8e813c2fb12fe83ba7 OP_EQUALVERIFY OP_CHECKSIG*276a91485b9e89f79d35088d83a4e8e813c2fb12fe83ba788ac*"1DC5agASwMbvd9xLpxhN9JZxsNDetcodNg8$J  + + +1@3df6d4123f4105b503076b5ebbd227356e7cd28ec45a81b39154787bdf988a5b$"@0000000000000000000ad772bf40201d4884173b9fbc525dc4c258174c735cd4(-2 +@4aac9d36e662bf09c9bf78769b06fc2861f25d6b8b376db9d546e6b52b786e17B0341f51e0e027a4942195824fc6346133db6262b925cf7b3ebb88d80a973df65a52 +@cc6b532cf6016627d603d1d059fd297a7130e4ce81b34d0f7f5ff4f33792ad5bB02bf56b9aab804d287a2517752ee64d6873b175d88ea3f32c5b0ea9a826a7ecc40B +@3df6d4123f4105b503076b5ebbd227356e7cd28ec45a81b39154787bdf988a5b"!1KMvqehkKSWsSNHzkH2P2RcHMFgUzHv4u"UOP_DUP OP_HASH160 0378f51437cdb7b146505448493c580c7fec5f88 OP_EQUALVERIFY OP_CHECKSIG*276a9140378f51437cdb7b146505448493c580c7fec5f8888ac*!1KMvqehkKSWsSNHzkH2P2RcHMFgUzHv4u8$J  + @3df6d4123f4105b503076b5ebbd227356e7cd28ec45a81b39154787bdf988a5b""1BZLScfTNg78FFDFXRxwMoaHVszzz5EQmL"UOP_DUP OP_HASH160 73cecc3473b5af40bd53f64495a97d1717dc1148 OP_EQUALVERIFY OP_CHECKSIG*276a91473cecc3473b5af40bd53f64495a97d1717dc114888ac*"1BZLScfTNg78FFDFXRxwMoaHVszzz5EQmL8$J  + @3df6d4123f4105b503076b5ebbd227356e7cd28ec45a81b39154787bdf988a5b""1CLvBQR8rnuoCEdw27PPBDtmjHsVaPdXDX"UOP_DUP OP_HASH160 7c6dadc5f614c071951bae06de13880a2b842798 OP_EQUALVERIFY OP_CHECKSIG*276a9147c6dadc5f614c071951bae06de13880a2b84279888ac*"1CLvBQR8rnuoCEdw27PPBDtmjHsVaPdXDX8$J ; + + +1@84a260d41cdb1a004bd041b92605442a476c76dda9273e2a5daafa04c58aea02$"@0000000000000000000ad772bf40201d4884173b9fbc525dc4c258174c735cd4(-2 +@d1a342ecd9712ff3f323acd3200a8dd49bb9af0dddab8b102280485b2950112dB02670637ebe718f1c8da135b648ba65c97b15b67217f496f34db0ff1b0b663f09c2 +@3df6d4123f4105b503076b5ebbd227356e7cd28ec45a81b39154787bdf988a5bB022648b4a9fcb7e053c9d233140cd932ab277d84f22c1894ffc05e2c3f4e76a7bfB + +@84a260d41cdb1a004bd041b92605442a476c76dda9273e2a5daafa04c58aea02""1BtphCXpeB7vtckmfhEzRWXsBgRpXjTnYE"UOP_DUP OP_HASH160 777e48b8cd05a41beb5c866181a9133a284a57d4 OP_EQUALVERIFY OP_CHECKSIG*276a914777e48b8cd05a41beb5c866181a9133a284a57d488ac*"1BtphCXpeB7vtckmfhEzRWXsBgRpXjTnYE8$J  + @84a260d41cdb1a004bd041b92605442a476c76dda9273e2a5daafa04c58aea02""18MZU4qzcbxZQbnbpS29q2txsYjibb1LYd"UOP_DUP OP_HASH160 50ac4d30c2b2dad4df61c269ff8a3586307c03b6 OP_EQUALVERIFY OP_CHECKSIG*276a91450ac4d30c2b2dad4df61c269ff8a3586307c03b688ac*"18MZU4qzcbxZQbnbpS29q2txsYjibb1LYd8$J  +@84a260d41cdb1a004bd041b92605442a476c76dda9273e2a5daafa04c58aea02""1EoJax6oDR5FKkZNom6K6qyrT4yFrSJp3M"UOP_DUP OP_HASH160 975b72ed99f2abba2fec729a186abc4acc61ce3c OP_EQUALVERIFY OP_CHECKSIG*276a914975b72ed99f2abba2fec729a186abc4acc61ce3c88ac*"1EoJax6oDR5FKkZNom6K6qyrT4yFrSJp3M8$J ; $ˌ-@00000000000000000011b665a0289788ab6947d19d08a8d4c83197c59d5237aa"@0000000000000000000ad772bf40201d4884173b9fbc525dc4c258174c735cd42 + + + +1@cb24a01dcad6ac2e7f886818f3186542b6716e90a2bf2aab3826a8f9ddac0864$"@00000000000000000011b665a0289788ab6947d19d08a8d4c83197c59d5237aa(ˌ-2 +@76d14e8fcbcd338ae4ab675260cf7015544326a72e8cb3fbf0562cb6543d668aB03ea91c0ad4efb23a95395b5ed0416bdfee93f762a91cbc03f99e3a3372c43d6292 +@76d14e8fcbcd338ae4ab675260cf7015544326a72e8cb3fbf0562cb6543d668aB03ac08e64797922fc1c04cd528ffee2e264cae8dff7582e24cb1b4c764c404a790B + @cb24a01dcad6ac2e7f886818f3186542b6716e90a2bf2aab3826a8f9ddac0864""18CvQrM8tqiLkt2acY8EzFesgnbyQYvApP"UOP_DUP OP_HASH160 4f0a0aa045630238305cba8c72a818a8429b0cad OP_EQUALVERIFY OP_CHECKSIG*276a9144f0a0aa045630238305cba8c72a818a8429b0cad88ac*"18CvQrM8tqiLkt2acY8EzFesgnbyQYvApP8$J  +@cb24a01dcad6ac2e7f886818f3186542b6716e90a2bf2aab3826a8f9ddac0864""18SQkRAVuvpgusAH6kEiHDh4MPavcEdy5z"UOP_DUP OP_HASH160 51971a94c7641939f71bec904684436f961eb250 OP_EQUALVERIFY OP_CHECKSIG*276a91451971a94c7641939f71bec904684436f961eb25088ac*"18SQkRAVuvpgusAH6kEiHDh4MPavcEdy5z8$J  +@cb24a01dcad6ac2e7f886818f3186542b6716e90a2bf2aab3826a8f9ddac0864""1Fvh8b5ur95BJSkgH9xWe8iJf2e4Zn159U"UOP_DUP OP_HASH160 a3b94e74de4225625e875c703ac72f540bb8101c OP_EQUALVERIFY OP_CHECKSIG*276a914a3b94e74de4225625e875c703ac72f540bb8101c88ac*"1Fvh8b5ur95BJSkgH9xWe8iJf2e4Zn159U8$J  $-@000000000000000000161156dd16ec92dadaf0ad7f9f2674ce58b9472a4cfae4"@00000000000000000011b665a0289788ab6947d19d08a8d4c83197c59d5237aa2 + + + +1@0653e9bd150dbef53fd777e838b798635f84cda34207b9bef0e53da86939cec8$"@000000000000000000161156dd16ec92dadaf0ad7f9f2674ce58b9472a4cfae4(-2 +@a6eea699074fec12273be1453c8bfd6060fd36f8a38f483eef76740af0824b9dB029c16bb1222a1c1b314b713a165aa4c7d86316e156c33078837601bd496081b4f2 +@4c8fe15327ae386b08fdc08b3562558484e4f746918531a39e5f11d757e65532B03ca9297b6384f2a832bd0b56a47c3ea0b4c441e1d51052f2ac8e8921fb75b2072B +@0653e9bd150dbef53fd777e838b798635f84cda34207b9bef0e53da86939cec8""1FWwnZcm7wMrSk3viorCusuACKSmPqDutk"UOP_DUP OP_HASH160 9f3b8e79c1fd2f1b0688a461bca8729e720caa11 OP_EQUALVERIFY OP_CHECKSIG*276a9149f3b8e79c1fd2f1b0688a461bca8729e720caa1188ac*"1FWwnZcm7wMrSk3viorCusuACKSmPqDutk8$J  +z@0653e9bd150dbef53fd777e838b798635f84cda34207b9bef0e53da86939cec8""1HXgbwQ2u1aZq7shLUQ1zMg5YJ8KNGrg9F"UOP_DUP OP_HASH160 b54f8cbf4a2f74288de266f5724e22b58505a502 OP_EQUALVERIFY OP_CHECKSIG*276a914b54f8cbf4a2f74288de266f5724e22b58505a50288ac*"1HXgbwQ2u1aZq7shLUQ1zMg5YJ8KNGrg9F8$J  +څ@0653e9bd150dbef53fd777e838b798635f84cda34207b9bef0e53da86939cec8""181e4JEooEiE4586d9MUL9Q5AyAAaKFPCd"UOP_DUP OP_HASH160 4ce7d0615dd50d865b3577c0c20228a9bedb2cde OP_EQUALVERIFY OP_CHECKSIG*276a9144ce7d0615dd50d865b3577c0c20228a9bedb2cde88ac*"181e4JEooEiE4586d9MUL9Q5AyAAaKFPCd8$J  +$-@00000000000000000012dd6372d22bdb2680e3435238592181ec5e08c66d6e55"@000000000000000000161156dd16ec92dadaf0ad7f9f2674ce58b9472a4cfae42$Щ-@000000000000000000107cec181e8d7ba53001413c6fb1a503c1967a8a778696"@00000000000000000012dd6372d22bdb2680e3435238592181ec5e08c66d6e552$-@0000000000000000000def588a75c29c8c95cb6b0e0b1b694b18c522a9411674"@000000000000000000107cec181e8d7ba53001413c6fb1a503c1967a8a7786962$Ñ-@000000000000000000174bc9afea2933b313134c3153a2a34d6a4ba79d2056e6"@0000000000000000000def588a75c29c8c95cb6b0e0b1b694b18c522a94116742 + + +1@05c5aeb13db705330e19f3f32ef7c19f2f1e26015e4b73335ac92b1b597380ad$"@000000000000000000174bc9afea2933b313134c3153a2a34d6a4ba79d2056e6(Ñ-2 +@4c8fe15327ae386b08fdc08b3562558484e4f746918531a39e5f11d757e65532B033942ed3978d4a2c2918ba30c9e47f9837d731390425b3ee7a5707a28282570822 +@6c0031540f9f4b7394c99b2816476969cc4be4bca347c9fe7eaef766495ebb79B02d857eac025404486f5eb1b90831c9483388cd8d1f24d0469e287df055900bcc2B +@05c5aeb13db705330e19f3f32ef7c19f2f1e26015e4b73335ac92b1b597380ad""1GvQM2JhoS3fSr3jLYnfjjRiDCppmoJsW5"UOP_DUP OP_HASH160 aea36b9b252c8b0aa15a1317c6db048611fad329 OP_EQUALVERIFY OP_CHECKSIG*276a914aea36b9b252c8b0aa15a1317c6db048611fad32988ac*"1GvQM2JhoS3fSr3jLYnfjjRiDCppmoJsW58$J  +@05c5aeb13db705330e19f3f32ef7c19f2f1e26015e4b73335ac92b1b597380ad""1CiGX3fEtMV463Qjw3zKC6G3pjqrN7o4mz"UOP_DUP OP_HASH160 80776450a5e99894ec861366c025e3f60782f514 OP_EQUALVERIFY OP_CHECKSIG*276a91480776450a5e99894ec861366c025e3f60782f51488ac*"1CiGX3fEtMV463Qjw3zKC6G3pjqrN7o4mz8$J  +˵@05c5aeb13db705330e19f3f32ef7c19f2f1e26015e4b73335ac92b1b597380ad""12JkaHBzNsSQq4deenSgQrRp4FnRyVBtK9"UOP_DUP OP_HASH160 0e539218e55011999781406eb570c9ef0f739e23 OP_EQUALVERIFY OP_CHECKSIG*276a9140e539218e55011999781406eb570c9ef0f739e2388ac*"12JkaHBzNsSQq4deenSgQrRp4FnRyVBtK98$J  + + +1@83837565e719be6b5d11667a8f5223086532af27a9646e2c6b3c71902cc03245$"@000000000000000000174bc9afea2933b313134c3153a2a34d6a4ba79d2056e6(Ñ-2 +@a8636c22cc7bac97f9e646ab854092022b0e09af08d37bc4338d2e48be6c17f5B0321072b69b2499abf98b0637dabe0e8a308bbe8ed42979235c89eb1351341dc222 +@973873a0c1a08876ab047531758c5e5fcef67c06a9b7c9d5641b1f108d4669dcB0276e03eaa49cb51fef80fd60f58c6bb86395c8e7d92af5ab9f2318b8213c9bbadB +@83837565e719be6b5d11667a8f5223086532af27a9646e2c6b3c71902cc03245""12VfUUkVdyYJCygDQf77KAYyj1hmcHZ1fY"UOP_DUP OP_HASH160 1063e395488efd750b14b6fa1fe0290f6c4a9e4b OP_EQUALVERIFY OP_CHECKSIG*276a9141063e395488efd750b14b6fa1fe0290f6c4a9e4b88ac*"12VfUUkVdyYJCygDQf77KAYyj1hmcHZ1fY8$J  + @83837565e719be6b5d11667a8f5223086532af27a9646e2c6b3c71902cc03245"!1DMWSC22HHdSaHixW8PqJTHC1uTg6i4RD"UOP_DUP OP_HASH160 02561c3e9d999aaf25be9f7241aee0a04d021629 OP_EQUALVERIFY OP_CHECKSIG*276a91402561c3e9d999aaf25be9f7241aee0a04d02162988ac*!1DMWSC22HHdSaHixW8PqJTHC1uTg6i4RD8$J  +V@83837565e719be6b5d11667a8f5223086532af27a9646e2c6b3c71902cc03245""12v2Eak5GuGH9ZVZeuqxAL7Y5ySc7smmFV"UOP_DUP OP_HASH160 14ff33b5a7005e09eca1fd8cfed5b843d5140933 OP_EQUALVERIFY OP_CHECKSIG*276a91414ff33b5a7005e09eca1fd8cfed5b843d514093388ac*"12v2Eak5GuGH9ZVZeuqxAL7Y5ySc7smmFV8$J ;$-@000000000000000000001ee89ab024cf3ef7769c1458de99df1f49d032a40fc1"@000000000000000000174bc9afea2933b313134c3153a2a34d6a4ba79d2056e62$-@00000000000000000005ef0bbb3d2f70ae6150cddf41679c63a6d2f5d6d2ea48"@000000000000000000001ee89ab024cf3ef7769c1458de99df1f49d032a40fc12$-@0000000000000000000991739a50c479755f65ce33fb73e7a76ec86b555a9431"@00000000000000000005ef0bbb3d2f70ae6150cddf41679c63a6d2f5d6d2ea482$-@00000000000000000005b1de2444d499839dcde492fcb00f2b3390da50fc752b"@0000000000000000000991739a50c479755f65ce33fb73e7a76ec86b555a94312V$߮-@000000000000000000111fba5d0133dfbbd4ad986c10ce642dc87d2a1b21b6a8"@00000000000000000005b1de2444d499839dcde492fcb00f2b3390da50fc752b2U + + +1@a697d9817bebe62ca9152a72782860e9de54cb34bb38c12dcec9fa7292e54e69$"@000000000000000000111fba5d0133dfbbd4ad986c10ce642dc87d2a1b21b6a8(߮-2 +@cb24a01dcad6ac2e7f886818f3186542b6716e90a2bf2aab3826a8f9ddac0864B029f98b10f086001d691ed0b980f18951a6bc4f6970d2458f7c00730a87cf413972 +@0c2c1cd48f41c09549f2c17597c808764af595f66ce0bb4456492249f73c21e5B03f657a6bacf3f255a22ed4a6f527a45647615ee0d37e05aeff2dc9f62bc1cba79B + @a697d9817bebe62ca9152a72782860e9de54cb34bb38c12dcec9fa7292e54e69""1KX5YsK3joHvYy5mZaKhbvKoox4DcZfkpS"UOP_DUP OP_HASH160 cb228a677e846be700a54ffa5a30778f7da12e68 OP_EQUALVERIFY OP_CHECKSIG*276a914cb228a677e846be700a54ffa5a30778f7da12e6888ac*"1KX5YsK3joHvYy5mZaKhbvKoox4DcZfkpS8$J  +@a697d9817bebe62ca9152a72782860e9de54cb34bb38c12dcec9fa7292e54e69""19anL6LsXg5WHfRJkkggDv2m9j4NTppvN6"UOP_DUP OP_HASH160 5e249267f06694ff1359db381e54ede861e9ec34 OP_EQUALVERIFY OP_CHECKSIG*276a9145e249267f06694ff1359db381e54ede861e9ec3488ac*"19anL6LsXg5WHfRJkkggDv2m9j4NTppvN68$J  +"@a697d9817bebe62ca9152a72782860e9de54cb34bb38c12dcec9fa7292e54e69""1Jjy1u1eKzVdSS2Nknq6NfGxoR4FALcvRF"UOP_DUP OP_HASH160 c29a5e39ef0db3860b1c15bb170e7f45486b67a0 OP_EQUALVERIFY OP_CHECKSIG*276a914c29a5e39ef0db3860b1c15bb170e7f45486b67a088ac*"1Jjy1u1eKzVdSS2Nknq6NfGxoR4FALcvRF8$J  + + +1@d736b0b0eaf56fcf16cd0714ba5056485069f2c417552993436c5debf8981fa2$"@000000000000000000111fba5d0133dfbbd4ad986c10ce642dc87d2a1b21b6a8(߮-2 +@a697d9817bebe62ca9152a72782860e9de54cb34bb38c12dcec9fa7292e54e69B03ad401b0a193ab2e3638d4126753ba5fb18d0684634f759b2e1bd61fbe937dea82 +@a697d9817bebe62ca9152a72782860e9de54cb34bb38c12dcec9fa7292e54e69B0320c8f1810953a4b94be11d5955aba155288d575086682ad458a8f63c7ce5c1feB + @d736b0b0eaf56fcf16cd0714ba5056485069f2c417552993436c5debf8981fa2""13TFmMrgn15ChSv6tv7MXuUiqQqNsdn7pm"UOP_DUP OP_HASH160 1ae764419463414f344969b452652905c37db01a OP_EQUALVERIFY OP_CHECKSIG*276a9141ae764419463414f344969b452652905c37db01a88ac*"13TFmMrgn15ChSv6tv7MXuUiqQqNsdn7pm8$J  +@d736b0b0eaf56fcf16cd0714ba5056485069f2c417552993436c5debf8981fa2""17Q6nEPUAPLuredL7M9RuofLMfw3HrT8Kk"UOP_DUP OP_HASH160 462f258718f0877c2f9e050507bd9b9a8772cf5b OP_EQUALVERIFY OP_CHECKSIG*276a914462f258718f0877c2f9e050507bd9b9a8772cf5b88ac*"17Q6nEPUAPLuredL7M9RuofLMfw3HrT8Kk8$J  +!@d736b0b0eaf56fcf16cd0714ba5056485069f2c417552993436c5debf8981fa2""19Cnogik75Gdv7sHXfPG2d9c9UX3CJDj2B"UOP_DUP OP_HASH160 59fbd15f8629db5f9fe8e51a2310c3de4c7134f6 OP_EQUALVERIFY OP_CHECKSIG*276a91459fbd15f8629db5f9fe8e51a2310c3de4c7134f688ac*"19Cnogik75Gdv7sHXfPG2d9c9UX3CJDj2B8$J  + + +1@9bb23ade0cbef56ac4d5e16f9e076bbf0122115330f6aac3a7dd2c3a314e7b50$"@000000000000000000111fba5d0133dfbbd4ad986c10ce642dc87d2a1b21b6a8(߮-2 +@d736b0b0eaf56fcf16cd0714ba5056485069f2c417552993436c5debf8981fa2B030498b37ca0231134353dbb9863470900447f58e3ad3f592efd4fc18aadd9bfec2 +@d736b0b0eaf56fcf16cd0714ba5056485069f2c417552993436c5debf8981fa2B03c5af0b9f199e15e0bd0a820829890365ea53f0cb020b6434582b39ae54f33f55B +Ȥ @9bb23ade0cbef56ac4d5e16f9e076bbf0122115330f6aac3a7dd2c3a314e7b50""1H2zj5QsdjavhJwEcQm1YFNkyGoSnMMs3g"UOP_DUP OP_HASH160 afe29d8308d1213a22dcb316d6b703848a8a0b9f OP_EQUALVERIFY OP_CHECKSIG*276a914afe29d8308d1213a22dcb316d6b703848a8a0b9f88ac*"1H2zj5QsdjavhJwEcQm1YFNkyGoSnMMs3g8$J  +@9bb23ade0cbef56ac4d5e16f9e076bbf0122115330f6aac3a7dd2c3a314e7b50""17ZTHYJacufgQRq5f3oGUTS4krncALi2kG"UOP_DUP OP_HASH160 47f401da003bad338101201860331f8de846fd82 OP_EQUALVERIFY OP_CHECKSIG*276a91447f401da003bad338101201860331f8de846fd8288ac*"17ZTHYJacufgQRq5f3oGUTS4krncALi2kG8$J  +@9bb23ade0cbef56ac4d5e16f9e076bbf0122115330f6aac3a7dd2c3a314e7b50""1JP3sjBC1PYNDzukKKWRn2BmV3TNfCj2Di"UOP_DUP OP_HASH160 bea5b067d0d4e3ea8b3fc255e52265de15e96430 OP_EQUALVERIFY OP_CHECKSIG*276a914bea5b067d0d4e3ea8b3fc255e52265de15e9643088ac*"1JP3sjBC1PYNDzukKKWRn2BmV3TNfCj2Di8$J  + + +1@9900df914e6a18345fe2d8ec07d44291d773c1b341bb25eee4da1adce7591369$"@000000000000000000111fba5d0133dfbbd4ad986c10ce642dc87d2a1b21b6a8(߮-2 +@9bb23ade0cbef56ac4d5e16f9e076bbf0122115330f6aac3a7dd2c3a314e7b50B0305d599b3555ec0507736f793c4e892d1e209fe4f8df03d96f18a763355eb90452 +@1ad15b293e4452e36e7666c497ee44b239ec3350c15ffdfc929b4d20c2d31fd1B02739ce99ec37ce339773699783a6a8dfdc6aacd2fd6c0930cb36d5b1b69f0feccB + @9900df914e6a18345fe2d8ec07d44291d773c1b341bb25eee4da1adce7591369""1DV1mQZ4fp4VKVrm4VVrryQwZkraaucZuz"UOP_DUP OP_HASH160 88edcba241bd5c52736c580f64df2a0569ca9127 OP_EQUALVERIFY OP_CHECKSIG*276a91488edcba241bd5c52736c580f64df2a0569ca912788ac*"1DV1mQZ4fp4VKVrm4VVrryQwZkraaucZuz8$J  +@9900df914e6a18345fe2d8ec07d44291d773c1b341bb25eee4da1adce7591369""1AK7cg8favLwizCUBdfHhQYNfCiQGS8Cy1"UOP_DUP OP_HASH160 6626243003f6e2e14b7a46fd83016077eed16625 OP_EQUALVERIFY OP_CHECKSIG*276a9146626243003f6e2e14b7a46fd83016077eed1662588ac*"1AK7cg8favLwizCUBdfHhQYNfCiQGS8Cy18$J  +@9900df914e6a18345fe2d8ec07d44291d773c1b341bb25eee4da1adce7591369""19UJHS3mskAGLr6yKqECo6vSoTY4gKd7kC"UOP_DUP OP_HASH160 5ceaaa245e039614716ffb8c832e709c446f8552 OP_EQUALVERIFY OP_CHECKSIG*276a9145ceaaa245e039614716ffb8c832e709c446f855288ac*"19UJHS3mskAGLr6yKqECo6vSoTY4gKd7kC8$J  + + +1@21b6dcc49f5ca22d09de9d08b3674e49df4382a57eaf8edd9a8f404468b1b90a$"@000000000000000000111fba5d0133dfbbd4ad986c10ce642dc87d2a1b21b6a8(߮-2 +@0653e9bd150dbef53fd777e838b798635f84cda34207b9bef0e53da86939cec8B021d03c648499646e778ec4def0aa580d00779e1d08757f2fd510a525cbc9ddd4f2 +@731142cac53e41fbb42e9d16ed41abd4aa6901107ccbd86b8ac55577df4bb903B03faacf58b940a00d74d16e81012f37409dca0903e66a79163fd3200878b1e2caeB +@21b6dcc49f5ca22d09de9d08b3674e49df4382a57eaf8edd9a8f404468b1b90a""1GrSDQDBrgBYwQghkDenY6Wmt69ttLQ2AV"UOP_DUP OP_HASH160 ade350f920caccd91030df708a52f8104ebc9d06 OP_EQUALVERIFY OP_CHECKSIG*276a914ade350f920caccd91030df708a52f8104ebc9d0688ac*"1GrSDQDBrgBYwQghkDenY6Wmt69ttLQ2AV8$J  +@21b6dcc49f5ca22d09de9d08b3674e49df4382a57eaf8edd9a8f404468b1b90a""18YZYNkPkSoUANooTtHxJ7CHSRBgxshevM"UOP_DUP OP_HASH160 52c0f069fa9b0a468a55b113ea18264763550c31 OP_EQUALVERIFY OP_CHECKSIG*276a91452c0f069fa9b0a468a55b113ea18264763550c3188ac*"18YZYNkPkSoUANooTtHxJ7CHSRBgxshevM8$J  +@21b6dcc49f5ca22d09de9d08b3674e49df4382a57eaf8edd9a8f404468b1b90a""1M8fgwToDsZH9ycu6xtzC2LK7vqXJLDYzB"UOP_DUP OP_HASH160 dcd5b9185a4f7acc2e42288c0fb3748a229f41a4 OP_EQUALVERIFY OP_CHECKSIG*276a914dcd5b9185a4f7acc2e42288c0fb3748a229f41a488ac*"1M8fgwToDsZH9ycu6xtzC2LK7vqXJLDYzB8$J  + + +1@df41bf0ed58cbd1454e3c2f3ed392619a0d270b9fb9d7253129a0d0214c6e1b0$"@000000000000000000111fba5d0133dfbbd4ad986c10ce642dc87d2a1b21b6a8(߮-2 +@05c5aeb13db705330e19f3f32ef7c19f2f1e26015e4b73335ac92b1b597380adB03e7c96dac2bbfb4a7c52a0b9cba190de4bf694b7558655c448ef38d544ebd14a62 +@21b6dcc49f5ca22d09de9d08b3674e49df4382a57eaf8edd9a8f404468b1b90aB022b798b3d5c68558ff9675f0f7d31b2d47d32bdbe41beafa8d94a8bc9702c1aa5B +@df41bf0ed58cbd1454e3c2f3ed392619a0d270b9fb9d7253129a0d0214c6e1b0""1L7VwJZRoSUS8AEq6HUoN81tEoLNt3sKnJ"UOP_DUP OP_HASH160 d1a50a59b102d97ee5034c65de12b30d95c735f7 OP_EQUALVERIFY OP_CHECKSIG*276a914d1a50a59b102d97ee5034c65de12b30d95c735f788ac*"1L7VwJZRoSUS8AEq6HUoN81tEoLNt3sKnJ8$J  +@df41bf0ed58cbd1454e3c2f3ed392619a0d270b9fb9d7253129a0d0214c6e1b0""1FkWGoQqUCsUkQNwMtwhS31JS24ZPBu6yL"UOP_DUP OP_HASH160 a1cc152cae3d72659a3fa8a40e0eec0343fe85e1 OP_EQUALVERIFY OP_CHECKSIG*276a914a1cc152cae3d72659a3fa8a40e0eec0343fe85e188ac*"1FkWGoQqUCsUkQNwMtwhS31JS24ZPBu6yL8$J  +@df41bf0ed58cbd1454e3c2f3ed392619a0d270b9fb9d7253129a0d0214c6e1b0""1Kk94t8pf6bYvweXafrWkTXQAdj67Eh7cm"UOP_DUP OP_HASH160 cd9ae267af3361c90ea08b7d7b3ce2024fdd08c1 OP_EQUALVERIFY OP_CHECKSIG*276a914cd9ae267af3361c90ea08b7d7b3ce2024fdd08c188ac*"1Kk94t8pf6bYvweXafrWkTXQAdj67Eh7cm8$J  + + +1@7c713cb10dc4f08ac7e7c53cc102b6f7914d8b92d2be60c849b9d6e3564deffc$"@000000000000000000111fba5d0133dfbbd4ad986c10ce642dc87d2a1b21b6a8(߮-2 +@dc3c347be7eabb24d0f1e633bf15bb20bfb7a53b2ade886bcc0262b587b8555dB031c3b26c11dcadd1f4149b1c60e8e1c1fedd24e2cc7b903abb10dd8c3f6351aad2 +@4d351efd68c31987b64011f2a469551760c03528303efcdde34244d48838ee24B025437733012323c322b873353807c4647881d8444ec555b478ac9e08d3e28d630B +Й@7c713cb10dc4f08ac7e7c53cc102b6f7914d8b92d2be60c849b9d6e3564deffc""1JR2wexFMeSrCfHzAaurzcYvMxWwVVyNFh"UOP_DUP OP_HASH160 bf05be2642475dfc8b8ded57a25defb0935ce28e OP_EQUALVERIFY OP_CHECKSIG*276a914bf05be2642475dfc8b8ded57a25defb0935ce28e88ac*"1JR2wexFMeSrCfHzAaurzcYvMxWwVVyNFh8$J  + @7c713cb10dc4f08ac7e7c53cc102b6f7914d8b92d2be60c849b9d6e3564deffc""1PX39GUsqgVRgCf19f8pVcohv4hC5eLNPg"UOP_DUP OP_HASH160 f70108db191b331b74d819a0e25eff842f0ec211 OP_EQUALVERIFY OP_CHECKSIG*276a914f70108db191b331b74d819a0e25eff842f0ec21188ac*"1PX39GUsqgVRgCf19f8pVcohv4hC5eLNPg8$J  +%@7c713cb10dc4f08ac7e7c53cc102b6f7914d8b92d2be60c849b9d6e3564deffc""1BpYT173kAGBbtJho9xdg1qbo8h7BFHSZn"UOP_DUP OP_HASH160 76af0f4cd9eec3097e3e775923ea0cbe2ada0d1f OP_EQUALVERIFY OP_CHECKSIG*276a91476af0f4cd9eec3097e3e775923ea0cbe2ada0d1f88ac*"1BpYT173kAGBbtJho9xdg1qbo8h7BFHSZn8$J ; + + +1@80e0b73f4e9e721b3c876da319f5ce5cd2b48151f06da1c73ecdb40c29f2a14a$"@000000000000000000111fba5d0133dfbbd4ad986c10ce642dc87d2a1b21b6a8(߮-2 +@5b3a8e378c543ce4b53da2e4a6587645a43e7673358703ba4d59096cfbc805a3B0328a921dedc59701c339174bd7a94762807aa46a503d22d2eeafa93c515cde7c32 +@53f4b20ef74221592b5d97c4addfb44d8c3ca291886bce900a58742f35492971B027d365e8a029726c1d8c489fb8261c79273593d7d9c7223135675d5be3d51db7cB +@80e0b73f4e9e721b3c876da319f5ce5cd2b48151f06da1c73ecdb40c29f2a14a""1KXEeXCfe7utZ1t3KzoY4aDRjXGH21hJoH"UOP_DUP OP_HASH160 cb2a22840d036a52c4f27b83d57c4d676a830d3f OP_EQUALVERIFY OP_CHECKSIG*276a914cb2a22840d036a52c4f27b83d57c4d676a830d3f88ac*"1KXEeXCfe7utZ1t3KzoY4aDRjXGH21hJoH8$J  + @80e0b73f4e9e721b3c876da319f5ce5cd2b48151f06da1c73ecdb40c29f2a14a""17FbJnycogdkDsfTHjrKTy7q1TS1TYWCNE"UOP_DUP OP_HASH160 4493374cedb4242a9fee4e5846c6053b33bf263d OP_EQUALVERIFY OP_CHECKSIG*276a9144493374cedb4242a9fee4e5846c6053b33bf263d88ac*"17FbJnycogdkDsfTHjrKTy7q1TS1TYWCNE8$J  +L@80e0b73f4e9e721b3c876da319f5ce5cd2b48151f06da1c73ecdb40c29f2a14a""1PmTggp4NqvRmsQ8uFMos9cXZQEvPBJxCg"UOP_DUP OP_HASH160 f9bb582de9bd71288c9ffc17ee24038a45fcdab5 OP_EQUALVERIFY OP_CHECKSIG*276a914f9bb582de9bd71288c9ffc17ee24038a45fcdab588ac*"1PmTggp4NqvRmsQ8uFMos9cXZQEvPBJxCg8$J ; $-@000000000000000000104969e38f02102ee1eccdd2f2a6901f24d58e81df48d2"@000000000000000000111fba5d0133dfbbd4ad986c10ce642dc87d2a1b21b6a82 + + + +1@0575027b18d121b763f345127fa921faf40b58946e2e68598489b121b372142a$"@000000000000000000104969e38f02102ee1eccdd2f2a6901f24d58e81df48d2(-2 +@21b6dcc49f5ca22d09de9d08b3674e49df4382a57eaf8edd9a8f404468b1b90aB03dd5c99e0e757b5fe182ebe0b9ff718c4317d3a89dbab24e615fe6813a2b426612 +@df41bf0ed58cbd1454e3c2f3ed392619a0d270b9fb9d7253129a0d0214c6e1b0B02eea409f69dc24c51ab711a2881c82008702a826b916162539f208bacd582adb0B +@0575027b18d121b763f345127fa921faf40b58946e2e68598489b121b372142a""1Mp2Pj7mbUeZBAmtcCJVtmXbYSWrQwvhV7"UOP_DUP OP_HASH160 e4473a4bebdabdb62235693a4999060d1a3b8d33 OP_EQUALVERIFY OP_CHECKSIG*276a914e4473a4bebdabdb62235693a4999060d1a3b8d3388ac*"1Mp2Pj7mbUeZBAmtcCJVtmXbYSWrQwvhV78$J  +@0575027b18d121b763f345127fa921faf40b58946e2e68598489b121b372142a""14DxdBQbiXowmEBfQ2JKQh9VYavkWZRZZ8"UOP_DUP OP_HASH160 235bcd214261ef89bb8d479de29848183351e5c8 OP_EQUALVERIFY OP_CHECKSIG*276a914235bcd214261ef89bb8d479de29848183351e5c888ac*"14DxdBQbiXowmEBfQ2JKQh9VYavkWZRZZ88$J  +Ֆ@0575027b18d121b763f345127fa921faf40b58946e2e68598489b121b372142a""12gt1eugxSPL89cmwJtBe62hNd9CcMgahD"UOP_DUP OP_HASH160 1282ee2bd5f9caad09c122d97776085f5ba07ecf OP_EQUALVERIFY OP_CHECKSIG*276a9141282ee2bd5f9caad09c122d97776085f5ba07ecf88ac*"12gt1eugxSPL89cmwJtBe62hNd9CcMgahD8$J $-@0000000000000000000140372698cfed845b4d94160ad31286a5f40b4801f67d"@000000000000000000104969e38f02102ee1eccdd2f2a6901f24d58e81df48d22)$-@00000000000000000013d358e144014acbf79bd3bc7457dc73aef4d0e4639385"@0000000000000000000140372698cfed845b4d94160ad31286a5f40b4801f67d2( + + +1@f306b15614ed59193ec56d3d2cb8994958c4f0df2a677e380e3d48c587a59744$"@00000000000000000013d358e144014acbf79bd3bc7457dc73aef4d0e4639385(-2 +@df41bf0ed58cbd1454e3c2f3ed392619a0d270b9fb9d7253129a0d0214c6e1b0B03cc54e0866c4396292b436397bb6e1e0ff7813bde3c7679e3a75fc7848b9c93402 +@cfd64fdc3f9caf76ab9c630b7bff6c4b5e5bf064c1fc2b11574fca80331e16f3B0342b5b38af31031f093354d28d9cdbc0e29c6cdbfdbb551753501ab5ec028dc78B +@f306b15614ed59193ec56d3d2cb8994958c4f0df2a677e380e3d48c587a59744""15cJ14njmZ63WPh8cgGbU8CUbQkdV2eawX"UOP_DUP OP_HASH160 328d40ed7339a28065ce87186cd9808b794f85b7 OP_EQUALVERIFY OP_CHECKSIG*276a914328d40ed7339a28065ce87186cd9808b794f85b788ac*"15cJ14njmZ63WPh8cgGbU8CUbQkdV2eawX8$J  +z@f306b15614ed59193ec56d3d2cb8994958c4f0df2a677e380e3d48c587a59744""1KvtxJfGP25bmz5KfuD2DrYJKKUiVtUKVy"UOP_DUP OP_HASH160 cfa3adbf6802375be192f32537f5cdb8549f4d98 OP_EQUALVERIFY OP_CHECKSIG*276a914cfa3adbf6802375be192f32537f5cdb8549f4d9888ac*"1KvtxJfGP25bmz5KfuD2DrYJKKUiVtUKVy8$J  +@f306b15614ed59193ec56d3d2cb8994958c4f0df2a677e380e3d48c587a59744""1GZTyhrPFn6BYKhVDdLY9PVMhsoFAAPVg8"UOP_DUP OP_HASH160 aaadb7a453ece233cc893e60af74942adb421d75 OP_EQUALVERIFY OP_CHECKSIG*276a914aaadb7a453ece233cc893e60af74942adb421d7588ac*"1GZTyhrPFn6BYKhVDdLY9PVMhsoFAAPVg88$J  + + + +1@f301d964aeb1d18eb80499b04557cd378926ae2ae330505057d987d30201977f$"@00000000000000000013d358e144014acbf79bd3bc7457dc73aef4d0e4639385(-2 +@3df6d4123f4105b503076b5ebbd227356e7cd28ec45a81b39154787bdf988a5bB026bd6c448e399e46645e7a0e42e1eb4b0d81fdf6c8cdbd9aa08a21850c473ca522 +@75e12b511fc11296d16bfe08a43615374208c9cd2ccc5b8ec154b0a6f9787853B027ec57c30578497ca4c86947fe3000af356b528cb5d82785076428a055fb77d2fB +@f301d964aeb1d18eb80499b04557cd378926ae2ae330505057d987d30201977f""124Y6a6AqqZaPX3vD4SfAN92RisWsD9pNs"UOP_DUP OP_HASH160 0ba354d29da4dcf2cae8ae83a9a19f910bf964f6 OP_EQUALVERIFY OP_CHECKSIG*276a9140ba354d29da4dcf2cae8ae83a9a19f910bf964f688ac*"124Y6a6AqqZaPX3vD4SfAN92RisWsD9pNs8$J  + @f301d964aeb1d18eb80499b04557cd378926ae2ae330505057d987d30201977f""1P5p2EG9ATKgLhqnB9JSY9TmzT95hrR96w"UOP_DUP OP_HASH160 f23baeb19a60b8b2772df5a90fd11e1568dfd595 OP_EQUALVERIFY OP_CHECKSIG*276a914f23baeb19a60b8b2772df5a90fd11e1568dfd59588ac*"1P5p2EG9ATKgLhqnB9JSY9TmzT95hrR96w8$J  +Ԅ @f301d964aeb1d18eb80499b04557cd378926ae2ae330505057d987d30201977f""19rrDBost7eLoo9jfLRvmDuVJiHLGdL35g"UOP_DUP OP_HASH160 612e7788a18829e2868af7010339cfca7cf527b3 OP_EQUALVERIFY OP_CHECKSIG*276a914612e7788a18829e2868af7010339cfca7cf527b388ac*"19rrDBost7eLoo9jfLRvmDuVJiHLGdL35g8$J ; + + +1@b0630fb922834950005023470394f8c85a5e3b5e9608c14f227336361140c1df$"@00000000000000000013d358e144014acbf79bd3bc7457dc73aef4d0e4639385(-2 +@84a260d41cdb1a004bd041b92605442a476c76dda9273e2a5daafa04c58aea02B03c7db289bb7e367fbd48161018567a90ac378b1a11996bce06a5069d4d5a528d52 +@f301d964aeb1d18eb80499b04557cd378926ae2ae330505057d987d30201977fB02e50304313f090c535746b14490429e1977d501015bb3df6e0747dbb35bb5dad2B + +@b0630fb922834950005023470394f8c85a5e3b5e9608c14f227336361140c1df""197wDUY6cjEN691B6gmdmgVYrCeEvfJsaj"UOP_DUP OP_HASH160 5910c22dde2261f54ed4605e90cfeeb0cec13c2c OP_EQUALVERIFY OP_CHECKSIG*276a9145910c22dde2261f54ed4605e90cfeeb0cec13c2c88ac*"197wDUY6cjEN691B6gmdmgVYrCeEvfJsaj8$J  + @b0630fb922834950005023470394f8c85a5e3b5e9608c14f227336361140c1df""18a8yVFJyx8pvbtjjc1E6k55u3Nw9qCQjf"UOP_DUP OP_HASH160 530d4375a22f04ae02514a12da2b9b970cecaf45 OP_EQUALVERIFY OP_CHECKSIG*276a914530d4375a22f04ae02514a12da2b9b970cecaf4588ac*"18a8yVFJyx8pvbtjjc1E6k55u3Nw9qCQjf8$J  +ݿ@b0630fb922834950005023470394f8c85a5e3b5e9608c14f227336361140c1df""1ArKfUTkjVGohzrYfwoewUQTtk7h6Sn7QC"UOP_DUP OP_HASH160 6c0d17f2e02d87ccd15363a752634a57a415b4c1 OP_EQUALVERIFY OP_CHECKSIG*276a9146c0d17f2e02d87ccd15363a752634a57a415b4c188ac*"1ArKfUTkjVGohzrYfwoewUQTtk7h6Sn7QC8$J ; + +1@7c646fab646890060f33c823090b3fdfe2de60318e48bfb7b202a4bab6bde2f9$"@00000000000000000013d358e144014acbf79bd3bc7457dc73aef4d0e4639385(-2 +@528f53de0e2565f176a0f625c97f22640c9f610a9c481a2cdebcd60120f5b072B02cd8928b2b01b2fb60785c890c1f29450a7b05547db57533cb11686128a8322d92 +@22cde21390bd702a58bc0349c96d68cfac0ee28aecc401901a18d6516b6696c7B021f6d6819834f0243f82f7282a7f3d4d558030be5143d37edcf680ebc1f23c019B + @7c646fab646890060f33c823090b3fdfe2de60318e48bfb7b202a4bab6bde2f9""1A2zqprEgV3EgGFCPGWnAQQQdak9oqheBK"UOP_DUP OP_HASH160 6319d4f92ecf8f892c7f37e22a9db0e9cdf51a31 OP_EQUALVERIFY OP_CHECKSIG*276a9146319d4f92ecf8f892c7f37e22a9db0e9cdf51a3188ac*"1A2zqprEgV3EgGFCPGWnAQQQdak9oqheBK8$J  +@7c646fab646890060f33c823090b3fdfe2de60318e48bfb7b202a4bab6bde2f9""12ExFGHg4F3Zahi2QNUA2kw9cYMpuTt6va"UOP_DUP OP_HASH160 0d9ba6778dbde3ad7fb9d42c19e859f6fc3902ec OP_EQUALVERIFY OP_CHECKSIG*276a9140d9ba6778dbde3ad7fb9d42c19e859f6fc3902ec88ac*"12ExFGHg4F3Zahi2QNUA2kw9cYMpuTt6va8$J >$-@0000000000000000000dfa1d711d4dfe8fd402e49d739dd68524ea09747dadb7"@00000000000000000013d358e144014acbf79bd3bc7457dc73aef4d0e46393852 $Ȧ-@0000000000000000001521a0c9b8f19c2209c4ff057f7d1061ca48ea993c6680"@0000000000000000000dfa1d711d4dfe8fd402e49d739dd68524ea09747dadb72 + + + +1@86c923993ad79bbb2af0d63fffc042caaa51829aa3006c82192260f2c5e97361$"@0000000000000000001521a0c9b8f19c2209c4ff057f7d1061ca48ea993c6680(Ȧ-2 +@9d1ac216d5a11d1e985a6430343040b41679ac54072ec4f896868c3a157b6115B035d1bda3f90cf69fb9452602fb5c86552c7fafe5595dbc157b4c158b86dad2b4c2 +@9d1ac216d5a11d1e985a6430343040b41679ac54072ec4f896868c3a157b6115B038507f3f7445cfa0ee4a64d5a7b270100e77d52a14081ce38a64a49b15fbc5fd2B +@86c923993ad79bbb2af0d63fffc042caaa51829aa3006c82192260f2c5e97361""1KQXUEgygBABdqzd9RPGqiL6XYkcDzemQR"UOP_DUP OP_HASH160 c9e54415e605462f39bdd74037a2ee44285c3aa6 OP_EQUALVERIFY OP_CHECKSIG*276a914c9e54415e605462f39bdd74037a2ee44285c3aa688ac*"1KQXUEgygBABdqzd9RPGqiL6XYkcDzemQR8$J  +@86c923993ad79bbb2af0d63fffc042caaa51829aa3006c82192260f2c5e97361""1PnDei4VgD7idfno2bTS1ZKGJpBR5diE11"UOP_DUP OP_HASH160 f9e00b9a7cf15b1679b62d6a76a540cd41df54da OP_EQUALVERIFY OP_CHECKSIG*276a914f9e00b9a7cf15b1679b62d6a76a540cd41df54da88ac*"1PnDei4VgD7idfno2bTS1ZKGJpBR5diE118$J  +̭Z@86c923993ad79bbb2af0d63fffc042caaa51829aa3006c82192260f2c5e97361""17vRbytE2S84trcz85YBsjin66L4ZXDD8U"UOP_DUP OP_HASH160 4beb569c729e5f1db565b0041a93c42f411178eb OP_EQUALVERIFY OP_CHECKSIG*276a9144beb569c729e5f1db565b0041a93c42f411178eb88ac*"17vRbytE2S84trcz85YBsjin66L4ZXDD8U8$J $-@00000000000000000010caff4c18aac85daca17c23222a54e6d4f0296db9fe4e"@0000000000000000001521a0c9b8f19c2209c4ff057f7d1061ca48ea993c66802$-@0000000000000000000a2a7e9c75afd6293a7ee974fa28ef7ed7f55ee0c047ed"@00000000000000000010caff4c18aac85daca17c23222a54e6d4f0296db9fe4e2$-@0000000000000000000683909d95de4c850f4611c08019d5a701972a929a942d"@0000000000000000000a2a7e9c75afd6293a7ee974fa28ef7ed7f55ee0c047ed2$-@0000000000000000000e44da7c6cc726dcea258f84db00a085c048943bddc4a7"@0000000000000000000683909d95de4c850f4611c08019d5a701972a929a942d2 $-@00000000000000000018d2f74d2bae82579bbf05d6b0bbcb7f72435be20b4d60"@0000000000000000000e44da7c6cc726dcea258f84db00a085c048943bddc4a72 + + + +1@d8fa118ed99ba9172132b6c72f5198a06be1a49311a6d54175988eb5a5f0c46b$"@00000000000000000018d2f74d2bae82579bbf05d6b0bbcb7f72435be20b4d60(-2 +@86c923993ad79bbb2af0d63fffc042caaa51829aa3006c82192260f2c5e97361B038959a0ed95587cdbc2050d053963d7bda3724c41c9f746e96e39eafb71686ad72 +@7b8f57ec825bc3104389de851be5b42e93d5ed52e707e1d2c818b065085aefd3B03ce743c9deba891bed3296ba18febd9a5f5bc61ba67e1006eeaf2ccb9cd29c983B +@d8fa118ed99ba9172132b6c72f5198a06be1a49311a6d54175988eb5a5f0c46b""1GWubU3gr8hYhWm7oPTMRc21e4mzTrWBuR"UOP_DUP OP_HASH160 aa31da65bbf8cb2418848df6cf0522a06db7f2d1 OP_EQUALVERIFY OP_CHECKSIG*276a914aa31da65bbf8cb2418848df6cf0522a06db7f2d188ac*"1GWubU3gr8hYhWm7oPTMRc21e4mzTrWBuR8$J  + @d8fa118ed99ba9172132b6c72f5198a06be1a49311a6d54175988eb5a5f0c46b""1PCR4j6cnmPKB6XNqba5fxurDEr7oVNTCb"UOP_DUP OP_HASH160 f37b6e3e3bcefa460a2869ebcf901c7e87ca4377 OP_EQUALVERIFY OP_CHECKSIG*276a914f37b6e3e3bcefa460a2869ebcf901c7e87ca437788ac*"1PCR4j6cnmPKB6XNqba5fxurDEr7oVNTCb8$J  +[@d8fa118ed99ba9172132b6c72f5198a06be1a49311a6d54175988eb5a5f0c46b""18Q8E9yLNBkv5mKXePeVoJGvY6gECsACM7"UOP_DUP OP_HASH160 51287af10953c38d4b1b7d65d0b6e5185cb53345 OP_EQUALVERIFY OP_CHECKSIG*276a91451287af10953c38d4b1b7d65d0b6e5185cb5334588ac*"18Q8E9yLNBkv5mKXePeVoJGvY6gECsACM78$J ;$-@00000000000000000017c75eed4cf795256749e919e0562eb731b8e6625ce106"@00000000000000000018d2f74d2bae82579bbf05d6b0bbcb7f72435be20b4d602$-@00000000000000000019db0c45ecd5046aef52d70ccd1e53844dc4ec06fedb0e"@00000000000000000017c75eed4cf795256749e919e0562eb731b8e6625ce1062 $ؓ-@0000000000000000000e0b266464c8f906f054f6dcb8a213a002bcec75409ef3"@00000000000000000019db0c45ecd5046aef52d70ccd1e53844dc4ec06fedb0e2 + +1@7a1cdff1a64d86ff37e24d4ead0ba7ea3644e5122790323281f842c0c722677c$"@0000000000000000000e0b266464c8f906f054f6dcb8a213a002bcec75409ef3(ؓ-2 +@31f6b7241bd625cce45d8e02cb5c7df015c24056b103c945b6a8977be2eb60d8B03f221a8c55d31bf687c2e7f6dbe9398bf48a944341ca8f723fc2541bd436ee6552 +@ff7666ea37cc2148a7ad8875524fa9f507676401efb37a6e811b7e177ea3e2a1B02df3129f7b72d6fcf8718feba3d8f6ea41468e2849fabc71dda6474f391b813f9B +z@7a1cdff1a64d86ff37e24d4ead0ba7ea3644e5122790323281f842c0c722677c""1EMRrJEMYr9dczn35dYfK8ckXr4f8PDLiA"UOP_DUP OP_HASH160 9276b2b7de8eabfd8a0fcbbc53837ce5993ebd71 OP_EQUALVERIFY OP_CHECKSIG*276a9149276b2b7de8eabfd8a0fcbbc53837ce5993ebd7188ac*"1EMRrJEMYr9dczn35dYfK8ckXr4f8PDLiA8$J  +௶@7a1cdff1a64d86ff37e24d4ead0ba7ea3644e5122790323281f842c0c722677c""1EMRrJEMYr9dczn35dYfK8ckXr4f8PDLiA"UOP_DUP OP_HASH160 9276b2b7de8eabfd8a0fcbbc53837ce5993ebd71 OP_EQUALVERIFY OP_CHECKSIG*276a9149276b2b7de8eabfd8a0fcbbc53837ce5993ebd7188ac*"1EMRrJEMYr9dczn35dYfK8ckXr4f8PDLiA8$J   +@7a1cdff1a64d86ff37e24d4ead0ba7ea3644e5122790323281f842c0c722677c""1P3U5C3Fb1ApoAetaGtSSCkys8HvmyRXMK"UOP_DUP OP_HASH160 f1ca32ac38bbfa78e7cc3ff1a8d1349367ae12d2 OP_EQUALVERIFY OP_CHECKSIG*276a914f1ca32ac38bbfa78e7cc3ff1a8d1349367ae12d288ac*"1P3U5C3Fb1ApoAetaGtSSCkys8HvmyRXMK8$J  +@7a1cdff1a64d86ff37e24d4ead0ba7ea3644e5122790323281f842c0c722677c"l"6OP_RETURN 1101a8eb5aff22937fc724c3b34c580bdae022ac668d*06a161101a8eb5aff22937fc724c3b34c580bdae022ac668d2Z"$óLX "f8$J $-@000000000000000000146f8ac859576c25f9140f69f77be60bf66689320e2014"@0000000000000000000e0b266464c8f906f054f6dcb8a213a002bcec75409ef32$-@00000000000000000017f5730aa1e8cae8a7f17ff857d141b5580be64cdd9eea"@000000000000000000146f8ac859576c25f9140f69f77be60bf66689320e20142$-@00000000000000000011f5b7c90e2f9e98ee608e6b9b76642a0ab05e9db9af18"@00000000000000000017f5730aa1e8cae8a7f17ff857d141b5580be64cdd9eea2 $-@0000000000000000001400fe9b317ba0bbfbc48cc81d55b93d2671cb06512707"@00000000000000000011f5b7c90e2f9e98ee608e6b9b76642a0ab05e9db9af182 + + + +1@901800d015ba2ed140e4b40daa86e246783137b932b6f22bb03bc7f1ecc748a0$"@0000000000000000001400fe9b317ba0bbfbc48cc81d55b93d2671cb06512707(-2 +@d8fa118ed99ba9172132b6c72f5198a06be1a49311a6d54175988eb5a5f0c46bB03aeabaedff6c0e5d6a6a1e178e6c83fab296083afe782a1892c918bd823a9db632 +@ea6469143e93eedda125f71fa8fc7f5733db777c6ff69ae8f2a0a6d95274918bB0385542366bc14f44d4d57c3b1f1f2e2ca20257d522135bb4e27fb5d5099a944b4B +@901800d015ba2ed140e4b40daa86e246783137b932b6f22bb03bc7f1ecc748a0""1NozE7WN8vJeEwPTttgkX15sVGap8kR1yd"UOP_DUP OP_HASH160 ef3d8badcf6e6c0dd3ec3c53e58be1ca2f7a31ad OP_EQUALVERIFY OP_CHECKSIG*276a914ef3d8badcf6e6c0dd3ec3c53e58be1ca2f7a31ad88ac*"1NozE7WN8vJeEwPTttgkX15sVGap8kR1yd8$J  +@901800d015ba2ed140e4b40daa86e246783137b932b6f22bb03bc7f1ecc748a0""1MZZyoc2VbT1CpVwrA1ReRcSQXuAndFFXJ"UOP_DUP OP_HASH160 e18b5b32e4343e2310ccf5fb052ded765d4818ba OP_EQUALVERIFY OP_CHECKSIG*276a914e18b5b32e4343e2310ccf5fb052ded765d4818ba88ac*"1MZZyoc2VbT1CpVwrA1ReRcSQXuAndFFXJ8$J  +@901800d015ba2ed140e4b40daa86e246783137b932b6f22bb03bc7f1ecc748a0""1N6bUcChUDsnte1feyxjMzU9cwMGDbkojL"UOP_DUP OP_HASH160 e7698018232b6930b630dd17e826aaa5060a167f OP_EQUALVERIFY OP_CHECKSIG*276a914e7698018232b6930b630dd17e826aaa5060a167f88ac*"1N6bUcChUDsnte1feyxjMzU9cwMGDbkojL8$J !$-@000000000000000000087fc125ce9df7a50cc8609f7a9716cd33f32076ffb6e8"@0000000000000000001400fe9b317ba0bbfbc48cc81d55b93d2671cb065127072 + + +1@fa6900deba66c6af1454fff9bea433df4d7b92b8724d7d8c7f0449e1fbba4d4d$"@000000000000000000087fc125ce9df7a50cc8609f7a9716cd33f32076ffb6e8(-2 +@0575027b18d121b763f345127fa921faf40b58946e2e68598489b121b372142aB02eded0a5b934609b3706ecd01780bfdbd8fdfc0ec4481a8238b5b95dca340ed0f2 +@91eb90c930ea28d48674edfb2ba0ebaf2880fb7c0fb518944a298e761ca3544cB036bad5422889746cb7eb16107aa32406eabc23e631f02a47828a9147edf101c1dB +ʠ@fa6900deba66c6af1454fff9bea433df4d7b92b8724d7d8c7f0449e1fbba4d4d""19FcWuNpsnfXNECsbaXXiStsoN1Bov19a5"UOP_DUP OP_HASH160 5a847a0510fc9fbf1fbcfdacda71c1e4ef0d6fb1 OP_EQUALVERIFY OP_CHECKSIG*276a9145a847a0510fc9fbf1fbcfdacda71c1e4ef0d6fb188ac*"19FcWuNpsnfXNECsbaXXiStsoN1Bov19a58$J  +@fa6900deba66c6af1454fff9bea433df4d7b92b8724d7d8c7f0449e1fbba4d4d""158boWtj9XMdw8RnetL3fY5rCYYabqGsdb"UOP_DUP OP_HASH160 2d507752ac7cb2b3eaeb203ff7c3caa2994ff04c OP_EQUALVERIFY OP_CHECKSIG*276a9142d507752ac7cb2b3eaeb203ff7c3caa2994ff04c88ac*"158boWtj9XMdw8RnetL3fY5rCYYabqGsdb8$J  +@fa6900deba66c6af1454fff9bea433df4d7b92b8724d7d8c7f0449e1fbba4d4d""186c8FBhdczAs5x5kLvkChpFxyAw2x2TFu"UOP_DUP OP_HASH160 4dd847f58c30b6e6b02719df57e1ac10f8a63b48 OP_EQUALVERIFY OP_CHECKSIG*276a9144dd847f58c30b6e6b02719df57e1ac10f8a63b4888ac*"186c8FBhdczAs5x5kLvkChpFxyAw2x2TFu8$J  + + +1@2835407ffc64419bc20f7ce7a2d7d56d9e6cb8c721782eb449879a51cc408002$"@000000000000000000087fc125ce9df7a50cc8609f7a9716cd33f32076ffb6e8(-2 +@efd972f4b9a377e23d3da4ae488c6e917024a9ff5e855eb5cdf134087b524bdeB027e9f09c2eeb45fdd2d1cf826df39852bdc2d5729dcf186459d7674db7e106dd62 +@ecf8434afc840cad29e8fa79cfd430f7e9f44d9088763987d28803d8441f5d35B0384bed660e0e5b5e5d811d4e7a4a4fdfef4d248644cb53b9279ff1edafb7db94cB +@2835407ffc64419bc20f7ce7a2d7d56d9e6cb8c721782eb449879a51cc408002""1GoY4Q6oK9h4da1BbH3q5jJ9jgDPGgv8v9"UOP_DUP OP_HASH160 ad56f2892341faa1a02f2457ee8a95b684457f69 OP_EQUALVERIFY OP_CHECKSIG*276a914ad56f2892341faa1a02f2457ee8a95b684457f6988ac*"1GoY4Q6oK9h4da1BbH3q5jJ9jgDPGgv8v98$J  + +@2835407ffc64419bc20f7ce7a2d7d56d9e6cb8c721782eb449879a51cc408002""17TTwyBF1q3wQaWXwN16jb5qiATYkXKkMn"UOP_DUP OP_HASH160 46d21085fddb57f69d0b2b364e215bcfec832af4 OP_EQUALVERIFY OP_CHECKSIG*276a91446d21085fddb57f69d0b2b364e215bcfec832af488ac*"17TTwyBF1q3wQaWXwN16jb5qiATYkXKkMn8$J  +@2835407ffc64419bc20f7ce7a2d7d56d9e6cb8c721782eb449879a51cc408002""1A81utv1zKxZgg5KQKLN76RZL1Lx5umzCP"UOP_DUP OP_HASH160 640cce1939a8a9b422a9c6bf31c0a861ca167936 OP_EQUALVERIFY OP_CHECKSIG*276a914640cce1939a8a9b422a9c6bf31c0a861ca16793688ac*"1A81utv1zKxZgg5KQKLN76RZL1Lx5umzCP8$J  + + +1@2b52bd696d9ba1208bad7ded345a60e3d277d4177e041826b83b31ca2602db4d$"@000000000000000000087fc125ce9df7a50cc8609f7a9716cd33f32076ffb6e8(-2 +@2835407ffc64419bc20f7ce7a2d7d56d9e6cb8c721782eb449879a51cc408002B020e89ca1e623f6af9b8e7445eef677f5197d6e8d50ea8f56cebac331fe1c88c4e2 +@2835407ffc64419bc20f7ce7a2d7d56d9e6cb8c721782eb449879a51cc408002B02594220a89b3252e0d10c2000ebe9fe183166934adca5d49deb8091db225d1779B +@2b52bd696d9ba1208bad7ded345a60e3d277d4177e041826b83b31ca2602db4d""1GoY4Q6oK9h4da1BbH3q5jJ9jgDPGgv8v9"UOP_DUP OP_HASH160 ad56f2892341faa1a02f2457ee8a95b684457f69 OP_EQUALVERIFY OP_CHECKSIG*276a914ad56f2892341faa1a02f2457ee8a95b684457f6988ac*"1GoY4Q6oK9h4da1BbH3q5jJ9jgDPGgv8v98$J  +@2b52bd696d9ba1208bad7ded345a60e3d277d4177e041826b83b31ca2602db4d""1CT6W8hvhNWKVKFQoDwJgL4PYCLqWPVV71"UOP_DUP OP_HASH160 7d98caad706bfd7e01a011cc5a7e8cb9c68c0b7a OP_EQUALVERIFY OP_CHECKSIG*276a9147d98caad706bfd7e01a011cc5a7e8cb9c68c0b7a88ac*"1CT6W8hvhNWKVKFQoDwJgL4PYCLqWPVV718$J  +@2b52bd696d9ba1208bad7ded345a60e3d277d4177e041826b83b31ca2602db4d""1FKKyxvxLoHu47yuhXPVhZT2NnUii5TAhx"UOP_DUP OP_HASH160 9d091801fde58bbf696c7b98449951fb7fb37e95 OP_EQUALVERIFY OP_CHECKSIG*276a9149d091801fde58bbf696c7b98449951fb7fb37e9588ac*"1FKKyxvxLoHu47yuhXPVhZT2NnUii5TAhx8$J !$-@0000000000000000000c4881c4946033d2712f47afb3dade2941acff50caf8d3"@000000000000000000087fc125ce9df7a50cc8609f7a9716cd33f32076ffb6e82 + + +1@6d18789369098db3374d2a895407039ad22c4010ae82815f1485e9ad10b5624d$"@0000000000000000000c4881c4946033d2712f47afb3dade2941acff50caf8d3(-2 +@9900df914e6a18345fe2d8ec07d44291d773c1b341bb25eee4da1adce7591369B0285643e430d2741d2edb6be4657c7bea23f5e3e435bcb6d140affed96f7dfa9be2 +@9900df914e6a18345fe2d8ec07d44291d773c1b341bb25eee4da1adce7591369B03b4a701342a6d7f0da96fbe465fcd20088cb8fedcef89366519d11b449b43eff4B +@6d18789369098db3374d2a895407039ad22c4010ae82815f1485e9ad10b5624d""1M2uDUa2k7fgBLfB8NmkYNqU8dEQwP9kz9"UOP_DUP OP_HASH160 dbbe84c30af9e6eb027ea351db0f69863a45605d OP_EQUALVERIFY OP_CHECKSIG*276a914dbbe84c30af9e6eb027ea351db0f69863a45605d88ac*"1M2uDUa2k7fgBLfB8NmkYNqU8dEQwP9kz98$J  + @6d18789369098db3374d2a895407039ad22c4010ae82815f1485e9ad10b5624d""14uS5fZ2eYaN4F4wGvqMGgbbs3UFLGcUeK"UOP_DUP OP_HASH160 2ad2f185e749f2ec605164a77cc44e5b2e61e4ff OP_EQUALVERIFY OP_CHECKSIG*276a9142ad2f185e749f2ec605164a77cc44e5b2e61e4ff88ac*"14uS5fZ2eYaN4F4wGvqMGgbbs3UFLGcUeK8$J  +׵@6d18789369098db3374d2a895407039ad22c4010ae82815f1485e9ad10b5624d""1M3UVFeqPtubvUZgAuyD4JXDvauqPFxw5o"UOP_DUP OP_HASH160 dbda4aed823b247d46d700ed46fb5b67411c6dda OP_EQUALVERIFY OP_CHECKSIG*276a914dbda4aed823b247d46d700ed46fb5b67411c6dda88ac*"1M3UVFeqPtubvUZgAuyD4JXDvauqPFxw5o8$J ; + + +1@6bdd8adbb367cff5e1ca0b75947370ae9e5775ed85479a2b8e48516b0c4b6d50$"@0000000000000000000c4881c4946033d2712f47afb3dade2941acff50caf8d3(-2 +@72c59cc490e7d4d98a1436f249c409c47d602893a0532ed31bafe6d85cb8ea01B02fae85bc83a8ee85d18054e3aa7809c9c36f8f2a8d8bc1d672131a7f2a58836c12 +@ba65407fa7a2716c954e5204650711802774ebc352d9b6d9fb6ddc7c3242d103B02d57dddbe7871fc94753178f4871c67ec5113cadf3408aef604f517072238be2dB +@6bdd8adbb367cff5e1ca0b75947370ae9e5775ed85479a2b8e48516b0c4b6d50""1LLfZiwjWN9AEDQnfs6vDWwwbuyksVN5cq"UOP_DUP OP_HASH160 d4227c2489c79fa7b1d7f2d29f9fe381e4c1c123 OP_EQUALVERIFY OP_CHECKSIG*276a914d4227c2489c79fa7b1d7f2d29f9fe381e4c1c12388ac*"1LLfZiwjWN9AEDQnfs6vDWwwbuyksVN5cq8$J  +@6bdd8adbb367cff5e1ca0b75947370ae9e5775ed85479a2b8e48516b0c4b6d50""1NUoEHYyCYQwQdsdFDH2YVhvs4BGjutaEW"UOP_DUP OP_HASH160 eb9c766686324589547669536d1767f47bbd190d OP_EQUALVERIFY OP_CHECKSIG*276a914eb9c766686324589547669536d1767f47bbd190d88ac*"1NUoEHYyCYQwQdsdFDH2YVhvs4BGjutaEW8$J  +C@6bdd8adbb367cff5e1ca0b75947370ae9e5775ed85479a2b8e48516b0c4b6d50""1BRcQD2kh6Sw3mqnYb6h6cx6rMMnuvshVE"UOP_DUP OP_HASH160 7258ca9d141b65d943c0c4d60c58f54c4fa674d1 OP_EQUALVERIFY OP_CHECKSIG*276a9147258ca9d141b65d943c0c4d60c58f54c4fa674d188ac*"1BRcQD2kh6Sw3mqnYb6h6cx6rMMnuvshVE8$J  + + +1@4a41ae0ae6ed35484915fbfbd77551c96b3e985641049f21cfc6c08f4b229dbe$"@0000000000000000000c4881c4946033d2712f47afb3dade2941acff50caf8d3(-2 +@c63d73f88fd56f7cd6fdd4a439ab32286121e9ba029958e7268ffff6530625d4B0352c48153aba510a2554e5baa852f1ba86e4691f09ecd1f78a4ef25fc1f10b0462 +@6bdd8adbb367cff5e1ca0b75947370ae9e5775ed85479a2b8e48516b0c4b6d50B03a891de1535aee12843874f56237b24dd06b182d844e033f71ab544a758237381B +@4a41ae0ae6ed35484915fbfbd77551c96b3e985641049f21cfc6c08f4b229dbe""1Fphkp7JQShAmGFxAfUBHLyxkBQC33zBrK"UOP_DUP OP_HASH160 a2975501b81f25f66800d8b18b83b8700a97c732 OP_EQUALVERIFY OP_CHECKSIG*276a914a2975501b81f25f66800d8b18b83b8700a97c73288ac*"1Fphkp7JQShAmGFxAfUBHLyxkBQC33zBrK8$J  +H@4a41ae0ae6ed35484915fbfbd77551c96b3e985641049f21cfc6c08f4b229dbe""1JmfuyUbVf5hNsBMfTwAxhiHmvQPm1ZcBd"UOP_DUP OP_HASH160 c2ecec824ec9636486b17977cdfdd925e36f0727 OP_EQUALVERIFY OP_CHECKSIG*276a914c2ecec824ec9636486b17977cdfdd925e36f072788ac*"1JmfuyUbVf5hNsBMfTwAxhiHmvQPm1ZcBd8$J  +C@4a41ae0ae6ed35484915fbfbd77551c96b3e985641049f21cfc6c08f4b229dbe""14SGg6qBuk38w9PvjGXuvg19xJ3YJkY8pc"UOP_DUP OP_HASH160 25afdc4ab8838f50601009eadecf60a828c8ba41 OP_EQUALVERIFY OP_CHECKSIG*276a91425afdc4ab8838f50601009eadecf60a828c8ba4188ac*"14SGg6qBuk38w9PvjGXuvg19xJ3YJkY8pc8$J $ȣ-@0000000000000000001670c0c9d83c30bc0f1e2003342aaaf3b22e11dfe66e66"@0000000000000000000c4881c4946033d2712f47afb3dade2941acff50caf8d32.$-@0000000000000000000515bd9e8cf43aa754d477d9f913953870140cec4e44ca"@0000000000000000001670c0c9d83c30bc0f1e2003342aaaf3b22e11dfe66e662, + + +1@9c6901a251e426d47979314a8b8a9769b6c88c480f4f7ef96c32e911138084b9$"@0000000000000000000515bd9e8cf43aa754d477d9f913953870140cec4e44ca(-2 +@f306b15614ed59193ec56d3d2cb8994958c4f0df2a677e380e3d48c587a59744B03b66b5b0d1d23c50c9e3429217a3e270b0b3a45aa6f8bf492ebaa84ecf1cec4852 +@fa6900deba66c6af1454fff9bea433df4d7b92b8724d7d8c7f0449e1fbba4d4dB02b464efbb79d62b49215a19640e4fad4ce7c549317677fe68f49c98a9cf1949daB +@9c6901a251e426d47979314a8b8a9769b6c88c480f4f7ef96c32e911138084b9""1HnZvgdQCuQdMbu5RSMEXHULYjBTSx9vFC"UOP_DUP OP_HASH160 b8203738744d15a15502712f2b566f812aad7946 OP_EQUALVERIFY OP_CHECKSIG*276a914b8203738744d15a15502712f2b566f812aad794688ac*"1HnZvgdQCuQdMbu5RSMEXHULYjBTSx9vFC8$J  +@9c6901a251e426d47979314a8b8a9769b6c88c480f4f7ef96c32e911138084b9""1EVo4xGogaDD8g9kByMskve8N4oWMcFG1R"UOP_DUP OP_HASH160 940bbce595315aa0e247e16557c512213b8b149f OP_EQUALVERIFY OP_CHECKSIG*276a914940bbce595315aa0e247e16557c512213b8b149f88ac*"1EVo4xGogaDD8g9kByMskve8N4oWMcFG1R8$J  +@9c6901a251e426d47979314a8b8a9769b6c88c480f4f7ef96c32e911138084b9""1M5iRSArpxY23pdaCNbZznTpQLzDtaxQUw"UOP_DUP OP_HASH160 dc46c19a635f06936582a224be96d30547d7f572 OP_EQUALVERIFY OP_CHECKSIG*276a914dc46c19a635f06936582a224be96d30547d7f57288ac*"1M5iRSArpxY23pdaCNbZznTpQLzDtaxQUw8$J  + +1@f6477d6f038eff24369ba99bf605027cd0c4f31b86bb3a6626f7c7b202205c92$"@0000000000000000000515bd9e8cf43aa754d477d9f913953870140cec4e44ca(-2 +@4a41ae0ae6ed35484915fbfbd77551c96b3e985641049f21cfc6c08f4b229dbeB03bfc3646e4c5e3a18cb66139b1f35dc45ada7f6548bf863adc68ea6c7f6cfa5bc2 +@0126c4b3f7ce1c98ba9c9076ccefb9ec92e2db59a09ace5fc7cf50fc6534ecaeB02ffad6ebb3019d9eccd0883da6cc57a1c1f74439aba945c626df86831e7c1fa2b2 +@5de65c159eadfc5702629de0e99dee6c6b7612414fb06e2241811574ca8e45c4B036fde1436fd46785a3cfe055641e32636d87fecf0d765940311ce4d65a130288f2 +@a905e7e779f6cd49712da09b4d2407e59d84d9085582a1c19e80b212d0f2fc7bB03e247d5d88747f0a422cf564ac5144a3f9b53c4908dcfabdfc65da6ddffc049c6B +@f6477d6f038eff24369ba99bf605027cd0c4f31b86bb3a6626f7c7b202205c92""1NcNiCMSki8h2ZRKHCcSbyvtdg6PNXoj69"UOP_DUP OP_HASH160 ed0b52ac70ca7b73ffae7ff991e9ebbcf2e30ead OP_EQUALVERIFY OP_CHECKSIG*276a914ed0b52ac70ca7b73ffae7ff991e9ebbcf2e30ead88ac*"1NcNiCMSki8h2ZRKHCcSbyvtdg6PNXoj698$J  +O@f6477d6f038eff24369ba99bf605027cd0c4f31b86bb3a6626f7c7b202205c92"!1M8WGFbzmj7DJXR9R1iLJJVC3U9eFP4gB"UOP_DUP OP_HASH160 03ce956db34b82e7ecb1a9d5ccd7663701a9d81f OP_EQUALVERIFY OP_CHECKSIG*276a91403ce956db34b82e7ecb1a9d5ccd7663701a9d81f88ac*!1M8WGFbzmj7DJXR9R1iLJJVC3U9eFP4gB8$J  +2@f6477d6f038eff24369ba99bf605027cd0c4f31b86bb3a6626f7c7b202205c92""161KXnyHzJDZmc8E8k8vz3cKuxEJcjp2sD"UOP_DUP OP_HASH160 36e819058c3e77a0183cb7edcc37ddb39f82f192 OP_EQUALVERIFY OP_CHECKSIG*276a91436e819058c3e77a0183cb7edcc37ddb39f82f19288ac*"161KXnyHzJDZmc8E8k8vz3cKuxEJcjp2sD8$J  + + + +1@874864ab0ba60f56cf9c4c0aaf5a39e8c980025a6b27620e609d8b92399fc3f2$"@0000000000000000000515bd9e8cf43aa754d477d9f913953870140cec4e44ca(-2 +@901800d015ba2ed140e4b40daa86e246783137b932b6f22bb03bc7f1ecc748a0B026f9a8cb841cd151641ccd7646c265f9b1cd78edc70362b115c6d3c1d13807b662 +@a6f3e988fe3581f5d6cdde946446d6bf26318e4c81712096c1a29c0e3fce1353B03bdc0a243fba261a5ffadc31bf7b1013fb8044f78905606698821704ca06b66faB +@874864ab0ba60f56cf9c4c0aaf5a39e8c980025a6b27620e609d8b92399fc3f2""1MvQpe2TqAsnbK7sXtrqgEqPiB2zybRrTq"UOP_DUP OP_HASH160 e57c725bc6eac116b901e27f1c09700e8f976092 OP_EQUALVERIFY OP_CHECKSIG*276a914e57c725bc6eac116b901e27f1c09700e8f97609288ac*"1MvQpe2TqAsnbK7sXtrqgEqPiB2zybRrTq8$J  + @874864ab0ba60f56cf9c4c0aaf5a39e8c980025a6b27620e609d8b92399fc3f2""1HWvkPeBPbbd2d1CXZzoQmuHyDugXjpr36"UOP_DUP OP_HASH160 b52af12d208f30844805aba2f9a89250422b0b99 OP_EQUALVERIFY OP_CHECKSIG*276a914b52af12d208f30844805aba2f9a89250422b0b9988ac*"1HWvkPeBPbbd2d1CXZzoQmuHyDugXjpr368$J  +_@874864ab0ba60f56cf9c4c0aaf5a39e8c980025a6b27620e609d8b92399fc3f2""15gCzfRwL9AZXS3r5Akta5FbQoXvUfvEF8"UOP_DUP OP_HASH160 334abce5fb2b1bc4b323c0114def326ba50e7d27 OP_EQUALVERIFY OP_CHECKSIG*276a914334abce5fb2b1bc4b323c0114def326ba50e7d2788ac*"15gCzfRwL9AZXS3r5Akta5FbQoXvUfvEF88$J ; + + +1@176eed1952bae08c3869c2d731b7a6d909dcf9ca599f7420cdb9be40b3612e08$"@0000000000000000000515bd9e8cf43aa754d477d9f913953870140cec4e44ca(-2 +@6d18789369098db3374d2a895407039ad22c4010ae82815f1485e9ad10b5624dB0226d54d45934acf61e691b53aca8bf8516248102cf02c077eeb20e9a9ccf468bb2 +@6d18789369098db3374d2a895407039ad22c4010ae82815f1485e9ad10b5624dB030f1e3d2ce29acc87af31f71d8a9595ee8edbfbd329df1dd5405bbe7491c34db7B +@176eed1952bae08c3869c2d731b7a6d909dcf9ca599f7420cdb9be40b3612e08""17iWmMhsCyK4YPiK5W5pByesFVWqEJnGzy"UOP_DUP OP_HASH160 49aaa7d01d0548012a2c54b729d3838fc15e5167 OP_EQUALVERIFY OP_CHECKSIG*276a91449aaa7d01d0548012a2c54b729d3838fc15e516788ac*"17iWmMhsCyK4YPiK5W5pByesFVWqEJnGzy8$J  + @176eed1952bae08c3869c2d731b7a6d909dcf9ca599f7420cdb9be40b3612e08""1Jrck523UJ2RLKZNxqoEoU86vuGGe9dUey"UOP_DUP OP_HASH160 c3dc5b5a8384ee2db7f485ef13f363c2f95ed378 OP_EQUALVERIFY OP_CHECKSIG*276a914c3dc5b5a8384ee2db7f485ef13f363c2f95ed37888ac*"1Jrck523UJ2RLKZNxqoEoU86vuGGe9dUey8$J  +@176eed1952bae08c3869c2d731b7a6d909dcf9ca599f7420cdb9be40b3612e08""16cBuXHQEsJyeweK7w2qUHWzfxwdYZVKoC"UOP_DUP OP_HASH160 3d804a842cacbceae3e58f89bd7b5b9900f7642d OP_EQUALVERIFY OP_CHECKSIG*276a9143d804a842cacbceae3e58f89bd7b5b9900f7642d88ac*"16cBuXHQEsJyeweK7w2qUHWzfxwdYZVKoC8$J ;$а-@00000000000000000009deb56de507c4226bdc1ff361f698d70fbe2466bc004a"@0000000000000000000515bd9e8cf43aa754d477d9f913953870140cec4e44ca2$ۼ-@000000000000000000011aa2dc5502ebf3e905525f6a5b5aaa9b042f1b2046a0"@00000000000000000009deb56de507c4226bdc1ff361f698d70fbe2466bc004a2$-@000000000000000000034d709c8bb8b089b979bf1ddddd9bbef14b35078fef84"@000000000000000000011aa2dc5502ebf3e905525f6a5b5aaa9b042f1b2046a02!$-@0000000000000000000d3cea2410b40eddda43d8a3522c5606d642274e6fd204"@000000000000000000034d709c8bb8b089b979bf1ddddd9bbef14b35078fef842 + + +1@c3c3415963c07769af68b028a2b6d77e8cdbe8e44bf5c1be33a81a24415417b7$"@0000000000000000000d3cea2410b40eddda43d8a3522c5606d642274e6fd204(-2 +@874864ab0ba60f56cf9c4c0aaf5a39e8c980025a6b27620e609d8b92399fc3f2B024da569c2d1e47fd7133ec715b791c5d7c2d6266c760fd178c13d10413c20221d2 +@188889e48272faa2a9f4866369f26dcfc229378596d47b488282a0854059383cB0201e58270e8bcdb9545be4ff5045ca9aa2d66605acde0fb61e352f64ac21de5e4B +@c3c3415963c07769af68b028a2b6d77e8cdbe8e44bf5c1be33a81a24415417b7""1BAncv9CD23wUirErhpPoCNyBSfJbQRTtD"UOP_DUP OP_HASH160 6f8b15202b8d33aa3df04d585c694cd56903b3d8 OP_EQUALVERIFY OP_CHECKSIG*276a9146f8b15202b8d33aa3df04d585c694cd56903b3d888ac*"1BAncv9CD23wUirErhpPoCNyBSfJbQRTtD8$J  + @c3c3415963c07769af68b028a2b6d77e8cdbe8e44bf5c1be33a81a24415417b7""1A2xrnrRhZsuymVNvybSZXAd34hf5wzEFu"UOP_DUP OP_HASH160 63182d2288e0ae758b0ba72b2a54ae5c97e04f22 OP_EQUALVERIFY OP_CHECKSIG*276a91463182d2288e0ae758b0ba72b2a54ae5c97e04f2288ac*"1A2xrnrRhZsuymVNvybSZXAd34hf5wzEFu8$J  +Ѕ@c3c3415963c07769af68b028a2b6d77e8cdbe8e44bf5c1be33a81a24415417b7""15gonvyBLqKGc6XmPy9P9EEQru3ga7PrR7"UOP_DUP OP_HASH160 3367c91a78e7aba83271d5744b81eaa4862139d5 OP_EQUALVERIFY OP_CHECKSIG*276a9143367c91a78e7aba83271d5744b81eaa4862139d588ac*"15gonvyBLqKGc6XmPy9P9EEQru3ga7PrR78$J ; + + +1@bd69e6a2b902ffa33d1f7a382f1ac974760c5aab18a3f9ca5cde9a1262127999$"@0000000000000000000d3cea2410b40eddda43d8a3522c5606d642274e6fd204(-2 +@38a628b745102d4150c11fcd4e68a6ec1064b6f2ada532fa5920debf89415dafB025a2d8e6f1fc1a3a28b84830f028805380f57846d166322003da16c15a4eeeb632 +@4a41ae0ae6ed35484915fbfbd77551c96b3e985641049f21cfc6c08f4b229dbeB03f9a3673af7425c08c211b87e2d604e4006234d34ba68076ea736879fe6323147B +S@bd69e6a2b902ffa33d1f7a382f1ac974760c5aab18a3f9ca5cde9a1262127999""1MMCXqXEVYzmkusnaXX8d4vEwu4p5UBCkz"UOP_DUP OP_HASH160 df3476081091fc6ba7c9b176e5d06b0a64172763 OP_EQUALVERIFY OP_CHECKSIG*276a914df3476081091fc6ba7c9b176e5d06b0a6417276388ac*"1MMCXqXEVYzmkusnaXX8d4vEwu4p5UBCkz8$J  +@bd69e6a2b902ffa33d1f7a382f1ac974760c5aab18a3f9ca5cde9a1262127999""1Aj6Kbswcish1gUip2oWNVcBHS2PaJ9a9b"UOP_DUP OP_HASH160 6aaf0b40bde4c77f7874ad06bf72e52ff8a4f6ed OP_EQUALVERIFY OP_CHECKSIG*276a9146aaf0b40bde4c77f7874ad06bf72e52ff8a4f6ed88ac*"1Aj6Kbswcish1gUip2oWNVcBHS2PaJ9a9b8$J  +=@bd69e6a2b902ffa33d1f7a382f1ac974760c5aab18a3f9ca5cde9a1262127999""1MwXiF47MPBBJHDEsTrAdBVRa1UUT67tEn"UOP_DUP OP_HASH160 e5b29d2a3f19b82dcf507e016b88e0775dd5da8a OP_EQUALVERIFY OP_CHECKSIG*276a914e5b29d2a3f19b82dcf507e016b88e0775dd5da8a88ac*"1MwXiF47MPBBJHDEsTrAdBVRa1UUT67tEn8$J  + + +1@ddbedba266ef7d9b90ae50c8374b3e650f2a41bcb394c47169427c118837f135$"@0000000000000000000d3cea2410b40eddda43d8a3522c5606d642274e6fd204(-2 +@176eed1952bae08c3869c2d731b7a6d909dcf9ca599f7420cdb9be40b3612e08B03cb900eb58c4656380cdfd749bd53077fbcfaa1a7c1bc43622b30b84275917b162 +@176eed1952bae08c3869c2d731b7a6d909dcf9ca599f7420cdb9be40b3612e08B02685ca3b61774f029ca4c7304151e36a86846370da26e35fa275c7eaeda64245bB +@ddbedba266ef7d9b90ae50c8374b3e650f2a41bcb394c47169427c118837f135""15EcpnP4yKxQADN4CMQvegnD5eQ3TApAVz"UOP_DUP OP_HASH160 2e73d09b4dd2fa6a7d01b545d55068817a7b3929 OP_EQUALVERIFY OP_CHECKSIG*276a9142e73d09b4dd2fa6a7d01b545d55068817a7b392988ac*"15EcpnP4yKxQADN4CMQvegnD5eQ3TApAVz8$J  +@ddbedba266ef7d9b90ae50c8374b3e650f2a41bcb394c47169427c118837f135""1JVkP7d8wERRzRTwe9ALnkA8BYMdaQFmen"UOP_DUP OP_HASH160 bfe9ff84f47ed82a742bbef2b44d9d75c03217d6 OP_EQUALVERIFY OP_CHECKSIG*276a914bfe9ff84f47ed82a742bbef2b44d9d75c03217d688ac*"1JVkP7d8wERRzRTwe9ALnkA8BYMdaQFmen8$J  +@ddbedba266ef7d9b90ae50c8374b3e650f2a41bcb394c47169427c118837f135""1LJU9yUe5DGYPynz6xa7gsJ5FEs9ocM26Q"UOP_DUP OP_HASH160 d3b820fd00fc239390b5f84cc245ffb658cfd353 OP_EQUALVERIFY OP_CHECKSIG*276a914d3b820fd00fc239390b5f84cc245ffb658cfd35388ac*"1LJU9yUe5DGYPynz6xa7gsJ5FEs9ocM26Q8$J $-@000000000000000000169c52e7f65435da116678be241e11c7e35104b96899ef"@0000000000000000000d3cea2410b40eddda43d8a3522c5606d642274e6fd2042$-@0000000000000000000110ee55263f5df00adc7be5c6aa922ef81c538c159235"@000000000000000000169c52e7f65435da116678be241e11c7e35104b96899ef2 + +1@719ded5a4165c4b5ffdac2af330aedc9bfc27f04ddcc56df2aa8a8694900165f$"@0000000000000000000110ee55263f5df00adc7be5c6aa922ef81c538c159235(-2 +@c3c3415963c07769af68b028a2b6d77e8cdbe8e44bf5c1be33a81a24415417b7B022c035f5b9e147f2ed6ad88d4c63375e7ebafee5d162e1fd52c306e77eaf1d3002 +@b079b9e7f4ef31bdad5c78a8c64e645b377579c53c3d5711a5bbb2c91dcbd54cB02f4d5e78f9ea671c6d834ea26e83c0be5988cbc7f89d79738bbfea3cfa505c7aa2 +@9061eda276a043d49ef9724631e8832b5e3c192aa00876c629e626f537112510B03b84602ea3a1e9b76b8412caaeba2ca0bef747e38bfd4917cdc1b3bbcfb1bab6e2 +@7077bde12817a677a929cb82ad48c7d117f59b201e7cdb0b051a33d26fa30ad0B0283831e9ebe13cdf9ed2b4bd11e0261f5c196b9e0e0c9c8d935f1aed70a088a842 +@75f2ea1e730bc374911d0d426ea37826d8a5f805a72421c6064b4791a53c0ac1B03fef60c7dda146191f5161cd8c5c2c574b2e127552ee4416f9182dcd673d10d18B +@719ded5a4165c4b5ffdac2af330aedc9bfc27f04ddcc56df2aa8a8694900165f""13owrFEQda9f3P9rMGtcBdFewCY7MBf6jv"UOP_DUP OP_HASH160 1ed12be746a702721b53d5ab1ed3342f80dc2aa9 OP_EQUALVERIFY OP_CHECKSIG*276a9141ed12be746a702721b53d5ab1ed3342f80dc2aa988ac*"13owrFEQda9f3P9rMGtcBdFewCY7MBf6jv8$J  +ܵ @719ded5a4165c4b5ffdac2af330aedc9bfc27f04ddcc56df2aa8a8694900165f""13XmnjaRHVxoSfqVuG6rMX1MUUNxHVeuXn"UOP_DUP OP_HASH160 1bc21e34d4c86d49483cd23649a49c62db3315c3 OP_EQUALVERIFY OP_CHECKSIG*276a9141bc21e34d4c86d49483cd23649a49c62db3315c388ac*"13XmnjaRHVxoSfqVuG6rMX1MUUNxHVeuXn8$J  +@719ded5a4165c4b5ffdac2af330aedc9bfc27f04ddcc56df2aa8a8694900165f""12Xu3cjt59rbrF4tvN1Ejrjrp4QGj6b1e7"UOP_DUP OP_HASH160 10d00cb9733ee043cdc4052293e66597bbded499 OP_EQUALVERIFY OP_CHECKSIG*276a91410d00cb9733ee043cdc4052293e66597bbded49988ac*"12Xu3cjt59rbrF4tvN1Ejrjrp4QGj6b1e78$J ;$-@00000000000000000009d61cb98ae751c7b590c0d3b60d248608db5d11584a6d"@0000000000000000000110ee55263f5df00adc7be5c6aa922ef81c538c1592352$ȡ-@000000000000000000141e8bc49a85dad63f4fc5691ace82e001512accbaef14"@00000000000000000009d61cb98ae751c7b590c0d3b60d248608db5d11584a6d2$-@00000000000000000007c2351869b0392bd6bd148add33569738c1fa78c05f52"@000000000000000000141e8bc49a85dad63f4fc5691ace82e001512accbaef142$-@0000000000000000000d0ed697f50758347da5364d597caeb26cba3729aa6c53"@00000000000000000007c2351869b0392bd6bd148add33569738c1fa78c05f522$-@00000000000000000005371c9258ef91c21bb581ef747af5f7d41476c4b866f4"@0000000000000000000d0ed697f50758347da5364d597caeb26cba3729aa6c532$-@00000000000000000018c921fe98218e89eed2b315466bed3990dbd6023e7370"@00000000000000000005371c9258ef91c21bb581ef747af5f7d41476c4b866f42 + + +1@abea48063ba9138d928d6147820c879b623e0c2ba5f42e9964f4a751d68bc69b$"@00000000000000000018c921fe98218e89eed2b315466bed3990dbd6023e7370(-2 +@e34cf29a5b60beaec42029db040d538be4badc5e8656116e80fcf0c06e71f9d6B0310696b3285415cc7e37acc169af0a86c24b776e0f8e1298dc8c314d8047760802 +@e34cf29a5b60beaec42029db040d538be4badc5e8656116e80fcf0c06e71f9d6B0234649355b1fecf6871eda8ccce121ea703156eaeb69ac210bf7a74a18c2b543aB + @abea48063ba9138d928d6147820c879b623e0c2ba5f42e9964f4a751d68bc69b""1EceinsuWAgCcwnJx29MGjr1ii7tGJMfZE"UOP_DUP OP_HASH160 9557ae6e24721d60a6183a0e7d50115676d6d1d6 OP_EQUALVERIFY OP_CHECKSIG*276a9149557ae6e24721d60a6183a0e7d50115676d6d1d688ac*"1EceinsuWAgCcwnJx29MGjr1ii7tGJMfZE8$J  +Z@abea48063ba9138d928d6147820c879b623e0c2ba5f42e9964f4a751d68bc69b""15M3fXtzaacy4A6P1LktdyiyNe1kQJzVt3"UOP_DUP OP_HASH160 2fab0be5105241708200b67fe9f0706206d04cf6 OP_EQUALVERIFY OP_CHECKSIG*276a9142fab0be5105241708200b67fe9f0706206d04cf688ac*"15M3fXtzaacy4A6P1LktdyiyNe1kQJzVt38$J  +@abea48063ba9138d928d6147820c879b623e0c2ba5f42e9964f4a751d68bc69b""1DWbtsaR2GRzRNwwz39QzxKBsx9upx4bJ2"UOP_DUP OP_HASH160 893ab35c730d1fbdb3278ecc858d9fbfd9be7984 OP_EQUALVERIFY OP_CHECKSIG*276a914893ab35c730d1fbdb3278ecc858d9fbfd9be798488ac*"1DWbtsaR2GRzRNwwz39QzxKBsx9upx4bJ28$J  + + +1@8ae6cd71f82da733688b04914abbccfbf363574f4253c2aec04b79bae7c834d2$"@00000000000000000018c921fe98218e89eed2b315466bed3990dbd6023e7370(-2 +@2b1a66a1d03dc9852ad1e02bff97f263eb4b29f53b0f44fd9587308dcba8d739B02d5b4e27c888779d4917928009a2ffed5ab3995edffa5e63b75a87c1ac13ccb0e2 +@edf265d4972d499435f2b60c154eccde8eaee33ed406b1f7277beaf5a7e49452B02a76688110a913f385e8a467a32ac8a79f935db18e88eee34444e6f85d97f6bb0B +@8ae6cd71f82da733688b04914abbccfbf363574f4253c2aec04b79bae7c834d2""13WoBs6WenY8amgVr99jCKCAQtKdd2r6ep"UOP_DUP OP_HASH160 1b92dea35de5326a9083aec1439c70711ca7c06b OP_EQUALVERIFY OP_CHECKSIG*276a9141b92dea35de5326a9083aec1439c70711ca7c06b88ac*"13WoBs6WenY8amgVr99jCKCAQtKdd2r6ep8$J  +@8ae6cd71f82da733688b04914abbccfbf363574f4253c2aec04b79bae7c834d2""1GYqqQLkd8UcCez3Ukn5274hKhHaLAa7Ww"UOP_DUP OP_HASH160 aa8f8becafdd20acde2d46c249333c97d20f09e1 OP_EQUALVERIFY OP_CHECKSIG*276a914aa8f8becafdd20acde2d46c249333c97d20f09e188ac*"1GYqqQLkd8UcCez3Ukn5274hKhHaLAa7Ww8$J  +<@8ae6cd71f82da733688b04914abbccfbf363574f4253c2aec04b79bae7c834d2""12awDSxDEVWgqujfZZnD8WEwiBd632f4jC"UOP_DUP OP_HASH160 11631bcd48a78b9d558f4c6f19e2602133cd8919 OP_EQUALVERIFY OP_CHECKSIG*276a91411631bcd48a78b9d558f4c6f19e2602133cd891988ac*"12awDSxDEVWgqujfZZnD8WEwiBd632f4jC8$J  $-@0000000000000000001479f6c2be5840962eae0326e58338650e661af073001d"@00000000000000000018c921fe98218e89eed2b315466bed3990dbd6023e73702$ؼ-@000000000000000000051f7c4076c5a05e81c70eed03290802300a2c399a25fb"@0000000000000000001479f6c2be5840962eae0326e58338650e661af073001d2 $-@00000000000000000000d38f356c873ff9f0785507a84508a1d076589f5e4cdb"@000000000000000000051f7c4076c5a05e81c70eed03290802300a2c399a25fb2 + +1@0c59d9727b3765878a485050e96aece65463bb62975ce594bfc6922d83a669aa$"@00000000000000000000d38f356c873ff9f0785507a84508a1d076589f5e4cdb(-2 +@6bdd8adbb367cff5e1ca0b75947370ae9e5775ed85479a2b8e48516b0c4b6d50B030f677c7ecc2d58ec65866ec738eba03df42d1459c53a55c82878fdf05fbc5dea2 +@4fd7ee873513ec6439ffc295545933630bf6864dff1cd1dfb8d4a9d3ef9ee29cB03b8e8c82746ea6971bb426d3544c7be97db244aedac52bc613483d32f525b55f6B +@0c59d9727b3765878a485050e96aece65463bb62975ce594bfc6922d83a669aa""1AhFRxoFnNBQsxvEPkYoyptNBW6nrs9YoA"UOP_DUP OP_HASH160 6a55d0ff9686d0093a4dfe6a87fb4d1b113e3fde OP_EQUALVERIFY OP_CHECKSIG*276a9146a55d0ff9686d0093a4dfe6a87fb4d1b113e3fde88ac*"1AhFRxoFnNBQsxvEPkYoyptNBW6nrs9YoA8$J  +@0c59d9727b3765878a485050e96aece65463bb62975ce594bfc6922d83a669aa""1AhFRxoFnNBQsxvEPkYoyptNBW6nrs9YoA"UOP_DUP OP_HASH160 6a55d0ff9686d0093a4dfe6a87fb4d1b113e3fde OP_EQUALVERIFY OP_CHECKSIG*276a9146a55d0ff9686d0093a4dfe6a87fb4d1b113e3fde88ac*"1AhFRxoFnNBQsxvEPkYoyptNBW6nrs9YoA8$J   +;@0c59d9727b3765878a485050e96aece65463bb62975ce594bfc6922d83a669aa""15jTdy9JhtqsGXSsEvi3GhGWSV9RJMbPWj"UOP_DUP OP_HASH160 33e83594536add3b342b12118b39b236420f762b OP_EQUALVERIFY OP_CHECKSIG*276a91433e83594536add3b342b12118b39b236420f762b88ac*"15jTdy9JhtqsGXSsEvi3GhGWSV9RJMbPWj8$J  +@0c59d9727b3765878a485050e96aece65463bb62975ce594bfc6922d83a669aa"l"6OP_RETURN 1101dab328ad301ae520a8a6f6fb5378c6c22aedaa26*06a161101dab328ad301ae520a8a6f6fb5378c6c22aedaa262ڳ(0 Sx*&8$J $-@000000000000000000028c1d27453803b8f348c51d882523317cb508f326afc0"@00000000000000000000d38f356c873ff9f0785507a84508a1d076589f5e4cdb2$-@00000000000000000013f43e3fc36c1987be4be038cb0bb2b06f75a1eb80d745"@000000000000000000028c1d27453803b8f348c51d882523317cb508f326afc02$-@000000000000000000038101f0c14542ef208fbcf09b3846a69386825fa30918"@00000000000000000013f43e3fc36c1987be4be038cb0bb2b06f75a1eb80d7452 + +1@97f0a074667abc36ddb51f94c94c6c4f12ca12ae726391c4550a582dcccd4ed3$"@000000000000000000038101f0c14542ef208fbcf09b3846a69386825fa30918(-2 +@0a07c8114103c95f3f0687660247c2e0add02ae40d804d30ff11f76edddb8846B0224d00630853370be74753be8316be24271c66bc3fcd412cee2e02f5717230b742 +@aeb1432cd071a3bc15ae44749675ca11168d1794321bbe371b3f3dccf5572697B0212bb7c684f467ab4fa04a03c1c3cfeea0ef3981599f69d7ced0d8da9f18c28012 +@efe16069d26cf78798bff71ba28f2309ca103a65076ef9328aed81e5f2222306B039943de42c3c1ee1f31c7bdae068484cc8aec86f6f7b3870b2b5ea4d9620327602 +@09409a4b18b21634e4ecb31a25424d6f30e3220ce491ff13c3b504ca59c7ee83B0215a8806a59566a58818b1d331b9831b822a5027657f3b9d1965b80db379c0c992 +@86669d4d9eb5a37a02801ceb2560975f3b83b2166856a46ec9fd44d0ad1520adB0282bfe19580457630ff44f6f647ebe23cdd52141088468ce9b5b1e5c456ceebe9B +@97f0a074667abc36ddb51f94c94c6c4f12ca12ae726391c4550a582dcccd4ed3""1KonECgYvKRGWhGB9hnwFqfv8mCUWA53nt"UOP_DUP OP_HASH160 ce4b270781fffd7b4b6260ac0cf5dd7a863311b0 OP_EQUALVERIFY OP_CHECKSIG*276a914ce4b270781fffd7b4b6260ac0cf5dd7a863311b088ac*"1KonECgYvKRGWhGB9hnwFqfv8mCUWA53nt8$J  +Z@97f0a074667abc36ddb51f94c94c6c4f12ca12ae726391c4550a582dcccd4ed3""1GeKE62xKhfR8DwxgKbA9VoEKtZ7bhZDYC"UOP_DUP OP_HASH160 ab987dc8354e8859e96e54b157c6d676c9967868 OP_EQUALVERIFY OP_CHECKSIG*276a914ab987dc8354e8859e96e54b157c6d676c996786888ac*"1GeKE62xKhfR8DwxgKbA9VoEKtZ7bhZDYC8$J  +@97f0a074667abc36ddb51f94c94c6c4f12ca12ae726391c4550a582dcccd4ed3""1N9fcA9gohDeAFwzvDHx9ntCEvgky9ePmT"UOP_DUP OP_HASH160 e7fe322a6dc4607543c142aa9e285a7271db1313 OP_EQUALVERIFY OP_CHECKSIG*276a914e7fe322a6dc4607543c142aa9e285a7271db131388ac*"1N9fcA9gohDeAFwzvDHx9ntCEvgky9ePmT8$J  $-@0000000000000000000daea9d66c273aaf1df6451e2567fd13a4f708185162cd"@000000000000000000038101f0c14542ef208fbcf09b3846a69386825fa309182$-@0000000000000000000cb7760fc986cf5eab2a3e9f75e9af11e878aadab8b542"@0000000000000000000daea9d66c273aaf1df6451e2567fd13a4f708185162cd2$-@0000000000000000000205399972e45157af6cb5de2124e903d761d9771a30db"@0000000000000000000cb7760fc986cf5eab2a3e9f75e9af11e878aadab8b5422$-@000000000000000000076d8b498a7a20a0aa8a7014adc9e908c9a18abdda541b"@0000000000000000000205399972e45157af6cb5de2124e903d761d9771a30db2 $-@00000000000000000019374e2e5c134d20e097ea4adde5b93a92df865562e731"@000000000000000000076d8b498a7a20a0aa8a7014adc9e908c9a18abdda541b2 + + + +1@3f42b02ff3e3bc3c2763d4cdb25f43f8274f58570d25fd39ad36f0098550f8aa$"@00000000000000000019374e2e5c134d20e097ea4adde5b93a92df865562e731(-2 +@ff2540489aeaf34da5521ef117bdf9eb39decb4fa47fa62298b6b91a5c03ad04B02d7aaed90170f83ac81117de95c77588b465f386559204a3905c27f0dd5989ea32 +@cfe0aca93272ecb1ba59d49df3a8b3939f12be7591c1e57fdcce28f76a42bcfaB0370b8ba6484d4aecb3b4cb0625764aba50f29564771f6879ed796677a385261d2B +@3f42b02ff3e3bc3c2763d4cdb25f43f8274f58570d25fd39ad36f0098550f8aa"!1AWkWyqTh5QszW8ahJZsiDrf9par91JQB"UOP_DUP OP_HASH160 01cc93f47108adaca8f256c1a80f7064b1c4c5fd OP_EQUALVERIFY OP_CHECKSIG*276a91401cc93f47108adaca8f256c1a80f7064b1c4c5fd88ac*!1AWkWyqTh5QszW8ahJZsiDrf9par91JQB8$J  +@3f42b02ff3e3bc3c2763d4cdb25f43f8274f58570d25fd39ad36f0098550f8aa""13qTCyZYQDNYWjA5ETrEVdDXVuXJ4TnPXN"UOP_DUP OP_HASH160 1f1a1802bf6d9838ee5df463c548d5cc7e9fcaeb OP_EQUALVERIFY OP_CHECKSIG*276a9141f1a1802bf6d9838ee5df463c548d5cc7e9fcaeb88ac*"13qTCyZYQDNYWjA5ETrEVdDXVuXJ4TnPXN8$J  + @3f42b02ff3e3bc3c2763d4cdb25f43f8274f58570d25fd39ad36f0098550f8aa""1LwtcnZM9XdDwL382uy5KmR6zCvQmAKX8f"UOP_DUP OP_HASH160 dacbf0848d91c5bbf1db733be2c81c7c86763b2b OP_EQUALVERIFY OP_CHECKSIG*276a914dacbf0848d91c5bbf1db733be2c81c7c86763b2b88ac*"1LwtcnZM9XdDwL382uy5KmR6zCvQmAKX8f8$J  $-@00000000000000000003d131e8e5d166bf28e9879085e29a24cbe0e2920d7457"@00000000000000000019374e2e5c134d20e097ea4adde5b93a92df865562e7312 + + + +1@5c7b1d705dfe18f7f607f072b258d1b27f0fccc9ac6c233f6076444eaefa6fb8$"@00000000000000000003d131e8e5d166bf28e9879085e29a24cbe0e2920d7457(-2 +@83837565e719be6b5d11667a8f5223086532af27a9646e2c6b3c71902cc03245B020f14d29116e3c713a27c8518beaceae1fc70b0c94bcc2854c8692eaa757f37022 +@7ce1e94dbe183f4d6333d242d557ca484cab21d6eecae57ffb996bc663ac7aaaB03e809ac966413a8320559dc1ac5ad63dd0f999f70eba42dfb2021726d980105c3B +@5c7b1d705dfe18f7f607f072b258d1b27f0fccc9ac6c233f6076444eaefa6fb8"!1CoPHSvzGoLxsuCDBLjzRzz8SGr4RMqXp"UOP_DUP OP_HASH160 023b4b8f92e124125a6e7644271c1d4eacf3509c OP_EQUALVERIFY OP_CHECKSIG*276a914023b4b8f92e124125a6e7644271c1d4eacf3509c88ac*!1CoPHSvzGoLxsuCDBLjzRzz8SGr4RMqXp8$J  + @5c7b1d705dfe18f7f607f072b258d1b27f0fccc9ac6c233f6076444eaefa6fb8""1A3ycyibVdcB3ZRyURucEiaLcyvPVcioFD"UOP_DUP OP_HASH160 63493a6d54752e77bc598a8314ecc00a44fcf715 OP_EQUALVERIFY OP_CHECKSIG*276a91463493a6d54752e77bc598a8314ecc00a44fcf71588ac*"1A3ycyibVdcB3ZRyURucEiaLcyvPVcioFD8$J  +(@5c7b1d705dfe18f7f607f072b258d1b27f0fccc9ac6c233f6076444eaefa6fb8""1BHJLHz4heKFd9kUMt27g59AjVubn3Ve5u"UOP_DUP OP_HASH160 70c661bc6d092551c5dda04a9ac9cec1723f0d02 OP_EQUALVERIFY OP_CHECKSIG*276a91470c661bc6d092551c5dda04a9ac9cec1723f0d0288ac*"1BHJLHz4heKFd9kUMt27g59AjVubn3Ve5u8$J ;$-@0000000000000000000ce8290a457a2d1b827f16ffc5db560dc2d6ceec20f7c8"@00000000000000000003d131e8e5d166bf28e9879085e29a24cbe0e2920d74572$-@0000000000000000000d8bb037dc902a0b030153d7df6af8fee9b40a475c258e"@0000000000000000000ce8290a457a2d1b827f16ffc5db560dc2d6ceec20f7c82$Ɨ-@00000000000000000004268fd40d987adc14d9aa9c5a18df56a3eff946998efc"@0000000000000000000d8bb037dc902a0b030153d7df6af8fee9b40a475c258e2$-@000000000000000000110be70e2166b9ab01479c36f94f1d81ed817b442c139d"@00000000000000000004268fd40d987adc14d9aa9c5a18df56a3eff946998efc2$ͧ-@0000000000000000000141f7a0eadb96fa48b62a4dba4d6381b80ab9348bafce"@000000000000000000110be70e2166b9ab01479c36f94f1d81ed817b442c139d2$-@0000000000000000000e3a939e20a1ed27ddae9af1679fa4aeb59bb213d21ad7"@0000000000000000000141f7a0eadb96fa48b62a4dba4d6381b80ab9348bafce2+$-@00000000000000000011a84488683a6eacb42b34f603f5e49c8341a5bb9b7a5b"@0000000000000000000e3a939e20a1ed27ddae9af1679fa4aeb59bb213d21ad72* + + +1@df29cf7bd6cf18552c84e68b031accc7df7ab8df30f56f4d327fa002b88ebc02$"@00000000000000000011a84488683a6eacb42b34f603f5e49c8341a5bb9b7a5b(-2 +@7c713cb10dc4f08ac7e7c53cc102b6f7914d8b92d2be60c849b9d6e3564deffcB03d678dcd6dcd10b60aa8db870534f5e74a9c69af6fd03e53b0f482c9d3a98a6452 +@a8b75209ad1b9ed50126907cd156bb71d0466d21316b4773db08bdafcf021b6fB032134884d6116760d15d12df2d00ed85426da50c3a1190a4cbdd9f47f1631c3c5B +@df29cf7bd6cf18552c84e68b031accc7df7ab8df30f56f4d327fa002b88ebc02""1KRtx9yxsLkNJUsrJTrYwZnyGyFsDpm2sx"UOP_DUP OP_HASH160 ca279d189ac5dddca389b3e8072cd8c981cd729f OP_EQUALVERIFY OP_CHECKSIG*276a914ca279d189ac5dddca389b3e8072cd8c981cd729f88ac*"1KRtx9yxsLkNJUsrJTrYwZnyGyFsDpm2sx8$J  +@df29cf7bd6cf18552c84e68b031accc7df7ab8df30f56f4d327fa002b88ebc02""1F689PECqo7jCwUyrFTtA661dqbQXqjCE6"UOP_DUP OP_HASH160 9a89ce0396d06aceb74403f1861bcd9a454a24b8 OP_EQUALVERIFY OP_CHECKSIG*276a9149a89ce0396d06aceb74403f1861bcd9a454a24b888ac*"1F689PECqo7jCwUyrFTtA661dqbQXqjCE68$J  +X@df29cf7bd6cf18552c84e68b031accc7df7ab8df30f56f4d327fa002b88ebc02""17NKGNcYBAxwWd9m17fTCT7BXPcmDV9DfG"UOP_DUP OP_HASH160 45d8bc9e6bba2d19eed4b70b5efb2570ce4b4bff OP_EQUALVERIFY OP_CHECKSIG*276a91445d8bc9e6bba2d19eed4b70b5efb2570ce4b4bff88ac*"17NKGNcYBAxwWd9m17fTCT7BXPcmDV9DfG8$J  + + +1@19e06145ec72f028c7e2607ba6f18db50f01d4e4eeaf5f747fe3dbc522ae5d4b$"@00000000000000000011a84488683a6eacb42b34f603f5e49c8341a5bb9b7a5b(-2 +@1edf5fd751606adffa6447d45022297f246b73678cdbf985d82ed15dffab171eB033a2f8a4625d5ace99485efe203a8a00c416499a270fd58dd85e466aa437787902 +@ff04522044ceb3ef61db5f86570adb133b84653a57cbc5d425f1fb18946e0b5aB03bcd885d1090bd7b3a3e0c6b5c72562aef7ec6c9c09dc5f3e5334735b5f7ccafaB +@@19e06145ec72f028c7e2607ba6f18db50f01d4e4eeaf5f747fe3dbc522ae5d4b""12TTPqLcCNyP8o4zQ2KyNi6WLUCQGp2USw"UOP_DUP OP_HASH160 0ff8f91eaf359f0ee86345a5c25f9e55e7635f1d OP_EQUALVERIFY OP_CHECKSIG*276a9140ff8f91eaf359f0ee86345a5c25f9e55e7635f1d88ac*"12TTPqLcCNyP8o4zQ2KyNi6WLUCQGp2USw8$J  +@19e06145ec72f028c7e2607ba6f18db50f01d4e4eeaf5f747fe3dbc522ae5d4b""172k3Wu1rE5vv5QajSzeohpYtubUdFUBcY"UOP_DUP OP_HASH160 422519f94d5c8387ac69c7618b929ebf1050328b OP_EQUALVERIFY OP_CHECKSIG*276a914422519f94d5c8387ac69c7618b929ebf1050328b88ac*"172k3Wu1rE5vv5QajSzeohpYtubUdFUBcY8$J  +@19e06145ec72f028c7e2607ba6f18db50f01d4e4eeaf5f747fe3dbc522ae5d4b""1KDNUw8epUgyvmw2TaSNSEn653xM2e22gh"UOP_DUP OP_HASH160 c7c930061f811394d53806850f2dfb899aa87d20 OP_EQUALVERIFY OP_CHECKSIG*276a914c7c930061f811394d53806850f2dfb899aa87d2088ac*"1KDNUw8epUgyvmw2TaSNSEn653xM2e22gh8$J & + + +1@4c951f303b7e65ec54cb954bb1355e796091b757530419e21f780fca0d1b21e8$"@00000000000000000011a84488683a6eacb42b34f603f5e49c8341a5bb9b7a5b(-2 +@c505137d22d69e5d72a218c753139b731b925d74dc9e7fac955a30dfa1dbe51fB03a7ad36b242aa7e7ad4d857e0f8ad934a5a99835a083e6c944b8877bfd8aa3fc62 +@d2e7907b0a50aa8da9f823ad6d28811ad454b41f3faf20faae7cd0d29a1db976B03ad1e803fb84f0353b530d9358d38c81807a8233e3ca01360057fd30c9a4ed899B +@4c951f303b7e65ec54cb954bb1355e796091b757530419e21f780fca0d1b21e8""1EV6sNUXSCP6oZDTtycxW1pboJEBnhtqrq"UOP_DUP OP_HASH160 93ea2e4ca0ac48d9ccb20a252bde7e2607d1b05f OP_EQUALVERIFY OP_CHECKSIG*276a91493ea2e4ca0ac48d9ccb20a252bde7e2607d1b05f88ac*"1EV6sNUXSCP6oZDTtycxW1pboJEBnhtqrq8$J  +@4c951f303b7e65ec54cb954bb1355e796091b757530419e21f780fca0d1b21e8""1JbgQCmfPMPa3j7CZiRmUpBHS555kvTc4v"UOP_DUP OP_HASH160 c1092ba7ea80bf1a68113eb60267a43914ebef25 OP_EQUALVERIFY OP_CHECKSIG*276a914c1092ba7ea80bf1a68113eb60267a43914ebef2588ac*"1JbgQCmfPMPa3j7CZiRmUpBHS555kvTc4v8$J  +@4c951f303b7e65ec54cb954bb1355e796091b757530419e21f780fca0d1b21e8""1MvY1iCPqTt9hmDiwG4LzP69cH2Dkeh9jM"UOP_DUP OP_HASH160 e5827309e764c2b40f98ae482627cb45626620c4 OP_EQUALVERIFY OP_CHECKSIG*276a914e5827309e764c2b40f98ae482627cb45626620c488ac*"1MvY1iCPqTt9hmDiwG4LzP69cH2Dkeh9jM8$J m + + +1@50304f8eea0b16d93339594620bd9713ca3caf49ecb368ac9577fd940d0a52ad$"@00000000000000000011a84488683a6eacb42b34f603f5e49c8341a5bb9b7a5b(-2 +@4c951f303b7e65ec54cb954bb1355e796091b757530419e21f780fca0d1b21e8B03081df28d6ba7863c89b43c876b2cec34258c802ad3f150a6dbff6f73c9dfc68e2 +@2359400d942c9823e66479fae0808dbc7f5f0bcb66c24cc6b2da64182d324670B03c02f2aa769c6e8b186c04ae16e41100de329ff192c17ff343f06f6ffdb91f93bB +@50304f8eea0b16d93339594620bd9713ca3caf49ecb368ac9577fd940d0a52ad""1LP8PjHbQMxn3i9LqDNFZCiXjykvitn84k"UOP_DUP OP_HASH160 d499b623b3923cf90bcafb2bf3b9717ad3016379 OP_EQUALVERIFY OP_CHECKSIG*276a914d499b623b3923cf90bcafb2bf3b9717ad301637988ac*"1LP8PjHbQMxn3i9LqDNFZCiXjykvitn84k8$J  +@50304f8eea0b16d93339594620bd9713ca3caf49ecb368ac9577fd940d0a52ad""14wKQTuqFSPW5T7yzUTU5J3zgq4tKSTK4T"UOP_DUP OP_HASH160 2b2e33dfce74b5b9df0c8b7e49743df71d0c2b53 OP_EQUALVERIFY OP_CHECKSIG*276a9142b2e33dfce74b5b9df0c8b7e49743df71d0c2b5388ac*"14wKQTuqFSPW5T7yzUTU5J3zgq4tKSTK4T8$J  +R@50304f8eea0b16d93339594620bd9713ca3caf49ecb368ac9577fd940d0a52ad""1NhxJoW8XznVNcpatu2W9PXtznM4Z7YHvo"UOP_DUP OP_HASH160 ee1972a4e3b8910c980e3a26a759b52afe04b074 OP_EQUALVERIFY OP_CHECKSIG*276a914ee1972a4e3b8910c980e3a26a759b52afe04b07488ac*"1NhxJoW8XznVNcpatu2W9PXtznM4Z7YHvo8$J ($Ȥ-@0000000000000000000897086fb8b374d2cbcbdb6b64db4f747ce0a016e1f356"@00000000000000000011a84488683a6eacb42b34f603f5e49c8341a5bb9b7a5b2 $؋-@000000000000000000171b8af18a29fbefebc66f8a2aa466899c502d7bf9d679"@0000000000000000000897086fb8b374d2cbcbdb6b64db4f747ce0a016e1f3562 + +1@a2226d82c350d9989babe3cac24982321031c0549655678d0c342357ef69351a$"@000000000000000000171b8af18a29fbefebc66f8a2aa466899c502d7bf9d679(؋-2 +@7f087e09dd93de8db34bd445d134993bb98921f33e3d07aad07c0365d4537761B028e339d9454144c8cc62c857c9fbb5656674f23eb19de062ddf4f9ce2f0daeae62 +@7eea7890a3701fbe750e477e336fd70a241324e1e5d4e4b4c680a3de23db36cfB03e8e48fd27e42304b6d1bc244a3549f3830cc1ac62f52df4d3f36fe0aec1282dd2 +@f309585adcb8baadc2eaa40254cb2b29e204ba58399cb8b1b7c8a04ad79f0a55B03e8e48fd27e42304b6d1bc244a3549f3830cc1ac62f52df4d3f36fe0aec1282ddB +@a2226d82c350d9989babe3cac24982321031c0549655678d0c342357ef69351a""1GF2cP2MiTpa63JE14PmcpiTyDDagqQH73"UOP_DUP OP_HASH160 a7310dde9a8dbca5d862c35f5c68d1e081fc1de0 OP_EQUALVERIFY OP_CHECKSIG*276a914a7310dde9a8dbca5d862c35f5c68d1e081fc1de088ac*"1GF2cP2MiTpa63JE14PmcpiTyDDagqQH738$J  + @a2226d82c350d9989babe3cac24982321031c0549655678d0c342357ef69351a""1AvV1EVUtqGHQZvZgoHKErEktuAkv7BHxX"UOP_DUP OP_HASH160 6cd68dfa3b7891d0946ad642b9d07866d84be31c OP_EQUALVERIFY OP_CHECKSIG*276a9146cd68dfa3b7891d0946ad642b9d07866d84be31c88ac*"1AvV1EVUtqGHQZvZgoHKErEktuAkv7BHxX8$J  + @a2226d82c350d9989babe3cac24982321031c0549655678d0c342357ef69351a""19RfSViqfXaDNExvqhE6GmR8rbJfmVa136"UOP_DUP OP_HASH160 5c6b13bc50f79e667423f11f128de5ad0c98a623 OP_EQUALVERIFY OP_CHECKSIG*276a9145c6b13bc50f79e667423f11f128de5ad0c98a62388ac*"19RfSViqfXaDNExvqhE6GmR8rbJfmVa1368$J $-@0000000000000000000f624ee06be6371b42940519fb71c676062d80356e7ae5"@000000000000000000171b8af18a29fbefebc66f8a2aa466899c502d7bf9d6792$-@00000000000000000004ff3a3e1fd1446c73f3d4bcbe9f363d694fe90a95902e"@0000000000000000000f624ee06be6371b42940519fb71c676062d80356e7ae52 $ԙ-@0000000000000000001835ca6cdcbbf7e38660bf6c8d3ccd507f724515d66e22"@00000000000000000004ff3a3e1fd1446c73f3d4bcbe9f363d694fe90a95902e2 + + + +1@22ca374d0dffdfdb2160cc6f85a76682c7c6b1b77eefe70daf7c5a87eb930fea$"@0000000000000000001835ca6cdcbbf7e38660bf6c8d3ccd507f724515d66e22(ԙ-2 +@99a29d5462f275740dc7de595f3de057d5037d0ffaf9d32f4bfc39ab512274b4B020d7ebe6425ec8e7c4b79bc9a75ced0fa80aaa15d28540fac4d7f06de5ea175192 +@82bcb77a502a3717fa748efdfbc0422d42ed1e54fae287174a1717500a76de9dB03346f383855b2edf4f975462b5c87b5a82f15c050ef56ad8a458cac27c19dfc6cB +@22ca374d0dffdfdb2160cc6f85a76682c7c6b1b77eefe70daf7c5a87eb930fea""1EC3FAdXA5AbrLuTN9MjPBpFM4vb74WvwJ"UOP_DUP OP_HASH160 90b0158c015ae2996716b32aaaf52e27e107dee7 OP_EQUALVERIFY OP_CHECKSIG*276a91490b0158c015ae2996716b32aaaf52e27e107dee788ac*"1EC3FAdXA5AbrLuTN9MjPBpFM4vb74WvwJ8$J  +@22ca374d0dffdfdb2160cc6f85a76682c7c6b1b77eefe70daf7c5a87eb930fea""18z56dPNdbnXahpVnvMFQa4Hf7GTzyE9h6"UOP_DUP OP_HASH160 579402a50ef7f71901e6182ff78b8066ab200d0d OP_EQUALVERIFY OP_CHECKSIG*276a914579402a50ef7f71901e6182ff78b8066ab200d0d88ac*"18z56dPNdbnXahpVnvMFQa4Hf7GTzyE9h68$J  +_@22ca374d0dffdfdb2160cc6f85a76682c7c6b1b77eefe70daf7c5a87eb930fea""14tJVxVE2MrzihmWsTndhvMNApX1N6Kxg4"UOP_DUP OP_HASH160 2a9c32f47f6d1fe6d2854c6e71d7f75c4e0ad39a OP_EQUALVERIFY OP_CHECKSIG*276a9142a9c32f47f6d1fe6d2854c6e71d7f75c4e0ad39a88ac*"14tJVxVE2MrzihmWsTndhvMNApX1N6Kxg48$J  $࠲-@000000000000000000080e349eb8126d321243d9b1659a9112cf283e2579e475"@0000000000000000001835ca6cdcbbf7e38660bf6c8d3ccd507f724515d66e222 + + + +1@56194aba754fd337f38371a47ed3edf23f3a1926cd70ed572d56658b40459d89$"@000000000000000000080e349eb8126d321243d9b1659a9112cf283e2579e475(࠲-2 +@02990065684d4c4fbf67bdfc23ec3e5dad5745978048ea7bb5fec5358088604cB02f958866d52eb0aaf172879bc6005b1da127f0d5aff2a447895ba2cc0de6799492 +@1ab19e96572bd0b1bd63d8fe0854b62921ea0ab6aa053e35c9a0b43fe601e27dB03425af6f5afe3a2eedc053ee7d048fc6a268af61f4a081f3f7185f477028cab7eB + @56194aba754fd337f38371a47ed3edf23f3a1926cd70ed572d56658b40459d89""1FLhRUHLUMycnSBkE6qkdF7CMWN5Uygjs5"UOP_DUP OP_HASH160 9d4b6820ea2008d8c74423a17ade5196065340fb OP_EQUALVERIFY OP_CHECKSIG*276a9149d4b6820ea2008d8c74423a17ade5196065340fb88ac*"1FLhRUHLUMycnSBkE6qkdF7CMWN5Uygjs58$J  +@56194aba754fd337f38371a47ed3edf23f3a1926cd70ed572d56658b40459d89""1EPRvMLeNE9VYqVGd7bFrXxyywAk4ipDMv"UOP_DUP OP_HASH160 92d796a03d50f996e95bd18f29339c5c5b1bcbc9 OP_EQUALVERIFY OP_CHECKSIG*276a91492d796a03d50f996e95bd18f29339c5c5b1bcbc988ac*"1EPRvMLeNE9VYqVGd7bFrXxyywAk4ipDMv8$J  +@56194aba754fd337f38371a47ed3edf23f3a1926cd70ed572d56658b40459d89""1AmTimRHzses4kdMmUYMqXfSEFP5b15NLH"UOP_DUP OP_HASH160 6b21bd3b86c1d470eee1ee593dad2cd647392583 OP_EQUALVERIFY OP_CHECKSIG*276a9146b21bd3b86c1d470eee1ee593dad2cd64739258388ac*"1AmTimRHzses4kdMmUYMqXfSEFP5b15NLH8$J $-@000000000000000000102b84724448db97b44cc131623681b480ac54f0de7c37"@000000000000000000080e349eb8126d321243d9b1659a9112cf283e2579e4752$-@0000000000000000000e8f5a5b9848aa54c2e120a2a4d18fa9a5e1607a52b063"@000000000000000000102b84724448db97b44cc131623681b480ac54f0de7c372 $-@0000000000000000000f2855f0eb64051d7d5c125732be1f22637fa9a484b3dd"@0000000000000000000e8f5a5b9848aa54c2e120a2a4d18fa9a5e1607a52b0632 + +1@ec8562f3470f0e9e639f3daace86410f816bea826caa85e6f8d6e0d85e478e6c$"@0000000000000000000f2855f0eb64051d7d5c125732be1f22637fa9a484b3dd(-2 +@719ded5a4165c4b5ffdac2af330aedc9bfc27f04ddcc56df2aa8a8694900165fB03a115d3456cb3139f568bf4d42c3d9e00e4a37359711e9a938f7ad31c0eb652642 +@901800d015ba2ed140e4b40daa86e246783137b932b6f22bb03bc7f1ecc748a0B03ddca3755889a2714a9bc9bc3f370e27b55cc1153df550b476ffe8896f847ddc22 +@719ded5a4165c4b5ffdac2af330aedc9bfc27f04ddcc56df2aa8a8694900165fB03dabd66f7e9f331d5c5edc9c6293b5c82f4cc0203271258cac5417f8c117d8c87B +@ec8562f3470f0e9e639f3daace86410f816bea826caa85e6f8d6e0d85e478e6c""1GHhuXE3qUMgxzREyGEHRLtckguWMUkBjF"UOP_DUP OP_HASH160 a7b2b038dc3d38b8b59e546be2134b0aa541f472 OP_EQUALVERIFY OP_CHECKSIG*276a914a7b2b038dc3d38b8b59e546be2134b0aa541f47288ac*"1GHhuXE3qUMgxzREyGEHRLtckguWMUkBjF8$J  +̞ @ec8562f3470f0e9e639f3daace86410f816bea826caa85e6f8d6e0d85e478e6c""18wicMH8qCz1RNiAb86UEcWngWSnbRt2kU"UOP_DUP OP_HASH160 5722138614eab54793182dfbad37b69359dec18f OP_EQUALVERIFY OP_CHECKSIG*276a9145722138614eab54793182dfbad37b69359dec18f88ac*"18wicMH8qCz1RNiAb86UEcWngWSnbRt2kU8$J  +@ec8562f3470f0e9e639f3daace86410f816bea826caa85e6f8d6e0d85e478e6c""1FmDgD1AkDATXemJDeqLCpxD9HHfGnGHST"UOP_DUP OP_HASH160 a1eea508fc9bbfda0ec2763501b0b71ac545cad2 OP_EQUALVERIFY OP_CHECKSIG*276a914a1eea508fc9bbfda0ec2763501b0b71ac545cad288ac*"1FmDgD1AkDATXemJDeqLCpxD9HHfGnGHST8$J ;ž$ȝ-@00000000000000000014c5aa60bbc7e5bba7410a11a3aaa9aedb7599131e0bf9"@0000000000000000000f2855f0eb64051d7d5c125732be1f22637fa9a484b3dd2 + + +1@225cb73627a093a4fadd5de97a3614c15d7058ef4e1d0e0d704b3958b8c066a7ž$"@00000000000000000014c5aa60bbc7e5bba7410a11a3aaa9aedb7599131e0bf9(ȝ-2 +@c1124735315039b362d2fab53738ac2319afe69c57d2cefc008d0efc7593360cB0351c8858966f9123c86ea90744c79b55013aa31f5391a2b321678ece4bb9db3a02 +@22ca374d0dffdfdb2160cc6f85a76682c7c6b1b77eefe70daf7c5a87eb930feaB02b87aa611ad23a1d0bcb7496e203ce12dd5eec1bdb66713cd1f7a94e19c3f7de9B +?@225cb73627a093a4fadd5de97a3614c15d7058ef4e1d0e0d704b3958b8c066a7""1NzafaxCf74r1k4AzmvNt6RWK39jVpj5mr"UOP_DUP OP_HASH160 f13e74210e306b762fd896bd1d3c93803ba2bdd9 OP_EQUALVERIFY OP_CHECKSIG*276a914f13e74210e306b762fd896bd1d3c93803ba2bdd988ac*"1NzafaxCf74r1k4AzmvNt6RWK39jVpj5mr8ž$J  +@225cb73627a093a4fadd5de97a3614c15d7058ef4e1d0e0d704b3958b8c066a7""1CEUne9JBLETm98VXd664bmibBzaNY3vrh"UOP_DUP OP_HASH160 7b35fc88e1f5913e4f55b50a3468f4d02d0073b0 OP_EQUALVERIFY OP_CHECKSIG*276a9147b35fc88e1f5913e4f55b50a3468f4d02d0073b088ac*"1CEUne9JBLETm98VXd664bmibBzaNY3vrh8ž$J  +ں]@225cb73627a093a4fadd5de97a3614c15d7058ef4e1d0e0d704b3958b8c066a7""1CXn7z2NGebqxPhrGFjSLo2JLKW3Ss2ZiL"UOP_DUP OP_HASH160 7e7b86ef3b0c287003612c7db3254a465ca83e23 OP_EQUALVERIFY OP_CHECKSIG*276a9147e7b86ef3b0c287003612c7db3254a465ca83e2388ac*"1CXn7z2NGebqxPhrGFjSLo2JLKW3Ss2ZiL8ž$J  + + +1@abda915d1fd11ab1c2e40e143899861f861c07a6eefac15c8c1ddd97a9c25770ž$"@00000000000000000014c5aa60bbc7e5bba7410a11a3aaa9aedb7599131e0bf9(ȝ-2 +@f301d964aeb1d18eb80499b04557cd378926ae2ae330505057d987d30201977fB037af773e71f2d6a608a974f79901f944eb2a89968164a00824f499383da5611d22 +@d44f2f1327f45eaf63d117606e0d7466674a688b13d97e5b1d3e06451eae803dB0318f632fb6b4036302f479ad9bbe569dcb7f107514cd4e955a5c44378ab8bf079B +б@abda915d1fd11ab1c2e40e143899861f861c07a6eefac15c8c1ddd97a9c25770""1Jw2P8qEz6VneidaRRHZdCyK16pC2wSj1Q"UOP_DUP OP_HASH160 c4b1c0eb924ea7528ef87cc94e0f3c0f2d984f7b OP_EQUALVERIFY OP_CHECKSIG*276a914c4b1c0eb924ea7528ef87cc94e0f3c0f2d984f7b88ac*"1Jw2P8qEz6VneidaRRHZdCyK16pC2wSj1Q8ž$J  + @abda915d1fd11ab1c2e40e143899861f861c07a6eefac15c8c1ddd97a9c25770""1AsnRVVKFTinDxpXrHkch5ta4qnYwHnPeJ"UOP_DUP OP_HASH160 6c53d8c3d2a58e2fbaabd7951a2567313c36f067 OP_EQUALVERIFY OP_CHECKSIG*276a9146c53d8c3d2a58e2fbaabd7951a2567313c36f06788ac*"1AsnRVVKFTinDxpXrHkch5ta4qnYwHnPeJ8ž$J  +@abda915d1fd11ab1c2e40e143899861f861c07a6eefac15c8c1ddd97a9c25770""1GaPz4TPgi5oHKS9B7bdpwbbR5jg846Vqo"UOP_DUP OP_HASH160 aadacca5126e244c86a84e8a27566013e9f60ace OP_EQUALVERIFY OP_CHECKSIG*276a914aadacca5126e244c86a84e8a27566013e9f60ace88ac*"1GaPz4TPgi5oHKS9B7bdpwbbR5jg846Vqo8ž$J ;Þ$-@000000000000000000168adaca8ddae3d23a2486c5be47511f4995fddc65101b"@00000000000000000014c5aa60bbc7e5bba7410a11a3aaa9aedb7599131e0bf92Ğ$ܰ-@000000000000000000111725fb3471f3ef8b53c45e40cdf1cfb900b789d463b0"@000000000000000000168adaca8ddae3d23a2486c5be47511f4995fddc65101b2 + + +1@9d8613e74a587852856e0ae6391932518fe0860556ff747b3672c18dc8e429faĞ$"@000000000000000000111725fb3471f3ef8b53c45e40cdf1cfb900b789d463b0(ܰ-2 +@ba65407fa7a2716c954e5204650711802774ebc352d9b6d9fb6ddc7c3242d103B02968fc584d080dbdd7f89118306edc402e60f87dc8e5702f479862c1527fb3e772 +@bd69e6a2b902ffa33d1f7a382f1ac974760c5aab18a3f9ca5cde9a1262127999B0387432796a115ad3124ebd7db6823d6e9ff5e23ce4b9ddf981f60a89322113976B +s@9d8613e74a587852856e0ae6391932518fe0860556ff747b3672c18dc8e429fa""12ish34WirBzAab1aP5NkX5sG4LYhMdHup"UOP_DUP OP_HASH160 12e37e8bddd6fb98ec7039953bd237b0eabab6aa OP_EQUALVERIFY OP_CHECKSIG*276a91412e37e8bddd6fb98ec7039953bd237b0eabab6aa88ac*"12ish34WirBzAab1aP5NkX5sG4LYhMdHup8Ğ$J  +@9d8613e74a587852856e0ae6391932518fe0860556ff747b3672c18dc8e429fa""1PFd81eoqxaNDjVft5Ybepb5GVPmH1KXLS"UOP_DUP OP_HASH160 f416be2ee74a52d75dfef7aed15ed0880b8689f4 OP_EQUALVERIFY OP_CHECKSIG*276a914f416be2ee74a52d75dfef7aed15ed0880b8689f488ac*"1PFd81eoqxaNDjVft5Ybepb5GVPmH1KXLS8Ğ$J  +6@9d8613e74a587852856e0ae6391932518fe0860556ff747b3672c18dc8e429fa""1L8MUGLkvJnrboNAVFv9RQSa2bdq5hQ8oy"UOP_DUP OP_HASH160 d1ce63a197afa1bd85862bd42fbb04b7a28496a7 OP_EQUALVERIFY OP_CHECKSIG*276a914d1ce63a197afa1bd85862bd42fbb04b7a28496a788ac*"1L8MUGLkvJnrboNAVFv9RQSa2bdq5hQ8oy8Ğ$J  + + +1@09caba7ffd9de24228a2c9d5566a0eb5fdef184534c624120edade4ed72161d5Ğ$"@000000000000000000111725fb3471f3ef8b53c45e40cdf1cfb900b789d463b0(ܰ-2 +@cd2c64da45bdcfdb77caa598a92b3f9deef08ebb502992fbac4b1477d6ecb860B023c19a23964bfa5a9c54f55a2d095f0ab6c5cdfa3a67e3c6aacb0d20bec83f3bc2 +@7db6a0094fb960cca380e3e2f85917c5eb6e710eb37bd6cdd8b94a1f24e09223B03046e3733d719b7c8e5ac06a1e8e7226cdf840138f675173fe91cee9c36dc3b4bB +N@09caba7ffd9de24228a2c9d5566a0eb5fdef184534c624120edade4ed72161d5""15Wb4LTyAu1CDuiVtRn2DCti21ULmiwGj3"UOP_DUP OP_HASH160 3178feed12fc33b8ff09da7bd612427d84826007 OP_EQUALVERIFY OP_CHECKSIG*276a9143178feed12fc33b8ff09da7bd612427d8482600788ac*"15Wb4LTyAu1CDuiVtRn2DCti21ULmiwGj38Ğ$J  +@09caba7ffd9de24228a2c9d5566a0eb5fdef184534c624120edade4ed72161d5""1BM69SHTZ18p72sQ1swWEwzf5uiiWpSpXJ"UOP_DUP OP_HASH160 717ddf4d81f9e04694e7233c1256902c0c170965 OP_EQUALVERIFY OP_CHECKSIG*276a914717ddf4d81f9e04694e7233c1256902c0c17096588ac*"1BM69SHTZ18p72sQ1swWEwzf5uiiWpSpXJ8Ğ$J  +@09caba7ffd9de24228a2c9d5566a0eb5fdef184534c624120edade4ed72161d5""1EJfUNKm3Fkw6qF5qaMtZAhoovbbLieAVo"UOP_DUP OP_HASH160 91f0d23bf8bc5da9fe9ef4b681141b3b21251863 OP_EQUALVERIFY OP_CHECKSIG*276a91491f0d23bf8bc5da9fe9ef4b681141b3b2125186388ac*"1EJfUNKm3Fkw6qF5qaMtZAhoovbbLieAVo8Ğ$J Ş$-@00000000000000000004fd9cf6112b919b1c636437995148d0bbd6382c286122"@000000000000000000111725fb3471f3ef8b53c45e40cdf1cfb900b789d463b02ƞ$-@0000000000000000000f3820753b45ef3511bbf520dc31f991b11e14ce6a2654"@00000000000000000004fd9cf6112b919b1c636437995148d0bbd6382c2861222Ǟ$-@00000000000000000007830bcbaf304f77abd92ce3bf40b76d68e78ff471d63c"@0000000000000000000f3820753b45ef3511bbf520dc31f991b11e14ce6a26542Ȟ$-@0000000000000000000719269ddc4caffe78dad108338bc200c7835e622c7295"@00000000000000000007830bcbaf304f77abd92ce3bf40b76d68e78ff471d63c2ɞ$-@0000000000000000000764e3741f3333b9b50330d40d7d8bff6355bae5fc2a1e"@0000000000000000000719269ddc4caffe78dad108338bc200c7835e622c72952ʞ$-@000000000000000000084addb4c170ed14619dd18f07775e894286dac2ecafa8"@0000000000000000000764e3741f3333b9b50330d40d7d8bff6355bae5fc2a1e2˞$-@00000000000000000004aa621ed4e7cd5bbbf2723f7e8151b9aebe9ef8957303"@000000000000000000084addb4c170ed14619dd18f07775e894286dac2ecafa82̞$-@00000000000000000018da97ff0bff1cfe2a490d5a6e1a20e4675e996044d728"@00000000000000000004aa621ed4e7cd5bbbf2723f7e8151b9aebe9ef89573032͞$-@00000000000000000010a65ea41fe7ec122ea8765ae5f67773fc8cd693c47382"@00000000000000000018da97ff0bff1cfe2a490d5a6e1a20e4675e996044d7282 + +1@1db5ef6d53029e096fea33a503c9ecef199c05110dfd7ba52e7c24b4bab58ef5͞$"@00000000000000000010a65ea41fe7ec122ea8765ae5f67773fc8cd693c47382(-2 +@56194aba754fd337f38371a47ed3edf23f3a1926cd70ed572d56658b40459d89B03dd2900d7b0717ba5e9b849cafe52086d9edaf5462c701c1d6a9c017895eeef5a2 +@562c9390195e01a9f358a6abe686f8483f441dd9eab995cf65175e3d67244b8eB0223f510f327418eac41e6b3878f4457b3150881ada198ecaf34a4d1c2d846985c2 +@02990065684d4c4fbf67bdfc23ec3e5dad5745978048ea7bb5fec5358088604cB02f2b72bb938b31740acc799af9adb8392f7de736ebd15fa138676c1f614a08b202 +@9e50a7b11e3dfe96fca192f8dad570cf8bb15bea02dc84c0150413e4d9f9f6adB03fc18f78e00ba77b0ad5aaa4b11d41ae90629b0ca587315ba641d52b12404018d2 +@b74902234b8e1d35302cbd464bd33c87df912860c235b0c7c1aef37efdb14a81B039d49d1cd4fde747f8c3d4e458d674e715255253c221eb225ed93543a2a2bd1c42 +@234dc36b76efddb189eccc31cf8912ee86a166dd3c1c0e8f73d3f6dec08285aeB0269c7ac8f41d1ea266d141747485644bf3ad3bf932166b9323dc0165961ee9628B +@1db5ef6d53029e096fea33a503c9ecef199c05110dfd7ba52e7c24b4bab58ef5""1PyQ79KfMfioFQVHcyMNfdtdUquSAFCX54"UOP_DUP OP_HASH160 fbfd5955291bba4dc2b5bde1809ead2243ffd8a2 OP_EQUALVERIFY OP_CHECKSIG*276a914fbfd5955291bba4dc2b5bde1809ead2243ffd8a288ac*"1PyQ79KfMfioFQVHcyMNfdtdUquSAFCX548͞$J  +@1db5ef6d53029e096fea33a503c9ecef199c05110dfd7ba52e7c24b4bab58ef5""1KHJnLMmjprFMjE9Gu4PEBHpRucJ2dFTBt"UOP_DUP OP_HASH160 c887c349a78e8d4254fd810e4e2b5f0296d93ab3 OP_EQUALVERIFY OP_CHECKSIG*276a914c887c349a78e8d4254fd810e4e2b5f0296d93ab388ac*"1KHJnLMmjprFMjE9Gu4PEBHpRucJ2dFTBt8͞$J  +ޮ@1db5ef6d53029e096fea33a503c9ecef199c05110dfd7ba52e7c24b4bab58ef5""17nRRd3uCrUj4tVMauwWDSVFwsj9wpeP2j"UOP_DUP OP_HASH160 4a67dc8dafbbdcf807ac670db75946edf57b8f18 OP_EQUALVERIFY OP_CHECKSIG*276a9144a67dc8dafbbdcf807ac670db75946edf57b8f1888ac*"17nRRd3uCrUj4tVMauwWDSVFwsj9wpeP2j8͞$J Ξ$-@0000000000000000000486184ffbb911f02afee09beabff58b851c414510e019"@00000000000000000010a65ea41fe7ec122ea8765ae5f67773fc8cd693c473822Ϟ$-@0000000000000000001363be502daede51290350bc0c5910c821a110fea3c215"@0000000000000000000486184ffbb911f02afee09beabff58b851c414510e0192О$-@00000000000000000012a42f3428bad709bacdc4b6e1720818c378c61c13b93d"@0000000000000000001363be502daede51290350bc0c5910c821a110fea3c2152ў$-@0000000000000000000985f49d91fdac8241131d860c30c4e9cab6b4d8452f6e"@00000000000000000012a42f3428bad709bacdc4b6e1720818c378c61c13b93d2+Ҟ$-@000000000000000000158a3651867ee4a2c33b5ca0520cbe9c4522a80f8e1390"@0000000000000000000985f49d91fdac8241131d860c30c4e9cab6b4d8452f6e2* + + +1@c2bc39b76f2f4127e4108f90e00b23bdb29578d4fdb828493c0a0a331e17deefҞ$"@000000000000000000158a3651867ee4a2c33b5ca0520cbe9c4522a80f8e1390(-2 +@22ca374d0dffdfdb2160cc6f85a76682c7c6b1b77eefe70daf7c5a87eb930feaB0361ed1827ce859fb874f131592d222870555126509ec771a51340e5107893d5c72 +@379610a65328651f74a673d688654635fc03e8056e6c7f0ddd0ad591c1cfbe0eB02ca67f0afc53bf63795d15d2a4886d2dc9c1c5009f38dc8dd7867fc0f519d47e7B +@c2bc39b76f2f4127e4108f90e00b23bdb29578d4fdb828493c0a0a331e17deef""1LYH26XbMtBo4YjB1J5riHptsuisrxnPva"UOP_DUP OP_HASH160 d654a816d8d861ab3d3b434f3a17dab1fc6f269d OP_EQUALVERIFY OP_CHECKSIG*276a914d654a816d8d861ab3d3b434f3a17dab1fc6f269d88ac*"1LYH26XbMtBo4YjB1J5riHptsuisrxnPva8Ҟ$J  +@c2bc39b76f2f4127e4108f90e00b23bdb29578d4fdb828493c0a0a331e17deef""113gNVRk57c6np7mrzwFvpSM116d58tonq"UOP_DUP OP_HASH160 0081b2600a1b6729300d8800a4285e24af38d6ff OP_EQUALVERIFY OP_CHECKSIG*276a9140081b2600a1b6729300d8800a4285e24af38d6ff88ac*"113gNVRk57c6np7mrzwFvpSM116d58tonq8Ҟ$J  +_@c2bc39b76f2f4127e4108f90e00b23bdb29578d4fdb828493c0a0a331e17deef""1F73rZusynQNmT7f5Cet2spoXZPFhkebiL"UOP_DUP OP_HASH160 9ab6a3c04bd57c3196992a83fe56bb43cadad17c OP_EQUALVERIFY OP_CHECKSIG*276a9149ab6a3c04bd57c3196992a83fe56bb43cadad17c88ac*"1F73rZusynQNmT7f5Cet2spoXZPFhkebiL8Ҟ$J  + + +1@aea6e0396a8baf3f38d1ee20bab9815af6e1afd6b1f3370a679f37797f1bbb64Ҟ$"@000000000000000000158a3651867ee4a2c33b5ca0520cbe9c4522a80f8e1390(-2 +@b0630fb922834950005023470394f8c85a5e3b5e9608c14f227336361140c1dfB0375f45ee3eead8e088eda74ea11afb6eb89d9b0751bb3a7c28c9d6ba0b248aa882 +@3ef46542fd95ce791cc09b1b2273688a95b43acdb027ba01cf2138544327ac03B0203d60b6c770d673c363e3f1dcf3c34529d2e95a52425063d338bfc4d147b7072B + @aea6e0396a8baf3f38d1ee20bab9815af6e1afd6b1f3370a679f37797f1bbb64""1D22XxZ4gNy2N1XFDKY6YAC6xDiWirQbGJ"UOP_DUP OP_HASH160 83d334a78c0fd9f74e96faecdc4ee3d8d01c60fb OP_EQUALVERIFY OP_CHECKSIG*276a91483d334a78c0fd9f74e96faecdc4ee3d8d01c60fb88ac*"1D22XxZ4gNy2N1XFDKY6YAC6xDiWirQbGJ8Ҟ$J  + @aea6e0396a8baf3f38d1ee20bab9815af6e1afd6b1f3370a679f37797f1bbb64""1391fGxg5H187LGf6jQkGxeHG7ckJe8BWY"UOP_DUP OP_HASH160 177421505f0529fc3a785b88846f12a930dc9669 OP_EQUALVERIFY OP_CHECKSIG*276a914177421505f0529fc3a785b88846f12a930dc966988ac*"1391fGxg5H187LGf6jQkGxeHG7ckJe8BWY8Ҟ$J  +@aea6e0396a8baf3f38d1ee20bab9815af6e1afd6b1f3370a679f37797f1bbb64""16ZSWi4CY11Gz6JVcAygNBmQsZ1ysx23N4"UOP_DUP OP_HASH160 3cfb3c7860146ddbcb3aef2b26b830594a699825 OP_EQUALVERIFY OP_CHECKSIG*276a9143cfb3c7860146ddbcb3aef2b26b830594a69982588ac*"16ZSWi4CY11Gz6JVcAygNBmQsZ1ysx23N48Ҟ$J ; + + +1@8ebdda25687548c9a5deda355b033e295f937f8a6f999bd85e05677560fbe5f1Ҟ$"@000000000000000000158a3651867ee4a2c33b5ca0520cbe9c4522a80f8e1390(-2 +@abda915d1fd11ab1c2e40e143899861f861c07a6eefac15c8c1ddd97a9c25770B03bc88bb194413cb461a2930b4b7f0106a50add1912c17b3c291e26d301c4aa3e72 +@aea6e0396a8baf3f38d1ee20bab9815af6e1afd6b1f3370a679f37797f1bbb64B0221e877230ba702d07310b8d4371d7183f0f68fa81694426bcc6f47af4957a745B +@8ebdda25687548c9a5deda355b033e295f937f8a6f999bd85e05677560fbe5f1""1DMzdo1nsjSHUkFUDBxiHseEqsYRmAB7AM"UOP_DUP OP_HASH160 8799f07bc587c7fe0652deb8c92d7da79db0cd67 OP_EQUALVERIFY OP_CHECKSIG*276a9148799f07bc587c7fe0652deb8c92d7da79db0cd6788ac*"1DMzdo1nsjSHUkFUDBxiHseEqsYRmAB7AM8Ҟ$J  + @8ebdda25687548c9a5deda355b033e295f937f8a6f999bd85e05677560fbe5f1""19tncL3QYfQnNLdvJmqumzahh34HfVpTf8"UOP_DUP OP_HASH160 618c4afab6127ef1fba0b522c795710cf4141f24 OP_EQUALVERIFY OP_CHECKSIG*276a914618c4afab6127ef1fba0b522c795710cf4141f2488ac*"19tncL3QYfQnNLdvJmqumzahh34HfVpTf88Ҟ$J  + @8ebdda25687548c9a5deda355b033e295f937f8a6f999bd85e05677560fbe5f1""16qoKMmjxy9PeUdGDJAiqWjNQNLUj5ZWAY"UOP_DUP OP_HASH160 401342174eac64dfccbf58fb2b2d9c025523386f OP_EQUALVERIFY OP_CHECKSIG*276a914401342174eac64dfccbf58fb2b2d9c025523386f88ac*"16qoKMmjxy9PeUdGDJAiqWjNQNLUj5ZWAY8Ҟ$J ; + + +1@88898c32f42337b0bd40f9986a9111012dfee1f0434374275a0c4ad7f5316f4dҞ$"@000000000000000000158a3651867ee4a2c33b5ca0520cbe9c4522a80f8e1390(-2 +@aea6e0396a8baf3f38d1ee20bab9815af6e1afd6b1f3370a679f37797f1bbb64B0294ca248c48e19bc74ce3c005e3835a88dc9fe9c933eb9827b46217890f85ade62 +@8ebdda25687548c9a5deda355b033e295f937f8a6f999bd85e05677560fbe5f1B03c34a874fab4be9cfbae70adea3166cb7b67c1c5b69591e6e2db533f9275549c0B + @88898c32f42337b0bd40f9986a9111012dfee1f0434374275a0c4ad7f5316f4d""1HTuD8s7q1dxrLMahLuMm8PorMQ4hrQHR3"UOP_DUP OP_HASH160 b49868dceb46faa306e528786ca3845ad4f47bd2 OP_EQUALVERIFY OP_CHECKSIG*276a914b49868dceb46faa306e528786ca3845ad4f47bd288ac*"1HTuD8s7q1dxrLMahLuMm8PorMQ4hrQHR38Ҟ$J  + @88898c32f42337b0bd40f9986a9111012dfee1f0434374275a0c4ad7f5316f4d""1CRLaRHeXsgJ6GBD2AJi62rLSbGi225twr"UOP_DUP OP_HASH160 7d43b544cb289b13847d78150ef5cf4ac722ea26 OP_EQUALVERIFY OP_CHECKSIG*276a9147d43b544cb289b13847d78150ef5cf4ac722ea2688ac*"1CRLaRHeXsgJ6GBD2AJi62rLSbGi225twr8Ҟ$J  +@88898c32f42337b0bd40f9986a9111012dfee1f0434374275a0c4ad7f5316f4d""1FoJPGGgXKNAriSRZAGKkUpzh9eNMbb22e"UOP_DUP OP_HASH160 a2536811d5a26556b0d4a8d39ef59dcf0ca55fef OP_EQUALVERIFY OP_CHECKSIG*276a914a2536811d5a26556b0d4a8d39ef59dcf0ca55fef88ac*"1FoJPGGgXKNAriSRZAGKkUpzh9eNMbb22e8Ҟ$J ;Ӟ$ҋ-@0000000000000000000bad52030e85a76aa1915eb75c08741efad187a846b21b"@000000000000000000158a3651867ee4a2c33b5ca0520cbe9c4522a80f8e13902 + + +1@706da78cc84ff13e235432dee9596770b89da090f7eec1d069f216e057401c8cӞ$"@0000000000000000000bad52030e85a76aa1915eb75c08741efad187a846b21b(ҋ-2 +@ddbedba266ef7d9b90ae50c8374b3e650f2a41bcb394c47169427c118837f135B022d3a2e0c6e4fca9c12cb50aefb05f0e2d43881c00f3492b7066722ca2ea1f7852 +@63c31fdb43071550b162a976d3569c456f3a8a3f967ac2f3d093b30dbb4af87cB02012ab646ece45958f4085089b41fb8f758262a7c3ffdb376f1d69ab835d50225B +@706da78cc84ff13e235432dee9596770b89da090f7eec1d069f216e057401c8c""13G5wpiNwuihvXzG8GifBaB6xjEjsPAVmV"UOP_DUP OP_HASH160 18ca9e7a5b3b0d888a5c132c3dd8e6789b0f0768 OP_EQUALVERIFY OP_CHECKSIG*276a91418ca9e7a5b3b0d888a5c132c3dd8e6789b0f076888ac*"13G5wpiNwuihvXzG8GifBaB6xjEjsPAVmV8Ӟ$J  +@706da78cc84ff13e235432dee9596770b89da090f7eec1d069f216e057401c8c""14edaJ8dHXkaG9xH7uozmkULUpXyvDWavA"UOP_DUP OP_HASH160 28064c657f8bc9020582dceba3e58c2a3def805d OP_EQUALVERIFY OP_CHECKSIG*276a91428064c657f8bc9020582dceba3e58c2a3def805d88ac*"14edaJ8dHXkaG9xH7uozmkULUpXyvDWavA8Ӟ$J  +@706da78cc84ff13e235432dee9596770b89da090f7eec1d069f216e057401c8c""17bpRcSFMBGXA52tmeHut16dpYWTCeAHzS"UOP_DUP OP_HASH160 48667c388c8ffb5761343e631e485a02d8f99e73 OP_EQUALVERIFY OP_CHECKSIG*276a91448667c388c8ffb5761343e631e485a02d8f99e7388ac*"17bpRcSFMBGXA52tmeHut16dpYWTCeAHzS8Ӟ$J  + +1@af8b32c7e44260236fcbb491dc1f6f6ff33fabe879a289c1fc00b7c0211033b0Ӟ$"@0000000000000000000bad52030e85a76aa1915eb75c08741efad187a846b21b(ҋ-2 +@ec8562f3470f0e9e639f3daace86410f816bea826caa85e6f8d6e0d85e478e6cB03eaa16ee9dee0665f2d897ded07277770a3e5bfc93154b7c676d914014c6386322 +@95635cd6529db6acae7e267c541dc9357e58fb6f36273fd14da21c8c8406123dB02ce3607eeb02b0743283fdd6a88d7244025e4e5dc1f6ad22d8cc92ae47e1c7e462 +@fe7b77a08e518500363ce8eeb7ebd8b142ffe32753e7a9cdbed1b029edd7553aB03e5c61f0e5daf0cbbb10f6f8cfd60cced8689ada4175e63f507ec3d3ab4a3f5322 +@57975865c1f4177404ab3579677938eff755fdb3c2db0538af20fd7584f4892eB031fc59de94b992ad97aed9a7a15e03da0960132bb0cab7718402daa0994aa54e42 +@c3c3415963c07769af68b028a2b6d77e8cdbe8e44bf5c1be33a81a24415417b7B03a68cf6aaf5d573fbb7b97963f8716fbae4dc1729ec98e3cf8533746175de6a242 +@362d62419f7402e95d916446813b844e793674e32287b4e0328a86ec58861a65B022a6e7094e0584e3e5ad4409faa9a89634c5ddbc7d6af79b1fb90b52a721c86342 +@d8fa118ed99ba9172132b6c72f5198a06be1a49311a6d54175988eb5a5f0c46bB0216f42f755f4ebea1f3aecbd6ae54259b5995fac8de3ed9b05d40572d6058d27c2 +@ec8562f3470f0e9e639f3daace86410f816bea826caa85e6f8d6e0d85e478e6cB03626c98abfd253d374e3f36bc4e764116bb1a84cbe27bb5a8548bf286fe62c2092 +@af66866d575a3bd3f4ecc1c1442f21a5febf439f3b7169808af86bbedaa619c1B03915b714862637f8f36e81c5e60e2440d7ba45ddd84bbb7afc41486859e6c807d2 +@7d0bd5a6762b9f47108e6ea66364b67c86dd661fa7cd7b819d209f5d13094d84B032cf1b342e6ad8c2d90d40f84cc32e944e9c13043b84575f74f47657ca86bab88B +@af8b32c7e44260236fcbb491dc1f6f6ff33fabe879a289c1fc00b7c0211033b0""16TAHNiM6kCnDeygXwcwr2oLRUnzRa6xTu"UOP_DUP OP_HASH160 3bcb3141fb5ae2fa32d2fe6165ca4d373f96800a OP_EQUALVERIFY OP_CHECKSIG*276a9143bcb3141fb5ae2fa32d2fe6165ca4d373f96800a88ac*"16TAHNiM6kCnDeygXwcwr2oLRUnzRa6xTu8Ӟ$J  + @af8b32c7e44260236fcbb491dc1f6f6ff33fabe879a289c1fc00b7c0211033b0""1EnTcHmGQRVcLw5jDQmk3a6oZzYN9fdQXX"UOP_DUP OP_HASH160 973290a866738df42a1017a6e8ac890deb8bced3 OP_EQUALVERIFY OP_CHECKSIG*276a914973290a866738df42a1017a6e8ac890deb8bced388ac*"1EnTcHmGQRVcLw5jDQmk3a6oZzYN9fdQXX8Ӟ$J  +ծ @af8b32c7e44260236fcbb491dc1f6f6ff33fabe879a289c1fc00b7c0211033b0""12hwE4ezw6hwN3NztsPjsREtYLacd6Hu3v"UOP_DUP OP_HASH160 12b6077934ee72fbb5aa150474ba4b14b03bba25 OP_EQUALVERIFY OP_CHECKSIG*276a91412b6077934ee72fbb5aa150474ba4b14b03bba2588ac*"12hwE4ezw6hwN3NztsPjsREtYLacd6Hu3v8Ӟ$J ;Ԟ$-@00000000000000000009fd33b5a5cc8026977374d8ae7d12dce44cbc1edaaf7f"@0000000000000000000bad52030e85a76aa1915eb75c08741efad187a846b21b2՞$-@000000000000000000149141008a0df06245d6eb74079db6295b70c84ec17f93"@00000000000000000009fd33b5a5cc8026977374d8ae7d12dce44cbc1edaaf7f2֞$-@00000000000000000019ce545737b61cd33c13e4a3790a8036217901d55ebaf8"@000000000000000000149141008a0df06245d6eb74079db6295b70c84ec17f932מ$؞-@00000000000000000001ba72fd059a3615275256cd45bcb4dfa16b69be32de24"@00000000000000000019ce545737b61cd33c13e4a3790a8036217901d55ebaf82 + + +1@996a92b6b1e3ae61d604acb36fb34837013241e62a6e3d0580c9c779fa6a86e2מ$"@00000000000000000001ba72fd059a3615275256cd45bcb4dfa16b69be32de24(؞-2 +@252da3423c7cda874355c3e71773def18187e3aca881262bdfd1182671b0224cB03ee4a5353bfc23f9c6fea33af969aee8ea7e44ee7861bdf844e509049bcba1fe42 +@818ae44b9931bbfc176d8a895d5fb06ac3a009a63c687b2d93268909bf772b05B028e5e54ec15d0f2b1a2057920bd34ae48dc1cb0be55e09aeb046b763f944a8440B +@996a92b6b1e3ae61d604acb36fb34837013241e62a6e3d0580c9c779fa6a86e2""1Cm3s6NArmDNgmQHuCHHfqaV715T41FRcr"UOP_DUP OP_HASH160 80fe138f5f3ac3ba7663f755005537d74843a9bb OP_EQUALVERIFY OP_CHECKSIG*276a91480fe138f5f3ac3ba7663f755005537d74843a9bb88ac*"1Cm3s6NArmDNgmQHuCHHfqaV715T41FRcr8מ$J  +@996a92b6b1e3ae61d604acb36fb34837013241e62a6e3d0580c9c779fa6a86e2""1Do7WFj6fQtssoeSjkhBmzRo1ZdeWfDzC5"UOP_DUP OP_HASH160 8c5a12bf1ab6c4658429fb2a3d9b9525d9f6c712 OP_EQUALVERIFY OP_CHECKSIG*276a9148c5a12bf1ab6c4658429fb2a3d9b9525d9f6c71288ac*"1Do7WFj6fQtssoeSjkhBmzRo1ZdeWfDzC58מ$J  +_@996a92b6b1e3ae61d604acb36fb34837013241e62a6e3d0580c9c779fa6a86e2""1Bi8qnTdqjpfhSJGwFqY3a1oBGQqS5bzaa"UOP_DUP OP_HASH160 7578db91ab8f240ea7184861540662018ba94264 OP_EQUALVERIFY OP_CHECKSIG*276a9147578db91ab8f240ea7184861540662018ba9426488ac*"1Bi8qnTdqjpfhSJGwFqY3a1oBGQqS5bzaa8מ$J  + +1@74a056ab554006a999893f0012ca9341a9e2e9a526ab601f15f2fbc18951b8b2מ$"@00000000000000000001ba72fd059a3615275256cd45bcb4dfa16b69be32de24(؞-2 +@abea48063ba9138d928d6147820c879b623e0c2ba5f42e9964f4a751d68bc69bB0260ae2e7f063097b383cfc0ecb72f88a09a0d2f74337c547c0dd61c6f55346b772 +@c86baa859d8725990b7c41568773a4ea0ba0ab91216a5808494c5cacd6b40cb5B03501a5541378075e9b5db130adfc9df844c57466f4c1e743ee30446884f94e4562 +@a8de9f5d3e377e1e75a304b0e32a932aa516c17d97f2e5456505d2fb526803e3B031f6afbffaf637964839b4f44106efc97a80fbecf931ad94e33dd2e6b805ccc722 +@b4efa7d6ac46ec91798318d281e161e3b6c774b210945e7111271b6add53fb18B028d7e8706d8f1392d8ca678477422d93c9474fea3f2e8b0db1887a636c957068e2 +@863af5a0bcb44eb819f7ed85cc83fe3b7d6cbe47750bbd770a6ca13d3ff14f12B036116a1753d9fc19a89abd4d62c971ad4c94f44874539f32b2fa310a091f1af0a2 +@f8ff5a3c83ec40b71d738c457299a8b700e832bb6e5db3d87601d95ec11fa2caB030553f1f4ed4ab210f4a6b89229add17170dc0269a57394cc1d3e674b2cd14e40B + @74a056ab554006a999893f0012ca9341a9e2e9a526ab601f15f2fbc18951b8b2"!1VbZ41GDNdgjDL4hi5WojoKNBB97dGjyA"UOP_DUP OP_HASH160 05687d70cd61ba5c559f906ed2e00887064137df OP_EQUALVERIFY OP_CHECKSIG*276a91405687d70cd61ba5c559f906ed2e00887064137df88ac*!1VbZ41GDNdgjDL4hi5WojoKNBB97dGjyA8מ$J  +Z@74a056ab554006a999893f0012ca9341a9e2e9a526ab601f15f2fbc18951b8b2""16JHyc6VLuBiQ6SeThag1Z83y5znRminwX"UOP_DUP OP_HASH160 3a1ddefeff1f96f6d55c7ed66484ea81100d207c OP_EQUALVERIFY OP_CHECKSIG*276a9143a1ddefeff1f96f6d55c7ed66484ea81100d207c88ac*"16JHyc6VLuBiQ6SeThag1Z83y5znRminwX8מ$J  +@74a056ab554006a999893f0012ca9341a9e2e9a526ab601f15f2fbc18951b8b2""1BLCvuLvAoPMBnQygWDMy4NswQXanjFh2F"UOP_DUP OP_HASH160 71531e8620fe11f66bb935bcb15f83e9c37425d4 OP_EQUALVERIFY OP_CHECKSIG*276a91471531e8620fe11f66bb935bcb15f83e9c37425d488ac*"1BLCvuLvAoPMBnQygWDMy4NswQXanjFh2F8מ$J  ؞$ӏ-@0000000000000000000eda90aedb24df25700560d568f78c5a719cd1b1f26f3a"@00000000000000000001ba72fd059a3615275256cd45bcb4dfa16b69be32de242 ٞ$-@0000000000000000000ade901e1e17da4f47d8e2a0e0722a661a2a254406a82e"@0000000000000000000eda90aedb24df25700560d568f78c5a719cd1b1f26f3a2 + + + +1@d5ec4f1543bcf5c0cf465057991410a1a268e151cfe006386d92d8269e670e09ٞ$"@0000000000000000000ade901e1e17da4f47d8e2a0e0722a661a2a254406a82e(-2 +@8ebdda25687548c9a5deda355b033e295f937f8a6f999bd85e05677560fbe5f1B03e94bf38fe73ccf6bca6d61a1d23307398c7cd0234aa205479ded22f9362562a02 +@de3156d41615127eda00c8473a5eb91ed7f28ea55b34ead55080b255b74b5072B020a933a07d2460e48a85830422b9d41152d4f20954fa9469c98245eadabd2a518B +@d5ec4f1543bcf5c0cf465057991410a1a268e151cfe006386d92d8269e670e09""16rVvMs37xr6BEd3qkTAg2dCVjD1MwUnjk"UOP_DUP OP_HASH160 403526f95dc1f9a3ec670c8970e99dc44cdc5435 OP_EQUALVERIFY OP_CHECKSIG*276a914403526f95dc1f9a3ec670c8970e99dc44cdc543588ac*"16rVvMs37xr6BEd3qkTAg2dCVjD1MwUnjk8ٞ$J  + @d5ec4f1543bcf5c0cf465057991410a1a268e151cfe006386d92d8269e670e09""1EoTWTxrcwT8fKqSYSq5PEHkoi4iar3q16"UOP_DUP OP_HASH160 9762e5af6e9bdb7cf5228fb12c5d1790227c7a16 OP_EQUALVERIFY OP_CHECKSIG*276a9149762e5af6e9bdb7cf5228fb12c5d1790227c7a1688ac*"1EoTWTxrcwT8fKqSYSq5PEHkoi4iar3q168ٞ$J  +Ȧ@d5ec4f1543bcf5c0cf465057991410a1a268e151cfe006386d92d8269e670e09""1DG5iSiTStzgdnzgCHt7EMUgLTPu8TaChf"UOP_DUP OP_HASH160 867baf306a7678c9a6353839dafa7fb6f9c5e944 OP_EQUALVERIFY OP_CHECKSIG*276a914867baf306a7678c9a6353839dafa7fb6f9c5e94488ac*"1DG5iSiTStzgdnzgCHt7EMUgLTPu8TaChf8ٞ$J ;ڞ$-@00000000000000000018b1b97840d271fcf9e3e84e80ba3ea57539ea6fbe067f"@0000000000000000000ade901e1e17da4f47d8e2a0e0722a661a2a254406a82e2۞$藭-@0000000000000000000d430cdb5e7245e1bbcadc4736cabe4c477bf69b75ac75"@00000000000000000018b1b97840d271fcf9e3e84e80ba3ea57539ea6fbe067f2ܞ$-@0000000000000000000a71e1efdc9eca1e5f8cb4145ea8f70a4fb76c155b58af"@0000000000000000000d430cdb5e7245e1bbcadc4736cabe4c477bf69b75ac752ݞ$-@00000000000000000013ea116df7bbb4d71168a2c779a15d303960981cb27f4a"@0000000000000000000a71e1efdc9eca1e5f8cb4145ea8f70a4fb76c155b58af2ޞ$-@00000000000000000007c907edfbe6e75199ec8d337fe5abbc3df99799fd48bd"@00000000000000000013ea116df7bbb4d71168a2c779a15d303960981cb27f4a2ߞ$-@00000000000000000008000e3aa16833e544eb17da59ca58617c7aa68977a648"@00000000000000000007c907edfbe6e75199ec8d337fe5abbc3df99799fd48bd2$ح-@00000000000000000006d8fc9c3e2740580f1e3a26143ec4fccfe29ecc6d3e9b"@00000000000000000008000e3aa16833e544eb17da59ca58617c7aa68977a6482$-@000000000000000000159144459fbd21a4c281f7da62495f1f9253465fe7479c"@00000000000000000006d8fc9c3e2740580f1e3a26143ec4fccfe29ecc6d3e9b2$л-@0000000000000000000994133ead10b9741f2497659b949c323001cd91624809"@000000000000000000159144459fbd21a4c281f7da62495f1f9253465fe7479c2 $-@0000000000000000001378bb09a6cc04487f79c046a1c69de24129963f1f83d3"@0000000000000000000994133ead10b9741f2497659b949c323001cd916248092 + + + +1@bbba0cb9fd5332cb27fd87aae90e8dd39137257a814ecb6dbf3ad87bd83bbe0a$"@0000000000000000001378bb09a6cc04487f79c046a1c69de24129963f1f83d3(-2 +@706da78cc84ff13e235432dee9596770b89da090f7eec1d069f216e057401c8cB028b6765c3b42000a34fe7be26e5460666408aea814a051ec820203afff3ac93882 +@706da78cc84ff13e235432dee9596770b89da090f7eec1d069f216e057401c8cB0301d63c078d3e39dd57f355f1940c6cfdc4e0186c84f7556b7e0140239589c8c7B +@bbba0cb9fd5332cb27fd87aae90e8dd39137257a814ecb6dbf3ad87bd83bbe0a""1EWZML5tmSVCngZwDGhtd92FDLWtMpRt1j"UOP_DUP OP_HASH160 9430b3f2805c6b98c47136e6e885273196583f46 OP_EQUALVERIFY OP_CHECKSIG*276a9149430b3f2805c6b98c47136e6e885273196583f4688ac*"1EWZML5tmSVCngZwDGhtd92FDLWtMpRt1j8$J  + @bbba0cb9fd5332cb27fd87aae90e8dd39137257a814ecb6dbf3ad87bd83bbe0a""1BmVpGFpGJ44z2i9fNWev1oGYtr91L1utH"UOP_DUP OP_HASH160 761b9d15558ca520be8bf9b8f60ff9b37a1f689d OP_EQUALVERIFY OP_CHECKSIG*276a914761b9d15558ca520be8bf9b8f60ff9b37a1f689d88ac*"1BmVpGFpGJ44z2i9fNWev1oGYtr91L1utH8$J  +@bbba0cb9fd5332cb27fd87aae90e8dd39137257a814ecb6dbf3ad87bd83bbe0a""19Q8mR146SV9s3Rr2wT5o8dbKoUdjaQYsY"UOP_DUP OP_HASH160 5c210e509b5c34ba162faf0d53c01de3f60fec5b OP_EQUALVERIFY OP_CHECKSIG*276a9145c210e509b5c34ba162faf0d53c01de3f60fec5b88ac*"19Q8mR146SV9s3Rr2wT5o8dbKoUdjaQYsY8$J ;$-@0000000000000000001293c2ccd9e1ce7a3b803a55478232302c8df31210fc47"@0000000000000000001378bb09a6cc04487f79c046a1c69de24129963f1f83d32$З-@00000000000000000013a4ad66062c033f48b44f124d6a2a2df57e913f8d066e"@0000000000000000001293c2ccd9e1ce7a3b803a55478232302c8df31210fc472 + + +1@90d35277ea1578d99cc8c60239eb8810b9a3e0b19948e53436bcbbcda0df0087$"@00000000000000000013a4ad66062c033f48b44f124d6a2a2df57e913f8d066e(З-2 +@5c7b1d705dfe18f7f607f072b258d1b27f0fccc9ac6c233f6076444eaefa6fb8B034bb3c6f22ed2a001d8240b8a2da6c5821c06eaddf550409f3a725c0646a973722 +@01d1826e13bd6b816afe9c0d85e49c10cf811e12387d07538a8906ef42477120B035c441f33e720168296af4f2ceb4afcabfe750d599fee79c885d79100a2160050B +@90d35277ea1578d99cc8c60239eb8810b9a3e0b19948e53436bcbbcda0df0087""1Fy9v3Wms1DZPcoZitj5hVnrKejGvvEj4u"UOP_DUP OP_HASH160 a4307f0e99751dfabd7d9396dfab820d72a01a43 OP_EQUALVERIFY OP_CHECKSIG*276a914a4307f0e99751dfabd7d9396dfab820d72a01a4388ac*"1Fy9v3Wms1DZPcoZitj5hVnrKejGvvEj4u8$J  + @90d35277ea1578d99cc8c60239eb8810b9a3e0b19948e53436bcbbcda0df0087""13GsSNc5j4Rm7zkXZLAkRozKX87ub1DHeD"UOP_DUP OP_HASH160 18f09814849992574e0dd085edde679249948587 OP_EQUALVERIFY OP_CHECKSIG*276a91418f09814849992574e0dd085edde67924994858788ac*"13GsSNc5j4Rm7zkXZLAkRozKX87ub1DHeD8$J  +_@90d35277ea1578d99cc8c60239eb8810b9a3e0b19948e53436bcbbcda0df0087""15JUbHPXLArnpjU56QjQbMbmhf4vkrP5H7"UOP_DUP OP_HASH160 2f2e9b3a47e75bff8e620a32bb8e59dd3161e1ce OP_EQUALVERIFY OP_CHECKSIG*276a9142f2e9b3a47e75bff8e620a32bb8e59dd3161e1ce88ac*"15JUbHPXLArnpjU56QjQbMbmhf4vkrP5H78$J ; + +1@7d978dbac59b40c6d6c97fee863720437d14497ae8c57c45f08308668cb067c8$"@00000000000000000013a4ad66062c033f48b44f124d6a2a2df57e913f8d066e(З-2 +@d5ec4f1543bcf5c0cf465057991410a1a268e151cfe006386d92d8269e670e09B035348c113800457d2d4a07730799c74e3530a6a22d7d23dd6975419d76b2ce29f2 +@58fc5c707068a291245e5285033db4f9864fe573d82a38528c4a53f46904ff17B02eb7734ba0117a837c79a3e9898549693b74c2c90c6532dc50c71b91a65a203c92 +@d5ec4f1543bcf5c0cf465057991410a1a268e151cfe006386d92d8269e670e09B0303f2205db15546af1a89c17739c3b7832232369d7cb8b1a2a87527f866dc146eB +@7d978dbac59b40c6d6c97fee863720437d14497ae8c57c45f08308668cb067c8""1ASTkmKByb3gCB9YTE5SwRss6ELSVxTDCm"UOP_DUP OP_HASH160 6789dd5b49c8326afb6cda5c86d34bd3f2e27069 OP_EQUALVERIFY OP_CHECKSIG*276a9146789dd5b49c8326afb6cda5c86d34bd3f2e2706988ac*"1ASTkmKByb3gCB9YTE5SwRss6ELSVxTDCm8$J  +̞ @7d978dbac59b40c6d6c97fee863720437d14497ae8c57c45f08308668cb067c8""1NWAXAQtjutgWpMjYxrbKNZ6afFEt5RWAp"UOP_DUP OP_HASH160 ebdea6ba451cc2ad5dbb89a5b2b762b46a106d94 OP_EQUALVERIFY OP_CHECKSIG*276a914ebdea6ba451cc2ad5dbb89a5b2b762b46a106d9488ac*"1NWAXAQtjutgWpMjYxrbKNZ6afFEt5RWAp8$J  +@7d978dbac59b40c6d6c97fee863720437d14497ae8c57c45f08308668cb067c8""18w3x5z7b47kF6BbediXWcZ2VQtQUAs551"UOP_DUP OP_HASH160 5701ce0489b62df11da96227d52fd57f6ed8327f OP_EQUALVERIFY OP_CHECKSIG*276a9145701ce0489b62df11da96227d52fd57f6ed8327f88ac*"18w3x5z7b47kF6BbediXWcZ2VQtQUAs5518$J ;$-@00000000000000000016da18a89b5ff29395e2276c12dc27d49ee03857e1e777"@00000000000000000013a4ad66062c033f48b44f124d6a2a2df57e913f8d066e2$-@0000000000000000000d79121ab12670f7b1badb5c8057bb29028dee1a02b4c1"@00000000000000000016da18a89b5ff29395e2276c12dc27d49ee03857e1e7772$-@00000000000000000018b6c179d7b458ff19d7fb6410875b7f4c86e6032c1911"@0000000000000000000d79121ab12670f7b1badb5c8057bb29028dee1a02b4c12$-@0000000000000000000a776764637c78c4984ba8c1e54ad73b89db4976af022e"@00000000000000000018b6c179d7b458ff19d7fb6410875b7f4c86e6032c19112 + +1@c118893a7cf6c5913b8b888ca30dc730f8bcb0a1ae2ad5c71d17f2cdcf25b73d$"@0000000000000000000a776764637c78c4984ba8c1e54ad73b89db4976af022e(-2 +@af8b32c7e44260236fcbb491dc1f6f6ff33fabe879a289c1fc00b7c0211033b0B032c313ca76c9d864f3fc1ef3589634b6d230d56e61f7f6bf6bbf998a6e57e9b572 +@af8b32c7e44260236fcbb491dc1f6f6ff33fabe879a289c1fc00b7c0211033b0B0344ae762776f3cac94415ea78adc9dce225903ea072251a728f6561cf9cec3d262 +@054b6f2ac5ee697c599802b4350e3316f2709d907e2e1c1b1681fd2c2e066d37B02b8a4050d75ffa528a8c2b425235114982f86d6ee50b57d78ab38eb97a25bd3c9B +@c118893a7cf6c5913b8b888ca30dc730f8bcb0a1ae2ad5c71d17f2cdcf25b73d""1KfZuzQhBVw8yBWDrUNZQzYKWQXbAC6bvY"UOP_DUP OP_HASH160 ccbd8ba9d2f7286fee0ae7835ae50537140e2470 OP_EQUALVERIFY OP_CHECKSIG*276a914ccbd8ba9d2f7286fee0ae7835ae50537140e247088ac*"1KfZuzQhBVw8yBWDrUNZQzYKWQXbAC6bvY8$J  +̞ @c118893a7cf6c5913b8b888ca30dc730f8bcb0a1ae2ad5c71d17f2cdcf25b73d""13p2KCv3KBC6SXpbLP3QMmkuG8wLvYQ89Z"UOP_DUP OP_HASH160 1ed4e6074dab2839d418f4adbf8ea6fcf1223d5d OP_EQUALVERIFY OP_CHECKSIG*276a9141ed4e6074dab2839d418f4adbf8ea6fcf1223d5d88ac*"13p2KCv3KBC6SXpbLP3QMmkuG8wLvYQ89Z8$J  +!@c118893a7cf6c5913b8b888ca30dc730f8bcb0a1ae2ad5c71d17f2cdcf25b73d""1CiLLoZg8XispszsQ9GTkd3wZAiRbPzkKW"UOP_DUP OP_HASH160 807a955e04239bac2ef16e0db01c6fc1eb0250ad OP_EQUALVERIFY OP_CHECKSIG*276a914807a955e04239bac2ef16e0db01c6fc1eb0250ad88ac*"1CiLLoZg8XispszsQ9GTkd3wZAiRbPzkKW8$J ; + + +1@45b47b33b3518b6ac0f0eec1e1075607f59f66c12153b663cb60433428072daa$"@0000000000000000000a776764637c78c4984ba8c1e54ad73b89db4976af022e(-2 +@c118893a7cf6c5913b8b888ca30dc730f8bcb0a1ae2ad5c71d17f2cdcf25b73dB03dce3736bb3c776e1fbfa5662993044a20e836bfc9be91005b864fabd692260002 +@4a635dd110398dfeecd97f2b0f85f01283cf58f090e31ea80018b8fee7d5898bB02f97a5a40b10a2d47d58f1b58d992904fbf4a06c9e076c7a460532af9acaeafd2B +@45b47b33b3518b6ac0f0eec1e1075607f59f66c12153b663cb60433428072daa""14hkkk7foHve4M3Nip9PwY6NYK1SVcivNs"UOP_DUP OP_HASH160 289d8a3c8aa2222368e14a856941ebb1f0dbdaae OP_EQUALVERIFY OP_CHECKSIG*276a914289d8a3c8aa2222368e14a856941ebb1f0dbdaae88ac*"14hkkk7foHve4M3Nip9PwY6NYK1SVcivNs8$J  + @45b47b33b3518b6ac0f0eec1e1075607f59f66c12153b663cb60433428072daa""14trBVqynLtS2RdUKyxU9zBqy339uuPwb4"UOP_DUP OP_HASH160 2ab6a5479ef5897d908f514fd2cb3bcbea9eabe2 OP_EQUALVERIFY OP_CHECKSIG*276a9142ab6a5479ef5897d908f514fd2cb3bcbea9eabe288ac*"14trBVqynLtS2RdUKyxU9zBqy339uuPwb48$J  +腆@45b47b33b3518b6ac0f0eec1e1075607f59f66c12153b663cb60433428072daa""1Jm9HDa5SJHtp7EjNLNW6ynwMZWAYCxBmP"UOP_DUP OP_HASH160 c2d35a237bfa5dd35c597978830296588340a67a OP_EQUALVERIFY OP_CHECKSIG*276a914c2d35a237bfa5dd35c597978830296588340a67a88ac*"1Jm9HDa5SJHtp7EjNLNW6ynwMZWAYCxBmP8$J ;$-@0000000000000000000f269e3dee55b2b4e087f82493e61bb68242e278c1bfcd"@0000000000000000000a776764637c78c4984ba8c1e54ad73b89db4976af022e2 $ີ-@0000000000000000000dea0382ca30a79d463c461793c85340208c2aeda6cdc6"@0000000000000000000f269e3dee55b2b4e087f82493e61bb68242e278c1bfcd2 + + + +1@207d2c38d50381760e75c116477cc19c7ea6bc248cd259e8287b4ea016e83575$"@0000000000000000000dea0382ca30a79d463c461793c85340208c2aeda6cdc6(ີ-2 +@45b47b33b3518b6ac0f0eec1e1075607f59f66c12153b663cb60433428072daaB022937342f4417ca9addfcd2c61666139db9ea4c163bfe47c1df9862e79ca8e9d42 +@7ce94057de11100f45734ce08db7462798fb5653f6db26cd7dcee383f5e4b1b2B029500267a3a448168e810a3d1b5ae4515c9f53bc44269f8200fb22648d47bf47aB +̿@207d2c38d50381760e75c116477cc19c7ea6bc248cd259e8287b4ea016e83575""1CgEvnurjfux2GjQxkPJoHPtXexK52TKVA"UOP_DUP OP_HASH160 80153b6fb9d59e17aaaaa47128748b9ca66df8bd OP_EQUALVERIFY OP_CHECKSIG*276a91480153b6fb9d59e17aaaaa47128748b9ca66df8bd88ac*"1CgEvnurjfux2GjQxkPJoHPtXexK52TKVA8$J  +@207d2c38d50381760e75c116477cc19c7ea6bc248cd259e8287b4ea016e83575""112NosH2bEa8M8LEmor6eog6H71pHGUnZx"UOP_DUP OP_HASH160 00429ed2cf48bfb3b147ede5bd92e76e92196fb9 OP_EQUALVERIFY OP_CHECKSIG*276a91400429ed2cf48bfb3b147ede5bd92e76e92196fb988ac*"112NosH2bEa8M8LEmor6eog6H71pHGUnZx8$J  +@207d2c38d50381760e75c116477cc19c7ea6bc248cd259e8287b4ea016e83575""17JoFUtXKF9omZ6GoxMLAKLgoj9nacAsh9"UOP_DUP OP_HASH160 452e6eeee8bb1c4c8dcf18ddc6366eec1c4b11e6 OP_EQUALVERIFY OP_CHECKSIG*276a914452e6eeee8bb1c4c8dcf18ddc6366eec1c4b11e688ac*"17JoFUtXKF9omZ6GoxMLAKLgoj9nacAsh98$J $޶-@00000000000000000008918f1252867d36ac0e5dfdcc8a5a5b921b24ee515ea2"@0000000000000000000dea0382ca30a79d463c461793c85340208c2aeda6cdc62$п-@000000000000000000067cde5af4f44e781f997bf8e301d7a8611ba5b0435a7f"@00000000000000000008918f1252867d36ac0e5dfdcc8a5a5b921b24ee515ea22 $-@0000000000000000000e4a5eb058a6d08a1993b1e5e85912121c0af675e722e6"@000000000000000000067cde5af4f44e781f997bf8e301d7a8611ba5b0435a7f2 + + + +1@916dd166eb6b64a12153989385450f99f179de2661efba2773f8f86aede03cb0$"@0000000000000000000e4a5eb058a6d08a1993b1e5e85912121c0af675e722e6(-2 +@bbba0cb9fd5332cb27fd87aae90e8dd39137257a814ecb6dbf3ad87bd83bbe0aB02c4b099dd175f3bc3812c282d3cc385914346ee94328b01f2ab9024d63429a4b02 +@bbba0cb9fd5332cb27fd87aae90e8dd39137257a814ecb6dbf3ad87bd83bbe0aB0316ca810df7b9dc19c3c61786dfe64706b4be1be27a0ad952f7b74c524366fb18B +@916dd166eb6b64a12153989385450f99f179de2661efba2773f8f86aede03cb0""1D6WZMfMhBLmns3vEvfroX68aCNCHvZJLb"UOP_DUP OP_HASH160 84ac434bfdb94c96ba202add73f8a626013db30d OP_EQUALVERIFY OP_CHECKSIG*276a91484ac434bfdb94c96ba202add73f8a626013db30d88ac*"1D6WZMfMhBLmns3vEvfroX68aCNCHvZJLb8$J  + @916dd166eb6b64a12153989385450f99f179de2661efba2773f8f86aede03cb0""131G5JjYvrVgnFRc2wrm7wP4hoMZ9wBWmZ"UOP_DUP OP_HASH160 15fcd5bc7713eb5259ddc3b532962c34f9479f52 OP_EQUALVERIFY OP_CHECKSIG*276a91415fcd5bc7713eb5259ddc3b532962c34f9479f5288ac*"131G5JjYvrVgnFRc2wrm7wP4hoMZ9wBWmZ8$J  + +@916dd166eb6b64a12153989385450f99f179de2661efba2773f8f86aede03cb0""18pMgNwc544mSout9TG6bHvkJGvdyjppZm"UOP_DUP OP_HASH160 55bdb14e0cc1170d37a4822defe2e1402dc6393d OP_EQUALVERIFY OP_CHECKSIG*276a91455bdb14e0cc1170d37a4822defe2e1402dc6393d88ac*"18pMgNwc544mSout9TG6bHvkJGvdyjppZm8$J ; $Ղ-@000000000000000000057874aaed6ead9d572ca5fa938d7e9359246236e658d7"@0000000000000000000e4a5eb058a6d08a1993b1e5e85912121c0af675e722e62 + + + +1@c11659f67e914a78ddfc78b6db8045c58d4c5948020863159baeb7241f85138d$"@000000000000000000057874aaed6ead9d572ca5fa938d7e9359246236e658d7(Ղ-2 +@207d2c38d50381760e75c116477cc19c7ea6bc248cd259e8287b4ea016e83575B03e93b55e29bd9d34d0cd54222dcf8181d16c6c0edc3661369317ba56fe5b749f22 +@c118893a7cf6c5913b8b888ca30dc730f8bcb0a1ae2ad5c71d17f2cdcf25b73dB02a4c1744d50ae61d39c4dd882077866da997886790e0234efe244cdc713df72daB +@c11659f67e914a78ddfc78b6db8045c58d4c5948020863159baeb7241f85138d""16fEnjA8JZzWNoMN8rfn32UGBP3gTJQR9T"UOP_DUP OP_HASH160 3e13f2084285da82ec3959f1e6e23008fe651647 OP_EQUALVERIFY OP_CHECKSIG*276a9143e13f2084285da82ec3959f1e6e23008fe65164788ac*"16fEnjA8JZzWNoMN8rfn32UGBP3gTJQR9T8$J  +@c11659f67e914a78ddfc78b6db8045c58d4c5948020863159baeb7241f85138d""1NuY5w5DDgQZCK39xtAXgHd2mSsWo4DRdu"UOP_DUP OP_HASH160 f04a384f120e47a429a28558b7fe7f2a3352eee7 OP_EQUALVERIFY OP_CHECKSIG*276a914f04a384f120e47a429a28558b7fe7f2a3352eee788ac*"1NuY5w5DDgQZCK39xtAXgHd2mSsWo4DRdu8$J  +@c11659f67e914a78ddfc78b6db8045c58d4c5948020863159baeb7241f85138d""1AMZXJEzNRUsgAY2JvMEM6PXUcJhy7jWpe"UOP_DUP OP_HASH160 669c997f01e903d10b3397f209829bcf3bd1564c OP_EQUALVERIFY OP_CHECKSIG*276a914669c997f01e903d10b3397f209829bcf3bd1564c88ac*"1AMZXJEzNRUsgAY2JvMEM6PXUcJhy7jWpe8$J   $-@0000000000000000000fbda493449296f17d6b45d0570ea9b85bca11eb8be4ad"@000000000000000000057874aaed6ead9d572ca5fa938d7e9359246236e658d72 + +1@6deb505933b4207c178ff50359c919a1d6a581b92a4ce6524d088636403f834b$"@0000000000000000000fbda493449296f17d6b45d0570ea9b85bca11eb8be4ad(-2 +@c11659f67e914a78ddfc78b6db8045c58d4c5948020863159baeb7241f85138dB02c6e477f19bb56d5cf9df7afd8653340480db1d83a04280584074edd4474e77c72 +@207d2c38d50381760e75c116477cc19c7ea6bc248cd259e8287b4ea016e83575B026102b4521b320d69957098b3416a5f0a7b74e2cff7c4aff8ac2be604f7b86f862 +@c11659f67e914a78ddfc78b6db8045c58d4c5948020863159baeb7241f85138dB039131ce7fc4701e80b79c5df7d96cd77b8c976749d237ff96c3e68938810b0c4eB +@6deb505933b4207c178ff50359c919a1d6a581b92a4ce6524d088636403f834b""147No4LZhiC6EjSWdNPxg957UL8eHn9maX"UOP_DUP OP_HASH160 221d10dfecbbe8eb7e39832deffec00e37962238 OP_EQUALVERIFY OP_CHECKSIG*276a914221d10dfecbbe8eb7e39832deffec00e3796223888ac*"147No4LZhiC6EjSWdNPxg957UL8eHn9maX8$J  +̞ @6deb505933b4207c178ff50359c919a1d6a581b92a4ce6524d088636403f834b""1MHQXVQKS9AR8tUBqxBK9SPvoRARkckBpX"UOP_DUP OP_HASH160 de7ccf2f5d3c314df4d133195469a319c8c5b1ce OP_EQUALVERIFY OP_CHECKSIG*276a914de7ccf2f5d3c314df4d133195469a319c8c5b1ce88ac*"1MHQXVQKS9AR8tUBqxBK9SPvoRARkckBpX8$J  +Ӗ@6deb505933b4207c178ff50359c919a1d6a581b92a4ce6524d088636403f834b"!1s2j32vZZ9iEU74PdTzPNhCJVYC6tQrAW"UOP_DUP OP_HASH160 09763ce28c44c0142090d194e3356f6bc1552cf1 OP_EQUALVERIFY OP_CHECKSIG*276a91409763ce28c44c0142090d194e3356f6bc1552cf188ac*!1s2j32vZZ9iEU74PdTzPNhCJVYC6tQrAW8$J ;$-@00000000000000000014158b9dbf2cef4edd0ecbd4216e64f86252cf93c2aceb"@0000000000000000000fbda493449296f17d6b45d0570ea9b85bca11eb8be4ad2$ȼ-@0000000000000000001104ce9c90c77bc8810cf977bd95638e3317d721e05341"@00000000000000000014158b9dbf2cef4edd0ecbd4216e64f86252cf93c2aceb2$-@0000000000000000000535ecfb297465d0c9873214ec91d81cb7c5199eb0e26e"@0000000000000000001104ce9c90c77bc8810cf977bd95638e3317d721e053412$-@0000000000000000000bf3d6f1150b70c995100afbe3a5fb7fbb149203bf65dc"@0000000000000000000535ecfb297465d0c9873214ec91d81cb7c5199eb0e26e2 $-@00000000000000000015a9291d875bb35a39f93f3664ff6ba0e413b859f384f4"@0000000000000000000bf3d6f1150b70c995100afbe3a5fb7fbb149203bf65dc2 + +1@4c6e5299cfc1dbbd2c354960df41ac9bf4184fb71b4c2039e18677146e89d4a7$"@00000000000000000015a9291d875bb35a39f93f3664ff6ba0e413b859f384f4(-2 +@05dd349f8a8d6abc8b07eabb1a6c931c078975e6030a9565fa83ec06c1087f45B02853e05fa4616ab93f1c37280843a48e3e690b99b17f096cfe8c3a6541274d3922 +@d65b74660ab3bb1b821020b22c60f0ffd18ebd8b1c7e592d2642ee046cf93d19B0333dc16b2a51ffff147cfa6682eb6f18edddda38f7791ef287acd535fe0f590072 +@41dc1a75ea4c8a4899556eef5122a51f1de48607e1a4f3eb5d69b6051c45ba6cB02b95ae3a48df007f42d5950c930ded8f3d4b2172986aac6b7d1d7d77b8465cd95B +ǰ@4c6e5299cfc1dbbd2c354960df41ac9bf4184fb71b4c2039e18677146e89d4a7""1NqMKS1NmftC5hZj1ha5cmHemHNRyL5Dmu"UOP_DUP OP_HASH160 ef7f916be3409335f8e70bf055c3e1f7944560fa OP_EQUALVERIFY OP_CHECKSIG*276a914ef7f916be3409335f8e70bf055c3e1f7944560fa88ac*"1NqMKS1NmftC5hZj1ha5cmHemHNRyL5Dmu8$J  +˘@4c6e5299cfc1dbbd2c354960df41ac9bf4184fb71b4c2039e18677146e89d4a7""1JfFnXP5gDNzjEJRee6JZx5U5yhnNJhJot"UOP_DUP OP_HASH160 c1b64963d43ad5b2ad9be914bf7e0d0617fe3a35 OP_EQUALVERIFY OP_CHECKSIG*276a914c1b64963d43ad5b2ad9be914bf7e0d0617fe3a3588ac*"1JfFnXP5gDNzjEJRee6JZx5U5yhnNJhJot8$J  + @4c6e5299cfc1dbbd2c354960df41ac9bf4184fb71b4c2039e18677146e89d4a7""15gtrWyaxVuX9KLmGAkAZRu7mvByPaPeAT"UOP_DUP OP_HASH160 336c02cea7538033ca2b41139fb4f86435a347e2 OP_EQUALVERIFY OP_CHECKSIG*276a914336c02cea7538033ca2b41139fb4f86435a347e288ac*"15gtrWyaxVuX9KLmGAkAZRu7mvByPaPeAT8$J  $-@0000000000000000000fa315c618973e562eff4fd41aef39b3f01e084087ffad"@00000000000000000015a9291d875bb35a39f93f3664ff6ba0e413b859f384f42 + + + +1@2dbe9ded7d4fddcab34927e05da558f4c27b991f493da6c80c4d4ed300a20758$"@0000000000000000000fa315c618973e562eff4fd41aef39b3f01e084087ffad(-2 +@916dd166eb6b64a12153989385450f99f179de2661efba2773f8f86aede03cb0B033fab50f1cec52facae80e27ed2f21aa2c14ee3ce8f21aba23b2061dccc40533b2 +@916dd166eb6b64a12153989385450f99f179de2661efba2773f8f86aede03cb0B03e4d326b13e61244d2d0c86a8c7a3c1e30e5341498fe81af12ad3c544c782434eB +@2dbe9ded7d4fddcab34927e05da558f4c27b991f493da6c80c4d4ed300a20758""1FZcM7xYD96uFc5RqsrTHGvvWLanwWjRAT"UOP_DUP OP_HASH160 9fbc93ee2a422000721f4247f989ac15bb94849f OP_EQUALVERIFY OP_CHECKSIG*276a9149fbc93ee2a422000721f4247f989ac15bb94849f88ac*"1FZcM7xYD96uFc5RqsrTHGvvWLanwWjRAT8$J  +@2dbe9ded7d4fddcab34927e05da558f4c27b991f493da6c80c4d4ed300a20758""167a6WqSB8MuGDi6W1EYUMWbhjzvcBp6Lt"UOP_DUP OP_HASH160 3816c045f87848037b1d862f2f3734fd3ad9472f OP_EQUALVERIFY OP_CHECKSIG*276a9143816c045f87848037b1d862f2f3734fd3ad9472f88ac*"167a6WqSB8MuGDi6W1EYUMWbhjzvcBp6Lt8$J  +駫@2dbe9ded7d4fddcab34927e05da558f4c27b991f493da6c80c4d4ed300a20758""12un8kSuJY6VqspYmY2qomQYrxrVDNEEHW"UOP_DUP OP_HASH160 14f36e7261000fef3bed6acdf8499defe9d0afb4 OP_EQUALVERIFY OP_CHECKSIG*276a91414f36e7261000fef3bed6acdf8499defe9d0afb488ac*"12un8kSuJY6VqspYmY2qomQYrxrVDNEEHW8$J $Ц-@000000000000000000006c9cd64dd9f57e199b33c3f3c8fcd529bb6a26c76e91"@0000000000000000000fa315c618973e562eff4fd41aef39b3f01e084087ffad2$評-@00000000000000000015b04e0e91c3dfd3b4c00c0e1e90386aa67932232dbe89"@000000000000000000006c9cd64dd9f57e199b33c3f3c8fcd529bb6a26c76e912$-@0000000000000000000c72d70afe03fdfda7a961fd760895beea1d7159614e6a"@00000000000000000015b04e0e91c3dfd3b4c00c0e1e90386aa67932232dbe892 + +1@d185fa9d913bd76ca2176c216949d48f28fb0f7ecd4d51d7de195de38247922e$"@0000000000000000000c72d70afe03fdfda7a961fd760895beea1d7159614e6a(-2 +@5def4c952df73a89f21e5c829fd59054f39472eb930064809fd3d36a358387bdB035c6f680fe0699f5dab1e19382293f8e5fe95a2432ace9e193ed3f6005c23b5852 +@59b6033d4324b8755e0c15b2c193e9e2e9dce7654a3f4241668c3e549e382dd9B028e0897df008b445072fec58e063c8dcdfe70b4ffead80940ac4491f7a705600bB +@d185fa9d913bd76ca2176c216949d48f28fb0f7ecd4d51d7de195de38247922e""1NgAzU1ZqfSTvWanfHEnt1Ehw4KRYFKg23"UOP_DUP OP_HASH160 edc334301503c9261fee7f68991abac736168d1c OP_EQUALVERIFY OP_CHECKSIG*276a914edc334301503c9261fee7f68991abac736168d1c88ac*"1NgAzU1ZqfSTvWanfHEnt1Ehw4KRYFKg238$J  +͂@d185fa9d913bd76ca2176c216949d48f28fb0f7ecd4d51d7de195de38247922e""1DazuVBM7Ai39qzhPGBiFxAgqfre4s1HYE"UOP_DUP OP_HASH160 8a0f929f5d429657a253d3d5694f805acd944e82 OP_EQUALVERIFY OP_CHECKSIG*276a9148a0f929f5d429657a253d3d5694f805acd944e8288ac*"1DazuVBM7Ai39qzhPGBiFxAgqfre4s1HYE8$J  + + +1@68a557d213d6e97827d20f6e4430851e10e53f19db2c66e75dfe16be1b477f96$"@0000000000000000000c72d70afe03fdfda7a961fd760895beea1d7159614e6a(-2 +@6c55842be25386307b471d58b50e1db64ce6259f9bfdada83234a05f6cc03110B0225ad46c0d052c28760f43840d036bf9ff0d056fe24c9e5597140336411fb9b4b2 +@ed7db7acd9512a7ee82dd380abd5d2596e3a763b0660ce4ff395b689a084ea83B03f3fe14906e6aa2e13385cabec0dc15657997ca1bef7e3f46f9760c5d9d8ca907B +@68a557d213d6e97827d20f6e4430851e10e53f19db2c66e75dfe16be1b477f96""1Pbz86kgyHq8xqMLRHJA7rcDFpgENtu8WK"UOP_DUP OP_HASH160 f7f097e3f45e504845c317a0da4932204497f829 OP_EQUALVERIFY OP_CHECKSIG*276a914f7f097e3f45e504845c317a0da4932204497f82988ac*"1Pbz86kgyHq8xqMLRHJA7rcDFpgENtu8WK8$J  +@68a557d213d6e97827d20f6e4430851e10e53f19db2c66e75dfe16be1b477f96""1NHjFq6Z3XN1KAbPJdMwnMCtvvZSXFEw9y"UOP_DUP OP_HASH160 e98491f2c0741b70419799604b44e20842c7e2b6 OP_EQUALVERIFY OP_CHECKSIG*276a914e98491f2c0741b70419799604b44e20842c7e2b688ac*"1NHjFq6Z3XN1KAbPJdMwnMCtvvZSXFEw9y8$J  +N@68a557d213d6e97827d20f6e4430851e10e53f19db2c66e75dfe16be1b477f96""1EXFSVniXGTmUALSgt7QBC9BYqRiebGARn"UOP_DUP OP_HASH160 94522ae850c57e1d477565314471e40b47a93e16 OP_EQUALVERIFY OP_CHECKSIG*276a91494522ae850c57e1d477565314471e40b47a93e1688ac*"1EXFSVniXGTmUALSgt7QBC9BYqRiebGARn8$J  $-@00000000000000000000fd6d14c1b6ac44fa889969b090fcff9236bd4af0dc66"@0000000000000000000c72d70afe03fdfda7a961fd760895beea1d7159614e6a2 + + + +1@269a517a5de767fb1a5d6535efa5f5a46c315f1c1000df4e7ad5509857a2dadc$"@00000000000000000000fd6d14c1b6ac44fa889969b090fcff9236bd4af0dc66(-2 +@42da0ddfd096ce1591816cfcf6eca624f3bca54d197be0bfcf11e1442d4e86a2B03904126954b7a568d5ee1540ce93bd57c702d6287a9436316685d28e20aac6b9a2 +@d1d9d65ed0802edf9fc7c638e3745023a82e6d30b608a86b53e4707d03bb85c4B03b25bae14b81dc86ab044bda09eb8ebbb33671dd20ec36b1f78dd7c1134c39026B +@269a517a5de767fb1a5d6535efa5f5a46c315f1c1000df4e7ad5509857a2dadc""1HYmqEKPo1cfYtn78cnvaEppQuXi4Rs7UQ"UOP_DUP OP_HASH160 b58454b241a4f380e05eb3d2df89f105c367de9a OP_EQUALVERIFY OP_CHECKSIG*276a914b58454b241a4f380e05eb3d2df89f105c367de9a88ac*"1HYmqEKPo1cfYtn78cnvaEppQuXi4Rs7UQ8$J  +@269a517a5de767fb1a5d6535efa5f5a46c315f1c1000df4e7ad5509857a2dadc""1Pm4rNWZttv1DvWxJfggq698hXVUKHy8Dt"UOP_DUP OP_HASH160 f9a848ce6d00169a6979e4f001721cdac3f81d47 OP_EQUALVERIFY OP_CHECKSIG*276a914f9a848ce6d00169a6979e4f001721cdac3f81d4788ac*"1Pm4rNWZttv1DvWxJfggq698hXVUKHy8Dt8$J  + @269a517a5de767fb1a5d6535efa5f5a46c315f1c1000df4e7ad5509857a2dadc""1EdsZkXFnT9ecTBWa51A95jdQixPXnt9KW"UOP_DUP OP_HASH160 9592d1ae66771101d03f83e0495a17ef400a4426 OP_EQUALVERIFY OP_CHECKSIG*276a9149592d1ae66771101d03f83e0495a17ef400a442688ac*"1EdsZkXFnT9ecTBWa51A95jdQixPXnt9KW8$J  $-@0000000000000000001809977c0496fc58a685971356e599bc37affcb3ef96e8"@00000000000000000000fd6d14c1b6ac44fa889969b090fcff9236bd4af0dc662$-@0000000000000000000638a10cfc89f0fc3ae2ec9d66f50c678c8f7a228f85e2"@0000000000000000001809977c0496fc58a685971356e599bc37affcb3ef96e82$-@0000000000000000000840abedce87347ba31db68a127d42c99bc1a3799ab4f6"@0000000000000000000638a10cfc89f0fc3ae2ec9d66f50c678c8f7a228f85e22$-@0000000000000000000e6e88e84abb1a1d8f9db3ec7cff957353d05561a87778"@0000000000000000000840abedce87347ba31db68a127d42c99bc1a3799ab4f62$-@0000000000000000001780aa594c8d26d0611c35c92290d02eca84d923874b3e"@0000000000000000000e6e88e84abb1a1d8f9db3ec7cff957353d05561a877782$-@0000000000000000001230d8eaf3ce343ad5b4cd7996ff862dcfc5e5245b8e24"@0000000000000000001780aa594c8d26d0611c35c92290d02eca84d923874b3e2$-@00000000000000000015d37a66a9881fa251f745c9130cc42259a50293426f80"@0000000000000000001230d8eaf3ce343ad5b4cd7996ff862dcfc5e5245b8e242$-@00000000000000000016b299db34c86b392addc3afc0b1a020f74a1cfbea5dec"@00000000000000000015d37a66a9881fa251f745c9130cc42259a50293426f802$-@000000000000000000180fda46697f642d19e2d95a5da8c67a3762cfd7151dfd"@00000000000000000016b299db34c86b392addc3afc0b1a020f74a1cfbea5dec2$ɫ-@000000000000000000075d01d4b868def197ef38817bf8bfdc33c64b6b08e412"@000000000000000000180fda46697f642d19e2d95a5da8c67a3762cfd7151dfd2$-@000000000000000000143d045a36e573e14d9acf21d12efcf85f20d6565e529e"@000000000000000000075d01d4b868def197ef38817bf8bfdc33c64b6b08e4122$-@000000000000000000002cfe45153cb3eae9df0c5be6d5263d9ac3d31ea4f788"@000000000000000000143d045a36e573e14d9acf21d12efcf85f20d6565e529e2$-@0000000000000000000167c64ddd1d73546f1655e8876bbfb0ced21def216298"@000000000000000000002cfe45153cb3eae9df0c5be6d5263d9ac3d31ea4f7882$Ǯ-@0000000000000000000e883f7c1b345133040fb872a552af977618fbb76d4a01"@0000000000000000000167c64ddd1d73546f1655e8876bbfb0ced21def2162982$訳-@0000000000000000000f9ec534b962613d5874daaae624023d177c9be4809ae1"@0000000000000000000e883f7c1b345133040fb872a552af977618fbb76d4a012$-@000000000000000000113b27d001acc2e59b6ace2038d0afbec3733f6a4c43d6"@0000000000000000000f9ec534b962613d5874daaae624023d177c9be4809ae12$-@0000000000000000000cf779c557782a2b1828970c85c1150aa03257f366d9ff"@000000000000000000113b27d001acc2e59b6ace2038d0afbec3733f6a4c43d62$-@0000000000000000000e3dc37599eb4ec4084a5744c7e24874dbb8846714b232"@0000000000000000000cf779c557782a2b1828970c85c1150aa03257f366d9ff2$ܗ-@00000000000000000008011a6b7c6f63de07f107da7b9ff763b5dbbe301140e8"@0000000000000000000e3dc37599eb4ec4084a5744c7e24874dbb8846714b2322$-@0000000000000000000ab166c84b4dd05c0013a8200c634871870a4f55efb15b"@00000000000000000008011a6b7c6f63de07f107da7b9ff763b5dbbe301140e82$-@00000000000000000016bb6b8ee99de6311d44a662264e67b29c2c89561b8316"@0000000000000000000ab166c84b4dd05c0013a8200c634871870a4f55efb15b2$-@00000000000000000011278c8e8e2f4eec1713044fed2393c280d955f8a2dbf3"@00000000000000000016bb6b8ee99de6311d44a662264e67b29c2c89561b83162$-@0000000000000000000ee969288c259aaf54a6073434ef7bb05806bac2ad3d4b"@00000000000000000011278c8e8e2f4eec1713044fed2393c280d955f8a2dbf32$-@0000000000000000000b488c9a2c561e7c8b2dba860aa8a37ed93a2da4b2de75"@0000000000000000000ee969288c259aaf54a6073434ef7bb05806bac2ad3d4b2$뜀-@000000000000000000143468fbb0c9f440f54163618f55e53db371013975494a"@0000000000000000000b488c9a2c561e7c8b2dba860aa8a37ed93a2da4b2de752$´-@00000000000000000016600636327485bcd70e8ec27bf160c69393f82bdd38e5"@000000000000000000143468fbb0c9f440f54163618f55e53db371013975494a2$ؤ-@00000000000000000003688bb78eb5ab8eb73cf0db044c404c22f159b731f4de"@00000000000000000016600636327485bcd70e8ec27bf160c69393f82bdd38e52$݀-@0000000000000000000cf0d33a56980de2a2a897c86c9ce158b234e299219ebb"@00000000000000000003688bb78eb5ab8eb73cf0db044c404c22f159b731f4de2$-@0000000000000000001149510198c5d38fb9f9127bc0d5dda8beb6d672682da4"@0000000000000000000cf0d33a56980de2a2a897c86c9ce158b234e299219ebb2$ǁ-@00000000000000000009ce853b16a2075823148db331d208ec7eae84032c8f53"@0000000000000000001149510198c5d38fb9f9127bc0d5dda8beb6d672682da42$-@00000000000000000015b6fa5219a9bdad3c30cea1f24f1ba20fd2e5fc3a7d2c"@00000000000000000009ce853b16a2075823148db331d208ec7eae84032c8f532$-@00000000000000000004591a4672384231bc8c09731b8484c507b1e502ef9e92"@00000000000000000015b6fa5219a9bdad3c30cea1f24f1ba20fd2e5fc3a7d2c2$-@00000000000000000013ddc817a9e3f569ea0b788a03e36a2c9df8b115ea3e09"@00000000000000000004591a4672384231bc8c09731b8484c507b1e502ef9e922$辂-@000000000000000000147bf8e7ac3bea0be7b507da5659077d33bfd61256b46d"@00000000000000000013ddc817a9e3f569ea0b788a03e36a2c9df8b115ea3e092 $ӂ-@00000000000000000004ddf1b71921899a395d3a01d712adfa0c2e89e462644d"@000000000000000000147bf8e7ac3bea0be7b507da5659077d33bfd61256b46d2 + + + +1@994ab54fd8ad0e29817b874dbf22b8220bbe05d40af72dd3936ade2ae3dd62c9$"@00000000000000000004ddf1b71921899a395d3a01d712adfa0c2e89e462644d(ӂ-2 +@7a1cdff1a64d86ff37e24d4ead0ba7ea3644e5122790323281f842c0c722677cB0355f691757e84527a2838eab5d1f85ec0acca8719c0a7be30316d38add4ecfbf72 +@d65b74660ab3bb1b821020b22c60f0ffd18ebd8b1c7e592d2642ee046cf93d19B03d6fedca78cebb8b00a505e3b40e49cc1ec70315eb764c823a8a151065692a9b1B + @994ab54fd8ad0e29817b874dbf22b8220bbe05d40af72dd3936ade2ae3dd62c9""17nBAxeBC8vx7grxmF12fCsJb3smE3LC9n"UOP_DUP OP_HASH160 4a5bf6c23abb001cfa0530321afa08cb1afb15ad OP_EQUALVERIFY OP_CHECKSIG*276a9144a5bf6c23abb001cfa0530321afa08cb1afb15ad88ac*"17nBAxeBC8vx7grxmF12fCsJb3smE3LC9n8$J  +m@994ab54fd8ad0e29817b874dbf22b8220bbe05d40af72dd3936ade2ae3dd62c9""1Cu57QEZWHg7FKCHPFxq4MNiuxo2SxFrwv"UOP_DUP OP_HASH160 828271dd7fb43f759e84d70fd1ea1a075b6b6bfc OP_EQUALVERIFY OP_CHECKSIG*276a914828271dd7fb43f759e84d70fd1ea1a075b6b6bfc88ac*"1Cu57QEZWHg7FKCHPFxq4MNiuxo2SxFrwv8$J  +@994ab54fd8ad0e29817b874dbf22b8220bbe05d40af72dd3936ade2ae3dd62c9""1GmikcnaY3B6ZKs4iegfbnVRZpKD5Jxaxn"UOP_DUP OP_HASH160 acff0aba3b436147f6e804a13c488bda7abf9d10 OP_EQUALVERIFY OP_CHECKSIG*276a914acff0aba3b436147f6e804a13c488bda7abf9d1088ac*"1GmikcnaY3B6ZKs4iegfbnVRZpKD5Jxaxn8$J $-@0000000000000000000d234071a0586f430dbb318d3bc52461c80aea79239f91"@00000000000000000004ddf1b71921899a395d3a01d712adfa0c2e89e462644d2$-@00000000000000000011c83dfb0398c4e09d831215bac6a71ec42013f2978262"@0000000000000000000d234071a0586f430dbb318d3bc52461c80aea79239f912$-@0000000000000000000b15d90fbc50fcaeab2c7ba6438f2b4f401ef7e3772097"@00000000000000000011c83dfb0398c4e09d831215bac6a71ec42013f29782622$-@0000000000000000000a6ee7c7a5700a4c2799024365f884e60d3db8ab047748"@0000000000000000000b15d90fbc50fcaeab2c7ba6438f2b4f401ef7e37720972$ރ-@000000000000000000164c83c54c77b620cac3ec8df82acad10d137060afcedb"@0000000000000000000a6ee7c7a5700a4c2799024365f884e60d3db8ab0477482$-@0000000000000000000329bf6c9f341fe5b619756d2ed6a481f8047c4c3ed150"@000000000000000000164c83c54c77b620cac3ec8df82acad10d137060afcedb2$-@0000000000000000000e65352909c3667bab324a02e2a14ed93099e8b6fdf395"@0000000000000000000329bf6c9f341fe5b619756d2ed6a481f8047c4c3ed1502$ԕ-@00000000000000000006f8e526ac7fd60f86bdcffeaae3605a3a42d6dd4449a6"@0000000000000000000e65352909c3667bab324a02e2a14ed93099e8b6fdf3952$萩-@00000000000000000003f6dee74733e98c954439d166c9c1fe8980d027e3b10c"@00000000000000000006f8e526ac7fd60f86bdcffeaae3605a3a42d6dd4449a62$܄-@00000000000000000010ee29a58cb38f69aad1e43c2cda6ab9a2a094ca2b08fc"@00000000000000000003f6dee74733e98c954439d166c9c1fe8980d027e3b10c2$А-@0000000000000000000501a8a7aa58a849f1449608d4fffa10e8684b645cf947"@00000000000000000010ee29a58cb38f69aad1e43c2cda6ab9a2a094ca2b08fc2 + + +1@20343a83deed089633f71adc267c900ac57388744bd1f9529626caf3c254d5ef$"@0000000000000000000501a8a7aa58a849f1449608d4fffa10e8684b645cf947(А-2 +@a84394f9e749443a4c83500c92c3534ace35f761d5dea0311cd18d8d6e00e88bB03f545e1421a9c69579bcd487f30159ca17eb0eddd28cea1a20b29408b002f96b82 +@a84394f9e749443a4c83500c92c3534ace35f761d5dea0311cd18d8d6e00e88bB03009569a0f1ebba0c6347c6168c61e78292cfd6b3d8ea899d6b1d4d0a72d85ed9B +Q@20343a83deed089633f71adc267c900ac57388744bd1f9529626caf3c254d5ef""1G6aBuf7ppVNYVgPocpQtd1kRg8Ko7rG73"UOP_DUP OP_HASH160 a597abaa6475d2507588b4aa2c258c0203663644 OP_EQUALVERIFY OP_CHECKSIG*276a914a597abaa6475d2507588b4aa2c258c020366364488ac*"1G6aBuf7ppVNYVgPocpQtd1kRg8Ko7rG738$J  +[@20343a83deed089633f71adc267c900ac57388744bd1f9529626caf3c254d5ef""1BNXYqPJF7YcQ93i7CG8zapjk1p8QQesw2"UOP_DUP OP_HASH160 71c37e7321cccc0749a65f4297c0f122fefd41a5 OP_EQUALVERIFY OP_CHECKSIG*276a91471c37e7321cccc0749a65f4297c0f122fefd41a588ac*"1BNXYqPJF7YcQ93i7CG8zapjk1p8QQesw28$J  +@20343a83deed089633f71adc267c900ac57388744bd1f9529626caf3c254d5ef""162uWio2XkbobB2jPupn4vbh29eqK7zkDX"UOP_DUP OP_HASH160 3734e14a98f029cd31d2824f582b3d1437df68c8 OP_EQUALVERIFY OP_CHECKSIG*276a9143734e14a98f029cd31d2824f582b3d1437df68c888ac*"162uWio2XkbobB2jPupn4vbh29eqK7zkDX8$J  + +1@6ae0147c424ce5b60688dd2fe0c4702325b91b3b4efd6244e0527f1804e57532$"@0000000000000000000501a8a7aa58a849f1449608d4fffa10e8684b645cf947(А-2 +@20343a83deed089633f71adc267c900ac57388744bd1f9529626caf3c254d5efB03e15daac5358616d5ad95fbe48ff80586e6b8dd5a05df97f1124c1ccf15f3d1fd2 +@165e3a53d335ce1825ee9298e27a0294c05b3e3133787c1acc9949979836879bB036bbadbb55272c00c64d19e13d18c2acb709f8475921b3b1deaffde04caa7a18a2 +@9e26743fbb39a1f4bf9fca3a7cfb53d81737be2f2aca76ea063939c7195e302aB03c394c6bb9ea62e2b05db45ca732836957cfd5e7e013aa68de52b5a3318aea90c2 +@ccdc9c2cbbcb7198124a6e4b0ff84f3afe42b43ace62135a00953b9cf7c9c5b0B034ef054da4076cd68ca72974e10b2a74a9ccd4c24f863d4564f493b28fe1963ee2 +@7439ab9c7a64341f63cd46d7401459ae8d597c04b6182cca26d5b682b1f0d96eB02fb115e71f58d13f278b878694bf733bfddf6dd5e3434e44c4175f3bc0e9af821B +Q@6ae0147c424ce5b60688dd2fe0c4702325b91b3b4efd6244e0527f1804e57532""147gHkVwwZC9jRVGwVaiG2R5Js4Lese4vW"UOP_DUP OP_HASH160 222bab750b3f4f64912452f853ec23693bfec27b OP_EQUALVERIFY OP_CHECKSIG*276a914222bab750b3f4f64912452f853ec23693bfec27b88ac*"147gHkVwwZC9jRVGwVaiG2R5Js4Lese4vW8$J  +[@6ae0147c424ce5b60688dd2fe0c4702325b91b3b4efd6244e0527f1804e57532""1Pwp1inYfoEeUZz3oBwRNFxBZ1rDVcKfye"UOP_DUP OP_HASH160 fbb07921d8f40fa556c34bcf6180d24bf5117b36 OP_EQUALVERIFY OP_CHECKSIG*276a914fbb07921d8f40fa556c34bcf6180d24bf5117b3688ac*"1Pwp1inYfoEeUZz3oBwRNFxBZ1rDVcKfye8$J  +@6ae0147c424ce5b60688dd2fe0c4702325b91b3b4efd6244e0527f1804e57532""13ofrNx4uq2wgXhwx8fhzrWNyLyYHjQGh2"UOP_DUP OP_HASH160 1ec3d139a10623a0bcc850c38743901da9109cb0 OP_EQUALVERIFY OP_CHECKSIG*276a9141ec3d139a10623a0bcc850c38743901da9109cb088ac*"13ofrNx4uq2wgXhwx8fhzrWNyLyYHjQGh28$J  !$դ-@0000000000000000001995f725ff1fc1fea1e1920297eb6b2a691e3961a5cd83"@0000000000000000000501a8a7aa58a849f1449608d4fffa10e8684b645cf9472 + + +1@195d29a1549bd0f3d22cb72515b9d39578b1febb68431aa7952e85ae90a62a05$"@0000000000000000001995f725ff1fc1fea1e1920297eb6b2a691e3961a5cd83(դ-2 +@d7ea7aaeb4788604bb7debac9bef3df9d50e10dc2aac20c59cc1e359c664dbd4B03f03e0defdc38c4b9406e05ae039e7bc7fe8953ee9367ac561ea6bbb14509d6fb2 +@d7ea7aaeb4788604bb7debac9bef3df9d50e10dc2aac20c59cc1e359c664dbd4B0252c54742e42971cd7a6514a0d7f1c686dcd608c0be0fe1d11c065ff19d1ab2f6B +@195d29a1549bd0f3d22cb72515b9d39578b1febb68431aa7952e85ae90a62a05""1FJkmxFbAkJ6ctLvF3b7i5KkR2bPb5J9UW"UOP_DUP OP_HASH160 9ced5fb74cd7d231d6571941ffb41799e300db3e OP_EQUALVERIFY OP_CHECKSIG*276a9149ced5fb74cd7d231d6571941ffb41799e300db3e88ac*"1FJkmxFbAkJ6ctLvF3b7i5KkR2bPb5J9UW8$J  +d@195d29a1549bd0f3d22cb72515b9d39578b1febb68431aa7952e85ae90a62a05""14wPzHGaoC6q9syuuymjAYVuorX33Qc9Fw"UOP_DUP OP_HASH160 2b320742f91a0ee932a943528e63d0bc10c64533 OP_EQUALVERIFY OP_CHECKSIG*276a9142b320742f91a0ee932a943528e63d0bc10c6453388ac*"14wPzHGaoC6q9syuuymjAYVuorX33Qc9Fw8$J  +@195d29a1549bd0f3d22cb72515b9d39578b1febb68431aa7952e85ae90a62a05""1Dou7GH7Hf9pfwNeEpuHVhe8QpkBn8Wkwa"UOP_DUP OP_HASH160 8c802426248a8c8ea23199575d7365ab08c90c5b OP_EQUALVERIFY OP_CHECKSIG*276a9148c802426248a8c8ea23199575d7365ab08c90c5b88ac*"1Dou7GH7Hf9pfwNeEpuHVhe8QpkBn8Wkwa8$J  + + +1@c77908ab9d6e534bc3a632bc04e7b061b0153a72488958a9083eb5e00e7c548c$"@0000000000000000001995f725ff1fc1fea1e1920297eb6b2a691e3961a5cd83(դ-2 +@2dbe9ded7d4fddcab34927e05da558f4c27b991f493da6c80c4d4ed300a20758B02eec63e3fb210e4c541c1aa010db4248562cc29bcc306790dfc371a401b21277a2 +@7f08d971ab7e56368154a29c7330e18e4d0542d64c1901733f2c38d8b1629d33B039c5374400ca51353b45baa5fd28f55a1dd9c7380a9c3140f78296d4160af720bB +@c77908ab9d6e534bc3a632bc04e7b061b0153a72488958a9083eb5e00e7c548c""14xaBLM6sq9a8ayUnzQXuTHWLXjGZnLdo4"UOP_DUP OP_HASH160 2b6af373e2975418a575898a1f9d4e901c80d383 OP_EQUALVERIFY OP_CHECKSIG*276a9142b6af373e2975418a575898a1f9d4e901c80d38388ac*"14xaBLM6sq9a8ayUnzQXuTHWLXjGZnLdo48$J  +@c77908ab9d6e534bc3a632bc04e7b061b0153a72488958a9083eb5e00e7c548c""1AKCK8A5WmqXZeZyiD28h6V2dUXGMbxyXr"UOP_DUP OP_HASH160 662a1002c836938993ae2a3568914fcf73133165 OP_EQUALVERIFY OP_CHECKSIG*276a914662a1002c836938993ae2a3568914fcf7313316588ac*"1AKCK8A5WmqXZeZyiD28h6V2dUXGMbxyXr8$J  +@c77908ab9d6e534bc3a632bc04e7b061b0153a72488958a9083eb5e00e7c548c""1K15jrrHfEuxuZGmvQGat5SLwFGarYNv2i"UOP_DUP OP_HASH160 c57638513ea08a8b958d9150ef0e33140eb21454 OP_EQUALVERIFY OP_CHECKSIG*276a914c57638513ea08a8b958d9150ef0e33140eb2145488ac*"1K15jrrHfEuxuZGmvQGat5SLwFGarYNv2i8$J  + + +1@e7269024b10a37ae56c5e4f7d301fd2d3355c3c418b92298fd72452a7e9b9d42$"@0000000000000000001995f725ff1fc1fea1e1920297eb6b2a691e3961a5cd83(դ-2 +@195d29a1549bd0f3d22cb72515b9d39578b1febb68431aa7952e85ae90a62a05B03d580c5352eaf633d4e12dfe752244b82d8cde594bc114f0d800e23859cfa1e292 +@ebe25182041f880ddbe5c61a07e10c228219f209462b0d612de9b64cfdc5e896B0331feaf813919433fd1839fef7ada84363b595a4a572634d05588dd7abfad3850B +@e7269024b10a37ae56c5e4f7d301fd2d3355c3c418b92298fd72452a7e9b9d42""1Gq4e2ZpaghAfwtKQnPDEzHCXCwQ5DMeUg"UOP_DUP OP_HASH160 ada0e3ddca673cb285210df3ff695b7970602c6f OP_EQUALVERIFY OP_CHECKSIG*276a914ada0e3ddca673cb285210df3ff695b7970602c6f88ac*"1Gq4e2ZpaghAfwtKQnPDEzHCXCwQ5DMeUg8$J  +@e7269024b10a37ae56c5e4f7d301fd2d3355c3c418b92298fd72452a7e9b9d42""1KuU26N8GYMe9uBFvmbyXXiw958jmy4HMa"UOP_DUP OP_HASH160 cf5e72c46930b7ce576134bfa0f8f1facffb1d5a OP_EQUALVERIFY OP_CHECKSIG*276a914cf5e72c46930b7ce576134bfa0f8f1facffb1d5a88ac*"1KuU26N8GYMe9uBFvmbyXXiw958jmy4HMa8$J  +@e7269024b10a37ae56c5e4f7d301fd2d3355c3c418b92298fd72452a7e9b9d42""1NAQyF7TLmMZpUPp6CAZWx6pffg9ZJVTVr"UOP_DUP OP_HASH160 e82264deb7a38a4ed3d544db7155f69f5c6bea98 OP_EQUALVERIFY OP_CHECKSIG*276a914e82264deb7a38a4ed3d544db7155f69f5c6bea9888ac*"1NAQyF7TLmMZpUPp6CAZWx6pffg9ZJVTVr8$J $ޮ-@00000000000000000000720d9a7745b0fda068a752672a91e971e35b13338fb2"@0000000000000000001995f725ff1fc1fea1e1920297eb6b2a691e3961a5cd832$-@00000000000000000000e6dcc2cd7dd616d921112483207d81c4184319a017da"@00000000000000000000720d9a7745b0fda068a752672a91e971e35b13338fb22 $-@00000000000000000000dba2f721c351876547a973146a9d0af1c5dfa63ec945"@00000000000000000000e6dcc2cd7dd616d921112483207d81c4184319a017da2 + +1@44395bdd47b3a79c079e94bfa9f3a0c5765ab0c9ada51a1433ad6e9a82d6a456$"@00000000000000000000dba2f721c351876547a973146a9d0af1c5dfa63ec945(-2 +@7d978dbac59b40c6d6c97fee863720437d14497ae8c57c45f08308668cb067c8B032699d91803cd17c4aac3eaf989fb2742bc4a4ae2ac13e5f155da15fc1b4765622 +@7d978dbac59b40c6d6c97fee863720437d14497ae8c57c45f08308668cb067c8B0358ba39ffda814f4af2c987ef47f1253c26c4a8a9cc09087c1e2195f38da841b52 +@25cbfb0c8285c9a08e64ca41b465a890cb816591c5f5eb088077fa008ead3a89B02b6f0d67e91782a5873e6e50f687f2c78314671502bf5a3220edf20ea64a3536cB +@44395bdd47b3a79c079e94bfa9f3a0c5765ab0c9ada51a1433ad6e9a82d6a456""1MQ2mpqAWZKpyG5z7Hr2j7UPxJQif4mbrv"UOP_DUP OP_HASH160 dfbd900c5523cdbf0972a65b117b7487bb66866a OP_EQUALVERIFY OP_CHECKSIG*276a914dfbd900c5523cdbf0972a65b117b7487bb66866a88ac*"1MQ2mpqAWZKpyG5z7Hr2j7UPxJQif4mbrv8$J  +̞ @44395bdd47b3a79c079e94bfa9f3a0c5765ab0c9ada51a1433ad6e9a82d6a456""1Joqu97DSXugbJWDcS92i7jPCJ7oHbgpEJ"UOP_DUP OP_HASH160 c3561763a3bd498ed74e7a3b084ecddda0644128 OP_EQUALVERIFY OP_CHECKSIG*276a914c3561763a3bd498ed74e7a3b084ecddda064412888ac*"1Joqu97DSXugbJWDcS92i7jPCJ7oHbgpEJ8$J  +Ե@44395bdd47b3a79c079e94bfa9f3a0c5765ab0c9ada51a1433ad6e9a82d6a456""1Gbhdx9VgqQLqoxttxcXUvLGjn27Rdxx7n"UOP_DUP OP_HASH160 ab19f39b221822ebed49c23455c2e81e7207b1ed OP_EQUALVERIFY OP_CHECKSIG*276a914ab19f39b221822ebed49c23455c2e81e7207b1ed88ac*"1Gbhdx9VgqQLqoxttxcXUvLGjn27Rdxx7n8$J ; $ߛ-@0000000000000000000bf03615198ca87d1af68b5ca0ccfed839b93fa3ee0459"@00000000000000000000dba2f721c351876547a973146a9d0af1c5dfa63ec9452 + +1@e23adbe44a217bcd346b2e48569e98e211c359f28aef98b41fb724b8e7167525$"@0000000000000000000bf03615198ca87d1af68b5ca0ccfed839b93fa3ee0459(ߛ-2 +@57c097044ecdeb7db595bc211734df283184347a0db45c31625d73ab11f593c4B037d2f8f08947dab4c33928076a1972b2b240b41f53f4c630b72eb7aed154a680e2 +@d497459ab4d89a3ef2b0ab2ad7dd5f996ff1206e2e7fe060aaaba58a62426e0eB03c5839967bc91b9c84bed6929d653296320e5f50d669efbd8888b516dff036a9aB +@e23adbe44a217bcd346b2e48569e98e211c359f28aef98b41fb724b8e7167525""1MeiZxphH47sK1hbJGjPUCe3B3o2P1MEEe"UOP_DUP OP_HASH160 e2849b1230a80419fe56322e3b57cc3125132ade OP_EQUALVERIFY OP_CHECKSIG*276a914e2849b1230a80419fe56322e3b57cc3125132ade88ac*"1MeiZxphH47sK1hbJGjPUCe3B3o2P1MEEe8$J  +@e23adbe44a217bcd346b2e48569e98e211c359f28aef98b41fb724b8e7167525""1MeiZxphH47sK1hbJGjPUCe3B3o2P1MEEe"UOP_DUP OP_HASH160 e2849b1230a80419fe56322e3b57cc3125132ade OP_EQUALVERIFY OP_CHECKSIG*276a914e2849b1230a80419fe56322e3b57cc3125132ade88ac*"1MeiZxphH47sK1hbJGjPUCe3B3o2P1MEEe8$J   +@e23adbe44a217bcd346b2e48569e98e211c359f28aef98b41fb724b8e7167525""1ET1cRpQM9fXWNijEHSLENBX3MRh2Jpfzm"UOP_DUP OP_HASH160 9384f5c84592e15ba647336931acaf45e14e3389 OP_EQUALVERIFY OP_CHECKSIG*276a9149384f5c84592e15ba647336931acaf45e14e338988ac*"1ET1cRpQM9fXWNijEHSLENBX3MRh2Jpfzm8$J  +@e23adbe44a217bcd346b2e48569e98e211c359f28aef98b41fb724b8e7167525"l"6OP_RETURN 1101eef9d8e4185a8caa4ba126991663050d637ca804*06a161101eef9d8e4185a8caa4ba126991663050d637ca8042ZK&c c|8$J !$-@000000000000000000050ee0237c3eeb2528586348b436044659589f7c43ccaa"@0000000000000000000bf03615198ca87d1af68b5ca0ccfed839b93fa3ee04592 + + +1@f45d74eb432cf1c2406cdbcecc0512ddb67825e8ae3250dde7a07ac9b19bdffe$"@000000000000000000050ee0237c3eeb2528586348b436044659589f7c43ccaa(-2 +@16e7da38e9e259da73d8515d790bc2a769d9944a967804690572dd2e63300f44B03d19fcf3ab0e653dbfa9feda90ea1c2867153b618c3dc02f410b2f27ccbf89d3f2 +@edc50015d807d1ad9267ea2e4522d7ebe70fec6204032a5469a39e53bb9ad554B02fb8866038bda59cd38c7f3174d75c0f5efea9a38d48ac9b72194a869462f74daB +ƚ@f45d74eb432cf1c2406cdbcecc0512ddb67825e8ae3250dde7a07ac9b19bdffe""1J6RcB7ADTwF9nY8gwhFuLpmWGKYtzuQEU"UOP_DUP OP_HASH160 bb80c23155dc780a7c7a29bb00abfc2039d14bba OP_EQUALVERIFY OP_CHECKSIG*276a914bb80c23155dc780a7c7a29bb00abfc2039d14bba88ac*"1J6RcB7ADTwF9nY8gwhFuLpmWGKYtzuQEU8$J  +3@f45d74eb432cf1c2406cdbcecc0512ddb67825e8ae3250dde7a07ac9b19bdffe""1J3yKX6QjedBcznGBPz2QGmm36Er84tfGM"UOP_DUP OP_HASH160 bb09fbb490ae5db807ae3b1068fe704d11fb5252 OP_EQUALVERIFY OP_CHECKSIG*276a914bb09fbb490ae5db807ae3b1068fe704d11fb525288ac*"1J3yKX6QjedBcznGBPz2QGmm36Er84tfGM8$J  +@f45d74eb432cf1c2406cdbcecc0512ddb67825e8ae3250dde7a07ac9b19bdffe"!1x9wkKFhvkjvBdPjk8kPaV9LdyaGpvbL3"UOP_DUP OP_HASH160 0a6e5809c1709fbf436b3e019131812a2c9d28aa OP_EQUALVERIFY OP_CHECKSIG*276a9140a6e5809c1709fbf436b3e019131812a2c9d28aa88ac*!1x9wkKFhvkjvBdPjk8kPaV9LdyaGpvbL38$J D + + +1@90a808642f7d296dfa3b8a25f406d28ce0a3722fbf440a1bedc1da095f938466$"@000000000000000000050ee0237c3eeb2528586348b436044659589f7c43ccaa(-2 +@df29cf7bd6cf18552c84e68b031accc7df7ab8df30f56f4d327fa002b88ebc02B0291917e57510993f0924ff1b5c40218b56717171c244330934c981e14748c69222 +@43e97db173c6ecdde2a91d5c9bbb8f11b1c3ba856de5026ea453bdaa5c8248a8B02f82a7dde5886215384758d5170e4b256fccff940f5ca7b8edb2f6337045f6c91B +@90a808642f7d296dfa3b8a25f406d28ce0a3722fbf440a1bedc1da095f938466""1MSC545o6gJKxnzUjyVVT81AsrqZeoWY2u"UOP_DUP OP_HASH160 e02627c7caa0f12b8a7dc3ea174bb787ba790321 OP_EQUALVERIFY OP_CHECKSIG*276a914e02627c7caa0f12b8a7dc3ea174bb787ba79032188ac*"1MSC545o6gJKxnzUjyVVT81AsrqZeoWY2u8$J  +@90a808642f7d296dfa3b8a25f406d28ce0a3722fbf440a1bedc1da095f938466""19ox9ftsnXSgQ6G5MbwdcJ3aWt7MUXk7AV"UOP_DUP OP_HASH160 60a22d4f466bd5bf75155d07b52457ff715a19a1 OP_EQUALVERIFY OP_CHECKSIG*276a91460a22d4f466bd5bf75155d07b52457ff715a19a188ac*"19ox9ftsnXSgQ6G5MbwdcJ3aWt7MUXk7AV8$J  +d@90a808642f7d296dfa3b8a25f406d28ce0a3722fbf440a1bedc1da095f938466""185eBxHTEUaeJU3PyB6bEAXjKXPv9FPcU1"UOP_DUP OP_HASH160 4da996887fc35aa2f89dddefe3c8301c2f577bed OP_EQUALVERIFY OP_CHECKSIG*276a9144da996887fc35aa2f89dddefe3c8301c2f577bed88ac*"185eBxHTEUaeJU3PyB6bEAXjKXPv9FPcU18$J ; + + +1@ee6031a17128284947e55296cbbd800e382d9a17c4d7b347913433fbbd2d7bd2$"@000000000000000000050ee0237c3eeb2528586348b436044659589f7c43ccaa(-2 +@80e0b73f4e9e721b3c876da319f5ce5cd2b48151f06da1c73ecdb40c29f2a14aB0226cf0958376ed40f9aeedb01103e3e414264b219010532af258c151c5d7364992 +@bc48665d3f2b1324cde629dfabdf1a04af35e137017a1faa3c88a28baa3680cfB02360d70419e76cb2a31e0bb0208b55e4e53f6159532b648ee19d8f8217dffaca2B +@ee6031a17128284947e55296cbbd800e382d9a17c4d7b347913433fbbd2d7bd2""1AJxX47guQE9NDH6kLgKXuRkbVujftsypD"UOP_DUP OP_HASH160 661e8c31eba5a4f9322e5a68e4795860bf70881d OP_EQUALVERIFY OP_CHECKSIG*276a914661e8c31eba5a4f9322e5a68e4795860bf70881d88ac*"1AJxX47guQE9NDH6kLgKXuRkbVujftsypD8$J  +@ee6031a17128284947e55296cbbd800e382d9a17c4d7b347913433fbbd2d7bd2""123G8GHcKtSq37oi67gLH157yCvWvjfhCm"UOP_DUP OP_HASH160 0b659567e6c9bb88a216e03959fad428d5c9c69e OP_EQUALVERIFY OP_CHECKSIG*276a9140b659567e6c9bb88a216e03959fad428d5c9c69e88ac*"123G8GHcKtSq37oi67gLH157yCvWvjfhCm8$J  +d@ee6031a17128284947e55296cbbd800e382d9a17c4d7b347913433fbbd2d7bd2""1LdPdwR5QRtkms7joH6YFGAnQLQeoaVKK4"UOP_DUP OP_HASH160 d74c42c515e9b03f248c9b8ce7d0518e7b120008 OP_EQUALVERIFY OP_CHECKSIG*276a914d74c42c515e9b03f248c9b8ce7d0518e7b12000888ac*"1LdPdwR5QRtkms7joH6YFGAnQLQeoaVKK48$J ;$ʬ-@0000000000000000000094bfeeba68feb96b527aa6aa0915243b9b0b32b55a06"@000000000000000000050ee0237c3eeb2528586348b436044659589f7c43ccaa2 $‡-@0000000000000000000f6bf79b01e9d159a5248ad542c30e6ea8cfb02d124822"@0000000000000000000094bfeeba68feb96b527aa6aa0915243b9b0b32b55a062 + + + +1@60588a786d36b78628228c787aca6e18163be63feadbba7fcd3e678f6f83ad8d$"@0000000000000000000f6bf79b01e9d159a5248ad542c30e6ea8cfb02d124822(‡-2 +@bd9fbab1b8904e9793dfc1866e636927f2fa978e6e79a32b1736e1a023cdad64B021c961fa9e060b0c6acf9c61c0b0251dc884c8b20ffb2a8dce3b9e344f1356fbf2 +@297a70b888a58debb0c8700f4125787c298bce6d2208f1d2b798430f116ea3b4B03e7ce41be071abf3e33b5c59755a7905f50007c46ec7781cbcf60e19343d9b751B +@60588a786d36b78628228c787aca6e18163be63feadbba7fcd3e678f6f83ad8d""19Wk7TeMGziFjykMoEpgK9Qj1f76dy3tr7"UOP_DUP OP_HASH160 5d610e85389cdb2f7e056d69a6b3f8ade2d8acb6 OP_EQUALVERIFY OP_CHECKSIG*276a9145d610e85389cdb2f7e056d69a6b3f8ade2d8acb688ac*"19Wk7TeMGziFjykMoEpgK9Qj1f76dy3tr78$J  +@60588a786d36b78628228c787aca6e18163be63feadbba7fcd3e678f6f83ad8d""1HJSYzSK3Tk2iFw6bgvGJWVZRijoryARAP"UOP_DUP OP_HASH160 b2ce69cb2801967bce1a4949259a3e45e0d5982d OP_EQUALVERIFY OP_CHECKSIG*276a914b2ce69cb2801967bce1a4949259a3e45e0d5982d88ac*"1HJSYzSK3Tk2iFw6bgvGJWVZRijoryARAP8$J  +<@60588a786d36b78628228c787aca6e18163be63feadbba7fcd3e678f6f83ad8d""1H1H1coxftxXjJV1AZoZYaKFbtNN1teBcw"UOP_DUP OP_HASH160 af8f60a75da2af067a86d5a31a577a8cad13b381 OP_EQUALVERIFY OP_CHECKSIG*276a914af8f60a75da2af067a86d5a31a577a8cad13b38188ac*"1H1H1coxftxXjJV1AZoZYaKFbtNN1teBcw8$J  $Շ-@00000000000000000015da33fb51def6fd49095209afcee6eea8676eca498ffd"@0000000000000000000f6bf79b01e9d159a5248ad542c30e6ea8cfb02d1248222$ۇ-@0000000000000000001055ffd6f9aa1745d325fdee5e2feda09e74ad036e5c0e"@00000000000000000015da33fb51def6fd49095209afcee6eea8676eca498ffd2$-@00000000000000000019a4001b1a2fbbf6a3fbc4482b369ac669ffdd647dee28"@0000000000000000001055ffd6f9aa1745d325fdee5e2feda09e74ad036e5c0e2$-@00000000000000000007f64749f9202f8e9dff1c36929c84d19cc901df18cc65"@00000000000000000019a4001b1a2fbbf6a3fbc4482b369ac669ffdd647dee282$-@0000000000000000001324741b9557a2252dfbe1fe74d6feeb54488271e523b3"@00000000000000000007f64749f9202f8e9dff1c36929c84d19cc901df18cc652$ᙉ-@00000000000000000014dcfa8d0c8c0339a0b348fd1d7f80177df2125167f78a"@0000000000000000001324741b9557a2252dfbe1fe74d6feeb54488271e523b32$-@0000000000000000000bc4d5ecca6ad6f8a34bc5fd2d99a2bee64d3ea38e1e3e"@00000000000000000014dcfa8d0c8c0339a0b348fd1d7f80177df2125167f78a2+$ㆊ-@0000000000000000000233cf30dd6cde110d60b4cb04035d62f6f3051cb283ef"@0000000000000000000bc4d5ecca6ad6f8a34bc5fd2d99a2bee64d3ea38e1e3e2* + + +1@81a4c34373db3a897f3ccc8aa922b73fa4fd9db20a0d66c7778c802ce173e6f6$"@0000000000000000000233cf30dd6cde110d60b4cb04035d62f6f3051cb283ef(ㆊ-2 +@a77269b041c9174184273a2b649075064d8d44278aa3cfa8793cc489b4360678B02e193ca0d324905aef466e6f854df5e0db9cba446025b01dcdb9d590945f611672 +@c114f7368669d3c5bb2bb6b6b6993b2c8bad45a3277537f587a04dde7a3fef84B03f17bbb2cd4ea7ede4ca81f6c3313712cafb912dd393afbf0e9b7563d2db3b73cB ++@81a4c34373db3a897f3ccc8aa922b73fa4fd9db20a0d66c7778c802ce173e6f6""14JizZHNGPD85p2yqEyMXmpvVYGJRH4AgF"UOP_DUP OP_HASH160 2442808d3119bec5ea4688396ebf56d697e433d1 OP_EQUALVERIFY OP_CHECKSIG*276a9142442808d3119bec5ea4688396ebf56d697e433d188ac*"14JizZHNGPD85p2yqEyMXmpvVYGJRH4AgF8$J  +@81a4c34373db3a897f3ccc8aa922b73fa4fd9db20a0d66c7778c802ce173e6f6""1LQzAe1orMDfZvHihKeXMvTW9JPeYxhHv6"UOP_DUP OP_HASH160 d4f3ad4b7a8ea510c763ff98f5a50b31a5792d0e OP_EQUALVERIFY OP_CHECKSIG*276a914d4f3ad4b7a8ea510c763ff98f5a50b31a5792d0e88ac*"1LQzAe1orMDfZvHihKeXMvTW9JPeYxhHv68$J  +<@81a4c34373db3a897f3ccc8aa922b73fa4fd9db20a0d66c7778c802ce173e6f6""1B2NyTd5dDUkkTbEXPmbfAmMRA21HLQ4xi"UOP_DUP OP_HASH160 6df4042bfafa47aadf0e9886cec6898113c9066b OP_EQUALVERIFY OP_CHECKSIG*276a9146df4042bfafa47aadf0e9886cec6898113c9066b88ac*"1B2NyTd5dDUkkTbEXPmbfAmMRA21HLQ4xi8$J  + +1@de1b4b55a040e1b78da7213c17a242b35672c02699b016d79aa8bc362e56ad49$"@0000000000000000000233cf30dd6cde110d60b4cb04035d62f6f3051cb283ef(ㆊ-2 +@40476679a8c0f61874659081656639e099a96effa5711d0f02b76fff49f50525B02d4fd0f51f8c01c94dd24959835fd672730cf4d3c0f53a47046cb78c9426075a72 +@c2995ca360ac39879585391c332606f2a92c74bc0ffde6c5944a09398e67409fB033c3b9be409dd5882b4a300df1b37e05e1bc4dd9a2cdf6e312b16531915ad8569B +@de1b4b55a040e1b78da7213c17a242b35672c02699b016d79aa8bc362e56ad49""1HGgy5A3Qftz1WTU2YyVzxoTDk5pRuRLXc"UOP_DUP OP_HASH160 b2799d51fc757ea5a6ae5092ec264ccacc1ac922 OP_EQUALVERIFY OP_CHECKSIG*276a914b2799d51fc757ea5a6ae5092ec264ccacc1ac92288ac*"1HGgy5A3Qftz1WTU2YyVzxoTDk5pRuRLXc8$J  +@de1b4b55a040e1b78da7213c17a242b35672c02699b016d79aa8bc362e56ad49""17XXjHQc5R4iEC7ufcj89BSPGDbKKgmWCX"UOP_DUP OP_HASH160 4796e2854b41b1fc76862f6383ac8a155de4a04f OP_EQUALVERIFY OP_CHECKSIG*276a9144796e2854b41b1fc76862f6383ac8a155de4a04f88ac*"17XXjHQc5R4iEC7ufcj89BSPGDbKKgmWCX8$J  +@de1b4b55a040e1b78da7213c17a242b35672c02699b016d79aa8bc362e56ad49"l"6OP_RETURN 1001aadbe18946229a41a1cde723953258d2b2445518*06a161001aadbe18946229a41a1cde723953258d2b24455182F"A#2XҲDU8$J  + + +1@da527b246e57dfc9863d5fba44254360ffecb823ca836f6dc5887d86501f0474$"@0000000000000000000233cf30dd6cde110d60b4cb04035d62f6f3051cb283ef(ㆊ-2 +@d6050176068a5bc1ab48edb3921b9ab1789b99ff2ac300f5281eea2ab3120f21B0360fb4e28d255669272eae5e3092607b20e2d23f56992f5e6d1c5581492006ba52 +@fca3a066ee4e0c40d07d61b17a7d084343ee580cffffd3c98ac4e19cd9f39fe6B02dc1827598f0a74ee6726c3a4a4cd5424488805a474696837daed5b939e043f81B +@da527b246e57dfc9863d5fba44254360ffecb823ca836f6dc5887d86501f0474""1LMYPx6xtEE34Hwo1KygkhYsPQghTGvQJb"UOP_DUP OP_HASH160 d44ceabbef7cfe3946efbe2f08894a737ce26c99 OP_EQUALVERIFY OP_CHECKSIG*276a914d44ceabbef7cfe3946efbe2f08894a737ce26c9988ac*"1LMYPx6xtEE34Hwo1KygkhYsPQghTGvQJb8$J  +@da527b246e57dfc9863d5fba44254360ffecb823ca836f6dc5887d86501f0474""1CcrXToMdqcT6JjUPCY84W3ueXJueXNCFp"UOP_DUP OP_HASH160 7f7148aa1d7feea90c575b10481cc237d885d934 OP_EQUALVERIFY OP_CHECKSIG*276a9147f7148aa1d7feea90c575b10481cc237d885d93488ac*"1CcrXToMdqcT6JjUPCY84W3ueXJueXNCFp8$J  +@da527b246e57dfc9863d5fba44254360ffecb823ca836f6dc5887d86501f0474""13cnm1zH5U8hPuEDqtqEF3MjdK23LcTnqF"UOP_DUP OP_HASH160 1cb5020256906d79263cbcecd6290d5a663e43e0 OP_EQUALVERIFY OP_CHECKSIG*276a9141cb5020256906d79263cbcecd6290d5a663e43e088ac*"13cnm1zH5U8hPuEDqtqEF3MjdK23LcTnqF8$J L + + +1@f826c9e2a57e9fd2959882aa6a69092cad9c49aaa0cbcb1576c8463cc88d9bc8$"@0000000000000000000233cf30dd6cde110d60b4cb04035d62f6f3051cb283ef(ㆊ-2 +@c77908ab9d6e534bc3a632bc04e7b061b0153a72488958a9083eb5e00e7c548cB03cfc3443e85652aec5316f9a4631962feeea301acf7de9dc4ae90d94f98d3db9b2 +@56da9a7f8ca906fa8c4bef3a6d33c850f694a0febae57a2f75458f68046ef382B033bb44d2eb3b03e5896529ae89c55cdb68a0132b0e506405d625be0c5d8384170B +@f826c9e2a57e9fd2959882aa6a69092cad9c49aaa0cbcb1576c8463cc88d9bc8""1DDoSnxJ5Pj14tG8XMWhnHrKvj9XYaopRt"UOP_DUP OP_HASH160 860d4561eec94f8cc245b35ab2bc05aece84bb65 OP_EQUALVERIFY OP_CHECKSIG*276a914860d4561eec94f8cc245b35ab2bc05aece84bb6588ac*"1DDoSnxJ5Pj14tG8XMWhnHrKvj9XYaopRt8$J  +@f826c9e2a57e9fd2959882aa6a69092cad9c49aaa0cbcb1576c8463cc88d9bc8""1CMf4iS3bBEq1XSVt37PKwxfEYDk4Z56qu"UOP_DUP OP_HASH160 7c917a2469693f931a87a524241a2cb2d8a96f05 OP_EQUALVERIFY OP_CHECKSIG*276a9147c917a2469693f931a87a524241a2cb2d8a96f0588ac*"1CMf4iS3bBEq1XSVt37PKwxfEYDk4Z56qu8$J  +@f826c9e2a57e9fd2959882aa6a69092cad9c49aaa0cbcb1576c8463cc88d9bc8""12p1gWckMekNkXp9Acxiy4Hu63WszdmxbL"UOP_DUP OP_HASH160 13dc3ea0b645e43f6c3f5cd3e8c52d04d59109e9 OP_EQUALVERIFY OP_CHECKSIG*276a91413dc3ea0b645e43f6c3f5cd3e8c52d04d59109e988ac*"12p1gWckMekNkXp9Acxiy4Hu63WszdmxbL8$J ;$-@0000000000000000000fb24dd3a687da67f56dc3f901682c3add930b14dcfb25"@0000000000000000000233cf30dd6cde110d60b4cb04035d62f6f3051cb283ef2"$-@0000000000000000000bc250af4b6626bf3699520e3357e4b2fc45126799a4db"@0000000000000000000fb24dd3a687da67f56dc3f901682c3add930b14dcfb252! + + +1@5c8acce2c5d47d14abb7de38549cb754ef816d8792aad6a26dd9e38d5848999c$"@0000000000000000000bc250af4b6626bf3699520e3357e4b2fc45126799a4db(-2 +@da527b246e57dfc9863d5fba44254360ffecb823ca836f6dc5887d86501f0474B026b4566b746c1513d3dd43ad2215c24d0c85999004d76153f47728fa902b737e22 +@d6050176068a5bc1ab48edb3921b9ab1789b99ff2ac300f5281eea2ab3120f21B020a1a80fdf4f09b6ee2b419b10cb50ed2beab88e3e9d96092eae08eb4476af176B +@5c8acce2c5d47d14abb7de38549cb754ef816d8792aad6a26dd9e38d5848999c""1Fex2XkAiG9pRNgvbJoEi3VLeFwfpaF4Fi"UOP_DUP OP_HASH160 a0bf15d42637a3ee31d5c3d922ff0be9da64e1ae OP_EQUALVERIFY OP_CHECKSIG*276a914a0bf15d42637a3ee31d5c3d922ff0be9da64e1ae88ac*"1Fex2XkAiG9pRNgvbJoEi3VLeFwfpaF4Fi8$J  +@5c8acce2c5d47d14abb7de38549cb754ef816d8792aad6a26dd9e38d5848999c""1PzzkSumRoi6t5XhVVho4B7iCfgZv3C4hQ"UOP_DUP OP_HASH160 fc4aaefe7b140f893f76ccd7b110c3dadb6d25eb OP_EQUALVERIFY OP_CHECKSIG*276a914fc4aaefe7b140f893f76ccd7b110c3dadb6d25eb88ac*"1PzzkSumRoi6t5XhVVho4B7iCfgZv3C4hQ8$J  +B@5c8acce2c5d47d14abb7de38549cb754ef816d8792aad6a26dd9e38d5848999c""14jpeHzM1jgeeZFtg3V18AxwXvEkFpAyNA"UOP_DUP OP_HASH160 29019e3c164464485b37a522b2c0492aee0378ee OP_EQUALVERIFY OP_CHECKSIG*276a91429019e3c164464485b37a522b2c0492aee0378ee88ac*"14jpeHzM1jgeeZFtg3V18AxwXvEkFpAyNA8$J  + + +1@1fdbaadf798bfa8643c151de5270a9713aa9a4f5a858842761fa872a3459472d$"@0000000000000000000bc250af4b6626bf3699520e3357e4b2fc45126799a4db(-2 +@68a557d213d6e97827d20f6e4430851e10e53f19db2c66e75dfe16be1b477f96B035d1bda3f90cf69fb9452602fb5c86552c7fafe5595dbc157b4c158b86dad2b4c2 +@b8879304ae4bcc2ab668cd1f9fd80996dba1d4f714a96821679bf6ea032a0537B02b321a539dc14ab089ac6a36a3ba493de59eaa6affd24b8e990c93826dc6d1d13B +@1fdbaadf798bfa8643c151de5270a9713aa9a4f5a858842761fa872a3459472d""1DqbCLWQJ4RFcaNpMBtrEwvYfF4Q3JUmpD"UOP_DUP OP_HASH160 8cd2053f65ca1c0b87e7c0b05d3ecd98f5e48a61 OP_EQUALVERIFY OP_CHECKSIG*276a9148cd2053f65ca1c0b87e7c0b05d3ecd98f5e48a6188ac*"1DqbCLWQJ4RFcaNpMBtrEwvYfF4Q3JUmpD8$J  +@1fdbaadf798bfa8643c151de5270a9713aa9a4f5a858842761fa872a3459472d""1CFsX6qWqeRXmHGUb6bW1vcXiZud88SKT2"UOP_DUP OP_HASH160 7b7960d1ffee9190bf1abbc0fbd148bc7bc64a53 OP_EQUALVERIFY OP_CHECKSIG*276a9147b7960d1ffee9190bf1abbc0fbd148bc7bc64a5388ac*"1CFsX6qWqeRXmHGUb6bW1vcXiZud88SKT28$J  +d@1fdbaadf798bfa8643c151de5270a9713aa9a4f5a858842761fa872a3459472d""1LfMTF1TMc58cgsrEZDr5yftErh5QTjXMi"UOP_DUP OP_HASH160 d7ab44ef534f0b540314b56bd6b44d0dd1af8c95 OP_EQUALVERIFY OP_CHECKSIG*276a914d7ab44ef534f0b540314b56bd6b44d0dd1af8c9588ac*"1LfMTF1TMc58cgsrEZDr5yftErh5QTjXMi8$J ; + +1@0a53ad7fb3c303cedb0e548afb08d7d8d330efdb9ceabf8f575c858a288d2758$"@0000000000000000000bc250af4b6626bf3699520e3357e4b2fc45126799a4db(-2 +@21ea84cfda1589994833b96114efde1979644ce0df8d60504839eb218f3c0036B03cba83caa675772a706147553bbc9196eadfa619169e3edc7c7eecbc7dd6843f82 +@c1f6980c63989217275b758d949687c8f33fbfb59c1d6fed745cd3f5c09226ecB03ae920b5790d0da8ea22bf66136eedbb4f4db99f5b072eda4c4f2c5d87ff5a1482 +@fd187a8f5d94eedc55b5d4f07b032c3c55e79add2bc4a80de8c0c715f6eb6bcdB02b6abc46998d3381ecabc8d39fe2ccde90bf35320469878408a61e7e0951a5050B +?@0a53ad7fb3c303cedb0e548afb08d7d8d330efdb9ceabf8f575c858a288d2758""1CTKHaH2D37SfLtpMenN8LoDo7GMkdmVEP"UOP_DUP OP_HASH160 7da3767a80ede9517577cbc550da9c87dd7fa51e OP_EQUALVERIFY OP_CHECKSIG*276a9147da3767a80ede9517577cbc550da9c87dd7fa51e88ac*"1CTKHaH2D37SfLtpMenN8LoDo7GMkdmVEP8$J  +z@0a53ad7fb3c303cedb0e548afb08d7d8d330efdb9ceabf8f575c858a288d2758""13jtwYPxurtiEpkbi5wcz5Sj9AcPGCowUF"UOP_DUP OP_HASH160 1e0d146087bc30f27b2e49f37714c59257e2d10e OP_EQUALVERIFY OP_CHECKSIG*276a9141e0d146087bc30f27b2e49f37714c59257e2d10e88ac*"13jtwYPxurtiEpkbi5wcz5Sj9AcPGCowUF8$J  +@0a53ad7fb3c303cedb0e548afb08d7d8d330efdb9ceabf8f575c858a288d2758""19KpkfZxTEohv1myBji252JYrzA6Ag9wSC"UOP_DUP OP_HASH160 5b505b0bd6e5ef791914dd1f484272fae815d2f2 OP_EQUALVERIFY OP_CHECKSIG*276a9145b505b0bd6e5ef791914dd1f484272fae815d2f288ac*"19KpkfZxTEohv1myBji252JYrzA6Ag9wSC8$J 9$ފ-@00000000000000000001b753d68f417a434153095501a810c37ac2c22cebefa5"@0000000000000000000bc250af4b6626bf3699520e3357e4b2fc45126799a4db2 + + +1@9ef9ce423fe488a79403262cfceddb8a1c94ad3532fcdb94e4e0866038b79af0$"@00000000000000000001b753d68f417a434153095501a810c37ac2c22cebefa5(ފ-2 +@fa6900deba66c6af1454fff9bea433df4d7b92b8724d7d8c7f0449e1fbba4d4dB02705e1cde5b8fd2c6e9b924e6ccfc954fdd61277ae4563b4656f02ff822aa9e512 +@9c6901a251e426d47979314a8b8a9769b6c88c480f4f7ef96c32e911138084b9B02697a2003a5476714079e6135af93f8359bdfc9add2c60e4f8c8ff1251ed742e5B +@9ef9ce423fe488a79403262cfceddb8a1c94ad3532fcdb94e4e0866038b79af0""1NRcY6vCVwmKQ273ydRNUQr38BkJkeeS3r"UOP_DUP OP_HASH160 eb0249e87096ac45a0bf6041735de4b5aa658aad OP_EQUALVERIFY OP_CHECKSIG*276a914eb0249e87096ac45a0bf6041735de4b5aa658aad88ac*"1NRcY6vCVwmKQ273ydRNUQr38BkJkeeS3r8$J  +@9ef9ce423fe488a79403262cfceddb8a1c94ad3532fcdb94e4e0866038b79af0""19PGqVX3jz6upv2852EyfB4HZct7vJBXs4"UOP_DUP OP_HASH160 5bf760700d7387c06782de1309a11efe960d5188 OP_EQUALVERIFY OP_CHECKSIG*276a9145bf760700d7387c06782de1309a11efe960d518888ac*"19PGqVX3jz6upv2852EyfB4HZct7vJBXs48$J  +٥@9ef9ce423fe488a79403262cfceddb8a1c94ad3532fcdb94e4e0866038b79af0""1AvsDrTBxPUaLxfunGtZT3wAMAG9E8rxhN"UOP_DUP OP_HASH160 6ce919d503af1db9c4c68532e42fea1dd5f1e475 OP_EQUALVERIFY OP_CHECKSIG*276a9146ce919d503af1db9c4c68532e42fea1dd5f1e47588ac*"1AvsDrTBxPUaLxfunGtZT3wAMAG9E8rxhN8$J ; + + +1@a8774a8533cb9a7faaa706fb4f5ca45a591ccd25b6d2881fee42a3343202a23e$"@00000000000000000001b753d68f417a434153095501a810c37ac2c22cebefa5(ފ-2 +@e87c5cda9e42a105bf34027170809ae240d9584f1e9277dc3f289c18cdc41bd7B034450e5bd826d8a86e8ee28a2824483c5d2f73456d77a8f72c0919316a907dead2 +@5dad67f34f351262c2f2efb8f2349a0b9ddf1e63e63aba07e0bbe91c6e03f3ccB027813c2521fa1db795a44be558aa1364c32b9ae5a6b8e962d77dd6a9c3bb3b2b6B +@a8774a8533cb9a7faaa706fb4f5ca45a591ccd25b6d2881fee42a3343202a23e""1EBC1h2VihFcvt1fGnmQvEv5JsGYMhqMWj"UOP_DUP OP_HASH160 9086fcb10ff8af4df41a558d154922385cf3af5a OP_EQUALVERIFY OP_CHECKSIG*276a9149086fcb10ff8af4df41a558d154922385cf3af5a88ac*"1EBC1h2VihFcvt1fGnmQvEv5JsGYMhqMWj8$J  +@a8774a8533cb9a7faaa706fb4f5ca45a591ccd25b6d2881fee42a3343202a23e""16BRpH3j8CfS7zF5uKfeBPJ36XSFmXKXsf"UOP_DUP OP_HASH160 38d180ce8bb64a9d2d39efab0b3ba29498e8a959 OP_EQUALVERIFY OP_CHECKSIG*276a91438d180ce8bb64a9d2d39efab0b3ba29498e8a95988ac*"16BRpH3j8CfS7zF5uKfeBPJ36XSFmXKXsf8$J  +@a8774a8533cb9a7faaa706fb4f5ca45a591ccd25b6d2881fee42a3343202a23e""1E6T4k4NcSaqaM5NhHn81BDVDb1h6xPF5V"UOP_DUP OP_HASH160 8fa178fa23f87f99034f07c599befce9d63c3fcb OP_EQUALVERIFY OP_CHECKSIG*276a9148fa178fa23f87f99034f07c599befce9d63c3fcb88ac*"1E6T4k4NcSaqaM5NhHn81BDVDb1h6xPF5V8$J  $-@0000000000000000000e415a83020bddc8091b6d180323b743b2e5a0a754fe08"@00000000000000000001b753d68f417a434153095501a810c37ac2c22cebefa52 + + + +1@db78392c05d1b7dd16ca7a599a2cbfd0e66dada7ab72437578662ddc1bf32d69$"@0000000000000000000e415a83020bddc8091b6d180323b743b2e5a0a754fe08(-2 +@cba2394f5b5a0c3d12ddbb1efa0adcb76b9b4c03c75eff7f19c676ca9005922fB03ae6be75e62357e8b1e622c7df6fab42369b01bf9ac95ac8e3364cd04ce11ebb32 +@7e3665804c5b0d3f60a8393b2be022e89863b97711079a9e84f67dbaa6199486B02107c05e2618da2d05c3e7f684ada5009fe6248e8cdf2a99294d70c5381baf2d6B +=@db78392c05d1b7dd16ca7a599a2cbfd0e66dada7ab72437578662ddc1bf32d69""12CEWAW3p9F8SuH3oBfgkfpoZ8QRC5zDny"UOP_DUP OP_HASH160 0d17f9137b71d2ddba875ac0dc3117a899a447e7 OP_EQUALVERIFY OP_CHECKSIG*276a9140d17f9137b71d2ddba875ac0dc3117a899a447e788ac*"12CEWAW3p9F8SuH3oBfgkfpoZ8QRC5zDny8$J  +@db78392c05d1b7dd16ca7a599a2cbfd0e66dada7ab72437578662ddc1bf32d69""1BckU6WydGaGWW8aKK8qbmsXYX58tHUQwS"UOP_DUP OP_HASH160 747419decd9d40ebd487dd918dd8fa2908e73b39 OP_EQUALVERIFY OP_CHECKSIG*276a914747419decd9d40ebd487dd918dd8fa2908e73b3988ac*"1BckU6WydGaGWW8aKK8qbmsXYX58tHUQwS8$J  +@db78392c05d1b7dd16ca7a599a2cbfd0e66dada7ab72437578662ddc1bf32d69""1J1GRTFbqwLhZtVRzWrxvzFb38KeRWpdDK"UOP_DUP OP_HASH160 ba8702f9da70ed3f51fc56262f12895cc2ab06dd OP_EQUALVERIFY OP_CHECKSIG*276a914ba8702f9da70ed3f51fc56262f12895cc2ab06dd88ac*"1J1GRTFbqwLhZtVRzWrxvzFb38KeRWpdDK8$J $̼-@000000000000000000140f0d477a7b14aaebd4ca1f3563df8183deed2d7421c1"@0000000000000000000e415a83020bddc8091b6d180323b743b2e5a0a754fe082 + +1@bedb68dc628beb00bc20d0010cad48c9fe291f544c10f47a5428d83fe6ac97c6$"@000000000000000000140f0d477a7b14aaebd4ca1f3563df8183deed2d7421c1(̼-2 +@db78392c05d1b7dd16ca7a599a2cbfd0e66dada7ab72437578662ddc1bf32d69B03951a3e36a87f53442cfd0d12c9c06dc6e7ec22130c8b5ed2591fb64c82b3c99b2 +@7f401948f899fffc96438d434c359f3cab2b94baf9188471fbed07da7709d56eB0235788f2e39dfd2529b6a9b5fc9e6aca5df28605238c42632a9f48155dd61be22B +=@bedb68dc628beb00bc20d0010cad48c9fe291f544c10f47a5428d83fe6ac97c6""1Etu9ZTXYYP81TWVtVsVaT1Mr16K27pKcp"UOP_DUP OP_HASH160 986a613dafec0a264306835e72205adbb233ed77 OP_EQUALVERIFY OP_CHECKSIG*276a914986a613dafec0a264306835e72205adbb233ed7788ac*"1Etu9ZTXYYP81TWVtVsVaT1Mr16K27pKcp8$J  +<@bedb68dc628beb00bc20d0010cad48c9fe291f544c10f47a5428d83fe6ac97c6""18FCnQ8ehPriMZxN5XqtbEf3Jxnza1j6dc"UOP_DUP OP_HASH160 4f788a28df5c74c04937dc25671842acc4c277ab OP_EQUALVERIFY OP_CHECKSIG*276a9144f788a28df5c74c04937dc25671842acc4c277ab88ac*"18FCnQ8ehPriMZxN5XqtbEf3Jxnza1j6dc8$J  +@bedb68dc628beb00bc20d0010cad48c9fe291f544c10f47a5428d83fe6ac97c6"l"6OP_RETURN 1001f6b6c77254e5f85c2a2ade0b86b2c5eaa3421adc*06a161001f6b6c77254e5f85c2a2ade0b86b2c5eaa3421adc2rT\** B8$J  + +1@da6167cfe66f1756889f5093d41f7b29086bde7c2a2952a9ee05bb4f29b2e35c$"@000000000000000000140f0d477a7b14aaebd4ca1f3563df8183deed2d7421c1(̼-2 +@42dfbaa285fe262faec498bbcad2337f8fe99a10acb76170d10dace28cdf5001B035a584e2592e72497089e3ae236400daf5f88412af3c1558e2948de0ece9cab062 +@937908df41bd91448853630af772a554871116847059ac292057865ee0f26366B03ea1353ebca1133071adecf7a14dca515df410a3283f5bfb2baf82f48a08deb992 +@6bdd8adbb367cff5e1ca0b75947370ae9e5775ed85479a2b8e48516b0c4b6d50B02dc65cf057891a5fbbbd4a14d6bd95514035b451de7e8772196f3fdd20689cc912 +@9d8613e74a587852856e0ae6391932518fe0860556ff747b3672c18dc8e429faB0259336691cd9212770c19452e0f6d79c85573d1df61f4e1b044ad1b6283a97a89B +N@da6167cfe66f1756889f5093d41f7b29086bde7c2a2952a9ee05bb4f29b2e35c""1MzzW62PGEtc2zJJtGeYXj9QYAi6v9GFEz"UOP_DUP OP_HASH160 e65a39af079d2a3a4c947f1c3399d99ac0090b37 OP_EQUALVERIFY OP_CHECKSIG*276a914e65a39af079d2a3a4c947f1c3399d99ac0090b3788ac*"1MzzW62PGEtc2zJJtGeYXj9QYAi6v9GFEz8$J  +@da6167cfe66f1756889f5093d41f7b29086bde7c2a2952a9ee05bb4f29b2e35c""12YdAKDzSzVocnJpSH59hSM8KVtkKq5bjP"UOP_DUP OP_HASH160 10f334b872c8929e7a8b684aef2b77bd42ade1b4 OP_EQUALVERIFY OP_CHECKSIG*276a91410f334b872c8929e7a8b684aef2b77bd42ade1b488ac*"12YdAKDzSzVocnJpSH59hSM8KVtkKq5bjP8$J  +6@da6167cfe66f1756889f5093d41f7b29086bde7c2a2952a9ee05bb4f29b2e35c""1P4yDA5NVv72LXZevNptzBXQck28SEQPBK"UOP_DUP OP_HASH160 f212efc0c00af6c6b9e5103a8c0c70e9943b4d4b OP_EQUALVERIFY OP_CHECKSIG*276a914f212efc0c00af6c6b9e5103a8c0c70e9943b4d4b88ac*"1P4yDA5NVv72LXZevNptzBXQck28SEQPBK8$J $ٌ-@0000000000000000000413b05752b629dfc4be03153a2917b14fbc45d509c320"@000000000000000000140f0d477a7b14aaebd4ca1f3563df8183deed2d7421c12$-@000000000000000000199f923140e160a40b3e1334e6ff1603befa3533044825"@0000000000000000000413b05752b629dfc4be03153a2917b14fbc45d509c3202$-@00000000000000000007fc1913330fb3e0587a6b2af445eb12c03309656268d6"@000000000000000000199f923140e160a40b3e1334e6ff1603befa35330448252 + + +1@4aa4ceb4cc920df91a2864a7544fefc668afc5c3c41a72c61ed195916dd3302d$"@00000000000000000007fc1913330fb3e0587a6b2af445eb12c03309656268d6(-2 +@7e3665804c5b0d3f60a8393b2be022e89863b97711079a9e84f67dbaa6199486B03b1701373fea75493e0f5c2588ab0ec32ab162b4e028702cc503b62eb7d7cb7522 +@db78392c05d1b7dd16ca7a599a2cbfd0e66dada7ab72437578662ddc1bf32d69B024f301953920c070928ca79dc4b710e1928ecd62941699175f346ba74781ff178B +@4aa4ceb4cc920df91a2864a7544fefc668afc5c3c41a72c61ed195916dd3302d""17s2ZhK8yVnA21FderXjPgcem9yncmY3Gw"UOP_DUP OP_HASH160 4b46dbad11db874d8f8840cedeffadf4d450c3ff OP_EQUALVERIFY OP_CHECKSIG*276a9144b46dbad11db874d8f8840cedeffadf4d450c3ff88ac*"17s2ZhK8yVnA21FderXjPgcem9yncmY3Gw8$J  +ؗ@4aa4ceb4cc920df91a2864a7544fefc668afc5c3c41a72c61ed195916dd3302d""1JfX7XfGxp8H4QyLT1Yu15K8jQwbY4i3CM"UOP_DUP OP_HASH160 c1c314e1ff09134a8400f9c38af1d621adc6653c OP_EQUALVERIFY OP_CHECKSIG*276a914c1c314e1ff09134a8400f9c38af1d621adc6653c88ac*"1JfX7XfGxp8H4QyLT1Yu15K8jQwbY4i3CM8$J  +@4aa4ceb4cc920df91a2864a7544fefc668afc5c3c41a72c61ed195916dd3302d""1MEWbRq6gzKP7tJXCPAaJibSSwnQmt3Gfo"UOP_DUP OP_HASH160 ddf0a06ce8dec4c86e42bd755984873452fd0259 OP_EQUALVERIFY OP_CHECKSIG*276a914ddf0a06ce8dec4c86e42bd755984873452fd025988ac*"1MEWbRq6gzKP7tJXCPAaJibSSwnQmt3Gfo8$J  + + +1@ccd0ac951367b18306cab55dbe84a4cfe686f3d5cc086bec105a9ca3ec880c1d$"@00000000000000000007fc1913330fb3e0587a6b2af445eb12c03309656268d6(-2 +@982105b6d6c323a33c41af8cb7c1d110d2af1c3e0eb8ce1fbe9a26afc5a0a8eaB02d2a09e40cbadef78647a77a0ef2c50c3104d860effd4c3a99aab70b1969087fc2 +@09caba7ffd9de24228a2c9d5566a0eb5fdef184534c624120edade4ed72161d5B0330c92ff3029411db1408a3da0f8c2017dcb9a29f5f3ca71c8eb21fa420095c5dB +@ccd0ac951367b18306cab55dbe84a4cfe686f3d5cc086bec105a9ca3ec880c1d""1Bjjy4G1ZSXVAk6vqTzmBcs28cqmGCm5ex"UOP_DUP OP_HASH160 75c69848092a6b2961d3015ed8707ed867d6b6fb OP_EQUALVERIFY OP_CHECKSIG*276a91475c69848092a6b2961d3015ed8707ed867d6b6fb88ac*"1Bjjy4G1ZSXVAk6vqTzmBcs28cqmGCm5ex8$J  +@ccd0ac951367b18306cab55dbe84a4cfe686f3d5cc086bec105a9ca3ec880c1d""1GZ9ntKgQMB9jn7dwS1BjBYAZfkE9dRU33"UOP_DUP OP_HASH160 aa9e8936a2fddd05ce3ef1ea274f9077bee1b148 OP_EQUALVERIFY OP_CHECKSIG*276a914aa9e8936a2fddd05ce3ef1ea274f9077bee1b14888ac*"1GZ9ntKgQMB9jn7dwS1BjBYAZfkE9dRU338$J  + @ccd0ac951367b18306cab55dbe84a4cfe686f3d5cc086bec105a9ca3ec880c1d""1BTGoY6CocmwNvWwW9yi8CL1Bk2EGTpCbj"UOP_DUP OP_HASH160 72a943940dfb86e4d4189c9ceb1b319131066405 OP_EQUALVERIFY OP_CHECKSIG*276a91472a943940dfb86e4d4189c9ceb1b31913106640588ac*"1BTGoY6CocmwNvWwW9yi8CL1Bk2EGTpCbj8$J $턍-@000000000000000000066229e8b87df09290cc70dc4afb8cfbcf9b12d1765749"@00000000000000000007fc1913330fb3e0587a6b2af445eb12c03309656268d62Ÿ$ԡ-@0000000000000000001922fbbf5f82dbed66f65e10b31700388afa51408a4134"@000000000000000000066229e8b87df09290cc70dc4afb8cfbcf9b12d17657492 + +1@4a59f592b5d81f90e36a939372640e3637c28930a9ab23a2af6ef1bd13bd9139Ÿ$"@0000000000000000001922fbbf5f82dbed66f65e10b31700388afa51408a4134(ԡ-2 +@4aa4ceb4cc920df91a2864a7544fefc668afc5c3c41a72c61ed195916dd3302dB02395b76fb59dbcf7b510c336799c2e6858361cec5cd56bec988543d082bab7c602 +@d82995f7d43570ae77a10704205b63164e2f31a71d7a732d31e07b659943c6f7B0351a83ab64a7f2d199cdb6661bb585e621ae0b2221b580f80da2c32a32bacbc92B +@4a59f592b5d81f90e36a939372640e3637c28930a9ab23a2af6ef1bd13bd9139""1ADoGuJG9GGbbNfQ2ZxXHib89wpVrqMiGY"UOP_DUP OP_HASH160 6524c056d1bc90acad21fd3bddd30c0e64002239 OP_EQUALVERIFY OP_CHECKSIG*276a9146524c056d1bc90acad21fd3bddd30c0e6400223988ac*"1ADoGuJG9GGbbNfQ2ZxXHib89wpVrqMiGY8Ÿ$J  +<@4a59f592b5d81f90e36a939372640e3637c28930a9ab23a2af6ef1bd13bd9139""19oHMTgPuxyDL7yrHohEN5GHWw8Lovjf9B"UOP_DUP OP_HASH160 6081ca860a501f01f75c6a5d9aade143dd39b909 OP_EQUALVERIFY OP_CHECKSIG*276a9146081ca860a501f01f75c6a5d9aade143dd39b90988ac*"19oHMTgPuxyDL7yrHohEN5GHWw8Lovjf9B8Ÿ$J  +@4a59f592b5d81f90e36a939372640e3637c28930a9ab23a2af6ef1bd13bd9139"l"6OP_RETURN 10015fd9fc42456d22eccc0221fdf0694dc5bab4f461*06a1610015fd9fc42456d22eccc0221fdf0694dc5bab4f4612_BEm"!iMźa8Ÿ$J  + +1@92bbc5d3cb6fccf447969e0d0b5382f125e71aae6134a00c61fe3e9a9197d39dŸ$"@0000000000000000001922fbbf5f82dbed66f65e10b31700388afa51408a4134(ԡ-2 +@4a59f592b5d81f90e36a939372640e3637c28930a9ab23a2af6ef1bd13bd9139B02841cb13e751fec7780edf900b923296d4d876eb810eba104c4cb3745b041e8c62 +@4a59f592b5d81f90e36a939372640e3637c28930a9ab23a2af6ef1bd13bd9139B03d4b37ea3f8c7d48d48cb5a6fcc6aa869e71ef2e12af2b29f38245e505dce6effB +@92bbc5d3cb6fccf447969e0d0b5382f125e71aae6134a00c61fe3e9a9197d39d""19fad3pdGhPw9pcDqRWx4sVDVJ1agzuUBw"UOP_DUP OP_HASH160 5f0ce0efa422d74efaedbc295f611d6d61cc41c6 OP_EQUALVERIFY OP_CHECKSIG*276a9145f0ce0efa422d74efaedbc295f611d6d61cc41c688ac*"19fad3pdGhPw9pcDqRWx4sVDVJ1agzuUBw8Ÿ$J  +<@92bbc5d3cb6fccf447969e0d0b5382f125e71aae6134a00c61fe3e9a9197d39d""1KeDFGnCxTjCdH1rfnp7Kctdz3W9W51Jgk"UOP_DUP OP_HASH160 cc7be09016b2db454ea0067fbafc1781a7f222dc OP_EQUALVERIFY OP_CHECKSIG*276a914cc7be09016b2db454ea0067fbafc1781a7f222dc88ac*"1KeDFGnCxTjCdH1rfnp7Kctdz3W9W51Jgk8Ÿ$J  +@92bbc5d3cb6fccf447969e0d0b5382f125e71aae6134a00c61fe3e9a9197d39d"l"6OP_RETURN 10011d1c1ddf18690e757e5eeede2e71984a0f89a239*06a1610011d1c1ddf18690e757e5eeede2e71984a0f89a2392iu~^.qJ98Ÿ$J ß$-@0000000000000000000085e9642932cdb17ef3d3cd0d3f3c381ab22e132bcee5"@0000000000000000001922fbbf5f82dbed66f65e10b31700388afa51408a41342ğ$褱-@0000000000000000000c05e39b446b356fba36f0802dca892be88c5110505853"@0000000000000000000085e9642932cdb17ef3d3cd0d3f3c381ab22e132bcee52ş$̍-@0000000000000000001859ddf86a1be8b78e5ef71579b1cd8700875d2c3480cc"@0000000000000000000c05e39b446b356fba36f0802dca892be88c51105058532 Ɵ$܍-@0000000000000000000785a23fca67d499ee2fc880337ec7a074b9fe0cd7fe4e"@0000000000000000001859ddf86a1be8b78e5ef71579b1cd8700875d2c3480cc2 + +1@b49e05c8d44f5b5c8c5bff54ad11db096e8198c9bcb79795853037db1987f843Ɵ$"@0000000000000000000785a23fca67d499ee2fc880337ec7a074b9fe0cd7fe4e(܍-2 +@9c644465435069e765596df10e9827b2bc77af04ba0fd5531cffc1276cdc47c8B032632b2fe151d2e4424def996d67cd4509a242aef65ef40320660aa2564338bf32 +@935fdff823e795576f481143929d9e9d889b6f0b2667f04995fedf27b94b54fcB0208d47585abbcce122148ea46d7b29cfc889e4bc46b122d83c884da185d107dda2 +@a905e7e779f6cd49712da09b4d2407e59d84d9085582a1c19e80b212d0f2fc7bB03c5841741174e102892767ac6bdc08f898ff300ff4c0d29f60472487c97f7df96B +@b49e05c8d44f5b5c8c5bff54ad11db096e8198c9bcb79795853037db1987f843""1H2gDdJ6Tc9yGhorXpP3EPcr24wh5LsuQu"UOP_DUP OP_HASH160 afd32a70670023c92d7e3f4eede6b45e85207d4f OP_EQUALVERIFY OP_CHECKSIG*276a914afd32a70670023c92d7e3f4eede6b45e85207d4f88ac*"1H2gDdJ6Tc9yGhorXpP3EPcr24wh5LsuQu8Ɵ$J  +@b49e05c8d44f5b5c8c5bff54ad11db096e8198c9bcb79795853037db1987f843""14x9FWu18gC2PfMe6PsyeQAhKr8TDCmhro"UOP_DUP OP_HASH160 2b562468e2768e233faa1924c334954992ace310 OP_EQUALVERIFY OP_CHECKSIG*276a9142b562468e2768e233faa1924c334954992ace31088ac*"14x9FWu18gC2PfMe6PsyeQAhKr8TDCmhro8Ɵ$J  +@b49e05c8d44f5b5c8c5bff54ad11db096e8198c9bcb79795853037db1987f843""1KPo9ENUj4pJdgsazuMCpxxu1vXEd5jJos"UOP_DUP OP_HASH160 c9c1eebe3eac1a699b14aad45674604b17c084f1 OP_EQUALVERIFY OP_CHECKSIG*276a914c9c1eebe3eac1a699b14aad45674604b17c084f188ac*"1KPo9ENUj4pJdgsazuMCpxxu1vXEd5jJos8Ɵ$J !ǟ$୞-@00000000000000000019ac0d95ee5ca5baf856a8dcef820e79a80984e63d0f02"@0000000000000000000785a23fca67d499ee2fc880337ec7a074b9fe0cd7fe4e2 + + +1@9c4ef444a08d23dfc1791e631fe56c21cf7a0d82e48f7764f83732f2cdfc7cbdǟ$"@00000000000000000019ac0d95ee5ca5baf856a8dcef820e79a80984e63d0f02(୞-2 +@5dad67f34f351262c2f2efb8f2349a0b9ddf1e63e63aba07e0bbe91c6e03f3ccB035a18f4fef1a29bce06dc038fd10b6920da3d15f1f6e757006b80f7d26a282eb62 +@a8774a8533cb9a7faaa706fb4f5ca45a591ccd25b6d2881fee42a3343202a23eB02ddf071b7ac1008d5858a008b495afec142143a07b7dc70d5f037235357819792B +ذ@9c4ef444a08d23dfc1791e631fe56c21cf7a0d82e48f7764f83732f2cdfc7cbd""1EGLxohHEZqAWzpuKc3CXtFmWmNBFunpUk"UOP_DUP OP_HASH160 918089c67e70326481f0742268ccf3434ad5c298 OP_EQUALVERIFY OP_CHECKSIG*276a914918089c67e70326481f0742268ccf3434ad5c29888ac*"1EGLxohHEZqAWzpuKc3CXtFmWmNBFunpUk8ǟ$J  +=@9c4ef444a08d23dfc1791e631fe56c21cf7a0d82e48f7764f83732f2cdfc7cbd""16MqiESMFYnQ5deoytoPEmN8vnwJFB3QfT"UOP_DUP OP_HASH160 3ac99c2640d950be39c086c50d17338fa35e119d OP_EQUALVERIFY OP_CHECKSIG*276a9143ac99c2640d950be39c086c50d17338fa35e119d88ac*"16MqiESMFYnQ5deoytoPEmN8vnwJFB3QfT8ǟ$J  +@9c4ef444a08d23dfc1791e631fe56c21cf7a0d82e48f7764f83732f2cdfc7cbd""17mftSUiWhoNTuECrbofN6uw8ApY9Srfxy"UOP_DUP OP_HASH160 4a4384a5f7630f8ee08bc2948ed56fab544d9dad OP_EQUALVERIFY OP_CHECKSIG*276a9144a4384a5f7630f8ee08bc2948ed56fab544d9dad88ac*"17mftSUiWhoNTuECrbofN6uw8ApY9Srfxy8ǟ$J  + + +1@91f6bc1df0b8d86d3897e4f48082b9653a6f9260e615d91ed522bae7cce9de16ǟ$"@00000000000000000019ac0d95ee5ca5baf856a8dcef820e79a80984e63d0f02(୞-2 +@71a6eec04a3abf90d8905ff6dfe58538cdbf4c90f363770c2aeeb42ecc27a6d7B02a0a738fcdf6a2bc1648d003b75d46963bb579ccde3818884bc71e229c0d2a3922 +@9c4ef444a08d23dfc1791e631fe56c21cf7a0d82e48f7764f83732f2cdfc7cbdB039043ccf4cd73de0074e11d11e97f3f98d8d59ca990a266a675dd19a150726479B +@91f6bc1df0b8d86d3897e4f48082b9653a6f9260e615d91ed522bae7cce9de16""166YTMMRS4zUh8MXm2dfx3UmjbN4L3vEYm"UOP_DUP OP_HASH160 37e4f7297c15637a78226a8c63436c6efd6d979a OP_EQUALVERIFY OP_CHECKSIG*276a91437e4f7297c15637a78226a8c63436c6efd6d979a88ac*"166YTMMRS4zUh8MXm2dfx3UmjbN4L3vEYm8ǟ$J  +=@91f6bc1df0b8d86d3897e4f48082b9653a6f9260e615d91ed522bae7cce9de16""1A5j9ZuKtqYBjapJvGXUXDDjjhxA8Vjt7C"UOP_DUP OP_HASH160 639dfaa24e0781cd70544788e1ec239f5d972cda OP_EQUALVERIFY OP_CHECKSIG*276a914639dfaa24e0781cd70544788e1ec239f5d972cda88ac*"1A5j9ZuKtqYBjapJvGXUXDDjjhxA8Vjt7C8ǟ$J  +@91f6bc1df0b8d86d3897e4f48082b9653a6f9260e615d91ed522bae7cce9de16""19CNPzK9H6kvPGjkoLW1BJtEE2G81BpdRY"UOP_DUP OP_HASH160 59e7714fa0f465d84693a1d8c78df54691cf43ac OP_EQUALVERIFY OP_CHECKSIG*276a91459e7714fa0f465d84693a1d8c78df54691cf43ac88ac*"19CNPzK9H6kvPGjkoLW1BJtEE2G81BpdRY8ǟ$J  + + +1@0a902bcab38db37cc93f38c9699a883e69422912e678f9c02081e5b52ccbbb78ǟ$"@00000000000000000019ac0d95ee5ca5baf856a8dcef820e79a80984e63d0f02(୞-2 +@ff7666ea37cc2148a7ad8875524fa9f507676401efb37a6e811b7e177ea3e2a1B020aebb9b3692abf842f072098f356d724b8f5be65f784c45983a59647ab4a04922 +@7a1cdff1a64d86ff37e24d4ead0ba7ea3644e5122790323281f842c0c722677cB02db1310d5c65e7bb8dccd1ed394019f97b18060dbbb7e62d3d820b7d493400d91B +W@0a902bcab38db37cc93f38c9699a883e69422912e678f9c02081e5b52ccbbb78""1H1ofsiPX7mUeQ3dXRegFmQZ1qx41bQZ46"UOP_DUP OP_HASH160 afa8f88cfe10c2d96ba2f94cdbad9764fe30d632 OP_EQUALVERIFY OP_CHECKSIG*276a914afa8f88cfe10c2d96ba2f94cdbad9764fe30d63288ac*"1H1ofsiPX7mUeQ3dXRegFmQZ1qx41bQZ468ǟ$J  + @0a902bcab38db37cc93f38c9699a883e69422912e678f9c02081e5b52ccbbb78""19npYzgQ54Zbrw7NAYwfWapGG85JNfHDBx"UOP_DUP OP_HASH160 606b6b2cbe40484ba74b83dcb947ce4bed53b2cb OP_EQUALVERIFY OP_CHECKSIG*276a914606b6b2cbe40484ba74b83dcb947ce4bed53b2cb88ac*"19npYzgQ54Zbrw7NAYwfWapGG85JNfHDBx8ǟ$J  +@0a902bcab38db37cc93f38c9699a883e69422912e678f9c02081e5b52ccbbb78""189XELTc4jov8aiFyEvuVfxNYAfJa6BJ2w"UOP_DUP OP_HASH160 4e65715e8f16afb840dc261d62551268a03ae68a OP_EQUALVERIFY OP_CHECKSIG*276a9144e65715e8f16afb840dc261d62551268a03ae68a88ac*"189XELTc4jov8aiFyEvuVfxNYAfJa6BJ2w8ǟ$J ȟ$ड-@000000000000000000021b30afc9bb649731d4e4f4ad417f06c50cd7bc9c22dd"@00000000000000000019ac0d95ee5ca5baf856a8dcef820e79a80984e63d0f022ɟ$-@0000000000000000000a6f3180f0e0c670eca0d5327feb2c648137256e36df68"@000000000000000000021b30afc9bb649731d4e4f4ad417f06c50cd7bc9c22dd2ʟ$Ž-@00000000000000000008b1feb9649fbba0f2a524f555139ebb942420eb027318"@0000000000000000000a6f3180f0e0c670eca0d5327feb2c648137256e36df682˟$؎-@0000000000000000000405cdd30ed8380602e918f2203d2ce407a217ab263b72"@00000000000000000008b1feb9649fbba0f2a524f555139ebb942420eb0273182̟$-@00000000000000000013f1657081b0aa2c356df6140d2931e5e210a04e371cb6"@0000000000000000000405cdd30ed8380602e918f2203d2ce407a217ab263b722 ͟$-@000000000000000000059e6ce27641419149c94d3dd87a1e0e338994720ec0b1"@00000000000000000013f1657081b0aa2c356df6140d2931e5e210a04e371cb62 + + + +1@f3d2a491fe41aa9a018bc42afb2d95ecc1ba6b243721efb3f2ae7baf754b9d58͟$"@000000000000000000059e6ce27641419149c94d3dd87a1e0e338994720ec0b1(-2 +@9d8613e74a587852856e0ae6391932518fe0860556ff747b3672c18dc8e429faB0309f101513a4f2e87c52e9ed8e7cbc5a0dd444a9c5135ddf090a8c78d76cb177a2 +@bfef34b9e8d14959106f54d9fb8d73c73f27518b83043448b181e8fef21689e6B0273de004833a79404f5984df1732ce3f4d09b15bd3dc28d979f0dced26ae8e7eaB +r@f3d2a491fe41aa9a018bc42afb2d95ecc1ba6b243721efb3f2ae7baf754b9d58""1HhKzPbDKEkYDhMbBV76SY2qzqmXC5JJG5"UOP_DUP OP_HASH160 b72280ac20b10d36b4b666d24855cfb36c58c0fb OP_EQUALVERIFY OP_CHECKSIG*276a914b72280ac20b10d36b4b666d24855cfb36c58c0fb88ac*"1HhKzPbDKEkYDhMbBV76SY2qzqmXC5JJG58͟$J  +\@f3d2a491fe41aa9a018bc42afb2d95ecc1ba6b243721efb3f2ae7baf754b9d58""1QHo4irSWnsJA3A2r8dMDzAQbL6rGWKWRz"UOP_DUP OP_HASH160 ff78003755adf6794c05c65adf2e3dd0be036c80 OP_EQUALVERIFY OP_CHECKSIG*276a914ff78003755adf6794c05c65adf2e3dd0be036c8088ac*"1QHo4irSWnsJA3A2r8dMDzAQbL6rGWKWRz8͟$J  +@f3d2a491fe41aa9a018bc42afb2d95ecc1ba6b243721efb3f2ae7baf754b9d58""1LosoJiCHTrwGs3Hvds2Z2dx3zDB6fnCoG"UOP_DUP OP_HASH160 d947edb09f55e83ca9ec9138f08a323e7917ce92 OP_EQUALVERIFY OP_CHECKSIG*276a914d947edb09f55e83ca9ec9138f08a323e7917ce9288ac*"1LosoJiCHTrwGs3Hvds2Z2dx3zDB6fnCoG8͟$J &Ο$-@00000000000000000012e179e8fc83595271aa66cb5d937d7e25536a82e784d1"@000000000000000000059e6ce27641419149c94d3dd87a1e0e338994720ec0b12ϟ$ɏ-@00000000000000000007d1438ae7f862db7c4a5ef06ba7401f671e525a18f7c7"@00000000000000000012e179e8fc83595271aa66cb5d937d7e25536a82e784d12П$-@0000000000000000000fc8eb210a4674d80da55af11b67862a74ee35b2655137"@00000000000000000007d1438ae7f862db7c4a5ef06ba7401f671e525a18f7c72џ$ď-@00000000000000000015931f63d4c54c09d6b13f3202b6b9a2b9ec2804114fb5"@0000000000000000000fc8eb210a4674d80da55af11b67862a74ee35b26551372ҟ$я-@000000000000000000051e65d5b5a946eeca788308400f951662236939a46617"@00000000000000000015931f63d4c54c09d6b13f3202b6b9a2b9ec2804114fb52ӟ$-@00000000000000000010911d128769bf695be19f41e58682a002a0795cc84853"@000000000000000000051e65d5b5a946eeca788308400f951662236939a466172 ԟ$-@000000000000000000106ca10033d78d3a29f96cba7793b6d983d6d06ff152d9"@00000000000000000010911d128769bf695be19f41e58682a002a0795cc848532 + + + +1@14b5b298071866d8e9ed58829ce4becf3870a863e78c54b9ed2c2e6382f8ea3cԟ$"@000000000000000000106ca10033d78d3a29f96cba7793b6d983d6d06ff152d9(-2 +@e33a6318f541622b1bb40b2972d98371b89e75fed713321319d492f9c16694f0B03a22c64b2c1dc4f9129dd8b4856930bcca468939afa47e524f6a0eea087c580232 +@0d87ee2f6f00ff550d897ea03aabf03a7c92b2d5b9e00aa88aa9f9167af4c2fdB039987ddfced313c056a29ed88fb46d2d8232a7757de7896f54a657f09701be9ceB +@14b5b298071866d8e9ed58829ce4becf3870a863e78c54b9ed2c2e6382f8ea3c""19DF1WXttiSvjhFkg7jqeKVDo4FctiaphU"UOP_DUP OP_HASH160 5a11b116a0c626b11ff4d38ed667222b425d5ea1 OP_EQUALVERIFY OP_CHECKSIG*276a9145a11b116a0c626b11ff4d38ed667222b425d5ea188ac*"19DF1WXttiSvjhFkg7jqeKVDo4FctiaphU8ԟ$J  +@14b5b298071866d8e9ed58829ce4becf3870a863e78c54b9ed2c2e6382f8ea3c""1PkSnh1WvgSdsK9bkqqS1DqQqW2mo1QatQ"UOP_DUP OP_HASH160 f98a2e1d4503ebb6859b7c419daf196d03078f57 OP_EQUALVERIFY OP_CHECKSIG*276a914f98a2e1d4503ebb6859b7c419daf196d03078f5788ac*"1PkSnh1WvgSdsK9bkqqS1DqQqW2mo1QatQ8ԟ$J  +<@14b5b298071866d8e9ed58829ce4becf3870a863e78c54b9ed2c2e6382f8ea3c""1AHAXkPFQ3EWLz3pyUYr6Aosmdyz21dgFn"UOP_DUP OP_HASH160 65c7be283582581a779cf078a61306f919314022 OP_EQUALVERIFY OP_CHECKSIG*276a91465c7be283582581a779cf078a61306f91931402288ac*"1AHAXkPFQ3EWLz3pyUYr6Aosmdyz21dgFn8ԟ$J  ՟$О-@0000000000000000001728ad917cfc402d09b7dbf1be1da4c32c12d864d2493b"@000000000000000000106ca10033d78d3a29f96cba7793b6d983d6d06ff152d92֟$ˉ-@0000000000000000000c399d6eebd4303581ded11c2e0d317d789d1ab4f9d1e8"@0000000000000000001728ad917cfc402d09b7dbf1be1da4c32c12d864d2493b2ן$-@000000000000000000051f84a7a1d0f5b2ddaf5682cbec5f7acb2bf5fa339725"@0000000000000000000c399d6eebd4303581ded11c2e0d317d789d1ab4f9d1e82؟$-@0000000000000000000f84752aedb79046134a9719ac43a22bae003e4ee3fcbd"@000000000000000000051f84a7a1d0f5b2ddaf5682cbec5f7acb2bf5fa3397252ٟ$ϐ-@0000000000000000000201edf0f33bb89b492f1a64ff97dba75fa56c4eda9d0d"@0000000000000000000f84752aedb79046134a9719ac43a22bae003e4ee3fcbd2ڟ$-@00000000000000000002068f33e9c3d67a11e514e86b0336b7b46cf058b6951f"@0000000000000000000201edf0f33bb89b492f1a64ff97dba75fa56c4eda9d0d2۟$썑-@00000000000000000003743040b1cf585e91bda8b2387b676d9d03f16c02152e"@00000000000000000002068f33e9c3d67a11e514e86b0336b7b46cf058b6951f2ܟ$-@0000000000000000000dcf5ff20bfedb3243239c106fd711078031f01ed216ef"@00000000000000000003743040b1cf585e91bda8b2387b676d9d03f16c02152e2ݟ$-@00000000000000000002673cd0249abf766624447f2084f423a5dc81aef7c59b"@0000000000000000000dcf5ff20bfedb3243239c106fd711078031f01ed216ef2ޟ$ҽ-@00000000000000000017e335226adad13c75cef9924e27c0ba8e28ff9b50b447"@00000000000000000002673cd0249abf766624447f2084f423a5dc81aef7c59b2ߟ$ǒ-@00000000000000000014ac1c423d5ccfb66ee9f1d20793e87cd1826ccea7a1bc"@00000000000000000017e335226adad13c75cef9924e27c0ba8e28ff9b50b4472 $-@0000000000000000000cf76107ca36b912ec29e63dafc9079ad0680d58fd73e4"@00000000000000000014ac1c423d5ccfb66ee9f1d20793e87cd1826ccea7a1bc2 + +1@a1af06423e7bb9e0016039982b3619e33ae5ebc00729a2538d3ce04aaa15ad8e$"@0000000000000000000cf76107ca36b912ec29e63dafc9079ad0680d58fd73e4(-2 +@940d6f4f5d26abf3c9f539949e6a5b4445c3c55e28699a25499df124b621f42bB038baf8fd6b5cc3b2a494387021dc2bf20722b2069f50f5182cf0bc31db83bde902 +@6dab0d206f4a275d2656914afa7299fe7cfe90f249d416047f1929b8386f3537B0218963f6eada5dbcf06b115de7feb93916c3d67090b2b794dc823323329e64a9bB +?@a1af06423e7bb9e0016039982b3619e33ae5ebc00729a2538d3ce04aaa15ad8e""146mkRyCq8fZEwLHnsBrXQcFjnaySxiAur"UOP_DUP OP_HASH160 21ffcfc3a105eb1cf1fb15217e97c5b31cb14406 OP_EQUALVERIFY OP_CHECKSIG*276a91421ffcfc3a105eb1cf1fb15217e97c5b31cb1440688ac*"146mkRyCq8fZEwLHnsBrXQcFjnaySxiAur8$J  +e@a1af06423e7bb9e0016039982b3619e33ae5ebc00729a2538d3ce04aaa15ad8e""146mkRyCq8fZEwLHnsBrXQcFjnaySxiAur"UOP_DUP OP_HASH160 21ffcfc3a105eb1cf1fb15217e97c5b31cb14406 OP_EQUALVERIFY OP_CHECKSIG*276a91421ffcfc3a105eb1cf1fb15217e97c5b31cb1440688ac*"146mkRyCq8fZEwLHnsBrXQcFjnaySxiAur8$J   +ľ@a1af06423e7bb9e0016039982b3619e33ae5ebc00729a2538d3ce04aaa15ad8e""1EuYpDfpQvgSEuSvFKB4peY2uZZQLcCmoy"UOP_DUP OP_HASH160 9889d2813deb392bf00fba033316ca76a1c940bc OP_EQUALVERIFY OP_CHECKSIG*276a9149889d2813deb392bf00fba033316ca76a1c940bc88ac*"1EuYpDfpQvgSEuSvFKB4peY2uZZQLcCmoy8$J  +@a1af06423e7bb9e0016039982b3619e33ae5ebc00729a2538d3ce04aaa15ad8e"l"6OP_RETURN 1101aa734134d91a64c97ddb1f5a088c5e14030ad171*06a161101aa734134d91a64c97ddb1f5a088c5e14030ad1712sA4d}Z^ +q8$J $-@00000000000000000002579cf21a5512d306ac135bbdbba7a4cee78e06d96264"@0000000000000000000cf76107ca36b912ec29e63dafc9079ad0680d58fd73e42$-@000000000000000000137ba3acf2bdcbfb7aea7b15df3289ae37a231695fdc47"@00000000000000000002579cf21a5512d306ac135bbdbba7a4cee78e06d962642$噓-@000000000000000000080125c5d8aecfb3c3390871d01abbe4e8dc155f6b543e"@000000000000000000137ba3acf2bdcbfb7aea7b15df3289ae37a231695fdc472$Φ-@0000000000000000000b6f2b2200952ea10ef137cd541112904702554b019a7b"@000000000000000000080125c5d8aecfb3c3390871d01abbe4e8dc155f6b543e2$-@0000000000000000000836d11ad37ac1e965026b922c8336a339e591bb289f3a"@0000000000000000000b6f2b2200952ea10ef137cd541112904702554b019a7b2$Ⱥ-@0000000000000000000e92b06be663e4465f925afd0e5a8114801d8e6a58ad5d"@0000000000000000000836d11ad37ac1e965026b922c8336a339e591bb289f3a2$Ƚ-@000000000000000000080173dba0dfba9163278e2946b6ea289c0247b4ada64d"@0000000000000000000e92b06be663e4465f925afd0e5a8114801d8e6a58ad5d2$“-@0000000000000000000db810fc72b7aa727bbb958f6a47d328f9203d8329ce7f"@000000000000000000080173dba0dfba9163278e2946b6ea289c0247b4ada64d2 $-@0000000000000000000a67cbb961863d059db4fa24e031ff2e0ff4baa0140903"@0000000000000000000db810fc72b7aa727bbb958f6a47d328f9203d8329ce7f2 + +1@98589a9055ed8eb781c0b0acbb2d546c77224b2f07b5532ba0ba1a6e19a7bdd1$"@0000000000000000000a67cbb961863d059db4fa24e031ff2e0ff4baa0140903(-2 +@5c8acce2c5d47d14abb7de38549cb754ef816d8792aad6a26dd9e38d5848999cB037b9f8d2eba9275d9892b3a11ae51004bec437ec2f7a118ab5a39f09e3f7c0f962 +@da527b246e57dfc9863d5fba44254360ffecb823ca836f6dc5887d86501f0474B039802f3912ca383d1209375af9ef11b98ec0ee3837e82ecce9c2e0d208e12d504B +@98589a9055ed8eb781c0b0acbb2d546c77224b2f07b5532ba0ba1a6e19a7bdd1""13Rkjjri4UES9YmGCm7yWUKxPXMPvDpZUG"UOP_DUP OP_HASH160 1a9ebe8e368445c380e1a12bfd819388ea9b0fcb OP_EQUALVERIFY OP_CHECKSIG*276a9141a9ebe8e368445c380e1a12bfd819388ea9b0fcb88ac*"13Rkjjri4UES9YmGCm7yWUKxPXMPvDpZUG8$J  +@98589a9055ed8eb781c0b0acbb2d546c77224b2f07b5532ba0ba1a6e19a7bdd1""13Rkjjri4UES9YmGCm7yWUKxPXMPvDpZUG"UOP_DUP OP_HASH160 1a9ebe8e368445c380e1a12bfd819388ea9b0fcb OP_EQUALVERIFY OP_CHECKSIG*276a9141a9ebe8e368445c380e1a12bfd819388ea9b0fcb88ac*"13Rkjjri4UES9YmGCm7yWUKxPXMPvDpZUG8$J   +@98589a9055ed8eb781c0b0acbb2d546c77224b2f07b5532ba0ba1a6e19a7bdd1""1HbNfzcHms3LnZxKqXHKzh3EQv43aexd4L"UOP_DUP OP_HASH160 b6023f11b75f64739896376160689cb37acff427 OP_EQUALVERIFY OP_CHECKSIG*276a914b6023f11b75f64739896376160689cb37acff42788ac*"1HbNfzcHms3LnZxKqXHKzh3EQv43aexd4L8$J  +@98589a9055ed8eb781c0b0acbb2d546c77224b2f07b5532ba0ba1a6e19a7bdd1"l"6OP_RETURN 1101115bb0f6e8d7f7adf3f6e9423d8795a17788e106*06a161101115bb0f6e8d7f7adf3f6e9423d8795a17788e1062[B=w8$J $-@0000000000000000000d177fdaefc3b0ebcb15bbd3a923d522311eed5eb2a513"@0000000000000000000a67cbb961863d059db4fa24e031ff2e0ff4baa01409032$׆-@000000000000000000027a47f8fad11220a52647f5137ca82151c3e825738651"@0000000000000000000d177fdaefc3b0ebcb15bbd3a923d522311eed5eb2a5132$-@00000000000000000011a4b8149e45c545f8c40b8ee7fe4dbef2869acf4b44d7"@000000000000000000027a47f8fad11220a52647f5137ca82151c3e8257386512$ೇ-@0000000000000000000dda8cc674e1328f97360d6830914abdde70e8113a7ca3"@00000000000000000011a4b8149e45c545f8c40b8ee7fe4dbef2869acf4b44d72$ś-@00000000000000000015d8a0bec2f5a62c845fba885aade2256b363d24d16cd6"@0000000000000000000dda8cc674e1328f97360d6830914abdde70e8113a7ca32$ĕ-@00000000000000000001ac3aba8616a5fea239517e39d255dd08257429141422"@00000000000000000015d8a0bec2f5a62c845fba885aade2256b363d24d16cd62$͕-@0000000000000000000c32409d9cdb5faeb14bf3f8aec17ae77aedcd4a10e6f0"@00000000000000000001ac3aba8616a5fea239517e39d255dd082574291414222 $-@00000000000000000009c16ae28e87a32f9f0542bc01cfd7e12b70cc481123d3"@0000000000000000000c32409d9cdb5faeb14bf3f8aec17ae77aedcd4a10e6f02 + + + +1@df2b499589707081d290fbb2c894f91e60eb360f9ec3be71c3252bee7e85f07a$"@00000000000000000009c16ae28e87a32f9f0542bc01cfd7e12b70cc481123d3(-2 +@8af4618e5ffc9afeb30e60ada4c52c98db666b9f7dadbfdc6c0561097477668eB03d2e123c85fb699ba02d8cd06dd2d0f0d7a436cf0daafa649ce7e2436fad44ef52 +@8af4618e5ffc9afeb30e60ada4c52c98db666b9f7dadbfdc6c0561097477668eB021214a2b70f55d3d081b9481008b516a0ca0f1bd060f4d7385acfa1afcf1039b0B +@df2b499589707081d290fbb2c894f91e60eb360f9ec3be71c3252bee7e85f07a""1GKJoVbQqjAZcotdtKjAwXtUAY4iSukSgS"UOP_DUP OP_HASH160 a8003bede7f4922f8b91bfdbb846199f6600af15 OP_EQUALVERIFY OP_CHECKSIG*276a914a8003bede7f4922f8b91bfdbb846199f6600af1588ac*"1GKJoVbQqjAZcotdtKjAwXtUAY4iSukSgS8$J  +@df2b499589707081d290fbb2c894f91e60eb360f9ec3be71c3252bee7e85f07a""1Pbgc8ABJgRFAq4soognY1ox1NnxkM5Pk8"UOP_DUP OP_HASH160 f7e1f8945f603ec49bb1d7350e3f8a36a07b605f OP_EQUALVERIFY OP_CHECKSIG*276a914f7e1f8945f603ec49bb1d7350e3f8a36a07b605f88ac*"1Pbgc8ABJgRFAq4soognY1ox1NnxkM5Pk88$J  +@df2b499589707081d290fbb2c894f91e60eb360f9ec3be71c3252bee7e85f07a""1GXynnk61tWzxBzqMvU3U4ZS7YgPQ31bK4"UOP_DUP OP_HASH160 aa65c56474bd0848dc6c578cf2086c7b3cb1a0b5 OP_EQUALVERIFY OP_CHECKSIG*276a914aa65c56474bd0848dc6c578cf2086c7b3cb1a0b588ac*"1GXynnk61tWzxBzqMvU3U4ZS7YgPQ31bK48$J Q $-@0000000000000000000cfa74a54e7687e39f8736d525c317e6a5615fc141d208"@00000000000000000009c16ae28e87a32f9f0542bc01cfd7e12b70cc481123d32 + +1@175ee3da0a53256490152574d185b1c7e9ab98c71a87e5641468ef0ad3edc6ba$"@0000000000000000000cfa74a54e7687e39f8736d525c317e6a5615fc141d208(-2 +@f6477d6f038eff24369ba99bf605027cd0c4f31b86bb3a6626f7c7b202205c92B02d9a56f9031f7d504b925d22d34525422ef15b6c0ec709777eab0eec5ec4278392 +@f6477d6f038eff24369ba99bf605027cd0c4f31b86bb3a6626f7c7b202205c92B026b9c3fa7971b79b085f4350e2d575f2c55501f47b86625f49cb246fe48cefd262 +@f6477d6f038eff24369ba99bf605027cd0c4f31b86bb3a6626f7c7b202205c92B02813c70413297bf01d5f36a455df0d64af16cf043f6723b994c3f4891448ceba5B +@175ee3da0a53256490152574d185b1c7e9ab98c71a87e5641468ef0ad3edc6ba""17fvxjkNAuUfBFLd3MTNS1HovxGX5vbSyj"UOP_DUP OP_HASH160 492d9b095398b89c069fa7a7b01c38f05f72c3cb OP_EQUALVERIFY OP_CHECKSIG*276a914492d9b095398b89c069fa7a7b01c38f05f72c3cb88ac*"17fvxjkNAuUfBFLd3MTNS1HovxGX5vbSyj8$J  +O@175ee3da0a53256490152574d185b1c7e9ab98c71a87e5641468ef0ad3edc6ba""1H7xhqwJFQPF8z6cmhCRDHEAdHkK58J77i"UOP_DUP OP_HASH160 b0d30201a2d68407d6497cf9c150587656afb126 OP_EQUALVERIFY OP_CHECKSIG*276a914b0d30201a2d68407d6497cf9c150587656afb12688ac*"1H7xhqwJFQPF8z6cmhCRDHEAdHkK58J77i8$J  +@175ee3da0a53256490152574d185b1c7e9ab98c71a87e5641468ef0ad3edc6ba""1Lf1d8T9pxWzg1xBRXCsWuEY9Joft3XT8Z"UOP_DUP OP_HASH160 d79ab766ed6c51b4cd51edb0ef7a78d81783fa7b OP_EQUALVERIFY OP_CHECKSIG*276a914d79ab766ed6c51b4cd51edb0ef7a78d81783fa7b88ac*"1Lf1d8T9pxWzg1xBRXCsWuEY9Joft3XT8Z8$J  + $Ֆ-@00000000000000000003156a813512fc5da3ebc58abf5bc5b2bbfb89681186d5"@0000000000000000000cfa74a54e7687e39f8736d525c317e6a5615fc141d2082 + + + +1@50064b821286b1b8dc5420bc9565d85295c65177e93455a3250326b8dcf90f0e$"@00000000000000000003156a813512fc5da3ebc58abf5bc5b2bbfb89681186d5(Ֆ-2 +@a9034d812ad6d8acfc8e6b595b38c13e6192e8a82119b0dc6f1b0f5b1b7a0b7cB03a9f5ff528758b8ded8205dd668dd39a1492bd6bdeef2932d363a1b97326bcf6c2 +@000e10477f5c120e990aa9301021631c346861fcefef254c45e4b5b4f09ea744B02ea737c9ddec5345631468c52c77ce663bc70d4089709dc3226674338ddbc0f53B +@50064b821286b1b8dc5420bc9565d85295c65177e93455a3250326b8dcf90f0e""1G15hmMd5xgsCJUQLiGmGYQMTrqJYhJLUa"UOP_DUP OP_HASH160 a48dcfff5c4e41f0968353efb0ca19c31f3bf941 OP_EQUALVERIFY OP_CHECKSIG*276a914a48dcfff5c4e41f0968353efb0ca19c31f3bf94188ac*"1G15hmMd5xgsCJUQLiGmGYQMTrqJYhJLUa8$J  +@50064b821286b1b8dc5420bc9565d85295c65177e93455a3250326b8dcf90f0e"!1W4eCa8VGLt5vo13HwSZkcvijG583osa8"UOP_DUP OP_HASH160 057f1a410d4276bc8d7ce755a5d0c0a829f10dd6 OP_EQUALVERIFY OP_CHECKSIG*276a914057f1a410d4276bc8d7ce755a5d0c0a829f10dd688ac*!1W4eCa8VGLt5vo13HwSZkcvijG583osa88$J  + @50064b821286b1b8dc5420bc9565d85295c65177e93455a3250326b8dcf90f0e""1EAHYzAGFfqmjFAz2P66Q6mb91a7Upfy7i"UOP_DUP OP_HASH160 905b3200814641efb6778b7ca5f24767f49a9d55 OP_EQUALVERIFY OP_CHECKSIG*276a914905b3200814641efb6778b7ca5f24767f49a9d5588ac*"1EAHYzAGFfqmjFAz2P66Q6mb91a7Upfy7i8$J $Ȼ-@00000000000000000010c84918bc2723b20eef779d5112bb6cf80b16ed5f97d9"@00000000000000000003156a813512fc5da3ebc58abf5bc5b2bbfb89681186d52$-@0000000000000000000704f15838c8a54c98b4c91350a2cabdfd51317b2a994a"@00000000000000000010c84918bc2723b20eef779d5112bb6cf80b16ed5f97d92$Ⱦ-@000000000000000000121d1c1e80ee092f688dd407e54ccd5b818db375aecb6e"@0000000000000000000704f15838c8a54c98b4c91350a2cabdfd51317b2a994a2$͟-@0000000000000000001506910c40a969692ddc22dbdd3162a65899e7c4ee969e"@000000000000000000121d1c1e80ee092f688dd407e54ccd5b818db375aecb6e2$߮-@00000000000000000015c86229123aefadcd811e11ef5a428ab7a9e96585a201"@0000000000000000001506910c40a969692ddc22dbdd3162a65899e7c4ee969e2$䴘-@0000000000000000000ca64c67869b951046763bc4d46ba98df36accd5af4108"@00000000000000000015c86229123aefadcd811e11ef5a428ab7a9e96585a2012$˜-@00000000000000000007d80a831669234a40aa734fbd4a487eb3329eebac7b79"@0000000000000000000ca64c67869b951046763bc4d46ba98df36accd5af41082$Ę-@00000000000000000012e564ec407f55595cabd3a99381e77ba75101bda5f564"@00000000000000000007d80a831669234a40aa734fbd4a487eb3329eebac7b792$͂-@000000000000000000189da82e667fad5c73b4302daa0e1375ed35fb5f81d1a4"@00000000000000000012e564ec407f55595cabd3a99381e77ba75101bda5f5642$-@00000000000000000012b4cbb455f1ad713d8bc8bd04d47640750f6db7910b65"@000000000000000000189da82e667fad5c73b4302daa0e1375ed35fb5f81d1a42$-@0000000000000000000d9f7d2215ab2bb8501fd82f646f6e24586ff60f3afa38"@00000000000000000012b4cbb455f1ad713d8bc8bd04d47640750f6db7910b652$ę-@00000000000000000012aece9ff337286cd71e8e136af74bfeccd35992ac3a3a"@0000000000000000000d9f7d2215ab2bb8501fd82f646f6e24586ff60f3afa382$ٙ-@0000000000000000000acfd5f8f55e69e0d1786457965acd17af33a607cf2013"@00000000000000000012aece9ff337286cd71e8e136af74bfeccd35992ac3a3a2$-@0000000000000000000a237d566109242acfd31ca72dd0771fda2268139bea60"@0000000000000000000acfd5f8f55e69e0d1786457965acd17af33a607cf20132$-@0000000000000000000f14d43a857d52a1b15d309c85dc80c852ef8235ccb29b"@0000000000000000000a237d566109242acfd31ca72dd0771fda2268139bea602$-@0000000000000000000aa9edb6def9c28163e69249a17e85d468f41e9da6742e"@0000000000000000000f14d43a857d52a1b15d309c85dc80c852ef8235ccb29b2$-@0000000000000000001048a31699f909eb7e895be67bc586def0847973c3ed90"@0000000000000000000aa9edb6def9c28163e69249a17e85d468f41e9da6742e2$ؚ-@000000000000000000114caaef5b000410a4513518469d882c0e716f31f00c21"@0000000000000000001048a31699f909eb7e895be67bc586def0847973c3ed902 + +1@01dac32957c0505a7b690a66df07f2f4017864d3b99241c0de4ce7cc1d920f58$"@000000000000000000114caaef5b000410a4513518469d882c0e716f31f00c21(ؚ-2 +@2835407ffc64419bc20f7ce7a2d7d56d9e6cb8c721782eb449879a51cc408002B02292fc050b57ec9971b08b1db45f2ea5c35dbe6c07e53d5ff0c63730d5dbfefa02 +@d474f8c04e07c05fc0a4dda390fd769d93b5036d8615e2f1d52a062c44270a16B03aca1380737307c27b196553fe4cc402540d4ed4f92d239bee7478fe92321d2d9B +@01dac32957c0505a7b690a66df07f2f4017864d3b99241c0de4ce7cc1d920f58""14pkidpCbkNw2hRazGgA7mc4rrPCdkTUwB"UOP_DUP OP_HASH160 29f06bdeef1b44422ce58ddeb14e4483c28588dd OP_EQUALVERIFY OP_CHECKSIG*276a91429f06bdeef1b44422ce58ddeb14e4483c28588dd88ac*"14pkidpCbkNw2hRazGgA7mc4rrPCdkTUwB8$J  + @01dac32957c0505a7b690a66df07f2f4017864d3b99241c0de4ce7cc1d920f58""1JfWCcC5zmTDokvQwwfsYYGGC92UDV17Qk"UOP_DUP OP_HASH160 c1c251e514e4d28c21d9825e98cdd345ab956c04 OP_EQUALVERIFY OP_CHECKSIG*276a914c1c251e514e4d28c21d9825e98cdd345ab956c0488ac*"1JfWCcC5zmTDokvQwwfsYYGGC92UDV17Qk8$J  +@01dac32957c0505a7b690a66df07f2f4017864d3b99241c0de4ce7cc1d920f58"l"6OP_RETURN 10012dab4e8bc2fba39de2f5f667d1073d271fd41a27*06a1610012dab4e8bc2fba39de2f5f667d1073d271fd41a272-Ng=''8$J  + +1@f34232d8d03a0a4925cbb4431529622f0c9e6cebc77cc14ef330859e351d8005$"@000000000000000000114caaef5b000410a4513518469d882c0e716f31f00c21(ؚ-2 +@de1b4b55a040e1b78da7213c17a242b35672c02699b016d79aa8bc362e56ad49B03d7787dafdedcec9b6c7fecade335040c0cba63473f945c04d202c278c773f7b32 +@40476679a8c0f61874659081656639e099a96effa5711d0f02b76fff49f50525B0261e8a77c03cb0d730ed5d207a478c46ebe5b31f302e5f4edb826e8d8e6ad3c272 +@f947f9eb1c1a28de6258a2be14e55863b52ffde14d4c8b709c05bc2a00ccb40dB028316112176e20c9c2af3cfd2d4d19ae24f36867829d72a6dadc9c559f5ec6b41B +ʷ@f34232d8d03a0a4925cbb4431529622f0c9e6cebc77cc14ef330859e351d8005""1Ku98dDcDNKavHQWyxkrBQ1x6k5M4BiyAj"UOP_DUP OP_HASH160 cf4eae92365b1220734d40e4b50ddc2e34e737a7 OP_EQUALVERIFY OP_CHECKSIG*276a914cf4eae92365b1220734d40e4b50ddc2e34e737a788ac*"1Ku98dDcDNKavHQWyxkrBQ1x6k5M4BiyAj8$J  +@f34232d8d03a0a4925cbb4431529622f0c9e6cebc77cc14ef330859e351d8005""1CSeTfxfsWBJ42SGT4NySFXhLkrbpJgvVv"UOP_DUP OP_HASH160 7d830d75e87febc363c72560785bbcb85a698af5 OP_EQUALVERIFY OP_CHECKSIG*276a9147d830d75e87febc363c72560785bbcb85a698af588ac*"1CSeTfxfsWBJ42SGT4NySFXhLkrbpJgvVv8$J  +(@f34232d8d03a0a4925cbb4431529622f0c9e6cebc77cc14ef330859e351d8005""15piwNHKny7h7QnyfyVQREKzyeofQg32aU"UOP_DUP OP_HASH160 34e70f962831e9c79b43c8ddc87bc548a3118ea3 OP_EQUALVERIFY OP_CHECKSIG*276a91434e70f962831e9c79b43c8ddc87bc548a3118ea388ac*"15piwNHKny7h7QnyfyVQREKzyeofQg32aU8$J $琛-@0000000000000000000929498018192eb202df7d07dd5f9f559a7272baae9eb7"@000000000000000000114caaef5b000410a4513518469d882c0e716f31f00c212$-@0000000000000000000debd728a3ed77c7bcb03164c02ade1120798251f81911"@0000000000000000000929498018192eb202df7d07dd5f9f559a7272baae9eb72$-@000000000000000000126c79057da6e67a8bdaf9453c249789242a43df7a532c"@0000000000000000000debd728a3ed77c7bcb03164c02ade1120798251f819112$Ț-@000000000000000000082048559fc071a91bef8d6af22552325ef82fc21bdfde"@000000000000000000126c79057da6e67a8bdaf9453c249789242a43df7a532c2$舷-@000000000000000000038dc162d2279dbe55705873522a824dcc8855e89d3d6a"@000000000000000000082048559fc071a91bef8d6af22552325ef82fc21bdfde2$Ҝ-@0000000000000000000a4b21f26b8975d8a46e449244ddc647546d29cfb3a55f"@000000000000000000038dc162d2279dbe55705873522a824dcc8855e89d3d6a2$-@0000000000000000001405640c68417111286065531af792178a9574b73dd618"@0000000000000000000a4b21f26b8975d8a46e449244ddc647546d29cfb3a55f2$ȋ-@000000000000000000039bdcf4fd981b441730540bf495b82f91b62b4959c0f3"@0000000000000000001405640c68417111286065531af792178a9574b73dd6182$-@00000000000000000014341a7bdc48a81b00e74ad81a97316bfa4ecd4bd78535"@000000000000000000039bdcf4fd981b441730540bf495b82f91b62b4959c0f32$-@0000000000000000000065680c0888a4350fe1164b17717d8c071a745d9fa574"@00000000000000000014341a7bdc48a81b00e74ad81a97316bfa4ecd4bd785352$-@0000000000000000000ea5b48b46d24d51ac7b43ec77baa22618de0eec4e02d6"@0000000000000000000065680c0888a4350fe1164b17717d8c071a745d9fa5742$鉞-@0000000000000000000633c57bce69b132ccdf4ad9e45c8308dbd164dd2d57f4"@0000000000000000000ea5b48b46d24d51ac7b43ec77baa22618de0eec4e02d62 + +1@aa9def55b42f010ceaa8f6a65f80cb8900ac89e0c56d7e3eb1cb1351ea673fe4$"@0000000000000000000633c57bce69b132ccdf4ad9e45c8308dbd164dd2d57f4(鉞-2 +@c6b9ad8ea4088ea198b195fa8217e35090dfd64c3ab4ddd8a93c7988127bbd4dB02a25e241bb542738e8d394dab2a79ac06ebbcbad5bce51044fc7b0a0afc5d62b72 +@4158670f6c2410772de87590b21899e4450cbb0e2fb1068237061fff253dd885B02b766ce67836b2649b2221582e2cc42b034b99f50d68e99897b184759ca6725ba2 +@49ab07c722768d39afc6941c0fe995e00f980d81ea82d9229342b3754bf44a2fB0246a5c63a1483f4ac9623d089b3e56aa56bc8c36fdd57af436587a0a36a0d9734B + @aa9def55b42f010ceaa8f6a65f80cb8900ac89e0c56d7e3eb1cb1351ea673fe4""1Nnzrk9au1bV9cb9wdT2XAYXu1DYSaxJZh"UOP_DUP OP_HASH160 ef0da8291a1fc6b5603ddd6f53ad44c1e9be5270 OP_EQUALVERIFY OP_CHECKSIG*276a914ef0da8291a1fc6b5603ddd6f53ad44c1e9be527088ac*"1Nnzrk9au1bV9cb9wdT2XAYXu1DYSaxJZh8$J  +<@aa9def55b42f010ceaa8f6a65f80cb8900ac89e0c56d7e3eb1cb1351ea673fe4""1Nnzrk9au1bV9cb9wdT2XAYXu1DYSaxJZh"UOP_DUP OP_HASH160 ef0da8291a1fc6b5603ddd6f53ad44c1e9be5270 OP_EQUALVERIFY OP_CHECKSIG*276a914ef0da8291a1fc6b5603ddd6f53ad44c1e9be527088ac*"1Nnzrk9au1bV9cb9wdT2XAYXu1DYSaxJZh8$J   + @aa9def55b42f010ceaa8f6a65f80cb8900ac89e0c56d7e3eb1cb1351ea673fe4""1Etj7j4W6ramT2mdduTMdL3X3j3g4wB2gx"UOP_DUP OP_HASH160 98620180708583d97a568377ef657e32262fb3b4 OP_EQUALVERIFY OP_CHECKSIG*276a91498620180708583d97a568377ef657e32262fb3b488ac*"1Etj7j4W6ramT2mdduTMdL3X3j3g4wB2gx8$J  +@aa9def55b42f010ceaa8f6a65f80cb8900ac89e0c56d7e3eb1cb1351ea673fe4"l"6OP_RETURN 1101310ce797353542416baa1c5bd3d6825dc8cef47f*06a161101310ce797353542416baa1c5bd3d6825dc8cef47f21 55BAk[ւ]8$J $-@00000000000000000014699ba046711522ad686471d6d08538ce6069bbacc2cc"@0000000000000000000633c57bce69b132ccdf4ad9e45c8308dbd164dd2d57f42$-@0000000000000000000ddb28fa3027f90325aa71239b6aaba4e3d10946a5c7dc"@00000000000000000014699ba046711522ad686471d6d08538ce6069bbacc2cc2$𻭞-@00000000000000000011f9bf16063e1d56c5a87b61314c14564deb53fd9e3be8"@0000000000000000000ddb28fa3027f90325aa71239b6aaba4e3d10946a5c7dc2$-@00000000000000000014f964b5b601070080e979cd2f99f40a31d869ff2e0c27"@00000000000000000011f9bf16063e1d56c5a87b61314c14564deb53fd9e3be82$-@000000000000000000132d3a8fe8c55e18189d515b8af8c30ccd2b0321d1be45"@00000000000000000014f964b5b601070080e979cd2f99f40a31d869ff2e0c272$޾-@00000000000000000016dbc6a316daa4e6694fbff595d5e2d9b86dcbbb69eb35"@000000000000000000132d3a8fe8c55e18189d515b8af8c30ccd2b0321d1be452$ٞ-@000000000000000000027e3f3fbb311660dbd1f0131ed9cd395f50ec0fd33090"@00000000000000000016dbc6a316daa4e6694fbff595d5e2d9b86dcbbb69eb352$ڞ-@0000000000000000000e6197df29b061edb8f4dc85861309abfa1bc13e94d417"@000000000000000000027e3f3fbb311660dbd1f0131ed9cd395f50ec0fd330902$Ÿ-@00000000000000000015b600770059a64124044041139f49de645e194db89ce8"@0000000000000000000e6197df29b061edb8f4dc85861309abfa1bc13e94d4172$-@00000000000000000000234730895d484a200d1a78571ac473371f233d6761d7"@00000000000000000015b600770059a64124044041139f49de645e194db89ce82$-@000000000000000000185d27b96357f0edbf8188bf83a356b45123d476e9b881"@00000000000000000000234730895d484a200d1a78571ac473371f233d6761d72$-@0000000000000000000d6da7ca6f47f6f87890dd943eeb4a96497b36ccfa410c"@000000000000000000185d27b96357f0edbf8188bf83a356b45123d476e9b8812$٪-@0000000000000000000414e90da51b3ce428b0f28a15575f72d17b8cf05f6c7c"@0000000000000000000d6da7ca6f47f6f87890dd943eeb4a96497b36ccfa410c2$-@00000000000000000004d2a06ecd245afd83cae6d0982498e5d1e809902a50b3"@0000000000000000000414e90da51b3ce428b0f28a15575f72d17b8cf05f6c7c2 $-@0000000000000000000101b0c92cc0580a4ab29b8b9e022132f6c9c30473728c"@00000000000000000004d2a06ecd245afd83cae6d0982498e5d1e809902a50b32 + +1@7665ca937fb435af93babb7abc6f24af26546d1088c179b88976d4075de20549$"@0000000000000000000101b0c92cc0580a4ab29b8b9e022132f6c9c30473728c(-2 +@df2814b988178866e3c566227983e021393a666847a5c4400888bd3438fdfbbdB03b0c472b31acc50bc0139f63bd0b79f95e01eb95959365b77cf72c5e56eb1d1f22 +@9794ffd7610244aa63a52355e46dcac67bb6643425aec1c62ab9ea40bb261ff0B028a9fb290e6f8184a0005b22d12a7e94461a540211af8593fc972f3742f0bc43bB +L@7665ca937fb435af93babb7abc6f24af26546d1088c179b88976d4075de20549""1C5anJW266mKDvLC9SRKuxkhTkPsKBLyNu"UOP_DUP OP_HASH160 79873f1962aac36c2e46a243ea9facdf5777252e OP_EQUALVERIFY OP_CHECKSIG*276a91479873f1962aac36c2e46a243ea9facdf5777252e88ac*"1C5anJW266mKDvLC9SRKuxkhTkPsKBLyNu8$J  +=@7665ca937fb435af93babb7abc6f24af26546d1088c179b88976d4075de20549""1PHd8tsgp2qa1Bb6wvGnSFeBRg2nxKUrRG"UOP_DUP OP_HASH160 f4779668d71df0e6040d870865048d023adf9bf7 OP_EQUALVERIFY OP_CHECKSIG*276a914f4779668d71df0e6040d870865048d023adf9bf788ac*"1PHd8tsgp2qa1Bb6wvGnSFeBRg2nxKUrRG8$J L$-@00000000000000000019ecdfa4ba7131712be5675d2910f569cd43addcf54e33"@0000000000000000000101b0c92cc0580a4ab29b8b9e022132f6c9c30473728c2$ؽ-@000000000000000000051f718ec2b22336bf193177c036286126730f5a5fbc19"@00000000000000000019ecdfa4ba7131712be5675d2910f569cd43addcf54e332$¹-@000000000000000000039b3f3915fab75e829f67d557793efd9ae63fd1bcd4c6"@000000000000000000051f718ec2b22336bf193177c036286126730f5a5fbc192$-@0000000000000000001458dace2cb4c2761c94a646cab7f7ea59bf6797a09a8c"@000000000000000000039b3f3915fab75e829f67d557793efd9ae63fd1bcd4c62$Ƣ-@0000000000000000000b0fe9790ecb51f3e6b6c8bad0e67d1a13744b3bfed02e"@0000000000000000001458dace2cb4c2761c94a646cab7f7ea59bf6797a09a8c2 $-@000000000000000000055b257221e0a6f282efb9326fc478b9d94ec07262f88c"@0000000000000000000b0fe9790ecb51f3e6b6c8bad0e67d1a13744b3bfed02e2 + + + +1@691f3050e7abcef5689a00a846210cd33aa9b99c3f5b40455d4eb29b12709e9b$"@000000000000000000055b257221e0a6f282efb9326fc478b9d94ec07262f88c(-2 +@c1904a74fd85fa6f91066162f0b0e6069684bdf116fd42f3b9e30c27994ef049B02be9290fc12f54fab153eb14a804bf1a0d7ba0093d9d33aeb8acd3aff8e75beec2 +@c5062ba0ccbb2f25c01a501115c1ba04b35c1340e6feb652d091c43a8c968958B02d23102415037ade50f57212897c14fb56e3458501072e0526619434f80f9e24eB +@691f3050e7abcef5689a00a846210cd33aa9b99c3f5b40455d4eb29b12709e9b""1AR7mwQrECMS4ZkW2wkK3Yd7TDGwWA4PVu"UOP_DUP OP_HASH160 6748c53c4a52560ba5244bc7275c0c6c9b46a647 OP_EQUALVERIFY OP_CHECKSIG*276a9146748c53c4a52560ba5244bc7275c0c6c9b46a64788ac*"1AR7mwQrECMS4ZkW2wkK3Yd7TDGwWA4PVu8$J  +ȷ@691f3050e7abcef5689a00a846210cd33aa9b99c3f5b40455d4eb29b12709e9b""1A5CdKwBZJSVvhJkzyiWZhB5AzZsGNnTj6"UOP_DUP OP_HASH160 63848045a67476bc1959aa1b3d6696d3942c5c55 OP_EQUALVERIFY OP_CHECKSIG*276a91463848045a67476bc1959aa1b3d6696d3942c5c5588ac*"1A5CdKwBZJSVvhJkzyiWZhB5AzZsGNnTj68$J  +t@691f3050e7abcef5689a00a846210cd33aa9b99c3f5b40455d4eb29b12709e9b""1Ct4NYgKQUxHqSapKQgLm79F2cjrz7jhhM"UOP_DUP OP_HASH160 8251697bef268f5a007b953026e285e902b3b933 OP_EQUALVERIFY OP_CHECKSIG*276a9148251697bef268f5a007b953026e285e902b3b93388ac*"1Ct4NYgKQUxHqSapKQgLm79F2cjrz7jhhM8$J x$ꑣ-@0000000000000000001405166a713c22d309d5424831bd0d121977760d05aeda"@000000000000000000055b257221e0a6f282efb9326fc478b9d94ec07262f88c2$ȟ-@00000000000000000017918b9f451738dc5d6cc338f43e2e50f5dfa0beeddabd"@0000000000000000001405166a713c22d309d5424831bd0d121977760d05aeda2$Ϊ-@00000000000000000011b018640b02275bb919ea5840f586bcee1fa4dd1e266d"@00000000000000000017918b9f451738dc5d6cc338f43e2e50f5dfa0beeddabd2$-@0000000000000000000ba8ef45b88d963702a0950adb0b8b0aa530d9422d50c5"@00000000000000000011b018640b02275bb919ea5840f586bcee1fa4dd1e266d2$ۤ-@00000000000000000015d3c3bf531ea6c8bcaf5686d48854b7b1b302cd2394e8"@0000000000000000000ba8ef45b88d963702a0950adb0b8b0aa530d9422d50c52 + +1@e8b7065b4d0490eeab09659c9583f0ae6c785f5a3577a3f43e94c44e99a2b933$"@00000000000000000015d3c3bf531ea6c8bcaf5686d48854b7b1b302cd2394e8(ۤ-2 +@d5f60afd17874ac4aedd94b0a9351eac1f4b0888665d77d1af8b0ea891b875d4B03c54ea30fbd72c33ef962aee571e0dd0faf92a8cd790e97d95234bd79768a13322 +@6a2351a8f4b6815672586c8e546de83dd92cfb8a5262234faee9a3901cefc620B03eba641e1e2921302d59bb8669a0370b0cdb5f254b51d78cafefc575d366a1297B +U@e8b7065b4d0490eeab09659c9583f0ae6c785f5a3577a3f43e94c44e99a2b933""1EdWoudRjNo9za7UJD5fajRwSNYan5Dr8P"UOP_DUP OP_HASH160 95817e2ee752dce4af492eff8011c6446a202a6b OP_EQUALVERIFY OP_CHECKSIG*276a91495817e2ee752dce4af492eff8011c6446a202a6b88ac*"1EdWoudRjNo9za7UJD5fajRwSNYan5Dr8P8$J  +@e8b7065b4d0490eeab09659c9583f0ae6c785f5a3577a3f43e94c44e99a2b933""1EdWoudRjNo9za7UJD5fajRwSNYan5Dr8P"UOP_DUP OP_HASH160 95817e2ee752dce4af492eff8011c6446a202a6b OP_EQUALVERIFY OP_CHECKSIG*276a91495817e2ee752dce4af492eff8011c6446a202a6b88ac*"1EdWoudRjNo9za7UJD5fajRwSNYan5Dr8P8$J   +@e8b7065b4d0490eeab09659c9583f0ae6c785f5a3577a3f43e94c44e99a2b933""1LR3ECjZX33nWAhWdUkcFEu4da27gi3WGd"UOP_DUP OP_HASH160 d4f63b85551cb2c2d354966aef92d25689cac475 OP_EQUALVERIFY OP_CHECKSIG*276a914d4f63b85551cb2c2d354966aef92d25689cac47588ac*"1LR3ECjZX33nWAhWdUkcFEu4da27gi3WGd8$J  +@e8b7065b4d0490eeab09659c9583f0ae6c785f5a3577a3f43e94c44e99a2b933"l"6OP_RETURN 11017ef99139d59be9b410b9f41d2a28d9b848dbae30*06a1611017ef99139d59be9b410b9f41d2a28d9b848dbae302~9՛*(ٸHۮ08$J  + + +1@c5855465724e696e1f2f959c2afd72b13fdd6fd7627cde7322c046e001f374c3$"@00000000000000000015d3c3bf531ea6c8bcaf5686d48854b7b1b302cd2394e8(ۤ-2 +@759f40209ceadfbce6bc9800c66ec10070cbad19e625c3f7c0128dc72bcc8faeB03c32d273a27d84760afeb0cb9905f785b443d9147c75755017e13804d0fc164d02 +@bdd12b45f8bc3f913b55770a8b50c1a03b62c7d23402d751284dace9b9e4a76cB029cc4f7398e60c9bd651a3060dfb7b302455f75160e83afa4222cc5091720a9442 +@dbfa11bb4cd2b419489dfc7abc11c87ab3cff68305bc8845968937eaf38732bfB03d4f57986cdf0e0d53a1efc1fdb547e7cda1066f60c8f1c5ffb690edd471964512 +@b7a4f9ad9f111dc32062a4e12e3923c1cad2a820bdd9ef533a7a52364d68b2f6B027f923741940dca79699d1a0c2345b0e3ac0647b1d5b0d904ac6d25e7f410bed4B +@c5855465724e696e1f2f959c2afd72b13fdd6fd7627cde7322c046e001f374c3""1NcbqJzuax32UWa7G25zJUWsmxxcN9qFxD"UOP_DUP OP_HASH160 ed1646f61f6aab80861142a9287e133debd2d264 OP_EQUALVERIFY OP_CHECKSIG*276a914ed1646f61f6aab80861142a9287e133debd2d26488ac*"1NcbqJzuax32UWa7G25zJUWsmxxcN9qFxD8$J  +@c5855465724e696e1f2f959c2afd72b13fdd6fd7627cde7322c046e001f374c3""1BmRyAMQxZg6RHMTy7gbRgCgUjmt2ELZfM"UOP_DUP OP_HASH160 761867138236753add6a0831508e6918e7f8adc1 OP_EQUALVERIFY OP_CHECKSIG*276a914761867138236753add6a0831508e6918e7f8adc188ac*"1BmRyAMQxZg6RHMTy7gbRgCgUjmt2ELZfM8$J !$ߤ-@000000000000000000061bc938dbc6d39ba55f47be54d2f5e39db09d6f63650c"@00000000000000000015d3c3bf531ea6c8bcaf5686d48854b7b1b302cd2394e82$-@00000000000000000001a0fb1dc2e7d023d0a038c766ebb8823c825c157af6ba"@000000000000000000061bc938dbc6d39ba55f47be54d2f5e39db09d6f63650c2$-@00000000000000000000f804c0c58623a97e4fef0baaae04a219ebdd2df32692"@00000000000000000001a0fb1dc2e7d023d0a038c766ebb8823c825c157af6ba2$-@00000000000000000011d7668840c8d3371db3b108385580466665ad5632c06d"@00000000000000000000f804c0c58623a97e4fef0baaae04a219ebdd2df326922$ɽ-@00000000000000000013a0b3142e0dfe90b47127537606661308e2a41195eb5d"@00000000000000000011d7668840c8d3371db3b108385580466665ad5632c06d2$-@0000000000000000000aeb336590c7eeb3bef6a7a86f53815ec5022a1cc3ffda"@00000000000000000013a0b3142e0dfe90b47127537606661308e2a41195eb5d2 $Ѐ˥-@000000000000000000066132aadd02eb4f7d3fb2e2f187e67a00350aa97d2582"@0000000000000000000aeb336590c7eeb3bef6a7a86f53815ec5022a1cc3ffda2 + +1@83a532e4f3fa8c40db333638dbbabc6b0dc6c3bbd62d7f79559bb12491900f94$"@000000000000000000066132aadd02eb4f7d3fb2e2f187e67a00350aa97d2582(Ѐ˥-2 +@273dd8ac773b411e3a5acee10ce585a992cfacf7b2a8e6229a981c30ff094b78B0394cb56f181cbe096062fe4de15542bce3347737109f969722bf5584278510f722 +@eb7bfd5dd45c0bcba3e997a32d27bc3ae98d46a5e18794595190483a3ae3362eB02392e20e566f3ef12ea7b7f0518df09ac26bb6cdf1262ecd8ea36260c0d7e945eB +`@83a532e4f3fa8c40db333638dbbabc6b0dc6c3bbd62d7f79559bb12491900f94""1N37Cbcc3K92qR6KM22eEWbBErs8KYDxZn"UOP_DUP OP_HASH160 e6c0a61a1f1ff64dcee5b04e509f8c4db0a1bc46 OP_EQUALVERIFY OP_CHECKSIG*276a914e6c0a61a1f1ff64dcee5b04e509f8c4db0a1bc4688ac*"1N37Cbcc3K92qR6KM22eEWbBErs8KYDxZn8$J  +@83a532e4f3fa8c40db333638dbbabc6b0dc6c3bbd62d7f79559bb12491900f94""1N37Cbcc3K92qR6KM22eEWbBErs8KYDxZn"UOP_DUP OP_HASH160 e6c0a61a1f1ff64dcee5b04e509f8c4db0a1bc46 OP_EQUALVERIFY OP_CHECKSIG*276a914e6c0a61a1f1ff64dcee5b04e509f8c4db0a1bc4688ac*"1N37Cbcc3K92qR6KM22eEWbBErs8KYDxZn8$J   +@83a532e4f3fa8c40db333638dbbabc6b0dc6c3bbd62d7f79559bb12491900f94""17iDsqubkbLBgMUb9h2HziZSggLTWgRTcj"UOP_DUP OP_HASH160 499c8ed833948d38fe57615d8825b255e3b3402d OP_EQUALVERIFY OP_CHECKSIG*276a914499c8ed833948d38fe57615d8825b255e3b3402d88ac*"17iDsqubkbLBgMUb9h2HziZSggLTWgRTcj8$J  +@83a532e4f3fa8c40db333638dbbabc6b0dc6c3bbd62d7f79559bb12491900f94"l"6OP_RETURN 1101342a4b8dad3d79a6afad60500d513141515b1926*06a161101342a4b8dad3d79a6afad60500d513141515b192624*K=y`P Q1AQ[&8$J $ҥ-@00000000000000000011eec884c1435161c61b5a3fc006adf9458a7c25bde6f1"@000000000000000000066132aadd02eb4f7d3fb2e2f187e67a00350aa97d25822$ե-@000000000000000000168a0c15e950468e4d645ff182252a918236ef66f7bcdb"@00000000000000000011eec884c1435161c61b5a3fc006adf9458a7c25bde6f12$֥-@000000000000000000092863d2e2cc4893e90e774870bee68bce09584f35a3ba"@000000000000000000168a0c15e950468e4d645ff182252a918236ef66f7bcdb2$ͦ-@000000000000000000117201d3e2e0632ff1cdeee0bd322c4a716839aa8a51b9"@000000000000000000092863d2e2cc4893e90e774870bee68bce09584f35a3ba2$Α-@0000000000000000000f72c8040d4bb6293df3bae171827af1cf99b60be1abc3"@000000000000000000117201d3e2e0632ff1cdeee0bd322c4a716839aa8a51b92$ɧ-@00000000000000000015933029dca9ac633e2b2324bd88f2eee77ab7269fbf02"@0000000000000000000f72c8040d4bb6293df3bae171827af1cf99b60be1abc32 $ԧ-@00000000000000000010f926373039b67e77c01a94a650a80756e39561947880"@00000000000000000015933029dca9ac633e2b2324bd88f2eee77ab7269fbf022 + +1@ee8eb5afe19890a208aad317119ce931b508a40e0b1a885a60c465f493a17dbf$"@00000000000000000010f926373039b67e77c01a94a650a80756e39561947880(ԧ-2 +@06da439ccd64ec1ab6e79686ea7432777dd802cedc4cd2e77eb072bc32fd1cfbB03d695d0b54358ad005f40f3e465527d07ce3a67cca6b1f77bacf74604960bbbf82 +@3ca8a2a81f31fb4c3d05c2aed240b6db74699875f98cd33b33f7dafed1a69d32B0308b7597d0f5282121215530c06cfdb44c9cb9f7a9f5b968c36b2662f6289f873B +@ee8eb5afe19890a208aad317119ce931b508a40e0b1a885a60c465f493a17dbf""13MUgPViPUawQA7CFv9DP2BJqM1CPTTv4a"UOP_DUP OP_HASH160 19cfad185eac4a1e6a906aa187c6b4991bb9642f OP_EQUALVERIFY OP_CHECKSIG*276a91419cfad185eac4a1e6a906aa187c6b4991bb9642f88ac*"13MUgPViPUawQA7CFv9DP2BJqM1CPTTv4a8$J  +@ee8eb5afe19890a208aad317119ce931b508a40e0b1a885a60c465f493a17dbf""13MUgPViPUawQA7CFv9DP2BJqM1CPTTv4a"UOP_DUP OP_HASH160 19cfad185eac4a1e6a906aa187c6b4991bb9642f OP_EQUALVERIFY OP_CHECKSIG*276a91419cfad185eac4a1e6a906aa187c6b4991bb9642f88ac*"13MUgPViPUawQA7CFv9DP2BJqM1CPTTv4a8$J   +"@ee8eb5afe19890a208aad317119ce931b508a40e0b1a885a60c465f493a17dbf""1LEKfaCcGAkhzqaYP45Uq1e15YroECdnJj"UOP_DUP OP_HASH160 d2ef60d0dfceb9c06ab4abcdaa7f49ea2f0dca69 OP_EQUALVERIFY OP_CHECKSIG*276a914d2ef60d0dfceb9c06ab4abcdaa7f49ea2f0dca6988ac*"1LEKfaCcGAkhzqaYP45Uq1e15YroECdnJj8$J  +@ee8eb5afe19890a208aad317119ce931b508a40e0b1a885a60c465f493a17dbf"l"6OP_RETURN 1101498ea9535b4e1bce787e07f8baad05c1575f5db1*06a161101498ea9535b4e1bce787e07f8baad05c1575f5db12IS[Nx~W_]8$J $-@0000000000000000000c9ffda56ea02c19d1d7bc0878e42f1b8367b0e9289304"@00000000000000000010f926373039b67e77c01a94a650a80756e395619478802$ࢧ-@00000000000000000014d021149a22ed6da9ddb385658ab61157a4080935b3e5"@0000000000000000000c9ffda56ea02c19d1d7bc0878e42f1b8367b0e92893042$记-@00000000000000000003a74903b17e44839738fd96b7397f487c4d4c0aff1ec9"@00000000000000000014d021149a22ed6da9ddb385658ab61157a4080935b3e52$-@000000000000000000138d02ad7b688bf732b278ca11919701c19b6e8caf62eb"@00000000000000000003a74903b17e44839738fd96b7397f487c4d4c0aff1ec92$皩-@000000000000000000033203d7460b223fa0478fa4202b5f26b7f28984dee7f8"@000000000000000000138d02ad7b688bf732b278ca11919701c19b6e8caf62eb2$н-@000000000000000000091fff405e82f59536758beae556908908e993a337352c"@000000000000000000033203d7460b223fa0478fa4202b5f26b7f28984dee7f82$-@00000000000000000007df06baa60876e2ab26e33dbb1356624da2ac615744fb"@000000000000000000091fff405e82f59536758beae556908908e993a337352c2$̪-@0000000000000000000faa1ae92baff7afeebf1822b94ee21dfb2447ed83e27e"@00000000000000000007df06baa60876e2ab26e33dbb1356624da2ac615744fb2 $-@0000000000000000001327e55a2d9652c96868cbda3e8932ee78819a23f2d0c1"@0000000000000000000faa1ae92baff7afeebf1822b94ee21dfb2447ed83e27e2à$-@000000000000000000140781dc8a5e68b6c06e44549581c59be05e390f6a5a88"@0000000000000000001327e55a2d9652c96868cbda3e8932ee78819a23f2d0c12 Ġ$-@00000000000000000011a4bf29ff88799db88071cbebdc98405f5f9f2b820a04"@000000000000000000140781dc8a5e68b6c06e44549581c59be05e390f6a5a882 + + + +1@ca7f1a4e7f51c6a2e49968fba2467df0733345445ce1a3205745d3a5956d7d50Ġ$"@00000000000000000011a4bf29ff88799db88071cbebdc98405f5f9f2b820a04(-2 +@a8774a8533cb9a7faaa706fb4f5ca45a591ccd25b6d2881fee42a3343202a23eB035e0b1a8ae54033fcf4286a7801071420dc276188b9196c3434cbd75d45fd54cb2 +@91f6bc1df0b8d86d3897e4f48082b9653a6f9260e615d91ed522bae7cce9de16B03935f567823bc9fe9ee535f418339c5bb3f9ccd0df226fa78c1570cf81d77d532B + +@ca7f1a4e7f51c6a2e49968fba2467df0733345445ce1a3205745d3a5956d7d50""15RSYMgnYeRSckA6Eh4LzN3BKXJXbrMDTK"UOP_DUP OP_HASH160 307fce746bc41fec6e35e3e6f1fa8de7a6748bc4 OP_EQUALVERIFY OP_CHECKSIG*276a914307fce746bc41fec6e35e3e6f1fa8de7a6748bc488ac*"15RSYMgnYeRSckA6Eh4LzN3BKXJXbrMDTK8Ġ$J  +@ca7f1a4e7f51c6a2e49968fba2467df0733345445ce1a3205745d3a5956d7d50""1ANVUC8ZYjFMgTd1QEKfERx5zDisuBsiXL"UOP_DUP OP_HASH160 66c9a1bfa7977e4ab441f16b29a280e361f00361 OP_EQUALVERIFY OP_CHECKSIG*276a91466c9a1bfa7977e4ab441f16b29a280e361f0036188ac*"1ANVUC8ZYjFMgTd1QEKfERx5zDisuBsiXL8Ġ$J  +@ca7f1a4e7f51c6a2e49968fba2467df0733345445ce1a3205745d3a5956d7d50""1GtUobq6AQ2w5JETZD9KN1CyyqPsJetw7H"UOP_DUP OP_HASH160 ae464f59dd12ef6334dc6735063b5084c66bab49 OP_EQUALVERIFY OP_CHECKSIG*276a914ae464f59dd12ef6334dc6735063b5084c66bab4988ac*"1GtUobq6AQ2w5JETZD9KN1CyyqPsJetw7H8Ġ$J Š$ޗ-@00000000000000000001dce038d73635c828baffe6104ea8fc8d73ba9154406a"@00000000000000000011a4bf29ff88799db88071cbebdc98405f5f9f2b820a042Ơ$-@00000000000000000006ed435efbfeda63d3e32a52b25a18f902bb457c3109ec"@00000000000000000001dce038d73635c828baffe6104ea8fc8d73ba9154406a2Ǡ$ɳ-@00000000000000000019c67969818b3e3d8509fdd4deb3b81b725f2d5931f220"@00000000000000000006ed435efbfeda63d3e32a52b25a18f902bb457c3109ec2Ƞ$𦊬-@00000000000000000004c7453a1af6f78b9d6a5d7e7c5c80679a4eccde5258ee"@00000000000000000019c67969818b3e3d8509fdd4deb3b81b725f2d5931f2202$ɠ$-@00000000000000000007486af9515f9802eaad206edb9fff13ec253e4251b1dd"@00000000000000000004c7453a1af6f78b9d6a5d7e7c5c80679a4eccde5258ee2# + + +1@0985aba4ca23ebb7e75d325eb00c3c5c059117deaad8cd8669cd9a500437a22fɠ$"@00000000000000000007486af9515f9802eaad206edb9fff13ec253e4251b1dd(-2 +@01dac32957c0505a7b690a66df07f2f4017864d3b99241c0de4ce7cc1d920f58B03dcc4f5f9c9b5a60e4cdc7323454643c1c8b4693613719300d2115a91fab0dfc82 +@01dac32957c0505a7b690a66df07f2f4017864d3b99241c0de4ce7cc1d920f58B032aaee89e2e4e4e687117ee5c8ad0b18402f38c4f43efaed040f3351f51456b00B +@0985aba4ca23ebb7e75d325eb00c3c5c059117deaad8cd8669cd9a500437a22f""15nm25xPkLrqetQBBhj5G7ArZZEyXLKUd8"UOP_DUP OP_HASH160 3487f7653271627f407603abb3b7d36a17599f34 OP_EQUALVERIFY OP_CHECKSIG*276a9143487f7653271627f407603abb3b7d36a17599f3488ac*"15nm25xPkLrqetQBBhj5G7ArZZEyXLKUd88ɠ$J  +@0985aba4ca23ebb7e75d325eb00c3c5c059117deaad8cd8669cd9a500437a22f""1DcW7E2NiHuEATVvEopzzBzc8SuBAxv3Jk"UOP_DUP OP_HASH160 8a585d9a3f5d3134ebfd4c135a6f547df7085563 OP_EQUALVERIFY OP_CHECKSIG*276a9148a585d9a3f5d3134ebfd4c135a6f547df708556388ac*"1DcW7E2NiHuEATVvEopzzBzc8SuBAxv3Jk8ɠ$J  + @0985aba4ca23ebb7e75d325eb00c3c5c059117deaad8cd8669cd9a500437a22f""15AerfjAK1KrECParkGAVN6GFSzX4bWwqU"UOP_DUP OP_HASH160 2db3d9010c02b077316bcc87f207bfb2cb173134 OP_EQUALVERIFY OP_CHECKSIG*276a9142db3d9010c02b077316bcc87f207bfb2cb17313488ac*"15AerfjAK1KrECParkGAVN6GFSzX4bWwqU8ɠ$J  + +1@32daa411a628ea1c265ebc2f89395c91201329edff442bc6caf66231d8fff560ɠ$"@00000000000000000007486af9515f9802eaad206edb9fff13ec253e4251b1dd(-2 +@b323ea45e9404c15795fc25438340852ff079c757953567f8b2d7d90913d8809B03477792e50ee060b182482dccd57069f4cad602e900c11b6d46e42516907eae9e2 +@449e7a4a332c57b361f1e1d7f0d0d110ea670efae8e17867097543805fff3a2aB03a70cddda0e45cb843cbae80da1b6a84192071a09698cd988c88391ec2aed4843B +\@32daa411a628ea1c265ebc2f89395c91201329edff442bc6caf66231d8fff560""1CnqVYSWVY6jKm1hbv6VZu6zznLj5vsTvX"UOP_DUP OP_HASH160 815494c12a1be46622c3274f0debc0c111e7a18a OP_EQUALVERIFY OP_CHECKSIG*276a914815494c12a1be46622c3274f0debc0c111e7a18a88ac*"1CnqVYSWVY6jKm1hbv6VZu6zznLj5vsTvX8ɠ$J  +@32daa411a628ea1c265ebc2f89395c91201329edff442bc6caf66231d8fff560""1CnqVYSWVY6jKm1hbv6VZu6zznLj5vsTvX"UOP_DUP OP_HASH160 815494c12a1be46622c3274f0debc0c111e7a18a OP_EQUALVERIFY OP_CHECKSIG*276a914815494c12a1be46622c3274f0debc0c111e7a18a88ac*"1CnqVYSWVY6jKm1hbv6VZu6zznLj5vsTvX8ɠ$J   +؛@32daa411a628ea1c265ebc2f89395c91201329edff442bc6caf66231d8fff560""1AqsQtgA1tEwbqtiK57RWCRWz9q2kaXgqX"UOP_DUP OP_HASH160 6bf72e123952ac43e7cc578766b1d6f166a58d6b OP_EQUALVERIFY OP_CHECKSIG*276a9146bf72e123952ac43e7cc578766b1d6f166a58d6b88ac*"1AqsQtgA1tEwbqtiK57RWCRWz9q2kaXgqX8ɠ$J  +@32daa411a628ea1c265ebc2f89395c91201329edff442bc6caf66231d8fff560"l"6OP_RETURN 11017325ea1abaaa4b21783966a646f344e996e97cc4*06a1611017325ea1abaaa4b21783966a646f344e996e97cc42s%K!x9fFD|8ɠ$J  + +1@d7fd7e5de714e44214f0a01024d0984e959b4ce7180ba6329e587ff3c74fc5adɠ$"@00000000000000000007486af9515f9802eaad206edb9fff13ec253e4251b1dd(-2 +@8bba1832f0f6d09b2228f219ed8ef9f9bc07f3f19cb5858ea046c21654b4bbf4B030a168ffe405aee44464183fccf3d10b0d5b849ffc1ce199bdd8c04cdb6d904d52 +@d85d886bfb67f1ead7b3ab0780378c708222bc216c675ecee0657cf6f6ae6e70B0326463a393ec36f866501f7d7d8c3b73f0bca9b9fe1a607f3b35f71a5e4527b2eB +$@d7fd7e5de714e44214f0a01024d0984e959b4ce7180ba6329e587ff3c74fc5ad""1Hsd5Kwq5riyzDUTzYauazBhaApzjCA7kZ"UOP_DUP OP_HASH160 b914ec9788b713c10e962fa83d83035c3165b2de OP_EQUALVERIFY OP_CHECKSIG*276a914b914ec9788b713c10e962fa83d83035c3165b2de88ac*"1Hsd5Kwq5riyzDUTzYauazBhaApzjCA7kZ8ɠ$J  +1@d7fd7e5de714e44214f0a01024d0984e959b4ce7180ba6329e587ff3c74fc5ad""1Hsd5Kwq5riyzDUTzYauazBhaApzjCA7kZ"UOP_DUP OP_HASH160 b914ec9788b713c10e962fa83d83035c3165b2de OP_EQUALVERIFY OP_CHECKSIG*276a914b914ec9788b713c10e962fa83d83035c3165b2de88ac*"1Hsd5Kwq5riyzDUTzYauazBhaApzjCA7kZ8ɠ$J   + @d7fd7e5de714e44214f0a01024d0984e959b4ce7180ba6329e587ff3c74fc5ad""1DaeDoL162V2zTd2oqVsdk5nmLHycV3RUg"UOP_DUP OP_HASH160 89fe4e6fcd1c24b66b4f200eed864bc430bb0db7 OP_EQUALVERIFY OP_CHECKSIG*276a91489fe4e6fcd1c24b66b4f200eed864bc430bb0db788ac*"1DaeDoL162V2zTd2oqVsdk5nmLHycV3RUg8ɠ$J  +@d7fd7e5de714e44214f0a01024d0984e959b4ce7180ba6329e587ff3c74fc5ad"l"6OP_RETURN 1101283df2e30aa8dc7fbfbba63c0bdbab54a41bf7ca*06a161101283df2e30aa8dc7fbfbba63c0bdbab54a41bf7ca2(= +< ۫T8ɠ$J ʠ$-@00000000000000000018db08f4a2ef9fbdd2e0c42bd7a42cd0f786925f512669"@00000000000000000007486af9515f9802eaad206edb9fff13ec253e4251b1dd2ˠ$ƭ-@000000000000000000196591929f7ca593e21ab6f57cf6f4d157858ef203ef81"@00000000000000000018db08f4a2ef9fbdd2e0c42bd7a42cd0f786925f5126692̠$-@000000000000000000047ee5cd1ab4ca9a5f71e7db2ce7abac56ff15e587cf6f"@000000000000000000196591929f7ca593e21ab6f57cf6f4d157858ef203ef812͠$ߐ-@0000000000000000000e3a459db1a416338a5f56f556dbc408972f27a5cabf0c"@000000000000000000047ee5cd1ab4ca9a5f71e7db2ce7abac56ff15e587cf6f2 Π$㡯-@000000000000000000033ac1578982e92fc3181b7eeeed2f5c5eead55cf315d5"@0000000000000000000e3a459db1a416338a5f56f556dbc408972f27a5cabf0c2 + + + +1@29c673a67a62e346dd45be769e0a7c0924e75f400d817f1c688b8b8b1e112e09Π$"@000000000000000000033ac1578982e92fc3181b7eeeed2f5c5eead55cf315d5(㡯-2 +@a286b7df832d328c84e2a7ad68d1efdbd911eafe61a6e3a24ea0e1933faf0f31B027d0591042b024feb3ee95bf5bca32dc214353f4e6eb8e88f0f543546771c3eaf2 +@960cb747fa1bae62273ea097684c3b5525f08fdc9bf933639c7d1c826d545c94B0344ae077c20a03d6a61a652e7a30154fe55a0e2781807b3d2aa471cb06bb753f6B +І@29c673a67a62e346dd45be769e0a7c0924e75f400d817f1c688b8b8b1e112e09""13G33ySMUPwvBAJiYcV6T4ppwnXvLDi8LN"UOP_DUP OP_HASH160 18c8340b71df7df3b8966539b719cc5ae761c7db OP_EQUALVERIFY OP_CHECKSIG*276a91418c8340b71df7df3b8966539b719cc5ae761c7db88ac*"13G33ySMUPwvBAJiYcV6T4ppwnXvLDi8LN8Π$J  +@29c673a67a62e346dd45be769e0a7c0924e75f400d817f1c688b8b8b1e112e09""1JaZAwNfz5vhtgig2yxtbroR64uMQ7jAzu"UOP_DUP OP_HASH160 c0d2b86854ea850accb1df50fbc4a1cb8074a7d4 OP_EQUALVERIFY OP_CHECKSIG*276a914c0d2b86854ea850accb1df50fbc4a1cb8074a7d488ac*"1JaZAwNfz5vhtgig2yxtbroR64uMQ7jAzu8Π$J  +s@29c673a67a62e346dd45be769e0a7c0924e75f400d817f1c688b8b8b1e112e09""1BuhNWP3gLWzJRn9HePP5huisKEnP5xrRy"UOP_DUP OP_HASH160 77a896737dbf828ded502822bb264f883016c06c OP_EQUALVERIFY OP_CHECKSIG*276a91477a896737dbf828ded502822bb264f883016c06c88ac*"1BuhNWP3gLWzJRn9HePP5huisKEnP5xrRy8Π$J Ϡ$-@000000000000000000015243bd421cdd06b340a831d07b251cbea8864922d97e"@000000000000000000033ac1578982e92fc3181b7eeeed2f5c5eead55cf315d52Р$-@000000000000000000180141fd29cbbe4aa40ea33e95752e3f1be6385184e430"@000000000000000000015243bd421cdd06b340a831d07b251cbea8864922d97e2;Ѡ$-@000000000000000000019795dd2928c1955c30b04a31093fc3070478de360ca6"@000000000000000000180141fd29cbbe4aa40ea33e95752e3f1be6385184e4302: + + +1@1a993224111358d496bbfa49d37630dba6b1542ef2831146952a8653659a9d99Ѡ$"@000000000000000000019795dd2928c1955c30b04a31093fc3070478de360ca6(-2 +@bfd7a8c449534d4b1c2d0899f4c16ce607677308afef511703b5fc5b0384718eB02e8327c06bec16392e640312e334cfbcc7153b56211eeadcdd333738de99e9c222 +@c5dc4cdd4f8088b87aa3b39671d2e686a4349da5764c48e1915f520b7123ae36B02d4d3e700e4df50a2e7778f297267a2e729a82da69ca5edc6d90916df91adac4dB +@1a993224111358d496bbfa49d37630dba6b1542ef2831146952a8653659a9d99""1F7VFThRHibR5G9ezhThg6os4X5gXcrKnE"UOP_DUP OP_HASH160 9acbd68cb55156e6caa9603dc42f46ede0e05d5f OP_EQUALVERIFY OP_CHECKSIG*276a9149acbd68cb55156e6caa9603dc42f46ede0e05d5f88ac*"1F7VFThRHibR5G9ezhThg6os4X5gXcrKnE8Ѡ$J  +@1a993224111358d496bbfa49d37630dba6b1542ef2831146952a8653659a9d99""1FPLQEsgyp2drdy1ecPdpwgYA7pxMnWJRV"UOP_DUP OP_HASH160 9dcb1b646a8e25b7858d852c36a4cd1bed428d03 OP_EQUALVERIFY OP_CHECKSIG*276a9149dcb1b646a8e25b7858d852c36a4cd1bed428d0388ac*"1FPLQEsgyp2drdy1ecPdpwgYA7pxMnWJRV8Ѡ$J  +:@1a993224111358d496bbfa49d37630dba6b1542ef2831146952a8653659a9d99""15pynRbgw5pYKa7U93xM9ehtcoX31W4E34"UOP_DUP OP_HASH160 34f3741b970036741724fb319bf9e3778e03d35a OP_EQUALVERIFY OP_CHECKSIG*276a91434f3741b970036741724fb319bf9e3778e03d35a88ac*"15pynRbgw5pYKa7U93xM9ehtcoX31W4E348Ѡ$J  + + +1@21c8125b7d67a28221242181ac7ce5c989c197677fb4e2cf1451fe6921b717e5Ѡ$"@000000000000000000019795dd2928c1955c30b04a31093fc3070478de360ca6(-2 +@90d35277ea1578d99cc8c60239eb8810b9a3e0b19948e53436bcbbcda0df0087B03495e759a2e704241f22dfb87906c2c87dfb58811881e5940a0630e33a741e4e42 +@2549e5b0bff69c06e2d028ff7713840a317e483b60b64a7ba4c2639dba83db71B020a006778388888cbd9afce2d2df5c8c300b6d8a2e9df3e5e18e5f56319135a67B +@21c8125b7d67a28221242181ac7ce5c989c197677fb4e2cf1451fe6921b717e5""14Sn78mmc4SRChuuDzFVSwRyC14PjVN6HY"UOP_DUP OP_HASH160 25c86dc4fef9354b4834b3573243d1af66158c3a OP_EQUALVERIFY OP_CHECKSIG*276a91425c86dc4fef9354b4834b3573243d1af66158c3a88ac*"14Sn78mmc4SRChuuDzFVSwRyC14PjVN6HY8Ѡ$J  +@21c8125b7d67a28221242181ac7ce5c989c197677fb4e2cf1451fe6921b717e5""17HuGQuTimFSotZZ14qAhbQrFoCZQZEpfH"UOP_DUP OP_HASH160 45030a110e6ee03cd1ccd86e482659b58b186110 OP_EQUALVERIFY OP_CHECKSIG*276a91445030a110e6ee03cd1ccd86e482659b58b18611088ac*"17HuGQuTimFSotZZ14qAhbQrFoCZQZEpfH8Ѡ$J  +d@21c8125b7d67a28221242181ac7ce5c989c197677fb4e2cf1451fe6921b717e5""1C5rkbF9so1zvCRbmbUzezvpcvZBAY5fnN"UOP_DUP OP_HASH160 799493f6679fad19eeecd58febb62f26d4cd8f4f OP_EQUALVERIFY OP_CHECKSIG*276a914799493f6679fad19eeecd58febb62f26d4cd8f4f88ac*"1C5rkbF9so1zvCRbmbUzezvpcvZBAY5fnN8Ѡ$J ; + +1@966c322dc6b4242d221759f49716cae654f7a8d5c00f76313616ad7916a89440Ѡ$"@000000000000000000019795dd2928c1955c30b04a31093fc3070478de360ca6(-2 +@39b3491cfb88de3daec290686f56e4f11c5c715251650e76531875339fbf9795B03ceb3d79983d1546d9e5b5ea86eb91cf0442dd509ee3f6136e7c5e521a2db88a22 +@8427da20944c44564bf37d388186a236878f9d227eaf2e4788a44b3007a7bbe6B03178280cb30067492ea3c9a3122a0ba849aaa7a15d57d1f3e1440325cbfb45fadB +#@966c322dc6b4242d221759f49716cae654f7a8d5c00f76313616ad7916a89440"!1G2BF1PmNU18cdR2zTrXYyVnXfTEunuaB"UOP_DUP OP_HASH160 02d738b9bf7b2c461bb036b79a64f9b3bafcc6b7 OP_EQUALVERIFY OP_CHECKSIG*276a91402d738b9bf7b2c461bb036b79a64f9b3bafcc6b788ac*!1G2BF1PmNU18cdR2zTrXYyVnXfTEunuaB8Ѡ$J  +@966c322dc6b4242d221759f49716cae654f7a8d5c00f76313616ad7916a89440"!1G2BF1PmNU18cdR2zTrXYyVnXfTEunuaB"UOP_DUP OP_HASH160 02d738b9bf7b2c461bb036b79a64f9b3bafcc6b7 OP_EQUALVERIFY OP_CHECKSIG*276a91402d738b9bf7b2c461bb036b79a64f9b3bafcc6b788ac*!1G2BF1PmNU18cdR2zTrXYyVnXfTEunuaB8Ѡ$J   +E@966c322dc6b4242d221759f49716cae654f7a8d5c00f76313616ad7916a89440""1KV75cBgxRPcecq8CZnKJTndCfHeJXrnrY"UOP_DUP OP_HASH160 cac2fc630937a6b388fb9f77e99fda6ece33ad4f OP_EQUALVERIFY OP_CHECKSIG*276a914cac2fc630937a6b388fb9f77e99fda6ece33ad4f88ac*"1KV75cBgxRPcecq8CZnKJTndCfHeJXrnrY8Ѡ$J  +@966c322dc6b4242d221759f49716cae654f7a8d5c00f76313616ad7916a89440"l"6OP_RETURN 1101d87c9b97e3aa0b5a0662eea9592e25edda95cb52*06a161101d87c9b97e3aa0b5a0662eea9592e25edda95cb522| ZbY.%ڕR8Ѡ$J  + +1@0b75e699a0b0ea87ad28e4e06b52efa9346716fd7f39c98bb65aaaa1e3b34881Ѡ$"@000000000000000000019795dd2928c1955c30b04a31093fc3070478de360ca6(-2 +@60223f991aa17f530b995e30e534a325054e45445ac90c272f8dba63a1a3c31cB02430efa281794fd23bc3638625d1e3b617da84f45e4fbc003456dec0fac4e99432 +@cbcce3b7ce39bfec878312b6f2a37d1798450b093f4473da0c39cd4ae5b641edB03506d37a0c1b51e2a6cee08cc7d44f24d6f74ac21dd287dc71b17135b2f9f0b32B +%@0b75e699a0b0ea87ad28e4e06b52efa9346716fd7f39c98bb65aaaa1e3b34881""12wwT8um3nN23avcPUbBcTdQrsetbCGCpv"UOP_DUP OP_HASH160 155c0a72d8b8f6c2443143b771c7e1ae8fd0cb78 OP_EQUALVERIFY OP_CHECKSIG*276a914155c0a72d8b8f6c2443143b771c7e1ae8fd0cb7888ac*"12wwT8um3nN23avcPUbBcTdQrsetbCGCpv8Ѡ$J  +І@0b75e699a0b0ea87ad28e4e06b52efa9346716fd7f39c98bb65aaaa1e3b34881""12wwT8um3nN23avcPUbBcTdQrsetbCGCpv"UOP_DUP OP_HASH160 155c0a72d8b8f6c2443143b771c7e1ae8fd0cb78 OP_EQUALVERIFY OP_CHECKSIG*276a914155c0a72d8b8f6c2443143b771c7e1ae8fd0cb7888ac*"12wwT8um3nN23avcPUbBcTdQrsetbCGCpv8Ѡ$J   +@0b75e699a0b0ea87ad28e4e06b52efa9346716fd7f39c98bb65aaaa1e3b34881""1CT8JPTRq9ZXMavknrVw9mDCvKMSgh2sib"UOP_DUP OP_HASH160 7d9a4acc141dabe5c7686a58dc709af9a71d18e2 OP_EQUALVERIFY OP_CHECKSIG*276a9147d9a4acc141dabe5c7686a58dc709af9a71d18e288ac*"1CT8JPTRq9ZXMavknrVw9mDCvKMSgh2sib8Ѡ$J  +@0b75e699a0b0ea87ad28e4e06b52efa9346716fd7f39c98bb65aaaa1e3b34881"l"6OP_RETURN 110134220fd531dec7b09ba20f7fa8c5ad3ee6f1ce98*06a16110134220fd531dec7b09ba20f7fa8c5ad3ee6f1ce9824"1ǰŭ>Θ8Ѡ$J  + +1@70a583abd81264f0019c809137e45861674de5615eb3f90ffe1c29301ff6e891Ѡ$"@000000000000000000019795dd2928c1955c30b04a31093fc3070478de360ca6(-2 +@a4eaf6930e79d5d8f92c14d36069bca2d82199c572f6b0fd84e01f0b662073fbB03bfbe251d4a57964ffa41885a8613d7c7bda0d21db1dfbceda2f2fba0e8b0f36c2 +@c2feda4e7e8015c44009c8c8f18e0e10e2258786ac767ea46d88000111f2244dB02e7c6cec566024430f5fe6d024789e051e8e2067351ad4eb837f69aec837d90dcB +"@70a583abd81264f0019c809137e45861674de5615eb3f90ffe1c29301ff6e891""1DcA4RMHiR6U1n1z166NivucPCFDYpjPXz"UOP_DUP OP_HASH160 8a47a14ed30f999719971f3662f7ed52d141b179 OP_EQUALVERIFY OP_CHECKSIG*276a9148a47a14ed30f999719971f3662f7ed52d141b17988ac*"1DcA4RMHiR6U1n1z166NivucPCFDYpjPXz8Ѡ$J  +I@70a583abd81264f0019c809137e45861674de5615eb3f90ffe1c29301ff6e891""1DcA4RMHiR6U1n1z166NivucPCFDYpjPXz"UOP_DUP OP_HASH160 8a47a14ed30f999719971f3662f7ed52d141b179 OP_EQUALVERIFY OP_CHECKSIG*276a9148a47a14ed30f999719971f3662f7ed52d141b17988ac*"1DcA4RMHiR6U1n1z166NivucPCFDYpjPXz8Ѡ$J   +@70a583abd81264f0019c809137e45861674de5615eb3f90ffe1c29301ff6e891""1LhHXZrtJ9uFzbvH7AZ3wYGEPNzXwkt14d"UOP_DUP OP_HASH160 d808d30cefac36d3eaea8c458d06023f72e1242c OP_EQUALVERIFY OP_CHECKSIG*276a914d808d30cefac36d3eaea8c458d06023f72e1242c88ac*"1LhHXZrtJ9uFzbvH7AZ3wYGEPNzXwkt14d8Ѡ$J  +@70a583abd81264f0019c809137e45861674de5615eb3f90ffe1c29301ff6e891"l"6OP_RETURN 11014411377d95ab80f23972cbcf81782e74e9399ebc*06a1611014411377d95ab80f23972cbcf81782e74e9399ebc2D7}9rρx.t98Ѡ$J Ҡ$ư-@000000000000000000199e5b821faf3dcdd14054844e29abdb4b72af30d20b73"@000000000000000000019795dd2928c1955c30b04a31093fc3070478de360ca62Ӡ$Л-@0000000000000000000ba3e9ce9fbc207fd5f83fd513f5804b1b376856233df2"@000000000000000000199e5b821faf3dcdd14054844e29abdb4b72af30d20b732Ԡ$-@0000000000000000000f1f2d087aae3bc35c7bd44c96d508dceafad111a86fd7"@0000000000000000000ba3e9ce9fbc207fd5f83fd513f5804b1b376856233df22ՠ$ȱ-@0000000000000000001088de93437040aabd17df2b9ee3835dfe784f81f67e01"@0000000000000000000f1f2d087aae3bc35c7bd44c96d508dceafad111a86fd72֠$-@000000000000000000113750255d7ba09066224caca7c36a564302dbc32a1834"@0000000000000000001088de93437040aabd17df2b9ee3835dfe784f81f67e012נ$-@00000000000000000002f4877917a422a3d39871353cda63c67f0a6932ea92fc"@000000000000000000113750255d7ba09066224caca7c36a564302dbc32a18342 + +1@0075eaf34408705c063acc436857597867edf061fcace5078d3a381c5dc22abdנ$"@00000000000000000002f4877917a422a3d39871353cda63c67f0a6932ea92fc(-2 +@9f207717822e3fe4fc32b69542c86cc7bb2dd137ad8cd667f0d44920b0c67a9cB0364632a0ed7e2569bfce00b8c0a2abb6c79277ba963fc6f82bf3fdb278f97d7342 +@30b34b1eb9b92b94e594837e555ac971c6e39bdb8a77b51aafb9c898f021d34dB02142d37d3ae7594ee1bd8e935c8d440c82c6f671f6308a4a9a3a28ac2415bb4e82 +@9f207717822e3fe4fc32b69542c86cc7bb2dd137ad8cd667f0d44920b0c67a9cB033a4f22c5c11e5f27f3a8d447f2a4318bf4a4e4fb9e231d9fc7ddc7866aa82fd2B +!@0075eaf34408705c063acc436857597867edf061fcace5078d3a381c5dc22abd""1BWqmWKKTwPDBrowpRuMKJ8LuVoBHvC87w"UOP_DUP OP_HASH160 735607973633d617041eff7c6f17f1ea7fa202b8 OP_EQUALVERIFY OP_CHECKSIG*276a914735607973633d617041eff7c6f17f1ea7fa202b888ac*"1BWqmWKKTwPDBrowpRuMKJ8LuVoBHvC87w8נ$J  +\@0075eaf34408705c063acc436857597867edf061fcace5078d3a381c5dc22abd""1AdwuLmkKtj24hZoM9waLKRK6u7sYpwVi5"UOP_DUP OP_HASH160 69b5efd9df8e00392d63f283ecbbee1ab1ab07e0 OP_EQUALVERIFY OP_CHECKSIG*276a91469b5efd9df8e00392d63f283ecbbee1ab1ab07e088ac*"1AdwuLmkKtj24hZoM9waLKRK6u7sYpwVi58נ$J  +Z@0075eaf34408705c063acc436857597867edf061fcace5078d3a381c5dc22abd""14NMFnic3XB5dQvKH2mZBtmNXF5AJNTNoH"UOP_DUP OP_HASH160 24f205427fbf775ba3d0b7dd0c504b9809c8f658 OP_EQUALVERIFY OP_CHECKSIG*276a91424f205427fbf775ba3d0b7dd0c504b9809c8f65888ac*"14NMFnic3XB5dQvKH2mZBtmNXF5AJNTNoH8נ$J & + +1@cb3c35dcb32c70e1f9f2603850b48486be91a3e1e5aff442aa7ab81416b29e6aנ$"@00000000000000000002f4877917a422a3d39871353cda63c67f0a6932ea92fc(-2 +@0075eaf34408705c063acc436857597867edf061fcace5078d3a381c5dc22abdB0326f78b4b84a61e4a038abcbbeac9ef02fbbdafa179375b8cfa0c278097575bc72 +@ddae2e41fdc49c9098310e43687a6c1f3c436a0a65d9d716d1d2deca7151893fB032a6059fb0c15c983a02aff9e9c310effa190208a0391c85e4ec47815cbb881bf2 +@9f207717822e3fe4fc32b69542c86cc7bb2dd137ad8cd667f0d44920b0c67a9cB0318b3486792af33c261e60fc619e6427a03bf586973662f564c56f934fa8c1127B +!@cb3c35dcb32c70e1f9f2603850b48486be91a3e1e5aff442aa7ab81416b29e6a""1JYUFbSG8TERdJUPA8apbkQGWH7Y4ZV5oj"UOP_DUP OP_HASH160 c06dc819c0871840a45bcf251cc2674f9e24c3e1 OP_EQUALVERIFY OP_CHECKSIG*276a914c06dc819c0871840a45bcf251cc2674f9e24c3e188ac*"1JYUFbSG8TERdJUPA8apbkQGWH7Y4ZV5oj8נ$J  +[@cb3c35dcb32c70e1f9f2603850b48486be91a3e1e5aff442aa7ab81416b29e6a""13ZhEesFJeNq9EjoxkszzjzRFNGJqJYzD2"UOP_DUP OP_HASH160 1c1f262f62636dabdff30f3867f1664383fdaf41 OP_EQUALVERIFY OP_CHECKSIG*276a9141c1f262f62636dabdff30f3867f1664383fdaf4188ac*"13ZhEesFJeNq9EjoxkszzjzRFNGJqJYzD28נ$J  +"@cb3c35dcb32c70e1f9f2603850b48486be91a3e1e5aff442aa7ab81416b29e6a""17UbSedmNMwhSe2nsnZYK8jWCE9Vi4npro"UOP_DUP OP_HASH160 4708bc9125eca52e36f002243db8e741a9110c0d OP_EQUALVERIFY OP_CHECKSIG*276a9144708bc9125eca52e36f002243db8e741a9110c0d88ac*"17UbSedmNMwhSe2nsnZYK8jWCE9Vi4npro8נ$J  ؠ$-@000000000000000000081c0440b256a7030c6ce99c583eadecef2ab30d319a8e"@00000000000000000002f4877917a422a3d39871353cda63c67f0a6932ea92fc2 + + +1@c34e402fe96985bb16c91af5b3342eb25d27d3fd88ca1c225bf28344865ef493ؠ$"@000000000000000000081c0440b256a7030c6ce99c583eadecef2ab30d319a8e(-2 +@90a808642f7d296dfa3b8a25f406d28ce0a3722fbf440a1bedc1da095f938466B029d6840a2843a8b102b511b81b54c8254ed4e5921cfe463d10f2fb50a44d5f89d2 +@e5b89764e0f2dcd9e089cb2065b83bc9b9be1dd34f92bddf199833c4e02aad91B030955858ecfbdd9f6c24d2e9a04520c36d9809910a593f0369383352c7757f728B +е@c34e402fe96985bb16c91af5b3342eb25d27d3fd88ca1c225bf28344865ef493""149hUZZpgr3684MMAFABG7JdEkLiLhmzmh"UOP_DUP OP_HASH160 228d7df64b2feb5504fa12969e1413ade3bf9711 OP_EQUALVERIFY OP_CHECKSIG*276a914228d7df64b2feb5504fa12969e1413ade3bf971188ac*"149hUZZpgr3684MMAFABG7JdEkLiLhmzmh8ؠ$J  +@c34e402fe96985bb16c91af5b3342eb25d27d3fd88ca1c225bf28344865ef493""15oeJ6WFi31QZzY5txWvsG7RTJdUJm5mwC"UOP_DUP OP_HASH160 34b2c4fb387d53a2b662f3113ca80e9696da4770 OP_EQUALVERIFY OP_CHECKSIG*276a91434b2c4fb387d53a2b662f3113ca80e9696da477088ac*"15oeJ6WFi31QZzY5txWvsG7RTJdUJm5mwC8ؠ$J  +f@c34e402fe96985bb16c91af5b3342eb25d27d3fd88ca1c225bf28344865ef493""1NXzkCNDUBnMHQWaSJmGcPQcy19m8dc98J"UOP_DUP OP_HASH160 ec3752bddb1efa27191df2a16845bc2b6e809bbf OP_EQUALVERIFY OP_CHECKSIG*276a914ec3752bddb1efa27191df2a16845bc2b6e809bbf88ac*"1NXzkCNDUBnMHQWaSJmGcPQcy19m8dc98J8ؠ$J  + + +1@002b8064905b1dc4e8fe87dbff0274e6c64de79f2d392bed449c7efe60a924f2ؠ$"@000000000000000000081c0440b256a7030c6ce99c583eadecef2ab30d319a8e(-2 +@f826c9e2a57e9fd2959882aa6a69092cad9c49aaa0cbcb1576c8463cc88d9bc8B03b05322280a6658ed0e1640bf4cf611ca23c0a07463b642f2441f2cbe7bf0cdf12 +@a539409bfd258100fa371b2cb72d1238df70777a6f245e496c1b7e40b0620508B0342cd35e1dc8922d5f26cf672acf2c2ea4f31280cb7d5bc2374b80c3db244215cB +@002b8064905b1dc4e8fe87dbff0274e6c64de79f2d392bed449c7efe60a924f2""1NoZPfqhFCrBZmZkx4sUEfc1usnoYXsgwU"UOP_DUP OP_HASH160 ef28d07126f8e307a774e9600481ebdd1047d5b3 OP_EQUALVERIFY OP_CHECKSIG*276a914ef28d07126f8e307a774e9600481ebdd1047d5b388ac*"1NoZPfqhFCrBZmZkx4sUEfc1usnoYXsgwU8ؠ$J  +@002b8064905b1dc4e8fe87dbff0274e6c64de79f2d392bed449c7efe60a924f2"!1aeCCYs3NXcMH1xrkLJQaDg94f9Ck3RXF"UOP_DUP OP_HASH160 065cc6229de4c18c81181bb346e700cf186ea18b OP_EQUALVERIFY OP_CHECKSIG*276a914065cc6229de4c18c81181bb346e700cf186ea18b88ac*!1aeCCYs3NXcMH1xrkLJQaDg94f9Ck3RXF8ؠ$J  +b@002b8064905b1dc4e8fe87dbff0274e6c64de79f2d392bed449c7efe60a924f2""18kBEwPNHvPqWHk6hPgBKw3VyrKDS4weUS"UOP_DUP OP_HASH160 54f350a51cd39e9586bfa63d2f013f5ee9af21b8 OP_EQUALVERIFY OP_CHECKSIG*276a91454f350a51cd39e9586bfa63d2f013f5ee9af21b888ac*"18kBEwPNHvPqWHk6hPgBKw3VyrKDS4weUS8ؠ$J ٠$-@00000000000000000007ac5899998176135e1630657c3dd2dcf3627472ac49c6"@000000000000000000081c0440b256a7030c6ce99c583eadecef2ab30d319a8e2ڠ$Բ-@000000000000000000039ce42d0a21936d83f8ce1f5b4ad0a74993b84ecb0136"@00000000000000000007ac5899998176135e1630657c3dd2dcf3627472ac49c62۠$-@0000000000000000000933d70117bcc7a039c6f1da6844a8e4893a0ecc9f51a2"@000000000000000000039ce42d0a21936d83f8ce1f5b4ad0a74993b84ecb01362 ܠ$-@0000000000000000001166830a8b50e7f63319298187958326bea49bdc6b564d"@0000000000000000000933d70117bcc7a039c6f1da6844a8e4893a0ecc9f51a22 + + + +1@f3179b2e49604ba29c555ae02aeac0dcc872a514b6227226eca573308ef08694ܠ$"@0000000000000000001166830a8b50e7f63319298187958326bea49bdc6b564d(-2 +@002b8064905b1dc4e8fe87dbff0274e6c64de79f2d392bed449c7efe60a924f2B02accab54e4bcd8318b22be64835d531d4f6ae2f3abcc2f98399a303c833b21b4d2 +@1f578257286d0b341fbf21a825dc810cf17758141b0bf11d599ffd36fc15b41aB035f15eed4c34389bc369a7f0442c1678821ec8ac6aaaafa9ed7323a2542220349B +@f3179b2e49604ba29c555ae02aeac0dcc872a514b6227226eca573308ef08694""1D8UJsB21zAtE7Ykzz4ZaAJZref1fbjn5o"UOP_DUP OP_HASH160 850b377b2e6283d603c9616d9e01cd7a333fac9a OP_EQUALVERIFY OP_CHECKSIG*276a914850b377b2e6283d603c9616d9e01cd7a333fac9a88ac*"1D8UJsB21zAtE7Ykzz4ZaAJZref1fbjn5o8ܠ$J  +@f3179b2e49604ba29c555ae02aeac0dcc872a514b6227226eca573308ef08694""1KCyW6os2PTPnzzvXsdsXoM9CnVkVyBtN2"UOP_DUP OP_HASH160 c7b60144a6002ef81a233b3037c93d0a7c6d0df4 OP_EQUALVERIFY OP_CHECKSIG*276a914c7b60144a6002ef81a233b3037c93d0a7c6d0df488ac*"1KCyW6os2PTPnzzvXsdsXoM9CnVkVyBtN28ܠ$J  +@f3179b2e49604ba29c555ae02aeac0dcc872a514b6227226eca573308ef08694""18RH69t1oNd9eXGnJdhQE5g8yWebebBquw"UOP_DUP OP_HASH160 51604b3a8b967bd1832822951e03f3d1d2308523 OP_EQUALVERIFY OP_CHECKSIG*276a91451604b3a8b967bd1832822951e03f3d1d230852388ac*"18RH69t1oNd9eXGnJdhQE5g8yWebebBquw8ܠ$J ݠ$-@0000000000000000000c87cc0ccfa1deab1d277c7fb983a1e11b51afb50605f1"@0000000000000000001166830a8b50e7f63319298187958326bea49bdc6b564d2 + + +1@8103771c753d7323881e99b0d5e3aff1eb58029bcb77c79335ead2a8062f699cݠ$"@0000000000000000000c87cc0ccfa1deab1d277c7fb983a1e11b51afb50605f1(-2 +@835ad10613479b0ffd0c253799f6518078ada8cd9c053a576b5851a353bde053B021dadc941f47388464516b7c39b4917703f5f74e7b46d7faa8ad7b9642b1c2ac52 +@27a7906425a399dda85fb226518800402018967a46ece7972a91d29dc7c44126B02c05e12c24351c73f2665dfe0abf69d8f0aae82abfe95e93f55113ef1c9c9bc83B +L@8103771c753d7323881e99b0d5e3aff1eb58029bcb77c79335ead2a8062f699c"!1NRVySHvV1ZheniWSUQuicurBtRKV33mF"UOP_DUP OP_HASH160 040d2fb6921e67be844f0ef93566f9b84e988ca3 OP_EQUALVERIFY OP_CHECKSIG*276a914040d2fb6921e67be844f0ef93566f9b84e988ca388ac*!1NRVySHvV1ZheniWSUQuicurBtRKV33mF8ݠ$J  + @8103771c753d7323881e99b0d5e3aff1eb58029bcb77c79335ead2a8062f699c""13U5zV2pt64MqUNJzv2apAZjntx3Zx8wYB"UOP_DUP OP_HASH160 1b0fa61d997408105c3e178e13bf46cc6b01e795 OP_EQUALVERIFY OP_CHECKSIG*276a9141b0fa61d997408105c3e178e13bf46cc6b01e79588ac*"13U5zV2pt64MqUNJzv2apAZjntx3Zx8wYB8ݠ$J  +u@8103771c753d7323881e99b0d5e3aff1eb58029bcb77c79335ead2a8062f699c""1A3yxd2Qm7b3Ns3wfEgejpwQrGYEH2vwvn"UOP_DUP OP_HASH160 634982cd317721c7806b4db33313bc7d2386ffaa OP_EQUALVERIFY OP_CHECKSIG*276a914634982cd317721c7806b4db33313bc7d2386ffaa88ac*"1A3yxd2Qm7b3Ns3wfEgejpwQrGYEH2vwvn8ݠ$J  + +1@1f6d743f27d411db665cddd1b3782c37ce5c4b7b447600261fe3241ce8451be1ݠ$"@0000000000000000000c87cc0ccfa1deab1d277c7fb983a1e11b51afb50605f1(-2 +@8103771c753d7323881e99b0d5e3aff1eb58029bcb77c79335ead2a8062f699cB02624455e2984b93238ee4abb500c3dc79837b7594da48d6eb39545094c2e466a22 +@835ad10613479b0ffd0c253799f6518078ada8cd9c053a576b5851a353bde053B02ac803d8703f65aed2938cf83de5dd2cfca8149ce5816081bdf99f6c8923f8d522 +@b073b895387e058f778e954f0ba57a9985efed06a28e03c8a6c094a86627f456B02ebe0c021cf3091b25f295a37ce587cbfd547062a543513a577e29394812a0494B +L@1f6d743f27d411db665cddd1b3782c37ce5c4b7b447600261fe3241ce8451be1""12agoP4Nzwsk8iX19rejAKRxND1HHr5bar"UOP_DUP OP_HASH160 1157135af0c07e39695de1a39d0e03059a10fcfd OP_EQUALVERIFY OP_CHECKSIG*276a9141157135af0c07e39695de1a39d0e03059a10fcfd88ac*"12agoP4Nzwsk8iX19rejAKRxND1HHr5bar8ݠ$J  + @1f6d743f27d411db665cddd1b3782c37ce5c4b7b447600261fe3241ce8451be1""1GYtWyJs2vxb4AYSVRzbKeLzVkscb8ZDRt"UOP_DUP OP_HASH160 aa91c91bbffea063bad45f893ffc9bb82c6947e6 OP_EQUALVERIFY OP_CHECKSIG*276a914aa91c91bbffea063bad45f893ffc9bb82c6947e688ac*"1GYtWyJs2vxb4AYSVRzbKeLzVkscb8ZDRt8ݠ$J  + @1f6d743f27d411db665cddd1b3782c37ce5c4b7b447600261fe3241ce8451be1""13zHBQ8KbYkvoikkmp1Wfz2a3xFp6NjsK7"UOP_DUP OP_HASH160 20c57799111577545e1fe97240c6218e3827b735 OP_EQUALVERIFY OP_CHECKSIG*276a91420c57799111577545e1fe97240c6218e3827b73588ac*"13zHBQ8KbYkvoikkmp1Wfz2a3xFp6NjsK78ݠ$J  ޠ$𷖴-@000000000000000000126ad992e2f9c5216c1b3d396b98ca7a72ad54936adf7d"@0000000000000000000c87cc0ccfa1deab1d277c7fb983a1e11b51afb50605f12-ߠ$Ι-@00000000000000000013999613690e35e87c1428c7333db7ad79d4b14ece7337"@000000000000000000126ad992e2f9c5216c1b3d396b98ca7a72ad54936adf7d2, + + +1@ab4ed77c4179a112c23918e014b97ee80f4c15f524dd2a558f87bcb30a0eab2bߠ$"@00000000000000000013999613690e35e87c1428c7333db7ad79d4b14ece7337(Ι-2 +@d31f038a0e360017a5a13e6354dc556ed2d1b68db6faef85b288dcb0b1858cf4B03c3a6d156ec52b1874f7e8bdd673a8b6a044c87de552746d06fcdc2ca496d271a2 +@9fbf0e242ab8b5bd75d9c2d51ce3c729a4347bdabbd5b7f4349b3c935b22bc2fB03d8ef2f7614c41678d4dddfc24b7eafe5a3a45cbde4b54146062b5b571f213005B +@ab4ed77c4179a112c23918e014b97ee80f4c15f524dd2a558f87bcb30a0eab2b""1N6Z8gBgH9edNnCWM3d2jWArLvrnLACRdm"UOP_DUP OP_HASH160 e7678b43206ecdb159cb0bcbecf0d918630d55dc OP_EQUALVERIFY OP_CHECKSIG*276a914e7678b43206ecdb159cb0bcbecf0d918630d55dc88ac*"1N6Z8gBgH9edNnCWM3d2jWArLvrnLACRdm8ߠ$J  + @ab4ed77c4179a112c23918e014b97ee80f4c15f524dd2a558f87bcb30a0eab2b""16Np8kAQBGWmFU6KrYYYDeSrjdwAHgNkiE"UOP_DUP OP_HASH160 3af8b58dfbcffc5142764ed74afe57d14dc1eb14 OP_EQUALVERIFY OP_CHECKSIG*276a9143af8b58dfbcffc5142764ed74afe57d14dc1eb1488ac*"16Np8kAQBGWmFU6KrYYYDeSrjdwAHgNkiE8ߠ$J  +@ab4ed77c4179a112c23918e014b97ee80f4c15f524dd2a558f87bcb30a0eab2b""1D3jZHrHGa8U23ks1RDCVcpd3uVFCbjyFt"UOP_DUP OP_HASH160 8425ddaba9026211b59ac416d6c0a176c27b0d2a OP_EQUALVERIFY OP_CHECKSIG*276a9148425ddaba9026211b59ac416d6c0a176c27b0d2a88ac*"1D3jZHrHGa8U23ks1RDCVcpd3uVFCbjyFt8ߠ$J  + + +1@2c29aab20dd1af55c1ec177353d6de72113ba96eae392eb84082ab6b28a07291ߠ$"@00000000000000000013999613690e35e87c1428c7333db7ad79d4b14ece7337(Ι-2 +@60588a786d36b78628228c787aca6e18163be63feadbba7fcd3e678f6f83ad8dB0345b0b30759be1f44af6e05c5c179f071fd68bd974552f1e1d8db137712ba37772 +@b36892436b5d353a3528c41a0fcaa584b32bd4189856932e1190e341ca17ae63B0250ddb9ea7905218da05773ba94e383e1d1aaefdb893a85afa86544e4a45aae79B +@2c29aab20dd1af55c1ec177353d6de72113ba96eae392eb84082ab6b28a07291""1HjwgGSuyhHTsiEztxgwjseHW9aNDoh563"UOP_DUP OP_HASH160 b7a1200016617dde5bf45d2a7947bd36aaea84ba OP_EQUALVERIFY OP_CHECKSIG*276a914b7a1200016617dde5bf45d2a7947bd36aaea84ba88ac*"1HjwgGSuyhHTsiEztxgwjseHW9aNDoh5638ߠ$J  +@2c29aab20dd1af55c1ec177353d6de72113ba96eae392eb84082ab6b28a07291""15YkBE6z2J2GxEteSZ3XorvXyXCozpw8ym"UOP_DUP OP_HASH160 31e170915f3e3213848f47d26ad346edab3b9e30 OP_EQUALVERIFY OP_CHECKSIG*276a91431e170915f3e3213848f47d26ad346edab3b9e3088ac*"15YkBE6z2J2GxEteSZ3XorvXyXCozpw8ym8ߠ$J  +<@2c29aab20dd1af55c1ec177353d6de72113ba96eae392eb84082ab6b28a07291""113PuCqYbWaRYrV9Ezf1F63Yzs7u7R2Xu2"UOP_DUP OP_HASH160 0073f2ac2d4751c7f419d9e85fb3cd23b74e3250 OP_EQUALVERIFY OP_CHECKSIG*276a9140073f2ac2d4751c7f419d9e85fb3cd23b74e325088ac*"113PuCqYbWaRYrV9Ezf1F63Yzs7u7R2Xu28ߠ$J  + + +1@30c2fa95e9c14bf72a2455995946cec7d16d66ab743cf6caf5c7ed55c76e8896ߠ$"@00000000000000000013999613690e35e87c1428c7333db7ad79d4b14ece7337(Ι-2 +@1fdbaadf798bfa8643c151de5270a9713aa9a4f5a858842761fa872a3459472dB0296a20378b4769b1cceb0dcae067e6f6576d318c422bdff01526deae01dbad7ab2 +@1fdbaadf798bfa8643c151de5270a9713aa9a4f5a858842761fa872a3459472dB027a43e44435a28da4935ed01644e6d71ac95d7fc81e2958e4da390f0bc81c14beB +ń@30c2fa95e9c14bf72a2455995946cec7d16d66ab743cf6caf5c7ed55c76e8896""1FpS99kTSLSvpnDX7c4XKs3a9J3LmsjgM8"UOP_DUP OP_HASH160 a28a4c24c6426fdae12a7787cc65154c83a342f5 OP_EQUALVERIFY OP_CHECKSIG*276a914a28a4c24c6426fdae12a7787cc65154c83a342f588ac*"1FpS99kTSLSvpnDX7c4XKs3a9J3LmsjgM88ߠ$J  +@30c2fa95e9c14bf72a2455995946cec7d16d66ab743cf6caf5c7ed55c76e8896""1Ejh253pPSwNou31v8H74inG5mq3SvA2Jq"UOP_DUP OP_HASH160 96ac82e48a3810aab4d1491a9250c65538c8fc03 OP_EQUALVERIFY OP_CHECKSIG*276a91496ac82e48a3810aab4d1491a9250c65538c8fc0388ac*"1Ejh253pPSwNou31v8H74inG5mq3SvA2Jq8ߠ$J  +ڮ_@30c2fa95e9c14bf72a2455995946cec7d16d66ab743cf6caf5c7ed55c76e8896""18Z32FLe9NKNrJCro4VrQjZ5aiVk5avLNi"UOP_DUP OP_HASH160 52d7e0f473e98c69a9705b924b9fda5c6f65b0fa OP_EQUALVERIFY OP_CHECKSIG*276a91452d7e0f473e98c69a9705b924b9fda5c6f65b0fa88ac*"18Z32FLe9NKNrJCro4VrQjZ5aiVk5avLNi8ߠ$J  + +1@fb84aa275790e572c33575a4a3c242a0219e58dca578939bed4e5aeeb7db8544ߠ$"@00000000000000000013999613690e35e87c1428c7333db7ad79d4b14ece7337(Ι-2 +@b1fcc3fe52def0794a4bafec6cba96ec5418bd23d5e0d3920fb0876c60e658d0B03ff6039364969709d849f1caa2f08640b2f0b01728e5732764cdea4682380ee6a2 +@dce11b921ee4aa81a183c0cf59916b5c4410d26914c8543c6c43963cb64ee0e8B02885b386baaf03d755c4072d78a792dd1214dcad200945038d95b2566f8359f66B +@fb84aa275790e572c33575a4a3c242a0219e58dca578939bed4e5aeeb7db8544""1Dw7x5xeT1i4U9jZCM4MpYL6YXnjqBE7PY"UOP_DUP OP_HASH160 8dddc5cfbeea7b6ec617db1e6bbc5f5524988fde OP_EQUALVERIFY OP_CHECKSIG*276a9148dddc5cfbeea7b6ec617db1e6bbc5f5524988fde88ac*"1Dw7x5xeT1i4U9jZCM4MpYL6YXnjqBE7PY8ߠ$J  +@fb84aa275790e572c33575a4a3c242a0219e58dca578939bed4e5aeeb7db8544""1Dw7x5xeT1i4U9jZCM4MpYL6YXnjqBE7PY"UOP_DUP OP_HASH160 8dddc5cfbeea7b6ec617db1e6bbc5f5524988fde OP_EQUALVERIFY OP_CHECKSIG*276a9148dddc5cfbeea7b6ec617db1e6bbc5f5524988fde88ac*"1Dw7x5xeT1i4U9jZCM4MpYL6YXnjqBE7PY8ߠ$J   + @fb84aa275790e572c33575a4a3c242a0219e58dca578939bed4e5aeeb7db8544""13FggH59ehVWGZkuCnviSkc2t1AGmcibRy"UOP_DUP OP_HASH160 18b732257351d4326d3dc91e5b6e980598e5c567 OP_EQUALVERIFY OP_CHECKSIG*276a91418b732257351d4326d3dc91e5b6e980598e5c56788ac*"13FggH59ehVWGZkuCnviSkc2t1AGmcibRy8ߠ$J  +@fb84aa275790e572c33575a4a3c242a0219e58dca578939bed4e5aeeb7db8544"l"6OP_RETURN 1101d7092ec7ac221d5cee3f57876abcad9c843974e5*06a161101d7092ec7ac221d5cee3f57876abcad9c843974e52 .Ǭ"\?Wj9t8ߠ$J  $-@0000000000000000000b78aa3a17b9b89db25ce3092c8760ed1888a9c52daa41"@00000000000000000013999613690e35e87c1428c7333db7ad79d4b14ece73372 + + + +1@ba217235e8810ea3354ef65adeafd00e817fe65a1f4400e0da60b2e1ca5016c5$"@0000000000000000000b78aa3a17b9b89db25ce3092c8760ed1888a9c52daa41(-2 +@ab4ed77c4179a112c23918e014b97ee80f4c15f524dd2a558f87bcb30a0eab2bB032ee8e98c6a9ae1bf88d1d962a0c883b9b73fd02078b44c960bc5a1dd3b1942212 +@353dd707c4358f94e112cd12484a33e900bd519070dfcd0eb21b855e3956412dB03fcfa826df6fd2476ab82d1cc01bade97ee287661907b507cd72920f0ab072f28B +@ba217235e8810ea3354ef65adeafd00e817fe65a1f4400e0da60b2e1ca5016c5""13Cf69MQ4F97p5SSxqYxT6QdNwf37r1jtF"UOP_DUP OP_HASH160 18249f3a59afc25512349195bd4d7e89e17a92d7 OP_EQUALVERIFY OP_CHECKSIG*276a91418249f3a59afc25512349195bd4d7e89e17a92d788ac*"13Cf69MQ4F97p5SSxqYxT6QdNwf37r1jtF8$J  +[@ba217235e8810ea3354ef65adeafd00e817fe65a1f4400e0da60b2e1ca5016c5""1852o2DJdeZjDFL6cMg43nkBrC23zsko1M"UOP_DUP OP_HASH160 4d8c0a9bed741d9492ffcb7bf5e56cd8bf45fcf9 OP_EQUALVERIFY OP_CHECKSIG*276a9144d8c0a9bed741d9492ffcb7bf5e56cd8bf45fcf988ac*"1852o2DJdeZjDFL6cMg43nkBrC23zsko1M8$J  +ǃ@ba217235e8810ea3354ef65adeafd00e817fe65a1f4400e0da60b2e1ca5016c5""1K4EZ2nrGgVArPyoom1QBLq6rcAh26CRff"UOP_DUP OP_HASH160 c60ed329312b6b1ec0620e50c66c05a2fd734265 OP_EQUALVERIFY OP_CHECKSIG*276a914c60ed329312b6b1ec0620e50c66c05a2fd73426588ac*"1K4EZ2nrGgVArPyoom1QBLq6rcAh26CRff8$J  $-@0000000000000000000e17db29024ebdd569dc274828bf9a5e1cf682b7cd0047"@0000000000000000000b78aa3a17b9b89db25ce3092c8760ed1888a9c52daa412$л-@00000000000000000019b9f534d964233a66645dfa87630789721163c5aa26b8"@0000000000000000000e17db29024ebdd569dc274828bf9a5e1cf682b7cd00472$Ĵ-@0000000000000000000ce196552e43e2bedba3260a7e41a34a201191e8c172af"@00000000000000000019b9f534d964233a66645dfa87630789721163c5aa26b82$ش-@00000000000000000018daba4a79fbcd91e881f7c9ba033cbb7999b6250fd7b2"@0000000000000000000ce196552e43e2bedba3260a7e41a34a201191e8c172af2$-@00000000000000000006bf487f6795abb2fe5c140f5c9b3f2ac3f2d7ad2ff64b"@00000000000000000018daba4a79fbcd91e881f7c9ba033cbb7999b6250fd7b22$-@0000000000000000000fad24d96e23d4816f9f73077f3775a368ff09ed10ae22"@00000000000000000006bf487f6795abb2fe5c140f5c9b3f2ac3f2d7ad2ff64b2$׵-@00000000000000000015286903c35c65c8c208aff597ada1e75b5703bd2daddb"@0000000000000000000fad24d96e23d4816f9f73077f3775a368ff09ed10ae222$-@00000000000000000015e5f46302b3489944564cd7c20ead95e348729731ee5c"@00000000000000000015286903c35c65c8c208aff597ada1e75b5703bd2daddb2E$-@0000000000000000000a85c2da8208c6d8180ae98221e35e5870f10aeb69b7fc"@00000000000000000015e5f46302b3489944564cd7c20ead95e348729731ee5c2D + + +1@ff32e7c27cf31aa6d6da6a82c5bacd298fbc5b105b839ed1b7c79785d2d09600$"@0000000000000000000a85c2da8208c6d8180ae98221e35e5870f10aeb69b7fc(-2 +@d6ab19178ef9194aa40934b4731b91563363388d82944a790f3b0ca67b2d9cddB025814df2816d0d51c46f02a3c69ef73ae06bfba7e5d4e5c50851f98a557ed92202 +@d6ab19178ef9194aa40934b4731b91563363388d82944a790f3b0ca67b2d9cddB03b370e15b7894a7c3813c7789df72deb877f22ac816167f2b077cff20929489e7B +4@ff32e7c27cf31aa6d6da6a82c5bacd298fbc5b105b839ed1b7c79785d2d09600""1NbTxk1eKHLBHeY9LAq5942ER9YShqtQpM"UOP_DUP OP_HASH160 ecdf4a455e15d581e9cec30d45f1de74d34bee93 OP_EQUALVERIFY OP_CHECKSIG*276a914ecdf4a455e15d581e9cec30d45f1de74d34bee9388ac*"1NbTxk1eKHLBHeY9LAq5942ER9YShqtQpM8$J  +@ff32e7c27cf31aa6d6da6a82c5bacd298fbc5b105b839ed1b7c79785d2d09600""18tRjNe8PVVqog7cj4eds7nNsfF4mmSowv"UOP_DUP OP_HASH160 5682bd137c12ec6d46294235ce699e2cfcc8c5f1 OP_EQUALVERIFY OP_CHECKSIG*276a9145682bd137c12ec6d46294235ce699e2cfcc8c5f188ac*"18tRjNe8PVVqog7cj4eds7nNsfF4mmSowv8$J  +L@ff32e7c27cf31aa6d6da6a82c5bacd298fbc5b105b839ed1b7c79785d2d09600""1NvqS7zzvQ9C8NCg4bL2s2gMqt1ugGfcES"UOP_DUP OP_HASH160 f0891e0b7d1a5887a769baefc763c58af0cada15 OP_EQUALVERIFY OP_CHECKSIG*276a914f0891e0b7d1a5887a769baefc763c58af0cada1588ac*"1NvqS7zzvQ9C8NCg4bL2s2gMqt1ugGfcES8$J  + + +1@f96ca47e85eb42568230d8101572a0aed9019405893b622e98be8e67735e8055$"@0000000000000000000a85c2da8208c6d8180ae98221e35e5870f10aeb69b7fc(-2 +@70a4a81035a54f4f1bf61358530cb7e060168a993b31f7dc72bc339b9df7b70fB0276a3277ca8999ee3ca29516be42cae5df21a26d8a9a21bf3e10432f33645e0ae2 +@d6ab19178ef9194aa40934b4731b91563363388d82944a790f3b0ca67b2d9cddB0359bde772f1dfa54f525639142b8dfd785f81c2e48d91faeafe7d527e1ca3165fB +)@f96ca47e85eb42568230d8101572a0aed9019405893b622e98be8e67735e8055""1Lsp41rF4YpTCUmqcvLsvauLUocUYt4w8W"UOP_DUP OP_HASH160 da067709cc5944ab96349c07c2f6abbbb80e9761 OP_EQUALVERIFY OP_CHECKSIG*276a914da067709cc5944ab96349c07c2f6abbbb80e976188ac*"1Lsp41rF4YpTCUmqcvLsvauLUocUYt4w8W8$J  +@f96ca47e85eb42568230d8101572a0aed9019405893b622e98be8e67735e8055""1Bs1ZW3BUQjJBtfpVjrS1xre6ZqWciz2Gx"UOP_DUP OP_HASH160 77268610795fce689330d0dd42311addaff135e9 OP_EQUALVERIFY OP_CHECKSIG*276a91477268610795fce689330d0dd42311addaff135e988ac*"1Bs1ZW3BUQjJBtfpVjrS1xre6ZqWciz2Gx8$J  +Y@f96ca47e85eb42568230d8101572a0aed9019405893b622e98be8e67735e8055""17ky8vjD899wzy4Kijnh7svdRfXaKEus3w"UOP_DUP OP_HASH160 4a218067d52e18edd1105224c891a5e8175b0c84 OP_EQUALVERIFY OP_CHECKSIG*276a9144a218067d52e18edd1105224c891a5e8175b0c8488ac*"17ky8vjD899wzy4Kijnh7svdRfXaKEus3w8$J  + +1@c48d34f7e069d5e777423a194a86529ddbd601a08692b74ab15dfd28fb0f8a28$"@0000000000000000000a85c2da8208c6d8180ae98221e35e5870f10aeb69b7fc(-2 +@f96ca47e85eb42568230d8101572a0aed9019405893b622e98be8e67735e8055B02a9da7959764aaa54a5fa30532acc78c57ebf208333c84fd69af6b6011d8a79bb2 +@04f401bdc7b3e40fc7f74a8a79cda1d71690e69a165e3e928d33500a73d52b79B0305dfd27dfda1c6d5bf2a0128e2db89bc4eee4b770a27b71c609687a04c274e902 +@d51807306d0eec09f994e7249482fe2a95a59847402af8983290a71ab3281dc6B020774e599110330dc64dba214f41777ddbb18448138e410b7c2d1f67d93c1f941B +)@c48d34f7e069d5e777423a194a86529ddbd601a08692b74ab15dfd28fb0f8a28""14LLyK8ucVpYjPMTjDPoptHPjrAgYyAids"UOP_DUP OP_HASH160 2490f3958508a07f01c1df96ed17145e43bfee9e OP_EQUALVERIFY OP_CHECKSIG*276a9142490f3958508a07f01c1df96ed17145e43bfee9e88ac*"14LLyK8ucVpYjPMTjDPoptHPjrAgYyAids8$J  +Н%@c48d34f7e069d5e777423a194a86529ddbd601a08692b74ab15dfd28fb0f8a28""1Jd5Ff96N1nMLRAyYJXiqjxsFLKWdVmMBT"UOP_DUP OP_HASH160 c14ca9b64c3cd91b60ef1f3deddc927e270ea53d OP_EQUALVERIFY OP_CHECKSIG*276a914c14ca9b64c3cd91b60ef1f3deddc927e270ea53d88ac*"1Jd5Ff96N1nMLRAyYJXiqjxsFLKWdVmMBT8$J  +ڊ +@c48d34f7e069d5e777423a194a86529ddbd601a08692b74ab15dfd28fb0f8a28"!1Ptt1YrwWGWpoP5W2sWHP9PAXqPCy1Ase"UOP_DUP OP_HASH160 0454753d10e8f0b0220190281f3ed65dcb77d381 OP_EQUALVERIFY OP_CHECKSIG*276a9140454753d10e8f0b0220190281f3ed65dcb77d38188ac*!1Ptt1YrwWGWpoP5W2sWHP9PAXqPCy1Ase8$J O + + +1@ca2706cb39032a7f209004b20444ba8b1363cd3c311751dc2401971c580bb65a$"@0000000000000000000a85c2da8208c6d8180ae98221e35e5870f10aeb69b7fc(-2 +@04f401bdc7b3e40fc7f74a8a79cda1d71690e69a165e3e928d33500a73d52b79B03961356eca44eea3833f0906ffbb7c367836809d803734094e47637b0230341602 +@0433a63629313860b585b4c66c5c029c1c278c9d1f4da105f7bbbd0b0240c0b8B03d0c57bf3d62c4a418ba0710c6c554edcc98121ac939b99fd23f827b8ce989cb4B +.@ca2706cb39032a7f209004b20444ba8b1363cd3c311751dc2401971c580bb65a""1KH1XhmCMGeXYQ3ca4xLU4eo7nxkVUu6iB"UOP_DUP OP_HASH160 c8795c83961a16b9dd5cf0ea170ad26b20f9f90b OP_EQUALVERIFY OP_CHECKSIG*276a914c8795c83961a16b9dd5cf0ea170ad26b20f9f90b88ac*"1KH1XhmCMGeXYQ3ca4xLU4eo7nxkVUu6iB8$J  +@ca2706cb39032a7f209004b20444ba8b1363cd3c311751dc2401971c580bb65a""1Jmo17oV1GJvUuMFvS3h4DchPvdfbuYzPJ"UOP_DUP OP_HASH160 c2f2d758ae9b203f30d2217690cd38e2bf0d6f7c OP_EQUALVERIFY OP_CHECKSIG*276a914c2f2d758ae9b203f30d2217690cd38e2bf0d6f7c88ac*"1Jmo17oV1GJvUuMFvS3h4DchPvdfbuYzPJ8$J  +4@ca2706cb39032a7f209004b20444ba8b1363cd3c311751dc2401971c580bb65a""1GtutvCrS1PEdr7f7EJPmsvxR8zevj3tYp"UOP_DUP OP_HASH160 ae5b41643a6aa4288d3d32eb285ed29ebe0e2966 OP_EQUALVERIFY OP_CHECKSIG*276a914ae5b41643a6aa4288d3d32eb285ed29ebe0e296688ac*"1GtutvCrS1PEdr7f7EJPmsvxR8zevj3tYp8$J 1 + +1@1d61ab5463c880a93999a01cff05370ed3aa062ba09e24f2faab7cf4945b38d6$"@0000000000000000000a85c2da8208c6d8180ae98221e35e5870f10aeb69b7fc(-2 +@c48d34f7e069d5e777423a194a86529ddbd601a08692b74ab15dfd28fb0f8a28B02cd53c9c453bf225fb0d5a3b3b5f54eae97bcc2f586c6031c9ddcb31b9fc9e2502 +@c48d34f7e069d5e777423a194a86529ddbd601a08692b74ab15dfd28fb0f8a28B02872363159553f8d9a78fa255edfeea574dae15da040dd601b2efae9121e789352 +@ca2706cb39032a7f209004b20444ba8b1363cd3c311751dc2401971c580bb65aB030d29918b0b21ed2c5bfdafb91674feb33c753d048874d5dd7f80a5a345b139f7B +(@1d61ab5463c880a93999a01cff05370ed3aa062ba09e24f2faab7cf4945b38d6""19rNHMkkjJ5d62feFYPPC4gTDnUXFRcayJ"UOP_DUP OP_HASH160 6117275bb77fb8b2f6a9d8119d0bd2fb3429f361 OP_EQUALVERIFY OP_CHECKSIG*276a9146117275bb77fb8b2f6a9d8119d0bd2fb3429f36188ac*"19rNHMkkjJ5d62feFYPPC4gTDnUXFRcayJ8$J  +<@1d61ab5463c880a93999a01cff05370ed3aa062ba09e24f2faab7cf4945b38d6""1BnK5m692G46kjezx76gu3iRqGuBZCGx27"UOP_DUP OP_HASH160 764311fd4f7d21c2164acc752111d1f1a84fa4c7 OP_EQUALVERIFY OP_CHECKSIG*276a914764311fd4f7d21c2164acc752111d1f1a84fa4c788ac*"1BnK5m692G46kjezx76gu3iRqGuBZCGx278$J  +٧@1d61ab5463c880a93999a01cff05370ed3aa062ba09e24f2faab7cf4945b38d6""1AXqtbcktjYhufpZUvaUmq2KLSAxdM1uXR"UOP_DUP OP_HASH160 688e6c010d4663f1a90842a0702bcb00100bf178 OP_EQUALVERIFY OP_CHECKSIG*276a914688e6c010d4663f1a90842a0702bcb00100bf17888ac*"1AXqtbcktjYhufpZUvaUmq2KLSAxdM1uXR8$J  + +1@1479feb44752f28c04575d9c3441c4a08aa758668922a4b4c9e9b04ab3163e2a$"@0000000000000000000a85c2da8208c6d8180ae98221e35e5870f10aeb69b7fc(-2 +@1d61ab5463c880a93999a01cff05370ed3aa062ba09e24f2faab7cf4945b38d6B037e1c4bec3085294278d84306ec11f54963df044418e53d11ab7533209662dcb72 +@1d61ab5463c880a93999a01cff05370ed3aa062ba09e24f2faab7cf4945b38d6B03824f5e4f59dab86fc8f892975d17263fbb7fc54f859e6321607096057dadeae12 +@ff32e7c27cf31aa6d6da6a82c5bacd298fbc5b105b839ed1b7c79785d2d09600B021687a2246df1becf6aaff2781f979d6e7177e33a75a7c247c6227fcb5485c6192 +@f96ca47e85eb42568230d8101572a0aed9019405893b622e98be8e67735e8055B03133ad7e6462b8f6006e051fac7b26c2d3ab6c65b53018d7666035e636b51a114B +&@1479feb44752f28c04575d9c3441c4a08aa758668922a4b4c9e9b04ab3163e2a""1EYb4iMaTARi7oP3VvrTtkQ24M1Bc7bq4a"UOP_DUP OP_HASH160 9492f7184a0927f6ff34deb27dda307e613e71b1 OP_EQUALVERIFY OP_CHECKSIG*276a9149492f7184a0927f6ff34deb27dda307e613e71b188ac*"1EYb4iMaTARi7oP3VvrTtkQ24M1Bc7bq4a8$J  +ȼa@1479feb44752f28c04575d9c3441c4a08aa758668922a4b4c9e9b04ab3163e2a""1QFW596wRAqVRufgvwPy4ugjZX5hDmGv6J"UOP_DUP OP_HASH160 ff08fbeae427a07ee8c4b931054e0f7e7fdf93e1 OP_EQUALVERIFY OP_CHECKSIG*276a914ff08fbeae427a07ee8c4b931054e0f7e7fdf93e188ac*"1QFW596wRAqVRufgvwPy4ugjZX5hDmGv6J8$J  +F@1479feb44752f28c04575d9c3441c4a08aa758668922a4b4c9e9b04ab3163e2a""13xjzru4vgtNo93tEJcUMWsKSLYZmH9ekb"UOP_DUP OP_HASH160 207b05a4ec885068399ae6e2ff1fb25f542b700c OP_EQUALVERIFY OP_CHECKSIG*276a914207b05a4ec885068399ae6e2ff1fb25f542b700c88ac*"13xjzru4vgtNo93tEJcUMWsKSLYZmH9ekb8$J ?$-@000000000000000000151c1662448f361fa73653d3264bbbd5cc581830121feb"@0000000000000000000a85c2da8208c6d8180ae98221e35e5870f10aeb69b7fc2> + +1@6ff7e97ee0930d5e9af81ea99b07acd1d4d7b27a65771103d31beb3696d8ca93$"@000000000000000000151c1662448f361fa73653d3264bbbd5cc581830121feb(-2 +@7b121c7741190c73a91d109267c31079fae70fe37ee45daa6030d380c2406c18B02c403744ee93fd62f1f6be326e88042c1dfbbc0ab464a89256e22c504788125d52 +@7b121c7741190c73a91d109267c31079fae70fe37ee45daa6030d380c2406c18B035dfd175faadde92c7bdcdfef941f3229af2a91e2057af8c40e108522f8b7cba1B +@6ff7e97ee0930d5e9af81ea99b07acd1d4d7b27a65771103d31beb3696d8ca93""1Cd1PiGgvUNy6xhoWHNku2ctXHepBz9jxX"UOP_DUP OP_HASH160 7f78af63fb2abd940f2f60358dc14486345c50c9 OP_EQUALVERIFY OP_CHECKSIG*276a9147f78af63fb2abd940f2f60358dc14486345c50c988ac*"1Cd1PiGgvUNy6xhoWHNku2ctXHepBz9jxX8$J  +m@6ff7e97ee0930d5e9af81ea99b07acd1d4d7b27a65771103d31beb3696d8ca93""1Cd1PiGgvUNy6xhoWHNku2ctXHepBz9jxX"UOP_DUP OP_HASH160 7f78af63fb2abd940f2f60358dc14486345c50c9 OP_EQUALVERIFY OP_CHECKSIG*276a9147f78af63fb2abd940f2f60358dc14486345c50c988ac*"1Cd1PiGgvUNy6xhoWHNku2ctXHepBz9jxX8$J   +@6ff7e97ee0930d5e9af81ea99b07acd1d4d7b27a65771103d31beb3696d8ca93""1Jn4uoH2eV6aduYxLs1yFfweLv9srouR3q"UOP_DUP OP_HASH160 c3001eea7d6c793a3deaf171539846859a2056fa OP_EQUALVERIFY OP_CHECKSIG*276a914c3001eea7d6c793a3deaf171539846859a2056fa88ac*"1Jn4uoH2eV6aduYxLs1yFfweLv9srouR3q8$J  +@6ff7e97ee0930d5e9af81ea99b07acd1d4d7b27a65771103d31beb3696d8ca93"l"6OP_RETURN 1101900e5201d44e8ac242a60eb3f009e8b481268d3a*06a161101900e5201d44e8ac242a60eb3f009e8b481268d3a2RNB 贁&:8$J  + + +1@f823e0021bfd4a3b56d84f3af2255b9fdd0c34700d3c357fa29e7b78a3aca464$"@000000000000000000151c1662448f361fa73653d3264bbbd5cc581830121feb(-2 +@dc9e4a7fc4a6351a77644335db3b77c14789dadc6b148452f0c43cbe2b12209cB030001bf79d76afeb2b9cdcbbe721859089288746c6eb0f30795c62bad0d1344c02 +@dc9e4a7fc4a6351a77644335db3b77c14789dadc6b148452f0c43cbe2b12209cB0209849b7d6d641face71cd2ce790cbaf6cf15598cac17b50348929007b1618422B +@f823e0021bfd4a3b56d84f3af2255b9fdd0c34700d3c357fa29e7b78a3aca464""18oKREDLT3Zoh6qipDyne9EozLEQHehJZZ"UOP_DUP OP_HASH160 558b6399f296d2b0bb1c870e97027bd834627055 OP_EQUALVERIFY OP_CHECKSIG*276a914558b6399f296d2b0bb1c870e97027bd83462705588ac*"18oKREDLT3Zoh6qipDyne9EozLEQHehJZZ8$J  +[@f823e0021bfd4a3b56d84f3af2255b9fdd0c34700d3c357fa29e7b78a3aca464""1E95LZvox526xZisqsVRJdHjn1bVgJoE49"UOP_DUP OP_HASH160 90209562f67f85243337172eb57dc1bc2b942921 OP_EQUALVERIFY OP_CHECKSIG*276a91490209562f67f85243337172eb57dc1bc2b94292188ac*"1E95LZvox526xZisqsVRJdHjn1bVgJoE498$J  +@f823e0021bfd4a3b56d84f3af2255b9fdd0c34700d3c357fa29e7b78a3aca464""18QsvkagjNwPMm31VxY8jk2r4UyGwrJzE2"UOP_DUP OP_HASH160 514cf588a1c4b8cca3de23283f2f82ee6b1387c1 OP_EQUALVERIFY OP_CHECKSIG*276a914514cf588a1c4b8cca3de23283f2f82ee6b1387c188ac*"18QsvkagjNwPMm31VxY8jk2r4UyGwrJzE28$J  + +1@02176e9956df41fbb759cf7283de67ea57987300841b6515b71fcd4301a7d1a9$"@000000000000000000151c1662448f361fa73653d3264bbbd5cc581830121feb(-2 +@f823e0021bfd4a3b56d84f3af2255b9fdd0c34700d3c357fa29e7b78a3aca464B0200909e24abd539d6900872b15c935cf1b610ada065ec8ef90f0b5a7652f0b0bc2 +@fb72210a7f4937e397bab7dbd7bcf1889ce5c272ce58efe6cdc569460b452742B0243bc75628441b3b4127668b90415c933e5b1be26eccf0836e7e2211461603acd2 +@1a4bac521e6cfaba48ff50b6483d6a06b5dae43c98325eec2a5a7a7ef68d4ef1B03241e1bce6b314fc2c8bc43ae767501871f16f32648cf22b3f99c056b3e6dda3e2 +@a07ae017dc4f908183f30dcb8f8273be077b7c688593bfe610b21246a7bff689B032b04c3c89d17f3a83e96a394c3eb89ba023be9dc15f79436a68aef158dd7b7ff2 +@3682ba137e0d382c77d3146f914ffa9be01746ac3b3c9d93edda3758f807eb1fB0259a621e0370ad9de6f985f6e4fd6ac2e2de97403b8d0d021909a1917e5b0d318B +@02176e9956df41fbb759cf7283de67ea57987300841b6515b71fcd4301a7d1a9""1BaPohJiw6N4hYTVSxiJ4X5ThYtUTfxMtE"UOP_DUP OP_HASH160 740205741d1e308fdb4c772f719e7d50e4ec5d6a OP_EQUALVERIFY OP_CHECKSIG*276a914740205741d1e308fdb4c772f719e7d50e4ec5d6a88ac*"1BaPohJiw6N4hYTVSxiJ4X5ThYtUTfxMtE8$J  +[@02176e9956df41fbb759cf7283de67ea57987300841b6515b71fcd4301a7d1a9""1EXZJxC6Ek98fcjUMfvWMgRqVrRxZSqUXG"UOP_DUP OP_HASH160 946115ac801d767f4f785098ca2e6d2051e1c954 OP_EQUALVERIFY OP_CHECKSIG*276a914946115ac801d767f4f785098ca2e6d2051e1c95488ac*"1EXZJxC6Ek98fcjUMfvWMgRqVrRxZSqUXG8$J  +@02176e9956df41fbb759cf7283de67ea57987300841b6515b71fcd4301a7d1a9""1Kvb22hvpxSe8fEj1DiFxrZjzHmdwBxtd4"UOP_DUP OP_HASH160 cf94b4e8452431f04082395a4c1240c266663492 OP_EQUALVERIFY OP_CHECKSIG*276a914cf94b4e8452431f04082395a4c1240c26666349288ac*"1Kvb22hvpxSe8fEj1DiFxrZjzHmdwBxtd48$J  + +1@da9cffd6c2a64a2ce3355e8214b1b820ebfa2112f07cc16a635f4f548b2b98ae$"@000000000000000000151c1662448f361fa73653d3264bbbd5cc581830121feb(-2 +@02176e9956df41fbb759cf7283de67ea57987300841b6515b71fcd4301a7d1a9B023f417f04f2e1b96195b60f9926056e3e1ee3d806cd600418ba326a9c6413139e2 +@217a5af07f5a5a1bb6f3d30f3be06e79d686de780bbe42fef290c8fa0eb87487B0390e8ed84ab3d6126f9b4ef36322a3ba83067d575eb463f2a81bc538a26ad2eee2 +@f823e0021bfd4a3b56d84f3af2255b9fdd0c34700d3c357fa29e7b78a3aca464B0287f5c848cbaf95922f2698c365a394b7eb914ff0a33b7eff43af62b827fc9efc2 +@02176e9956df41fbb759cf7283de67ea57987300841b6515b71fcd4301a7d1a9B02cb8dc552af3389f7bb16fbd887b8a887264b46bb29cb4f571f2e50f4170454ca2 +@f823e0021bfd4a3b56d84f3af2255b9fdd0c34700d3c357fa29e7b78a3aca464B030ddd03cac0534b494a1759cf6ba7cd6f4dc36bfef59e04674ecaf5656e1db1dcB +@da9cffd6c2a64a2ce3355e8214b1b820ebfa2112f07cc16a635f4f548b2b98ae"!1AmEMjBHVgac17HHfxrwWuT8FckUnYoU3"UOP_DUP OP_HASH160 01d8aa4dde7a322dd85e7c74e3ec4b57d9b9ab5f OP_EQUALVERIFY OP_CHECKSIG*276a91401d8aa4dde7a322dd85e7c74e3ec4b57d9b9ab5f88ac*!1AmEMjBHVgac17HHfxrwWuT8FckUnYoU38$J  +z@da9cffd6c2a64a2ce3355e8214b1b820ebfa2112f07cc16a635f4f548b2b98ae""1C2pn3Ux5QaE13ZrVvz8jR16czDyd1w7Pb"UOP_DUP OP_HASH160 7901ae7580d87f85ac9600da6a6ab7e9f54225d1 OP_EQUALVERIFY OP_CHECKSIG*276a9147901ae7580d87f85ac9600da6a6ab7e9f54225d188ac*"1C2pn3Ux5QaE13ZrVvz8jR16czDyd1w7Pb8$J  +@da9cffd6c2a64a2ce3355e8214b1b820ebfa2112f07cc16a635f4f548b2b98ae""1AJfqHbLTjJsnMmUhuAAuy4uqzt1bHjhYR"UOP_DUP OP_HASH160 66109e8129714ec3f957c661dbe16191e9aed0a0 OP_EQUALVERIFY OP_CHECKSIG*276a91466109e8129714ec3f957c661dbe16191e9aed0a088ac*"1AJfqHbLTjJsnMmUhuAAuy4uqzt1bHjhYR8$J  + +1@37b7ce7ab8fc71d0b5c6449d630df051e548b2f966259ae546620cfd503a55e4$"@000000000000000000151c1662448f361fa73653d3264bbbd5cc581830121feb(-2 +@1479feb44752f28c04575d9c3441c4a08aa758668922a4b4c9e9b04ab3163e2aB028eea297a41d60af5828ed2d20b8d0dd6b8a1d093a1e942eb23f865b9233e5a5d2 +@1479feb44752f28c04575d9c3441c4a08aa758668922a4b4c9e9b04ab3163e2aB0388085e694f05a09bd6a26fccebc842673fbb75186ad1ce0462aa7e029df957b42 +@5b1620c274ec011b0c5fa35985a55c52903041714bad4677c5f80dca2ee071e7B03a984f54679d6245400983be7968d4f6fb3879bf734c96518fab5739e18308e06B +$@37b7ce7ab8fc71d0b5c6449d630df051e548b2f966259ae546620cfd503a55e4""12KJe9BxpGcQb6fZYRbQPnZeKyTSfZt9Zz"UOP_DUP OP_HASH160 0e6e56a9fe78ba2f0b94db88f40ca40e80aa2efd OP_EQUALVERIFY OP_CHECKSIG*276a9140e6e56a9fe78ba2f0b94db88f40ca40e80aa2efd88ac*"12KJe9BxpGcQb6fZYRbQPnZeKyTSfZt9Zz8$J  +۝@37b7ce7ab8fc71d0b5c6449d630df051e548b2f966259ae546620cfd503a55e4""1L8yzWiwod48qjeVkzgu4Yn4UrV1Z232UV"UOP_DUP OP_HASH160 d1ece0352ce957ac627f2a1d52b801d9e9797fda OP_EQUALVERIFY OP_CHECKSIG*276a914d1ece0352ce957ac627f2a1d52b801d9e9797fda88ac*"1L8yzWiwod48qjeVkzgu4Yn4UrV1Z232UV8$J  +@37b7ce7ab8fc71d0b5c6449d630df051e548b2f966259ae546620cfd503a55e4""1Kh8qhKsGdKZq3TNEFFMMRyZ4cGPFE6UJM"UOP_DUP OP_HASH160 cd09725ca225903a64a00af8471d5886f267101f OP_EQUALVERIFY OP_CHECKSIG*276a914cd09725ca225903a64a00af8471d5886f267101f88ac*"1Kh8qhKsGdKZq3TNEFFMMRyZ4cGPFE6UJM8$J $Ҷ-@00000000000000000015a66d9c6da95c91236f282aa43cc62db58a8f999cdd48"@000000000000000000151c1662448f361fa73653d3264bbbd5cc581830121feb2$̶-@00000000000000000004c89586e25be96acf43789ba6cdc051487560f7da2a55"@00000000000000000015a66d9c6da95c91236f282aa43cc62db58a8f999cdd482 + + +1@3bfcfb3ab5e97d956b12eb38827f9f50db1fe2590dd4f3937e00e5d85cd89d43$"@00000000000000000004c89586e25be96acf43789ba6cdc051487560f7da2a55(̶-2 +@ff32e7c27cf31aa6d6da6a82c5bacd298fbc5b105b839ed1b7c79785d2d09600B02d4dda5fa877ae93169dc36e1d7f387826df64fcc2248ed12f61b9c22ce1d99672 +@37b7ce7ab8fc71d0b5c6449d630df051e548b2f966259ae546620cfd503a55e4B02ef0413bb55e3a85c21ae9649f43346bbc5556b5f8feeadbe58578522221bda48B +0@3bfcfb3ab5e97d956b12eb38827f9f50db1fe2590dd4f3937e00e5d85cd89d43""13W1JZjmwCnMtwywb9CZFY6kQ3ovro2a3n"UOP_DUP OP_HASH160 1b6c913786a6ca532491f296e6f18f0be32b9ca8 OP_EQUALVERIFY OP_CHECKSIG*276a9141b6c913786a6ca532491f296e6f18f0be32b9ca888ac*"13W1JZjmwCnMtwywb9CZFY6kQ3ovro2a3n8$J  +@3bfcfb3ab5e97d956b12eb38827f9f50db1fe2590dd4f3937e00e5d85cd89d43""18VR3LiqRvVBPm16e2Z4PMnkvbTGHuh3km"UOP_DUP OP_HASH160 52289864abbba4e9eae133fe5793a83698c5f217 OP_EQUALVERIFY OP_CHECKSIG*276a91452289864abbba4e9eae133fe5793a83698c5f21788ac*"18VR3LiqRvVBPm16e2Z4PMnkvbTGHuh3km8$J  +@3bfcfb3ab5e97d956b12eb38827f9f50db1fe2590dd4f3937e00e5d85cd89d43""1FRp2xXrVuiwL7i6UmtxME1Xv9yQQHJrMS"UOP_DUP OP_HASH160 9e43017f8a5d7fa7517c51d6d5b172aa986ca1dc OP_EQUALVERIFY OP_CHECKSIG*276a9149e43017f8a5d7fa7517c51d6d5b172aa986ca1dc88ac*"1FRp2xXrVuiwL7i6UmtxME1Xv9yQQHJrMS8$J  + + +1@70721b574f3f4b0916fa0e9375bff824e59560dc207a4b97f7998b7d22a77e20$"@00000000000000000004c89586e25be96acf43789ba6cdc051487560f7da2a55(̶-2 +@da6167cfe66f1756889f5093d41f7b29086bde7c2a2952a9ee05bb4f29b2e35cB028d471a016778163e2bf68029edf0e042d1132e73a2b9652f0a6bcd1e1404c69b2 +@da6167cfe66f1756889f5093d41f7b29086bde7c2a2952a9ee05bb4f29b2e35cB02379d01ede639f4d396e4e3fb9612b119c026a893dbb49fd96b946e0263e6b678B +@70721b574f3f4b0916fa0e9375bff824e59560dc207a4b97f7998b7d22a77e20""1Nk27S53vj372v9Wc2r1D5tjNBcDZ51JV5"UOP_DUP OP_HASH160 ee7d7484ac85106032ee561482cdabd4c3fba009 OP_EQUALVERIFY OP_CHECKSIG*276a914ee7d7484ac85106032ee561482cdabd4c3fba00988ac*"1Nk27S53vj372v9Wc2r1D5tjNBcDZ51JV58$J  +@70721b574f3f4b0916fa0e9375bff824e59560dc207a4b97f7998b7d22a77e20""1AwtpH58mgLWbHL869v9ncmDxJfvq7f7pM"UOP_DUP OP_HASH160 6d1ad8da00e72312dd8bc14d852a71021bad31cf OP_EQUALVERIFY OP_CHECKSIG*276a9146d1ad8da00e72312dd8bc14d852a71021bad31cf88ac*"1AwtpH58mgLWbHL869v9ncmDxJfvq7f7pM8$J  +6@70721b574f3f4b0916fa0e9375bff824e59560dc207a4b97f7998b7d22a77e20""17PXh1qL2sBYZR6Z7YXQZhCzsAm8QypY8h"UOP_DUP OP_HASH160 46138645d0b8474224fab006a09225093f1def77 OP_EQUALVERIFY OP_CHECKSIG*276a91446138645d0b8474224fab006a09225093f1def7788ac*"17PXh1qL2sBYZR6Z7YXQZhCzsAm8QypY8h8$J $ڶ-@00000000000000000002805720f689076a250df855eda592259db6bef51ec5f4"@00000000000000000004c89586e25be96acf43789ba6cdc051487560f7da2a552 $-@00000000000000000010c43bfcbd8cbecef85d8b4e626c2fbcd2c61ef6e70803"@00000000000000000002805720f689076a250df855eda592259db6bef51ec5f42 + + + +1@ad7e3ebe22c8e10c2882737236aa753305fa65b056c0700e3bafb144550ac1ac$"@00000000000000000010c43bfcbd8cbecef85d8b4e626c2fbcd2c61ef6e70803(-2 +@6deb505933b4207c178ff50359c919a1d6a581b92a4ce6524d088636403f834bB03ce20a3dc1379af01e24a97b3aaaa73b856ecf84d0f857e68fb330268dfd87d452 +@6deb505933b4207c178ff50359c919a1d6a581b92a4ce6524d088636403f834bB02df53fa049d87294212037b9cc00961b1d76120e91a703382906d69618ae3199aB +@ad7e3ebe22c8e10c2882737236aa753305fa65b056c0700e3bafb144550ac1ac""13tmszpgXPGsBpcuvK2MuWaTpDVDpyq4s9"UOP_DUP OP_HASH160 1fbaedcec4e25ec6eece9799712d8ec3a2c5aae3 OP_EQUALVERIFY OP_CHECKSIG*276a9141fbaedcec4e25ec6eece9799712d8ec3a2c5aae388ac*"13tmszpgXPGsBpcuvK2MuWaTpDVDpyq4s98$J  +@ad7e3ebe22c8e10c2882737236aa753305fa65b056c0700e3bafb144550ac1ac""1D9CcnAEQepmEMdRwXjWWkiSnd3AUdDT86"UOP_DUP OP_HASH160 852e88cce587c330274d1989da52d6292c0ee098 OP_EQUALVERIFY OP_CHECKSIG*276a914852e88cce587c330274d1989da52d6292c0ee09888ac*"1D9CcnAEQepmEMdRwXjWWkiSnd3AUdDT868$J  + @ad7e3ebe22c8e10c2882737236aa753305fa65b056c0700e3bafb144550ac1ac""1FwXzeQUzJ9pGji1mJmCDWkH8RpGG8GMCq"UOP_DUP OP_HASH160 a3e218654d8695b0033461df4e3860fecf8bf981 OP_EQUALVERIFY OP_CHECKSIG*276a914a3e218654d8695b0033461df4e3860fecf8bf98188ac*"1FwXzeQUzJ9pGji1mJmCDWkH8RpGG8GMCq8$J $׷-@0000000000000000000d5bccb57219cececa0d4d579b59e05381c3d53571777f"@00000000000000000010c43bfcbd8cbecef85d8b4e626c2fbcd2c61ef6e708032$-@000000000000000000130f1fe550dc8b28876bd62d6b9962461c80e8bf770c04"@0000000000000000000d5bccb57219cececa0d4d579b59e05381c3d53571777f2$ͅ-@00000000000000000019466f63c0a648c96730e3c8f4795daf82285fc7b8eb59"@000000000000000000130f1fe550dc8b28876bd62d6b9962461c80e8bf770c042$๖-@00000000000000000011ce94a6af6ac2f2d0ec5fae6791e38bd4159c5d258485"@00000000000000000019466f63c0a648c96730e3c8f4795daf82285fc7b8eb592$ù-@0000000000000000000378c088e3c877aa7344381b5183c00854e17676ccc980"@00000000000000000011ce94a6af6ac2f2d0ec5fae6791e38bd4159c5d2584852$Њ߹-@00000000000000000002aae6244a1772c97054a8d938e6b18a301bdbdb3adac3"@0000000000000000000378c088e3c877aa7344381b5183c00854e17676ccc9802$-@0000000000000000000a0c95ed395395e164f06e9a46ad3a01eb15dd48c5844a"@00000000000000000002aae6244a1772c97054a8d938e6b18a301bdbdb3adac32$-@0000000000000000000b82573fddf7fe4bacd683604f189c66ca8d98c2137306"@0000000000000000000a0c95ed395395e164f06e9a46ad3a01eb15dd48c5844a2 $شۺ-@00000000000000000009cd09676903a595632bc93a0d06567f225eb3c5b49340"@0000000000000000000b82573fddf7fe4bacd683604f189c66ca8d98c21373062 + +1@36f606161a146590703ee690c3e11ff8f8f83c863c09f6d09f103a0f41d73471$"@00000000000000000009cd09676903a595632bc93a0d06567f225eb3c5b49340(شۺ-2 +@9b6c5f8af065df45656231ef431150ae555b895da5a29c6e44409ed3e72859c2B02baa3402b23539876e0771e98573146632344711303370d052e545a8b6e4851192 +@9b6c5f8af065df45656231ef431150ae555b895da5a29c6e44409ed3e72859c2B03347448707608622451c68bd12d42442b7b7458b79dfb09964adc2697c61d8f972 +@9b6c5f8af065df45656231ef431150ae555b895da5a29c6e44409ed3e72859c2B03bd5258beeedf180abc49602bc20ac0ef6a8e73ff442a1e64c2cc34a8bd584611B +@36f606161a146590703ee690c3e11ff8f8f83c863c09f6d09f103a0f41d73471""1HprqcU7yTFedrngukV8E6g8aohk2RuvTM"UOP_DUP OP_HASH160 b88f2a5f83a36bad4d5fe09ec1da17941c0d8e1c OP_EQUALVERIFY OP_CHECKSIG*276a914b88f2a5f83a36bad4d5fe09ec1da17941c0d8e1c88ac*"1HprqcU7yTFedrngukV8E6g8aohk2RuvTM8$J  +@36f606161a146590703ee690c3e11ff8f8f83c863c09f6d09f103a0f41d73471""1ANgBrcGQGWGR32yr78b2GwAMo8fKTkrjE"UOP_DUP OP_HASH160 66d2943c58f768f51120ee42c50f0cefa0a0744f OP_EQUALVERIFY OP_CHECKSIG*276a91466d2943c58f768f51120ee42c50f0cefa0a0744f88ac*"1ANgBrcGQGWGR32yr78b2GwAMo8fKTkrjE8$J  +@36f606161a146590703ee690c3e11ff8f8f83c863c09f6d09f103a0f41d73471""1DjgALx5m2WzmsP2d5dsEjpc1MFs5679cL"UOP_DUP OP_HASH160 8bb3ab7ad176b4289e2c53380de3f445884f8707 OP_EQUALVERIFY OP_CHECKSIG*276a9148bb3ab7ad176b4289e2c53380de3f445884f870788ac*"1DjgALx5m2WzmsP2d5dsEjpc1MFs5679cL8$J !$-@0000000000000000000a7fbc6b571fb22007a476d08f36d8a9ae8b274d7891a4"@00000000000000000009cd09676903a595632bc93a0d06567f225eb3c5b493402 + + +1@49aeda46b32648aa684478e3d623aee9c258765fdc0aa6b98f4335cb4d636882$"@0000000000000000000a7fbc6b571fb22007a476d08f36d8a9ae8b274d7891a4(-2 +@36f606161a146590703ee690c3e11ff8f8f83c863c09f6d09f103a0f41d73471B0252a833b37498b0bb1ad8354b1eed398b945dfba000c8d9419255c1bc5369a05a2 +@36f606161a146590703ee690c3e11ff8f8f83c863c09f6d09f103a0f41d73471B021f1f9ff3d817c41881e3c8706dc381ae016a6b0fce358183512e790033fc0da2B +'@49aeda46b32648aa684478e3d623aee9c258765fdc0aa6b98f4335cb4d636882""1Cvrfnb9usMrDRuves7dM97ZC18bWjR5zS"UOP_DUP OP_HASH160 82d8e415ec73dd8b243c04467c7fd493ffb9127d OP_EQUALVERIFY OP_CHECKSIG*276a91482d8e415ec73dd8b243c04467c7fd493ffb9127d88ac*"1Cvrfnb9usMrDRuves7dM97ZC18bWjR5zS8$J  +@49aeda46b32648aa684478e3d623aee9c258765fdc0aa6b98f4335cb4d636882""1PKYay8NwCzHqP18t49MGkfeC2EXCFVy29"UOP_DUP OP_HASH160 f4d49ef527f39e9d327d75e6000b1f3448c7d2fb OP_EQUALVERIFY OP_CHECKSIG*276a914f4d49ef527f39e9d327d75e6000b1f3448c7d2fb88ac*"1PKYay8NwCzHqP18t49MGkfeC2EXCFVy298$J  +–@49aeda46b32648aa684478e3d623aee9c258765fdc0aa6b98f4335cb4d636882""1Haw4EqzqG5jrbB1JxiXRPPCTJp3y8GeNJ"UOP_DUP OP_HASH160 b5ecdce1e83e700e5fa8be407d75213a9827e4ac OP_EQUALVERIFY OP_CHECKSIG*276a914b5ecdce1e83e700e5fa8be407d75213a9827e4ac88ac*"1Haw4EqzqG5jrbB1JxiXRPPCTJp3y8GeNJ8$J  + + +1@34d5f9ccd57992734221c3b8ef599abdfa2431514ba67afcff282a88c4b2b38e$"@0000000000000000000a7fbc6b571fb22007a476d08f36d8a9ae8b274d7891a4(-2 +@ca2706cb39032a7f209004b20444ba8b1363cd3c311751dc2401971c580bb65aB03a52f5b805f998ea4b3f012cd39709101cf6708efb9dc287d1c5cbaeb0cc18f202 +@3bfcfb3ab5e97d956b12eb38827f9f50db1fe2590dd4f3937e00e5d85cd89d43B03b55e2e7e4aa712924571fef3f3bef6c2b4f9819002012611c107c0fb4151013eB +-@34d5f9ccd57992734221c3b8ef599abdfa2431514ba67afcff282a88c4b2b38e""12MZ9nvNychRbuyDFsDS7C2hStDRPpbMnH"UOP_DUP OP_HASH160 0edb48a7a84300e49eff1120e67bfa5897ad7d6c OP_EQUALVERIFY OP_CHECKSIG*276a9140edb48a7a84300e49eff1120e67bfa5897ad7d6c88ac*"12MZ9nvNychRbuyDFsDS7C2hStDRPpbMnH8$J  +Н%@34d5f9ccd57992734221c3b8ef599abdfa2431514ba67afcff282a88c4b2b38e""1HVXBZZvzTp3C4zbbySTcw6VWGkDt3aeak"UOP_DUP OP_HASH160 b4e6daadd07bcb0a9ebcc5f703916907fed1b039 OP_EQUALVERIFY OP_CHECKSIG*276a914b4e6daadd07bcb0a9ebcc5f703916907fed1b03988ac*"1HVXBZZvzTp3C4zbbySTcw6VWGkDt3aeak8$J  +@34d5f9ccd57992734221c3b8ef599abdfa2431514ba67afcff282a88c4b2b38e""1HTb5KmE4Yqr4p5bphLqx54Q88zCuVEdPA"UOP_DUP OP_HASH160 b4894583d7719dc864fd419287277b1d6db4fd4c OP_EQUALVERIFY OP_CHECKSIG*276a914b4894583d7719dc864fd419287277b1d6db4fd4c88ac*"1HTb5KmE4Yqr4p5bphLqx54Q88zCuVEdPA8$J O + + +1@0e8c89bc7454988f0399a1d1e8e91d0a51b4c0e91814f9916198c5f80e73b7a5$"@0000000000000000000a7fbc6b571fb22007a476d08f36d8a9ae8b274d7891a4(-2 +@994ab54fd8ad0e29817b874dbf22b8220bbe05d40af72dd3936ade2ae3dd62c9B03963213c48bbf6fa064c0de9dc9850cff6472588555cf352e80cb8ec7f929c1b02 +@994ab54fd8ad0e29817b874dbf22b8220bbe05d40af72dd3936ade2ae3dd62c9B027666100ab63fdc47d3bad332b68a4832f4b8534283eb08616561478d0ba50b97B +ȱm@0e8c89bc7454988f0399a1d1e8e91d0a51b4c0e91814f9916198c5f80e73b7a5""1H3oowtKAjvvb7zUKG1HW4RUfBxC5SwSUU"UOP_DUP OP_HASH160 b009eb438519014c3054cffc2bfc72ce8bc4be43 OP_EQUALVERIFY OP_CHECKSIG*276a914b009eb438519014c3054cffc2bfc72ce8bc4be4388ac*"1H3oowtKAjvvb7zUKG1HW4RUfBxC5SwSUU8$J  +z@0e8c89bc7454988f0399a1d1e8e91d0a51b4c0e91814f9916198c5f80e73b7a5""1DFCukiQEzcSxFUywNxipB7HYoSneTDKu6"UOP_DUP OP_HASH160 86514642f1c443521448e3a869d59319ba57e906 OP_EQUALVERIFY OP_CHECKSIG*276a91486514642f1c443521448e3a869d59319ba57e90688ac*"1DFCukiQEzcSxFUywNxipB7HYoSneTDKu68$J  +ڍ@0e8c89bc7454988f0399a1d1e8e91d0a51b4c0e91814f9916198c5f80e73b7a5""1PbpLEy2SfjB6S1kbpgv5zeMhvE7NKr8Dp"UOP_DUP OP_HASH160 f7e86ba5296690455d45517069c314c3f8a1b15d OP_EQUALVERIFY OP_CHECKSIG*276a914f7e86ba5296690455d45517069c314c3f8a1b15d88ac*"1PbpLEy2SfjB6S1kbpgv5zeMhvE7NKr8Dp8$J ; $ȉ-@00000000000000000010c3808ffda2153a658ab7935f631c3a5a0016e3c317d1"@0000000000000000000a7fbc6b571fb22007a476d08f36d8a9ae8b274d7891a42 + +1@e2b3f466c665570faa7be549a136414c39006aa02845c693e630157824107046$"@00000000000000000010c3808ffda2153a658ab7935f631c3a5a0016e3c317d1(ȉ-2 +@0a902bcab38db37cc93f38c9699a883e69422912e678f9c02081e5b52ccbbb78B030a6b60734e737f0cbf2d49222f0d33a1f8e5fb2d0061b17b070319332f56cde32 +@0e8c89bc7454988f0399a1d1e8e91d0a51b4c0e91814f9916198c5f80e73b7a5B02cb1a69d5ab58568d6a16db9aa0ead69bedf0b1461a0fceb14f07b3cfa7b6b6232 +@0a902bcab38db37cc93f38c9699a883e69422912e678f9c02081e5b52ccbbb78B02e889bec27e352bfb8dac244f372449ebe4e4ca35e0d4a77ed84338b62c6a07a4B +z@e2b3f466c665570faa7be549a136414c39006aa02845c693e630157824107046""17Ya3BvtkicGfn4TPMzLsxP5DqCxcrys71"UOP_DUP OP_HASH160 47c93a6005184b1b8a25b3d8e300216e30da2063 OP_EQUALVERIFY OP_CHECKSIG*276a91447c93a6005184b1b8a25b3d8e300216e30da206388ac*"17Ya3BvtkicGfn4TPMzLsxP5DqCxcrys718$J  +J@e2b3f466c665570faa7be549a136414c39006aa02845c693e630157824107046""19whg4pa1L3N2dxat8dD8SyvCAaDmK5YuM"UOP_DUP OP_HASH160 62196bb7fa6cfd47cde25902ff4627a0cbe8bf6d OP_EQUALVERIFY OP_CHECKSIG*276a91462196bb7fa6cfd47cde25902ff4627a0cbe8bf6d88ac*"19whg4pa1L3N2dxat8dD8SyvCAaDmK5YuM8$J  +@e2b3f466c665570faa7be549a136414c39006aa02845c693e630157824107046""1B3WUsZ4WXr1MZhKMKB7roGRpt2VxtCmQn"UOP_DUP OP_HASH160 6e2ab2e9db2e969b98a15f1291ea1a3c1ad42d5c OP_EQUALVERIFY OP_CHECKSIG*276a9146e2ab2e9db2e969b98a15f1291ea1a3c1ad42d5c88ac*"1B3WUsZ4WXr1MZhKMKB7roGRpt2VxtCmQn8$J $ʻ-@0000000000000000001623383ebe32e3d19e4cf522227f409211299c663255b1"@00000000000000000010c3808ffda2153a658ab7935f631c3a5a0016e3c317d12+$-@0000000000000000000074ce7dc55a7b6efcc12bb55cca68ae45e3565395778c"@0000000000000000001623383ebe32e3d19e4cf522227f409211299c663255b12* + + +1@cd6998ea9cd55ee08afe7b4ce51590985c4ae8f378220c614d23638d80a45848$"@0000000000000000000074ce7dc55a7b6efcc12bb55cca68ae45e3565395778c(-2 +@f3179b2e49604ba29c555ae02aeac0dcc872a514b6227226eca573308ef08694B021ebe7485474c2dda4e7fb0d7d845141d26a694e55008212a766fe7006d924a3d2 +@f3179b2e49604ba29c555ae02aeac0dcc872a514b6227226eca573308ef08694B0220f4a3b797a2cb762fdc192fbfaf52a492060fb5730fd631aff7f151ff8b1986B +@cd6998ea9cd55ee08afe7b4ce51590985c4ae8f378220c614d23638d80a45848""18jAKr7pNiobHtyzacrfdLjyTKRCmUKidu"UOP_DUP OP_HASH160 54c2228c5d95b29b0e5f93a4d78c28c9f8d89b09 OP_EQUALVERIFY OP_CHECKSIG*276a91454c2228c5d95b29b0e5f93a4d78c28c9f8d89b0988ac*"18jAKr7pNiobHtyzacrfdLjyTKRCmUKidu8$J  +@cd6998ea9cd55ee08afe7b4ce51590985c4ae8f378220c614d23638d80a45848""15KbEcFkqf58WfY6F851Z8wamPM8YwwrFM"UOP_DUP OP_HASH160 2f64916cd8f418220fca6b781e8478a534db4d49 OP_EQUALVERIFY OP_CHECKSIG*276a9142f64916cd8f418220fca6b781e8478a534db4d4988ac*"15KbEcFkqf58WfY6F851Z8wamPM8YwwrFM8$J  +@cd6998ea9cd55ee08afe7b4ce51590985c4ae8f378220c614d23638d80a45848""1755D1xCiqaW2YwiiSw6G5kdovvKF2ZpwZ"UOP_DUP OP_HASH160 4295ee36fa3553e4248172f6009e89d5a03551f8 OP_EQUALVERIFY OP_CHECKSIG*276a9144295ee36fa3553e4248172f6009e89d5a03551f888ac*"1755D1xCiqaW2YwiiSw6G5kdovvKF2ZpwZ8$J  + + +1@8b2941ed503fdd4961187d47cbe4e8b4fa7627b07aff6b10d92830505ef99d50$"@0000000000000000000074ce7dc55a7b6efcc12bb55cca68ae45e3565395778c(-2 +@70721b574f3f4b0916fa0e9375bff824e59560dc207a4b97f7998b7d22a77e20B031bb22e72636bcbba2500b0ca9ad7b4a79bdd97122cc06ffb82272f363aa3c19d2 +@21158521e75adb056eb3a97e92d9e3ae9dbebbe6fe734174dd0c4fa29647b164B0267f9dba64fee68e92cb1295907868426dd75ae90043404c4b760a00e582dbcebB +@8b2941ed503fdd4961187d47cbe4e8b4fa7627b07aff6b10d92830505ef99d50""1BAAFoFAUzcnpVeS2YhCjQF3G3o16sEgQo"UOP_DUP OP_HASH160 6f6cba2f4a1762e418c6688d17a3a7f5bb282aae OP_EQUALVERIFY OP_CHECKSIG*276a9146f6cba2f4a1762e418c6688d17a3a7f5bb282aae88ac*"1BAAFoFAUzcnpVeS2YhCjQF3G3o16sEgQo8$J  +@8b2941ed503fdd4961187d47cbe4e8b4fa7627b07aff6b10d92830505ef99d50""185KsW1npPtmV5MfTnpH6Ekv2UjVQx8vKZ"UOP_DUP OP_HASH160 4d9a4bfac8cd4c92515df6f4b61939ccd2b2e70a OP_EQUALVERIFY OP_CHECKSIG*276a9144d9a4bfac8cd4c92515df6f4b61939ccd2b2e70a88ac*"185KsW1npPtmV5MfTnpH6Ekv2UjVQx8vKZ8$J  +<@8b2941ed503fdd4961187d47cbe4e8b4fa7627b07aff6b10d92830505ef99d50""1FiQtrJNXwCkjduhg1kvWStVwWj3wvRau7"UOP_DUP OP_HASH160 a166c2d668023dd5b1f3965d60c15a76108ae6b0 OP_EQUALVERIFY OP_CHECKSIG*276a914a166c2d668023dd5b1f3965d60c15a76108ae6b088ac*"1FiQtrJNXwCkjduhg1kvWStVwWj3wvRau78$J  + + +1@198ca2c7ed8386a91fb3c2336ec5b1078431a4f19cf6f985d4108441f9093fd3$"@0000000000000000000074ce7dc55a7b6efcc12bb55cca68ae45e3565395778c(-2 +@30c2fa95e9c14bf72a2455995946cec7d16d66ab743cf6caf5c7ed55c76e8896B021d689c5896b1d882752c2c5d427553530b03c5011c5d277ae82d38cbf028f5f52 +@69e25e13cf90e571b5523109d312c2b23a218891ed69b7315fd2dac5d8387ad8B03d478b0c56ba5dc1530dc8f05dd83a280a70ab1bec31dfe8b2fb7fc1bb4a6a2b8B +@198ca2c7ed8386a91fb3c2336ec5b1078431a4f19cf6f985d4108441f9093fd3""1P9KKLRvoTg9mGwoEL1m9ftzzG29gjSzgg"UOP_DUP OP_HASH160 f2e5626c4b6e52a6f2fa0341a73bda6995270856 OP_EQUALVERIFY OP_CHECKSIG*276a914f2e5626c4b6e52a6f2fa0341a73bda699527085688ac*"1P9KKLRvoTg9mGwoEL1m9ftzzG29gjSzgg8$J  +@198ca2c7ed8386a91fb3c2336ec5b1078431a4f19cf6f985d4108441f9093fd3""1B136244UJVBZb9FatXdhtKeL2aMF33Njk"UOP_DUP OP_HASH160 6db2ffe4445d5a02f8f8e33b76d18bb1993d83f2 OP_EQUALVERIFY OP_CHECKSIG*276a9146db2ffe4445d5a02f8f8e33b76d18bb1993d83f288ac*"1B136244UJVBZb9FatXdhtKeL2aMF33Njk8$J  +_@198ca2c7ed8386a91fb3c2336ec5b1078431a4f19cf6f985d4108441f9093fd3""1HxytehmwwiQmPMFSuEfy7koe9BiQg2vDt"UOP_DUP OP_HASH160 ba1861582ef8bc22bbb8402ac3078f06ac9fc976 OP_EQUALVERIFY OP_CHECKSIG*276a914ba1861582ef8bc22bbb8402ac3078f06ac9fc97688ac*"1HxytehmwwiQmPMFSuEfy7koe9BiQg2vDt8$J  + + +1@31ea316e31d3d7abadd182d793bb439d5d03a5c1485072c4d8ececd07cd44b73$"@0000000000000000000074ce7dc55a7b6efcc12bb55cca68ae45e3565395778c(-2 +@e2b3f466c665570faa7be549a136414c39006aa02845c693e630157824107046B02d0d5872e306eea02d96a785be6ccab31ed5f29072f8f7a9170fafe846aa74f362 +@05dd349f8a8d6abc8b07eabb1a6c931c078975e6030a9565fa83ec06c1087f45B0394aff6147f43c69dad11a7b6e0f6f3e0f98df4c0e09f8f446ea4e6826c6006b8B +J@31ea316e31d3d7abadd182d793bb439d5d03a5c1485072c4d8ececd07cd44b73""16vessXkGLJ12VKfZFg5YjUbhX2VdWon6g"UOP_DUP OP_HASH160 40fe4b0857034081d8146b1b57d0cc506a8502fb OP_EQUALVERIFY OP_CHECKSIG*276a91440fe4b0857034081d8146b1b57d0cc506a8502fb88ac*"16vessXkGLJ12VKfZFg5YjUbhX2VdWon6g8$J  +,@31ea316e31d3d7abadd182d793bb439d5d03a5c1485072c4d8ececd07cd44b73""1BMk2wUBaW8vmRyJJaCx2t1vaZ8xHG2VDT"UOP_DUP OP_HASH160 719d7fe41b949cc48308230799c33d1945859bf9 OP_EQUALVERIFY OP_CHECKSIG*276a914719d7fe41b949cc48308230799c33d1945859bf988ac*"1BMk2wUBaW8vmRyJJaCx2t1vaZ8xHG2VDT8$J  +"@31ea316e31d3d7abadd182d793bb439d5d03a5c1485072c4d8ececd07cd44b73""1Ey6BQcHh9hGZdSn19eqStPNuaUKod6rhU"UOP_DUP OP_HASH160 993540abc8718785d3b885b734f35f2ed8d87d76 OP_EQUALVERIFY OP_CHECKSIG*276a914993540abc8718785d3b885b734f35f2ed8d87d7688ac*"1Ey6BQcHh9hGZdSn19eqStPNuaUKod6rhU8$J $-@00000000000000000014f98082a7bc7e843dc58975da1091d5340af7592e9290"@0000000000000000000074ce7dc55a7b6efcc12bb55cca68ae45e3565395778c2 + + +1@0848b0e59646c529664a97d72f88dc93184c2cd2fedebea14dd5a4d008274f81$"@00000000000000000014f98082a7bc7e843dc58975da1091d5340af7592e9290(-2 +@31ea316e31d3d7abadd182d793bb439d5d03a5c1485072c4d8ececd07cd44b73B03ac267d60d5c16c2cd3a997eec6b941440f6e229962ed77ca354aa9862e25747d2 +@6dba4f2af112ebdfbd354d41616ed3628b3bc9acfbf307b5801a18a587efd2d4B0363f488d0e11213be6f4c03b996dcbb7343e70c6f6427095bd6e083483c5143d9B ++@0848b0e59646c529664a97d72f88dc93184c2cd2fedebea14dd5a4d008274f81""17Ya3BvtkicGfn4TPMzLsxP5DqCxcrys71"UOP_DUP OP_HASH160 47c93a6005184b1b8a25b3d8e300216e30da2063 OP_EQUALVERIFY OP_CHECKSIG*276a91447c93a6005184b1b8a25b3d8e300216e30da206388ac*"17Ya3BvtkicGfn4TPMzLsxP5DqCxcrys718$J  +@0848b0e59646c529664a97d72f88dc93184c2cd2fedebea14dd5a4d008274f81""15jGsbA5aYuwVb1WjBzsSFizkAJJePHh6j"UOP_DUP OP_HASH160 33df391628cccf382aa4673cd6176f5bc0d0db72 OP_EQUALVERIFY OP_CHECKSIG*276a91433df391628cccf382aa4673cd6176f5bc0d0db7288ac*"15jGsbA5aYuwVb1WjBzsSFizkAJJePHh6j8$J  +H@0848b0e59646c529664a97d72f88dc93184c2cd2fedebea14dd5a4d008274f81""1HZ1Qf3cvHguV91RWgHjbD1Wc1pcUeNfpL"UOP_DUP OP_HASH160 b58fa9edb08015c7a82b9fbe4000bdf5bc63630f OP_EQUALVERIFY OP_CHECKSIG*276a914b58fa9edb08015c7a82b9fbe4000bdf5bc63630f88ac*"1HZ1Qf3cvHguV91RWgHjbD1Wc1pcUeNfpL8$J  + + +1@93d207bb72a49ed27e0098bf61956cf764a7064bcbb67f97643f622d14adf227$"@00000000000000000014f98082a7bc7e843dc58975da1091d5340af7592e9290(-2 +@49aeda46b32648aa684478e3d623aee9c258765fdc0aa6b98f4335cb4d636882B035be7b336733dad99a40e9b28ff9bce15e9ffa57c9251249bfb14bd913ec952bf2 +@df1995eec247d1d0a290244d211e13d1659ccb8c40f96bacb1d3a8e126f6a4c5B0378e979bf19abee18fd0c6d86cd94417891204b5fd53c4c77aad64354ecf6efa6B +@93d207bb72a49ed27e0098bf61956cf764a7064bcbb67f97643f622d14adf227""1PKrgkup5pn1APkuoCXPZdBRvKiKJdBHrL"UOP_DUP OP_HASH160 f4e3bada5b8f6ae55e9187da3935188dc2b5b85e OP_EQUALVERIFY OP_CHECKSIG*276a914f4e3bada5b8f6ae55e9187da3935188dc2b5b85e88ac*"1PKrgkup5pn1APkuoCXPZdBRvKiKJdBHrL8$J  +ȿ@93d207bb72a49ed27e0098bf61956cf764a7064bcbb67f97643f622d14adf227""1EArNx3oaiL9SyqBLFqEYtmEu9CGadyG4c"UOP_DUP OP_HASH160 9076990f01b913ead110fb352059f2574e3825a9 OP_EQUALVERIFY OP_CHECKSIG*276a9149076990f01b913ead110fb352059f2574e3825a988ac*"1EArNx3oaiL9SyqBLFqEYtmEu9CGadyG4c8$J  + @93d207bb72a49ed27e0098bf61956cf764a7064bcbb67f97643f622d14adf227""1NhH6JJUAor5wQkB2VNggyoPhpfiwGymCr"UOP_DUP OP_HASH160 edf8b65a2b5ee2f2d6879d2372c39521636d0728 OP_EQUALVERIFY OP_CHECKSIG*276a914edf8b65a2b5ee2f2d6879d2372c39521636d072888ac*"1NhH6JJUAor5wQkB2VNggyoPhpfiwGymCr8$J $׍-@00000000000000000014c6aa8dc3d2c01bf4794e2dcb9c0f496007ae9e8e6bc0"@00000000000000000014f98082a7bc7e843dc58975da1091d5340af7592e92902$-@00000000000000000013eaa36fdaeb6610782d1510d9a1c9d69ec847b5585e1b"@00000000000000000014c6aa8dc3d2c01bf4794e2dcb9c0f496007ae9e8e6bc02$-@0000000000000000000e7cc64bed0dde532fdfbdaf7cc3a24104682ef003aadc"@00000000000000000013eaa36fdaeb6610782d1510d9a1c9d69ec847b5585e1b2 + +1@f1e33c8a4f13d20e522495ac7d7ebb2672aadb66517baa287d7e7606e71a6b44$"@0000000000000000000e7cc64bed0dde532fdfbdaf7cc3a24104682ef003aadc(-2 +@f34232d8d03a0a4925cbb4431529622f0c9e6cebc77cc14ef330859e351d8005B024431ac6b0ecb20fa7323a431fdf42462b136b6b7b525a70cab56c674370d80d82 +@78c968729e694ede8ecc3b4ae74a4826f57627dbbd644a2de3b26dd9d8a62cf9B036a73ba4ff02c4c528d4928118e952349df4c151b1a1de88945c7f0dc468bed4fB +@f1e33c8a4f13d20e522495ac7d7ebb2672aadb66517baa287d7e7606e71a6b44""1AHuS5uvhw8F3bLojPLpjXz1MSkKyPGaGr"UOP_DUP OP_HASH160 65eb8e4e7ccff7071d1ce3434f39ee4a19eb9683 OP_EQUALVERIFY OP_CHECKSIG*276a91465eb8e4e7ccff7071d1ce3434f39ee4a19eb968388ac*"1AHuS5uvhw8F3bLojPLpjXz1MSkKyPGaGr8$J  +Р$@f1e33c8a4f13d20e522495ac7d7ebb2672aadb66517baa287d7e7606e71a6b44""1AHuS5uvhw8F3bLojPLpjXz1MSkKyPGaGr"UOP_DUP OP_HASH160 65eb8e4e7ccff7071d1ce3434f39ee4a19eb9683 OP_EQUALVERIFY OP_CHECKSIG*276a91465eb8e4e7ccff7071d1ce3434f39ee4a19eb968388ac*"1AHuS5uvhw8F3bLojPLpjXz1MSkKyPGaGr8$J   +@f1e33c8a4f13d20e522495ac7d7ebb2672aadb66517baa287d7e7606e71a6b44""17d47XsjsX8mcDYsNP5cvXnKELesonc7sA"UOP_DUP OP_HASH160 48a253deaf50affdaea97e145def37c911e44b89 OP_EQUALVERIFY OP_CHECKSIG*276a91448a253deaf50affdaea97e145def37c911e44b8988ac*"17d47XsjsX8mcDYsNP5cvXnKELesonc7sA8$J  +@f1e33c8a4f13d20e522495ac7d7ebb2672aadb66517baa287d7e7606e71a6b44"l"6OP_RETURN 1101b01bc14222c08a0ba55a4113c4c03b4e58b54dd0*06a161101b01bc14222c08a0ba55a4113c4c03b4e58b54dd02B" ZA;NXM8$J  + + +1@de7031fcb135a5bc1917a41e808f7ea7b1fbb95463f7522f9b73327cb9c3142a$"@0000000000000000000e7cc64bed0dde532fdfbdaf7cc3a24104682ef003aadc(-2 +@f1e33c8a4f13d20e522495ac7d7ebb2672aadb66517baa287d7e7606e71a6b44B03ff97893a5b3d5f78786325e09148cfada844324d07cab3dd16cd7e0acadffbd22 +@4ceae8180534aaf3c86f30b8e6f924722018bd3b89be401ad120a601ad97f721B0256bf18bd235f003beb6435fc02bde366679207385f454da97725903ed30d0124B +@de7031fcb135a5bc1917a41e808f7ea7b1fbb95463f7522f9b73327cb9c3142a""1JPg8B7t6CsgpEFwp7WuyXfvZeP2A8GKMV"UOP_DUP OP_HASH160 bec3f2c3e54b21c6a15dc3a2df9cdf36733ff02c OP_EQUALVERIFY OP_CHECKSIG*276a914bec3f2c3e54b21c6a15dc3a2df9cdf36733ff02c88ac*"1JPg8B7t6CsgpEFwp7WuyXfvZeP2A8GKMV8$J  +@de7031fcb135a5bc1917a41e808f7ea7b1fbb95463f7522f9b73327cb9c3142a""197T4sXbPNq3XQjGXrkredFCXTrgbSDqK7"UOP_DUP OP_HASH160 58f942ef40c69dcf5678c29b0213bdec31278e84 OP_EQUALVERIFY OP_CHECKSIG*276a91458f942ef40c69dcf5678c29b0213bdec31278e8488ac*"197T4sXbPNq3XQjGXrkredFCXTrgbSDqK78$J  +S@de7031fcb135a5bc1917a41e808f7ea7b1fbb95463f7522f9b73327cb9c3142a""15ParyAsryuq6cVRuJo4hk76BPSuW4v2EJ"UOP_DUP OP_HASH160 3025eba40f889fff745549014091f589e5d3d24b OP_EQUALVERIFY OP_CHECKSIG*276a9143025eba40f889fff745549014091f589e5d3d24b88ac*"15ParyAsryuq6cVRuJo4hk76BPSuW4v2EJ8$J $½-@0000000000000000000c19af53a12b689c3e7085af7951f0beb9d474a14314a6"@0000000000000000000e7cc64bed0dde532fdfbdaf7cc3a24104682ef003aadc2 + + +1@921819ae8aade3d7e60e5ced2840b77d4b790fa0b5d85e1b1f4cd0d4fd400bbb$"@0000000000000000000c19af53a12b689c3e7085af7951f0beb9d474a14314a6(½-2 +@93d207bb72a49ed27e0098bf61956cf764a7064bcbb67f97643f622d14adf227B022b1c99799fc54e50976c31988651e80164895f12c4d7b69d3f5e3432e9c213172 +@49aeda46b32648aa684478e3d623aee9c258765fdc0aa6b98f4335cb4d636882B0364f1b3bf406b898790105f77470ad4036f30318787fe590e545107e7e0a8d87fB +@921819ae8aade3d7e60e5ced2840b77d4b790fa0b5d85e1b1f4cd0d4fd400bbb""1QLSGz2ZhaLhL7UuVxhNtqRgdkXxH2Y3PZ"UOP_DUP OP_HASH160 fff7e5317f8b385cd175e2ea4026647fd11b2717 OP_EQUALVERIFY OP_CHECKSIG*276a914fff7e5317f8b385cd175e2ea4026647fd11b271788ac*"1QLSGz2ZhaLhL7UuVxhNtqRgdkXxH2Y3PZ8$J  +@921819ae8aade3d7e60e5ced2840b77d4b790fa0b5d85e1b1f4cd0d4fd400bbb""1MZk7g3GxFvuAw4trGfTm21pHiqeZQVEse"UOP_DUP OP_HASH160 e193d12c99e3ef80b61107183e1c73ff9fd92b15 OP_EQUALVERIFY OP_CHECKSIG*276a914e193d12c99e3ef80b61107183e1c73ff9fd92b1588ac*"1MZk7g3GxFvuAw4trGfTm21pHiqeZQVEse8$J  +@921819ae8aade3d7e60e5ced2840b77d4b790fa0b5d85e1b1f4cd0d4fd400bbb""1P8rRzoYSiaurLBBhdupQcroHQ3BXU7Y5U"UOP_DUP OP_HASH160 f2cef11ecca039522d657749ab489626dcea8e92 OP_EQUALVERIFY OP_CHECKSIG*276a914f2cef11ecca039522d657749ab489626dcea8e9288ac*"1P8rRzoYSiaurLBBhdupQcroHQ3BXU7Y5U8$J  + + +1@b38809a56886feb2b2656938a0357ccc2f7eebc6a33100ec7a4f3ec9af3edbaa$"@0000000000000000000c19af53a12b689c3e7085af7951f0beb9d474a14314a6(½-2 +@a8774a8533cb9a7faaa706fb4f5ca45a591ccd25b6d2881fee42a3343202a23eB0285c47366e3bd0bf6283590eef2f320afa4975ce39ceb47f9120a78278889b00f2 +@b176f5b75bfdc1723d3f6e3d1886d984b01c56bf4506e91741161cc917f33e5aB021c5a95b9a713a1b8730688982ab19dcc9198a55f1f8e6bb9a5273c1e1d49f496B +@b38809a56886feb2b2656938a0357ccc2f7eebc6a33100ec7a4f3ec9af3edbaa""1PFV7fzQPQg37ChAaEWjSUqCUhznGr1SE7"UOP_DUP OP_HASH160 f4100f59914c812219d0ecbd3f38e9f8d1f59b5d OP_EQUALVERIFY OP_CHECKSIG*276a914f4100f59914c812219d0ecbd3f38e9f8d1f59b5d88ac*"1PFV7fzQPQg37ChAaEWjSUqCUhznGr1SE78$J  +d@b38809a56886feb2b2656938a0357ccc2f7eebc6a33100ec7a4f3ec9af3edbaa""13SuHsJx6eCxSqujKCi3ocCCN9xRrtUskr"UOP_DUP OP_HASH160 1ad64d0077aa41a51573c5ade884a797ec869aef OP_EQUALVERIFY OP_CHECKSIG*276a9141ad64d0077aa41a51573c5ade884a797ec869aef88ac*"13SuHsJx6eCxSqujKCi3ocCCN9xRrtUskr8$J  +݉@b38809a56886feb2b2656938a0357ccc2f7eebc6a33100ec7a4f3ec9af3edbaa""15PoM77wMzKgC4vsQmBaY471F4HthsBHUa"UOP_DUP OP_HASH160 303057afd6cc09adb4861c70a0c69799b0060f50 OP_EQUALVERIFY OP_CHECKSIG*276a914303057afd6cc09adb4861c70a0c69799b0060f5088ac*"15PoM77wMzKgC4vsQmBaY471F4HthsBHUa8$J  + +1@42986b2d606e76c3d27134e32026ad1c4272e7b3a2cbb135ad855c7108bfc4e0$"@0000000000000000000c19af53a12b689c3e7085af7951f0beb9d474a14314a6(½-2 +@0985aba4ca23ebb7e75d325eb00c3c5c059117deaad8cd8669cd9a500437a22fB03bb331c13386379b12235f36b5025750ff391d0f8769d0647dab6825f9be6b33a2 +@07b087adaa0c18d143036ad54416323e2a081287b5a61e4b38593f3383f93725B03ad33fb4cf17ba771bdb6aeda4c580af6b9460ef6c451361ff340ebd9fee8b6e8B +@42986b2d606e76c3d27134e32026ad1c4272e7b3a2cbb135ad855c7108bfc4e0""1JojZhRxTSCGn5d53BSPFryUCfC44o8t6v"UOP_DUP OP_HASH160 c350cd90b9d25c12b09b567d85f057b37d0c110f OP_EQUALVERIFY OP_CHECKSIG*276a914c350cd90b9d25c12b09b567d85f057b37d0c110f88ac*"1JojZhRxTSCGn5d53BSPFryUCfC44o8t6v8$J  +@42986b2d606e76c3d27134e32026ad1c4272e7b3a2cbb135ad855c7108bfc4e0""1NWgXiE3KbJVDhenSwV62Ys8g1YZRKJuVf"UOP_DUP OP_HASH160 ebf7b3b08ebbdfb35b11646a0d8dac2c7fcddfe2 OP_EQUALVERIFY OP_CHECKSIG*276a914ebf7b3b08ebbdfb35b11646a0d8dac2c7fcddfe288ac*"1NWgXiE3KbJVDhenSwV62Ys8g1YZRKJuVf8$J  +@42986b2d606e76c3d27134e32026ad1c4272e7b3a2cbb135ad855c7108bfc4e0"l"6OP_RETURN 10018485d8d3c65fb6c1249ca0f171a9f956e927bddb*06a1610018485d8d3c65fb6c1249ca0f171a9f956e927bddb2_$qV'8$J  + +1@074022eb301b24e67d0cc7fb6394c47f4e0f47a75e1239bf773f775bede69376$"@0000000000000000000c19af53a12b689c3e7085af7951f0beb9d474a14314a6(½-2 +@26f360377a5b31f4941e81b741849484f1034df61104912c04b918528f783332B0278109950c73bf37a7e31010b84eb230b4ce6ad31eada676930cc16b2652d6f782 +@ba6a27530c5c19ef26c13df60230c7581acbb4438525855927f6e596ab8ca4ccB027624c71ba6ee1eb04a32c4d46a613592c01282dfb95aabec0f225887f67c728a2 +@d06aff6f233c35f755a5b8cae804f1df19a7fef65ec8b041eafeab4e5dd8dc3dB0352bfbce30868ce9dbbad10efe5d2cc7d897adafb19d1fa643e56568ddae75e1d2 +@0b5a24c4096c0e4c5b140f5db466aff7b23652a53b7659ca52ddcaec65ca100fB03a75209012e70f0afa676b94380ef17e19c58150640f9af211e09410883dc6fbfB +@074022eb301b24e67d0cc7fb6394c47f4e0f47a75e1239bf773f775bede69376""1BCa3rJCXKKqR6ZEtwBQRmyke4zBTD2LWL"UOP_DUP OP_HASH160 6fe16be3fdb8c2a8f5c6146041283a71a81ca1e7 OP_EQUALVERIFY OP_CHECKSIG*276a9146fe16be3fdb8c2a8f5c6146041283a71a81ca1e788ac*"1BCa3rJCXKKqR6ZEtwBQRmyke4zBTD2LWL8$J  +3@074022eb301b24e67d0cc7fb6394c47f4e0f47a75e1239bf773f775bede69376""1BCa3rJCXKKqR6ZEtwBQRmyke4zBTD2LWL"UOP_DUP OP_HASH160 6fe16be3fdb8c2a8f5c6146041283a71a81ca1e7 OP_EQUALVERIFY OP_CHECKSIG*276a9146fe16be3fdb8c2a8f5c6146041283a71a81ca1e788ac*"1BCa3rJCXKKqR6ZEtwBQRmyke4zBTD2LWL8$J   +@074022eb301b24e67d0cc7fb6394c47f4e0f47a75e1239bf773f775bede69376""1BtApEnWWxSTpNnHudK7NczsxcWPaLBYde"UOP_DUP OP_HASH160 775eaa2175d664f04e8d71ae81f73b79e8447bfe OP_EQUALVERIFY OP_CHECKSIG*276a914775eaa2175d664f04e8d71ae81f73b79e8447bfe88ac*"1BtApEnWWxSTpNnHudK7NczsxcWPaLBYde8$J  +@074022eb301b24e67d0cc7fb6394c47f4e0f47a75e1239bf773f775bede69376"l"6OP_RETURN 1101fce13ad9a1bae6cc0bd0b21af13ea00e31685fbf*06a161101fce13ad9a1bae6cc0bd0b21af13ea00e31685fbf2:١ в>1h_8$J  + + +1@f916add8cea6634c0dbeac16ae344e5605241f6be2bbe391ec1567cfd44c527a$"@0000000000000000000c19af53a12b689c3e7085af7951f0beb9d474a14314a6(½-2 +@ee6031a17128284947e55296cbbd800e382d9a17c4d7b347913433fbbd2d7bd2B02d3b55d74982f3ddb1ddaa5b806494cec7ea3930e593f83b854d1b812f9cf66492 +@f14ea2251a60dffa9de66bac1db1ddb2cdf978e519eecf2e2b6d1ac1cc3095c1B02b5fd9cb22844c82345fcbd8225eac8cbc5b12aa7729d5d00e32030b61966b632B +@f916add8cea6634c0dbeac16ae344e5605241f6be2bbe391ec1567cfd44c527a""18xbPtNmxveL3vkkqVkdLfECRw4L77LsNQ"UOP_DUP OP_HASH160 574c783389e4169bd59b6723455b3864e98795cc OP_EQUALVERIFY OP_CHECKSIG*276a914574c783389e4169bd59b6723455b3864e98795cc88ac*"18xbPtNmxveL3vkkqVkdLfECRw4L77LsNQ8$J  +@f916add8cea6634c0dbeac16ae344e5605241f6be2bbe391ec1567cfd44c527a""18nS9MXKLnFDze6RZSSZJjzNibJ9zH6fjG"UOP_DUP OP_HASH160 55609683bc6054c7087ef3a289f7e5367a79f9ee OP_EQUALVERIFY OP_CHECKSIG*276a91455609683bc6054c7087ef3a289f7e5367a79f9ee88ac*"18nS9MXKLnFDze6RZSSZJjzNibJ9zH6fjG8$J  +d@f916add8cea6634c0dbeac16ae344e5605241f6be2bbe391ec1567cfd44c527a""1Du8Av9gH3vARvUBsfNeuPHHD73iUpkQ7z"UOP_DUP OP_HASH160 8d7d201d1e081c22c9c7e4025e47ed14ae3072ff OP_EQUALVERIFY OP_CHECKSIG*276a9148d7d201d1e081c22c9c7e4025e47ed14ae3072ff88ac*"1Du8Av9gH3vARvUBsfNeuPHHD73iUpkQ7z8$J ; + +1@9b3fb8c5ab53b3cd784862b6ba3e7cc1e711d74b03ade43935fa4a775bf56eb6$"@0000000000000000000c19af53a12b689c3e7085af7951f0beb9d474a14314a6(½-2 +@e01c921d15824175a94545e02109160b4c1dbcbc1498dd855993e8fdaf3ab248B03256c8d93cf07a0f7d2163249d0c36abdd75dd690fa585755a4958ae1347e0bb92 +@49aeda46b32648aa684478e3d623aee9c258765fdc0aa6b98f4335cb4d636882B03df5923b72396158df05d2264cb607e81c68fb2102f96e7e96014d5867d38de442 +@c321135b13344f3989feaeb9171e4e05dc04bca56f099461a0ce2aceab0be659B02aa199d73df077fc59eb1b436c04e11f6efafb2aad35bd567b6d2bd4694a4b9662 +@f700a1e91e1757be5283d246e3a7deccc2eca85fc72ebeb1a0c0159575e4cfb8B023a7a34ee7aa6b6bbd742346f94c48f48f113aaebf3d36b27cbda7a9df27260ab2 +@9b45dcc7377ba8af50cccf554941e3b6e6c809b6f4c9f080464e2889a21ef045B0304bdb3738514360e67e13f2ddf6980fcb9d3347dcf38a7b992c8d6c03d74c935B ++@9b3fb8c5ab53b3cd784862b6ba3e7cc1e711d74b03ade43935fa4a775bf56eb6"!1nsCNWVyMKqpyp3kmDgXR7nEfeMYRQvFs"UOP_DUP OP_HASH160 08ac9ead4fac9742e08fb24aff35e351a31e8e0a OP_EQUALVERIFY OP_CHECKSIG*276a91408ac9ead4fac9742e08fb24aff35e351a31e8e0a88ac*!1nsCNWVyMKqpyp3kmDgXR7nEfeMYRQvFs8$J  +[@9b3fb8c5ab53b3cd784862b6ba3e7cc1e711d74b03ade43935fa4a775bf56eb6""1DV2uw7FhCvB2Fzjf23XqtnCp9VW9dyM1L"UOP_DUP OP_HASH160 88eec0bf9a7fd284be1620d7df2284cc4371238f OP_EQUALVERIFY OP_CHECKSIG*276a91488eec0bf9a7fd284be1620d7df2284cc4371238f88ac*"1DV2uw7FhCvB2Fzjf23XqtnCp9VW9dyM1L8$J  +@9b3fb8c5ab53b3cd784862b6ba3e7cc1e711d74b03ade43935fa4a775bf56eb6""1BQNVBNvkw2KKT1sBeuT4XcKUnCsus6jG9"UOP_DUP OP_HASH160 721cc2ac105b40b7b161dc943cf279ea22034e66 OP_EQUALVERIFY OP_CHECKSIG*276a914721cc2ac105b40b7b161dc943cf279ea22034e6688ac*"1BQNVBNvkw2KKT1sBeuT4XcKUnCsus6jG98$J  + +1@1ba1d7fca8a803d559913bf6e2a24e01b57c4ca0a1d911bef1d031bace7e17e5$"@0000000000000000000c19af53a12b689c3e7085af7951f0beb9d474a14314a6(½-2 +@9b3fb8c5ab53b3cd784862b6ba3e7cc1e711d74b03ade43935fa4a775bf56eb6B03c14891fe869696442cb497f507282d56b49171ea347441a49651a79e572984a62 +@a2d28e64317a1d4df3f2588091e20952f56e8ff5d5dea03afea300268c9ca829B02ad36ca7d5ba6ed3df9c8885264030bb85fb0cf43a8784810703e144e78f739b02 +@8ae230b37b28e72b00cbf3a5407896bb37b3f462ee6141c70cc27a4e4b0487d5B0258b24fe35ce0f2488fa184ed89c9cee6a1e08fc9963cebe236a998ec0c6546282 +@c603c2da137e6a0e87d1ebdbcfdd11375961ff3a1a0fcaa47704c2f529a82cdcB039431053c6df4a6bbf6b1839ca3d4006a41f50a70e7af1d330a5f83ab8e7cb11d2 +@f6d092f34eba45cd89841abcf0f6c707444ae47a50a6773201cc2efe310a12faB026e1386558574de4a63c5395d58350b3f7faf3eb0a0f6a0a8c9fd2f05331479faB ++@1ba1d7fca8a803d559913bf6e2a24e01b57c4ca0a1d911bef1d031bace7e17e5""17rUVXCUTvGu6xDDEtkLCMKuPz9eb2rgJP"UOP_DUP OP_HASH160 4b2c15f55f50f74ff6b7cc151fe5eaded671601d OP_EQUALVERIFY OP_CHECKSIG*276a9144b2c15f55f50f74ff6b7cc151fe5eaded671601d88ac*"17rUVXCUTvGu6xDDEtkLCMKuPz9eb2rgJP8$J  +[@1ba1d7fca8a803d559913bf6e2a24e01b57c4ca0a1d911bef1d031bace7e17e5"!1ENfpQZ46MPDYZXNxzp6f2aaG38f8WVA5"UOP_DUP OP_HASH160 02877f000afd3321d210a5daece58d1442fb9275 OP_EQUALVERIFY OP_CHECKSIG*276a91402877f000afd3321d210a5daece58d1442fb927588ac*!1ENfpQZ46MPDYZXNxzp6f2aaG38f8WVA58$J  +@1ba1d7fca8a803d559913bf6e2a24e01b57c4ca0a1d911bef1d031bace7e17e5""1BwWPo32njh99HvMKzfKd4UUPyA8wJX2Ah"UOP_DUP OP_HASH160 7800417cd3a7e1cae8fb8e10eea7267afc60ca39 OP_EQUALVERIFY OP_CHECKSIG*276a9147800417cd3a7e1cae8fb8e10eea7267afc60ca3988ac*"1BwWPo32njh99HvMKzfKd4UUPyA8wJX2Ah8$J  + +1@28b710871026b6c2c5d46e7cb550fcbaa31437f98bd68af26e16d4f39b69f255$"@0000000000000000000c19af53a12b689c3e7085af7951f0beb9d474a14314a6(½-2 +@1ba1d7fca8a803d559913bf6e2a24e01b57c4ca0a1d911bef1d031bace7e17e5B02e11ba8fec8836bde0003706b925f1a77066b4c7c96fd10d2f2e85c6788926cfe2 +@064bd65e032780bd6a482c870e4b43f72a69100403d0a286f5b132baf8cf271dB03f4165eb0335559d1aa2eda09a753f8372f06068f8c3e7d0a634484350c1e7ff92 +@df1995eec247d1d0a290244d211e13d1659ccb8c40f96bacb1d3a8e126f6a4c5B02c8ccfe1239a4d46e5281b22cc249b04c7834dccc211e09c6d6eb510f825e3e9d2 +@1ba1d7fca8a803d559913bf6e2a24e01b57c4ca0a1d911bef1d031bace7e17e5B02d1516ffafe990ceda1a62be22b8c39b5e6cafab4b3873f8a999853e29c6968bc2 +@9b3fb8c5ab53b3cd784862b6ba3e7cc1e711d74b03ade43935fa4a775bf56eb6B021c85f7c54fe772b99df4838fbea5dcdaa3f0932e91fa9109f06f4d5e5d36e7c82 +@9b3fb8c5ab53b3cd784862b6ba3e7cc1e711d74b03ade43935fa4a775bf56eb6B0263708a5d70bc47c3fe188cb9c4b74ef27303482a2319c60923fe9265cfbf67a5B ++@28b710871026b6c2c5d46e7cb550fcbaa31437f98bd68af26e16d4f39b69f255""1NXPuRFZ21YHRDZwLxjuYpckd3ViXogK7c"UOP_DUP OP_HASH160 ec1a3d49f252d34b7b4c66d87b4a16b77330b712 OP_EQUALVERIFY OP_CHECKSIG*276a914ec1a3d49f252d34b7b4c66d87b4a16b77330b71288ac*"1NXPuRFZ21YHRDZwLxjuYpckd3ViXogK7c8$J  +[@28b710871026b6c2c5d46e7cb550fcbaa31437f98bd68af26e16d4f39b69f255""1E63C6CcMw5TWDA43yiHq7928ZHCAaCwGT"UOP_DUP OP_HASH160 8f8d8b4b7bc71c1f4c29ab61214c80aa003d106e OP_EQUALVERIFY OP_CHECKSIG*276a9148f8d8b4b7bc71c1f4c29ab61214c80aa003d106e88ac*"1E63C6CcMw5TWDA43yiHq7928ZHCAaCwGT8$J  +S@28b710871026b6c2c5d46e7cb550fcbaa31437f98bd68af26e16d4f39b69f255""1Q1TdnDMXndSUxz7wf3YQgDLEd6Kup2kGx"UOP_DUP OP_HASH160 fc612046b49f0340ac066cc5d998689dd74df531 OP_EQUALVERIFY OP_CHECKSIG*276a914fc612046b49f0340ac066cc5d998689dd74df53188ac*"1Q1TdnDMXndSUxz7wf3YQgDLEd6Kup2kGx8$J  + + +1@bef16c17f394a0e3b3a397ead2c023304500181d526aae933368230ca951436d$"@0000000000000000000c19af53a12b689c3e7085af7951f0beb9d474a14314a6(½-2 +@44395bdd47b3a79c079e94bfa9f3a0c5765ab0c9ada51a1433ad6e9a82d6a456B038fa8746266840840ab4a0300a988a5bfe26b8b2848a1397076c24695369516e62 +@beaed859fafeffcee7eefe2c08199e9503812ae6ccc60b72292ca9caafcec5e5B03878d2d8e403971ee0cad18b5021baae610c25a85068dcc184431a7007ae4f865B +@bef16c17f394a0e3b3a397ead2c023304500181d526aae933368230ca951436d""12WgP4LZnzZJnwfGo7wUpQfpz4SwFovYrP"UOP_DUP OP_HASH160 10950fcb5a0badeeefde76b92112332a1866e596 OP_EQUALVERIFY OP_CHECKSIG*276a91410950fcb5a0badeeefde76b92112332a1866e59688ac*"12WgP4LZnzZJnwfGo7wUpQfpz4SwFovYrP8$J  +@bef16c17f394a0e3b3a397ead2c023304500181d526aae933368230ca951436d""1KfaYbYAC9kf2fJgQiz7T4yfSUu4jtQ8AR"UOP_DUP OP_HASH160 ccbe1288fb8ae416eeca52c965e649a6e10c05f0 OP_EQUALVERIFY OP_CHECKSIG*276a914ccbe1288fb8ae416eeca52c965e649a6e10c05f088ac*"1KfaYbYAC9kf2fJgQiz7T4yfSUu4jtQ8AR8$J  +@bef16c17f394a0e3b3a397ead2c023304500181d526aae933368230ca951436d""1Eupmpzexcw5fsAecPveiuTQggtQ5QbatS"UOP_DUP OP_HASH160 989724dd3717555349c2e5ec04ce29afce312c06 OP_EQUALVERIFY OP_CHECKSIG*276a914989724dd3717555349c2e5ec04ce29afce312c0688ac*"1Eupmpzexcw5fsAecPveiuTQggtQ5QbatS8$J ; + + +1@a9946c543c482aaf5a6d3f63d3213196d4c2578b977bfd49b37c13c0bde721d8$"@0000000000000000000c19af53a12b689c3e7085af7951f0beb9d474a14314a6(½-2 +@cd6998ea9cd55ee08afe7b4ce51590985c4ae8f378220c614d23638d80a45848B0281a36ce874f53b41ed8ddd6e23beaeb5acd3d44b5e5755f286eaae6ee4979b1c2 +@ab5451e0bbfc869b69925c6ac0101bda34a9b6e5dc17e051995f98612561d5a3B029bfd617ff774d3d4ef6a89d9d2b6a596d4f49eb9da0b3eafe3a9ef961faa124fB +@a9946c543c482aaf5a6d3f63d3213196d4c2578b977bfd49b37c13c0bde721d8""1AoE6QmX2f7mfhfK3e5QR61riTHKczeLLp"UOP_DUP OP_HASH160 6b77322dad840a200cc8602dd441252c20b26e06 OP_EQUALVERIFY OP_CHECKSIG*276a9146b77322dad840a200cc8602dd441252c20b26e0688ac*"1AoE6QmX2f7mfhfK3e5QR61riTHKczeLLp8$J  +@a9946c543c482aaf5a6d3f63d3213196d4c2578b977bfd49b37c13c0bde721d8""1NYbynzSG5kBoeNNqC4hDXprYG1bDzivAA"UOP_DUP OP_HASH160 ec54bc4533aadad48cdf5754ce9d783f9c472d9a OP_EQUALVERIFY OP_CHECKSIG*276a914ec54bc4533aadad48cdf5754ce9d783f9c472d9a88ac*"1NYbynzSG5kBoeNNqC4hDXprYG1bDzivAA8$J  +@a9946c543c482aaf5a6d3f63d3213196d4c2578b977bfd49b37c13c0bde721d8""1K192Z4nPdmNQda3eLMsTdnuL1fPzEw526"UOP_DUP OP_HASH160 c578f6ead7164797633bc2bb1f99990fdf41dd24 OP_EQUALVERIFY OP_CHECKSIG*276a914c578f6ead7164797633bc2bb1f99990fdf41dd2488ac*"1K192Z4nPdmNQda3eLMsTdnuL1fPzEw5268$J ; + +1@723352bb7d333c6272f0683dc496f6e5741886f7211e79e923b237ec1e94cf45$"@0000000000000000000c19af53a12b689c3e7085af7951f0beb9d474a14314a6(½-2 +@e7269024b10a37ae56c5e4f7d301fd2d3355c3c418b92298fd72452a7e9b9d42B0339e9a4bbd0cd8dc427763f6d302fd6e852a4258458b4e033c9dc50f101f17a382 +@b38809a56886feb2b2656938a0357ccc2f7eebc6a33100ec7a4f3ec9af3edbaaB03d4f35a54d237ecae3ce3ebcbb294caf6aa1073adc62d021ffcf351d2431edf252 +@2d5e87f60f195ce8ab76dfbf4ec5869fc791f0c7f026a5ec2c22b20f65de83c6B029a8415db17b2e368cc58fc6d575d6ffb4e546038eede6b1c6ed7965a1ad384902 +@49cdfe4fc051e8eafeba7f8e901986a9631c0cfd04dd5b492a2344b58ea7bb1aB02f16bab7aec61bd98961aa7b6a024248a9506b2eeaac1d4840c94451ab9293dba2 +@5c08abe369b3dbc3a64c2d2106f1f92a40e43853e54696561dbf378cfe260201B0319fd0e7bb33d424d7d196175af4403eb0b41e8dd0468cfb25d5911282f035ded2 +@69e25e13cf90e571b5523109d312c2b23a218891ed69b7315fd2dac5d8387ad8B039e19f828f90e89e560ea14690e1829f320549ea257d49db80bc16fd3057e758d2 +@a539409bfd258100fa371b2cb72d1238df70777a6f245e496c1b7e40b0620508B03fa0d58406932562a3dc934493726d49990bff6f694fe89190ec5ec58e03bc5232 +@bde5134241477965649d47720b0c8446d16d4d5dd4260e13ac62e601c2bfa8a0B02f5886aca55cec3cf9ec7dccf33e4e59733f7f3a543fb44ab1317f7935e6e44502 +@8c201da225aa890e365886009b4910e01408a1e99bd404924c47fbba30fd3ef4B02af68bce0684e48f455261b4a9cd4601290822211387cc711cd70fb64c355f1592 +@b38809a56886feb2b2656938a0357ccc2f7eebc6a33100ec7a4f3ec9af3edbaaB033ab862b3fa26c8dd4b8e9610bfc304aa69fccd9b9f34aa354aa2e1f8b26246d8B +@723352bb7d333c6272f0683dc496f6e5741886f7211e79e923b237ec1e94cf45""1PEGFnwcQ9mXoTWre7JawR9exZhUiUR4Rh"UOP_DUP OP_HASH160 f3d4e8b4d45f868ce389d1867f5350be0cd50031 OP_EQUALVERIFY OP_CHECKSIG*276a914f3d4e8b4d45f868ce389d1867f5350be0cd5003188ac*"1PEGFnwcQ9mXoTWre7JawR9exZhUiUR4Rh8$J  +d@723352bb7d333c6272f0683dc496f6e5741886f7211e79e923b237ec1e94cf45""1Gcta9vL4xiAPU7nsBY92cyBt76fgSXNYv"UOP_DUP OP_HASH160 ab537ec7dcb9b579e63b211d1d910dea1ef5d43f OP_EQUALVERIFY OP_CHECKSIG*276a914ab537ec7dcb9b579e63b211d1d910dea1ef5d43f88ac*"1Gcta9vL4xiAPU7nsBY92cyBt76fgSXNYv8$J  +@723352bb7d333c6272f0683dc496f6e5741886f7211e79e923b237ec1e94cf45""1EqxWUguexBxzJBNeG8vGb1ymNqNV4aPVM"UOP_DUP OP_HASH160 97dbeff2670ab8c925aa5e60e93ff35a80386b00 OP_EQUALVERIFY OP_CHECKSIG*276a91497dbeff2670ab8c925aa5e60e93ff35a80386b0088ac*"1EqxWUguexBxzJBNeG8vGb1ymNqNV4aPVM8$J  + + +1@a0778641c2e6cea4bbf818b2e5762e31af5fba767b5aa71c6f82e7f4ee70f553$"@0000000000000000000c19af53a12b689c3e7085af7951f0beb9d474a14314a6(½-2 +@723352bb7d333c6272f0683dc496f6e5741886f7211e79e923b237ec1e94cf45B02ac071ce0c8f15f1c721ea3e56595747ee24f58971023eea13acc8e0a69e269a42 +@723352bb7d333c6272f0683dc496f6e5741886f7211e79e923b237ec1e94cf45B0227913522d2a4f27c452c5e17096c854c1434f544dc4123896f3caf7fa6f192f6B +@a0778641c2e6cea4bbf818b2e5762e31af5fba767b5aa71c6f82e7f4ee70f553""1KhtDkkJKF3g8QK1njvNk2kvDXdoj5iqGW"UOP_DUP OP_HASH160 cd2da8a717a01ead791e575e7f34644042880ef1 OP_EQUALVERIFY OP_CHECKSIG*276a914cd2da8a717a01ead791e575e7f34644042880ef188ac*"1KhtDkkJKF3g8QK1njvNk2kvDXdoj5iqGW8$J  +d@a0778641c2e6cea4bbf818b2e5762e31af5fba767b5aa71c6f82e7f4ee70f553""1FgAnRZRL3VUbkMvStNhF9YT5XwN74AJdZ"UOP_DUP OP_HASH160 a0fa266a0a188e68956e4f148e551195804c0266 OP_EQUALVERIFY OP_CHECKSIG*276a914a0fa266a0a188e68956e4f148e551195804c026688ac*"1FgAnRZRL3VUbkMvStNhF9YT5XwN74AJdZ8$J  +Ҳ@a0778641c2e6cea4bbf818b2e5762e31af5fba767b5aa71c6f82e7f4ee70f553""1M5JsPqPawkNCkMfwr9iS2rp6BApCChXy4"UOP_DUP OP_HASH160 dc33187f5978ea4c25c659a3b3021dd9b0df49c0 OP_EQUALVERIFY OP_CHECKSIG*276a914dc33187f5978ea4c25c659a3b3021dd9b0df49c088ac*"1M5JsPqPawkNCkMfwr9iS2rp6BApCChXy48$J  $ȇǽ-@000000000000000000011b58b057e0193a76c0eec6c9806b5bf3872be4f57a1f"@0000000000000000000c19af53a12b689c3e7085af7951f0beb9d474a14314a62 + + + +1@78033858c2322c5090528efb71033fcec13088441ebdf6f4e299961ee6d178fd$"@000000000000000000011b58b057e0193a76c0eec6c9806b5bf3872be4f57a1f(ȇǽ-2 +@995f63c55c187d7e51c6fcb1ee616fd77eb6d4fb58764db1376469f3c53d70eaB03c8f7357c9374818a2ffbbc4c7e7e55c57ae7e61c7972ea2617a0d4d98024125c2 +@a77f8186d40df7096c6a0636c71b2509749ebac208fe30e92d0cfab7faded410B026ae63f7a30b4a7054a6bfa944e22bb396f86eae343530fbc68683b07f9fb47b7B +@78033858c2322c5090528efb71033fcec13088441ebdf6f4e299961ee6d178fd""1A9qFvTPi18yXSBDoDaRK81fCr32BnDJDS"UOP_DUP OP_HASH160 6464be2dee5bd7085291fbf34a08596b922d375e OP_EQUALVERIFY OP_CHECKSIG*276a9146464be2dee5bd7085291fbf34a08596b922d375e88ac*"1A9qFvTPi18yXSBDoDaRK81fCr32BnDJDS8$J  +@78033858c2322c5090528efb71033fcec13088441ebdf6f4e299961ee6d178fd""1LuPZKnX16JdoH6yyrydFW1pVHBXkz5JTh"UOP_DUP OP_HASH160 da52d98c531c9acc344890a57dd76daf3d61930e OP_EQUALVERIFY OP_CHECKSIG*276a914da52d98c531c9acc344890a57dd76daf3d61930e88ac*"1LuPZKnX16JdoH6yyrydFW1pVHBXkz5JTh8$J  +@78033858c2322c5090528efb71033fcec13088441ebdf6f4e299961ee6d178fd""16PPVLJnbxM7Y3Y2MBMubCkTzRdfqjoB5b"UOP_DUP OP_HASH160 3b148d72a9860d4a7ae5956f2bcbeb1fd3a669d7 OP_EQUALVERIFY OP_CHECKSIG*276a9143b148d72a9860d4a7ae5956f2bcbeb1fd3a669d788ac*"16PPVLJnbxM7Y3Y2MBMubCkTzRdfqjoB5b8$J $ǽ-@00000000000000000013855bfdfd6c6731b8fa80333ed1a9826da1f21314dd69"@000000000000000000011b58b057e0193a76c0eec6c9806b5bf3872be4f57a1f2$-@000000000000000000181f3aee5c86a1b6a9670257d06f647e0472400821f91f"@00000000000000000013855bfdfd6c6731b8fa80333ed1a9826da1f21314dd692$-@00000000000000000007c8ab59d979720900f578c1736247f33ddd778237c968"@000000000000000000181f3aee5c86a1b6a9670257d06f647e0472400821f91f2$Ԉ-@000000000000000000136a199d44143e46c2bc294b79a113bf6499d0186ee2c0"@00000000000000000007c8ab59d979720900f578c1736247f33ddd778237c9682$ƿ-@00000000000000000005424681184d91f9f645518bc9d0022367da67cd5303f9"@000000000000000000136a199d44143e46c2bc294b79a113bf6499d0186ee2c02 $ɿ-@00000000000000000011a8e3aff78cd7749504717a47db64adc2bb439d691627"@00000000000000000005424681184d91f9f645518bc9d0022367da67cd5303f92 + +1@c9241dda7e5a3458678cb8236520a1a365c699230d68c39b0ea4bd529550aacc$"@00000000000000000011a8e3aff78cd7749504717a47db64adc2bb439d691627(ɿ-2 +@29c673a67a62e346dd45be769e0a7c0924e75f400d817f1c688b8b8b1e112e09B022ceaf7cc1c86dffbc15932750678911b33678fbff9cf4374b031db2d023bf01c2 +@b2638518e9f7d4ba07f8b6d9b2766e75d25c631de472f91108d7128b23a253a6B0321239d51ca51c73986a8420553e611e0f39a33a9c5e6410d4d27b0082d1987302 +@d9db5f669ab730876af2cf9c141f2624d913dcb99d4059f50fbea955345b9351B02b60458302c433e1e616208f339d8f1984a2aded1a653156003a9584f761ff259B +@c9241dda7e5a3458678cb8236520a1a365c699230d68c39b0ea4bd529550aacc""18YjhEvAZS56M512iUiSboF9FGoxMRALJT"UOP_DUP OP_HASH160 52c96a0e916fb954187fc17c7c65b91871e9cd96 OP_EQUALVERIFY OP_CHECKSIG*276a91452c96a0e916fb954187fc17c7c65b91871e9cd9688ac*"18YjhEvAZS56M512iUiSboF9FGoxMRALJT8$J  +؈2@c9241dda7e5a3458678cb8236520a1a365c699230d68c39b0ea4bd529550aacc""17b9wXeQTMRrPCGcyoEJut7dP9ZjALuGZ4"UOP_DUP OP_HASH160 48465c39fff07c4f2434c99edcce5293017e400a OP_EQUALVERIFY OP_CHECKSIG*276a91448465c39fff07c4f2434c99edcce5293017e400a88ac*"17b9wXeQTMRrPCGcyoEJut7dP9ZjALuGZ48$J  +$@c9241dda7e5a3458678cb8236520a1a365c699230d68c39b0ea4bd529550aacc""1PkmMLonFnD6oaZhGwwGsEZhRqEeN6WAEJ"UOP_DUP OP_HASH160 f999acfb84176a3d37745b9072bf97d664452e91 OP_EQUALVERIFY OP_CHECKSIG*276a914f999acfb84176a3d37745b9072bf97d664452e9188ac*"1PkmMLonFnD6oaZhGwwGsEZhRqEeN6WAEJ8$J  +$-@0000000000000000000943b552353b62481109f6ac172367b62af2f472b0591c"@00000000000000000011a8e3aff78cd7749504717a47db64adc2bb439d6916272$-@0000000000000000000bfd02de474d7816f479a8105192b6aee1e6a1c50298d0"@0000000000000000000943b552353b62481109f6ac172367b62af2f472b0591c2$-@0000000000000000000943984f6fb78ebe54317d9499e6f4747fe8dca532fb8d"@0000000000000000000bfd02de474d7816f479a8105192b6aee1e6a1c50298d02$-@0000000000000000001096e777b7cd0a10d558e6bb50b5ef915cc35b58738fd1"@0000000000000000000943984f6fb78ebe54317d9499e6f4747fe8dca532fb8d2 $ү-@00000000000000000001896dfddf7258f76ff55cb19c5723c76e03630fe0cb4a"@0000000000000000001096e777b7cd0a10d558e6bb50b5ef915cc35b58738fd12 + + + +1@94a4575d74d33fc209c8b1a7a936142f994617b635a66cd1837a359c225262b5$"@00000000000000000001896dfddf7258f76ff55cb19c5723c76e03630fe0cb4a(ү-2 +@a9946c543c482aaf5a6d3f63d3213196d4c2578b977bfd49b37c13c0bde721d8B032619aee1b334ef4ef9e992dec799d36eccf15ca6108ed9f6913e184c7ea6526c2 +@a9946c543c482aaf5a6d3f63d3213196d4c2578b977bfd49b37c13c0bde721d8B034ff2975b810c22641aba28cff2ac56f7eeac93602a7a47588e88ea9cc12c80f9B +@94a4575d74d33fc209c8b1a7a936142f994617b635a66cd1837a359c225262b5""162m6EdYuTcNhDN4iUwtoN3YLQCPq842N8"UOP_DUP OP_HASH160 372dd97dc1b9ee9d441c940ef18680ea3f6b28cf OP_EQUALVERIFY OP_CHECKSIG*276a914372dd97dc1b9ee9d441c940ef18680ea3f6b28cf88ac*"162m6EdYuTcNhDN4iUwtoN3YLQCPq842N88$J  +@94a4575d74d33fc209c8b1a7a936142f994617b635a66cd1837a359c225262b5""19isyJw2qTgKnqPoasR9MyYZpd4Y7MyzU3"UOP_DUP OP_HASH160 5fac9be9079ea8b7c35d504cbfe72232fcddd1dd OP_EQUALVERIFY OP_CHECKSIG*276a9145fac9be9079ea8b7c35d504cbfe72232fcddd1dd88ac*"19isyJw2qTgKnqPoasR9MyYZpd4Y7MyzU38$J  +@94a4575d74d33fc209c8b1a7a936142f994617b635a66cd1837a359c225262b5""1MQZeU6skriK44kfKNeqeqtcKrvv3Wiubq"UOP_DUP OP_HASH160 dfd755945393134e17a1f720d4a303cbffa75498 OP_EQUALVERIFY OP_CHECKSIG*276a914dfd755945393134e17a1f720d4a303cbffa7549888ac*"1MQZeU6skriK44kfKNeqeqtcKrvv3Wiubq8$J $-@0000000000000000000aa1b3f213703f9ec7ef57caa42531ce0185555441d6d3"@00000000000000000001896dfddf7258f76ff55cb19c5723c76e03630fe0cb4a2$-@0000000000000000000789219c989d256be1405088da839989d7ef9eb3b0bfa3"@0000000000000000000aa1b3f213703f9ec7ef57caa42531ce0185555441d6d32 $-@0000000000000000000c65199cf0b42690eac1273b7140f4ac586c566e1a0059"@0000000000000000000789219c989d256be1405088da839989d7ef9eb3b0bfa32 + + + +1@4c0522eee76e2c94e2926406c98e9f9934ee6363e6870d7068942ffb223255a1$"@0000000000000000000c65199cf0b42690eac1273b7140f4ac586c566e1a0059(-2 +@94a4575d74d33fc209c8b1a7a936142f994617b635a66cd1837a359c225262b5B0340a7a04bbb15d23d2a04cd1e8107752b1097ffdba08d0a2f95ac6940b226642f2 +@94a4575d74d33fc209c8b1a7a936142f994617b635a66cd1837a359c225262b5B03e39bbcebad5072a3ba41d5f3a99c9f4e37afcaffe44cdf1bf4bc90be31e847c0B +@4c0522eee76e2c94e2926406c98e9f9934ee6363e6870d7068942ffb223255a1""1MedXyHLDoYSiGvxNSGBBXfbu9WLXFYsVA"UOP_DUP OP_HASH160 e280673dbb5d688ae37f568ce6ee47acd757278a OP_EQUALVERIFY OP_CHECKSIG*276a914e280673dbb5d688ae37f568ce6ee47acd757278a88ac*"1MedXyHLDoYSiGvxNSGBBXfbu9WLXFYsVA8$J  +@4c0522eee76e2c94e2926406c98e9f9934ee6363e6870d7068942ffb223255a1""1CQzphj3Ma2e5Xm7yc9knDYAyJtgJWHeoG"UOP_DUP OP_HASH160 7d3337ef38989687935f588907ec56a99d821753 OP_EQUALVERIFY OP_CHECKSIG*276a9147d3337ef38989687935f588907ec56a99d82175388ac*"1CQzphj3Ma2e5Xm7yc9knDYAyJtgJWHeoG8$J  + @4c0522eee76e2c94e2926406c98e9f9934ee6363e6870d7068942ffb223255a1""1GW6uCWuKZrcZU8Azri6SMU5dTDf1ARNeH"UOP_DUP OP_HASH160 aa0adfec4fac768e60eb5fabc2a91649a6319c7a OP_EQUALVERIFY OP_CHECKSIG*276a914aa0adfec4fac768e60eb5fabc2a91649a6319c7a88ac*"1GW6uCWuKZrcZU8Azri6SMU5dTDf1ARNeH8$J $-@0000000000000000000d6e1b6ca8ef4ed5d8c71734b2f7e8c0aac433f5a3b94f"@0000000000000000000c65199cf0b42690eac1273b7140f4ac586c566e1a00592$ت-@0000000000000000000b934fd49b6164811e809d2607a75aa3e4d3f1b7d87ff7"@0000000000000000000d6e1b6ca8ef4ed5d8c71734b2f7e8c0aac433f5a3b94f2 + +1@9b7526364c5b6e54cee111c526e7d301b7c66e703a0024d10dc20b11c8cf9b60$"@0000000000000000000b934fd49b6164811e809d2607a75aa3e4d3f1b7d87ff7(ت-2 +@de7031fcb135a5bc1917a41e808f7ea7b1fbb95463f7522f9b73327cb9c3142aB02479e24a51934d122e8f8f70605d81f8880d542e6dfe9f543bad6eae35a8e7e662 +@6288e19f946f7a34a972661a8a4e1594bd8594f4341ec93dde6f9015ae5b4ac9B031363f6b2d1da14399a0b5a9832181cead1487c8b3305a699e8e4b2f55a11e1f62 +@bdbb0df9bd61160daa8ca77eb337c6b101038f62c0dea34be1b9c97e537d2b58B031363f6b2d1da14399a0b5a9832181cead1487c8b3305a699e8e4b2f55a11e1f62 +@2add4b41595f82274e5d1658384f2cc48c52f247612668dd0c1f4915452bf597B031363f6b2d1da14399a0b5a9832181cead1487c8b3305a699e8e4b2f55a11e1f6B +@9b7526364c5b6e54cee111c526e7d301b7c66e703a0024d10dc20b11c8cf9b60""1Hp5HS8hbQcg8zPQYMd26eLw9TCSo5FxVY"UOP_DUP OP_HASH160 b869236709f11a3da3289ce9d2cad6039c813c54 OP_EQUALVERIFY OP_CHECKSIG*276a914b869236709f11a3da3289ce9d2cad6039c813c5488ac*"1Hp5HS8hbQcg8zPQYMd26eLw9TCSo5FxVY8$J  +@9b7526364c5b6e54cee111c526e7d301b7c66e703a0024d10dc20b11c8cf9b60""1Hp5HS8hbQcg8zPQYMd26eLw9TCSo5FxVY"UOP_DUP OP_HASH160 b869236709f11a3da3289ce9d2cad6039c813c54 OP_EQUALVERIFY OP_CHECKSIG*276a914b869236709f11a3da3289ce9d2cad6039c813c5488ac*"1Hp5HS8hbQcg8zPQYMd26eLw9TCSo5FxVY8$J   +@9b7526364c5b6e54cee111c526e7d301b7c66e703a0024d10dc20b11c8cf9b60""1DMn9RBe5ug4HQSMpDSsS9oGWssYf2TiT7"UOP_DUP OP_HASH160 878f838e41bf6278c658ef7a83e0b9f6cc7acfdb OP_EQUALVERIFY OP_CHECKSIG*276a914878f838e41bf6278c658ef7a83e0b9f6cc7acfdb88ac*"1DMn9RBe5ug4HQSMpDSsS9oGWssYf2TiT78$J  +@9b7526364c5b6e54cee111c526e7d301b7c66e703a0024d10dc20b11c8cf9b60"l"6OP_RETURN 1101479d84dddf7c6865763d5a950c5556861f1c9946*06a161101479d84dddf7c6865763d5a950c5556861f1c99462G|hev=Z UVF8$J  + +1@818727490ea37a84183f5e95d816a86996bc0b178befba7cdaa89f328efe8f30$"@0000000000000000000b934fd49b6164811e809d2607a75aa3e4d3f1b7d87ff7(ت-2 +@7665ca937fb435af93babb7abc6f24af26546d1088c179b88976d4075de20549B02eef05626a45d49c4915a8fc5a142130c181c3639e80c33e340347ac30fa5d8a32 +@31783278e2aabffcbfd8bd41568a33c0b4cc461b2bd881765d9be7e36ac12d6eB0235761253926ac2659e938ddf8d2bf886b24e0744083bcb62e3520ad61e993964B +L@818727490ea37a84183f5e95d816a86996bc0b178befba7cdaa89f328efe8f30""1ALwQWPURf69tZvvrMWR9GcaS22B1nvGqa"UOP_DUP OP_HASH160 667e7358e1ca17cda6e37f9210e6f67f99b8e5fc OP_EQUALVERIFY OP_CHECKSIG*276a914667e7358e1ca17cda6e37f9210e6f67f99b8e5fc88ac*"1ALwQWPURf69tZvvrMWR9GcaS22B1nvGqa8$J  +@818727490ea37a84183f5e95d816a86996bc0b178befba7cdaa89f328efe8f30""1KMVYQtueV667mR4aLR854K3Chsv4nB9Br"UOP_DUP OP_HASH160 c952689deeaaa85f1a81190d3541d868199750ee OP_EQUALVERIFY OP_CHECKSIG*276a914c952689deeaaa85f1a81190d3541d868199750ee88ac*"1KMVYQtueV667mR4aLR854K3Chsv4nB9Br8$J $-@0000000000000000000b85dd2266eb5a3ce647440465975adf68678fcc40df45"@0000000000000000000b934fd49b6164811e809d2607a75aa3e4d3f1b7d87ff72$-@0000000000000000000efba3a917cc082d42fa7e3ab242d394252dabaa65cff8"@0000000000000000000b85dd2266eb5a3ce647440465975adf68678fcc40df452$-@00000000000000000015fa4c2e2386886c3a8dde55f5f1af404a3f1d5ddcb422"@0000000000000000000efba3a917cc082d42fa7e3ab242d394252dabaa65cff82$-@00000000000000000017df5ee14c4bc0073ad071248f506f9712cf2292d328ad"@00000000000000000015fa4c2e2386886c3a8dde55f5f1af404a3f1d5ddcb4222$-@000000000000000000197bdf7cd4280427f022e0994229ba9135c8575b10aefa"@00000000000000000017df5ee14c4bc0073ad071248f506f9712cf2292d328ad2$ؼ-@00000000000000000006c167812c1f5e133f625647b89fc8e469eabaef91a86d"@000000000000000000197bdf7cd4280427f022e0994229ba9135c8575b10aefa2$-@0000000000000000000b5a253e418c1604c4595cbb7d19945bf8db5100cd7737"@00000000000000000006c167812c1f5e133f625647b89fc8e469eabaef91a86d2$-@0000000000000000000cfe84a53811b9008bd188eac02937f3165628b6cbce19"@0000000000000000000b5a253e418c1604c4595cbb7d19945bf8db5100cd77372$-@00000000000000000011804d021c00a202411007634639b1cb9b851480ef0bb0"@0000000000000000000cfe84a53811b9008bd188eac02937f3165628b6cbce192$-@000000000000000000019daa702fdb740d0412591ba25c735403898cc5f1b21a"@00000000000000000011804d021c00a202411007634639b1cb9b851480ef0bb02 $ē-@0000000000000000001793d5eecdd643f1b5f8ad362d9de2272200b075fdc97c"@000000000000000000019daa702fdb740d0412591ba25c735403898cc5f1b21a2 + + + +1@61c56c68fa49dc13b70c81ebe4048515bd9119b1f00536de1749ffc69c8a5a51$"@0000000000000000001793d5eecdd643f1b5f8ad362d9de2272200b075fdc97c(ē-2 +@921819ae8aade3d7e60e5ced2840b77d4b790fa0b5d85e1b1f4cd0d4fd400bbbB035d539290b7e79e5fdb72d4154ce0daa117ea3db4096fc9217c766b2296340f802 +@7ae031ef8cec388cfe3d40a7084b2afab8e827958b29af3656a4511089496099B03f0174ce627c389c6c938dfef3cbdb95c4dbae4f2697e606e9fe8e6de0dc86ec0B +@61c56c68fa49dc13b70c81ebe4048515bd9119b1f00536de1749ffc69c8a5a51""1Nz7XxHruV589tvRtwiBsc74KuSsYduW3M"UOP_DUP OP_HASH160 f127ce297c78811c8eedacb8aeafa71a2df6d2c2 OP_EQUALVERIFY OP_CHECKSIG*276a914f127ce297c78811c8eedacb8aeafa71a2df6d2c288ac*"1Nz7XxHruV589tvRtwiBsc74KuSsYduW3M8$J  +@61c56c68fa49dc13b70c81ebe4048515bd9119b1f00536de1749ffc69c8a5a51""1DYfKV5NkZyyBCXgbug4s8LgAGN5zLexKC"UOP_DUP OP_HASH160 899e641c0b7480bbb314dab9984a4ec46d4605f2 OP_EQUALVERIFY OP_CHECKSIG*276a914899e641c0b7480bbb314dab9984a4ec46d4605f288ac*"1DYfKV5NkZyyBCXgbug4s8LgAGN5zLexKC8$J  +@61c56c68fa49dc13b70c81ebe4048515bd9119b1f00536de1749ffc69c8a5a51""1GcbxEcBztEo3mJJoEWFxunRvfxKL1cuX5"UOP_DUP OP_HASH160 ab459f450acd36c4dc77631299bef73bd401a995 OP_EQUALVERIFY OP_CHECKSIG*276a914ab459f450acd36c4dc77631299bef73bd401a99588ac*"1GcbxEcBztEo3mJJoEWFxunRvfxKL1cuX58$J $ڣ-@00000000000000000017b173eff5c50250121099cc81b889fc631be4cbb4d360"@0000000000000000001793d5eecdd643f1b5f8ad362d9de2272200b075fdc97c2$-@0000000000000000000689da87ee962e16dce097a455869d08c89c09441f5a18"@00000000000000000017b173eff5c50250121099cc81b889fc631be4cbb4d3602$-@000000000000000000107f93ce346b2ad634a67e058dc595b0432afe444ede93"@0000000000000000000689da87ee962e16dce097a455869d08c89c09441f5a182 $-@0000000000000000000ca50a05b8761bcc7e831a538528be936b5b0f760c98dc"@000000000000000000107f93ce346b2ad634a67e058dc595b0432afe444ede932 + + + +1@a481d45975a0814e472398eb199087ea4918bcd132ac3501959e8e1be0d7d3a1$"@0000000000000000000ca50a05b8761bcc7e831a538528be936b5b0f760c98dc(-2 +@78033858c2322c5090528efb71033fcec13088441ebdf6f4e299961ee6d178fdB02218a467368ba081ee386dc51357355415fd98acdd1fc2d9e09a07d67a1739e0c2 +@6bab93c6443b0b9cd2d47c3b7c99fda05c2e7fcdc13b0e65ef63fd49e9febfe1B025628f0bff3aa1d405bbd13c77160b79d40a829144e10165591d003b824884c40B +ߢ@a481d45975a0814e472398eb199087ea4918bcd132ac3501959e8e1be0d7d3a1""16aVHGVT2ZrD5hYCipq3ytSgppNn6dd1Pn"UOP_DUP OP_HASH160 3d2df6875a14fbede91b0ae6a6d7f7274765a1bd OP_EQUALVERIFY OP_CHECKSIG*276a9143d2df6875a14fbede91b0ae6a6d7f7274765a1bd88ac*"16aVHGVT2ZrD5hYCipq3ytSgppNn6dd1Pn8$J  +z@a481d45975a0814e472398eb199087ea4918bcd132ac3501959e8e1be0d7d3a1""12XdFTmLr7XStLNDUc9AxPH5PtHM2p17VM"UOP_DUP OP_HASH160 10c2dd32f5ffb174cb0006533b43a6f9dce8c035 OP_EQUALVERIFY OP_CHECKSIG*276a91410c2dd32f5ffb174cb0006533b43a6f9dce8c03588ac*"12XdFTmLr7XStLNDUc9AxPH5PtHM2p17VM8$J  +@a481d45975a0814e472398eb199087ea4918bcd132ac3501959e8e1be0d7d3a1""1Acew1SBVgygyfsukwvbGPb2ba8sFwNajq"UOP_DUP OP_HASH160 69775aa3815b865ccbe6b9a29e3bb89173027c9b OP_EQUALVERIFY OP_CHECKSIG*276a91469775aa3815b865ccbe6b9a29e3bb89173027c9b88ac*"1Acew1SBVgygyfsukwvbGPb2ba8sFwNajq8$J $-@00000000000000000001057f94fe46f79b96f43c42d5f77582a1aa87f6d72896"@0000000000000000000ca50a05b8761bcc7e831a538528be936b5b0f760c98dc2$-@0000000000000000000550440b7fe7e74cb2785b00b7c054ef80df682bf3f487"@00000000000000000001057f94fe46f79b96f43c42d5f77582a1aa87f6d728962$-@0000000000000000000983bdbdc6b1969c40bbf27706654d15820eaa89237fc3"@0000000000000000000550440b7fe7e74cb2785b00b7c054ef80df682bf3f4872$-@00000000000000000003e6412533f28f00b4338583702dff7f6ea98090e9d115"@0000000000000000000983bdbdc6b1969c40bbf27706654d15820eaa89237fc32$-@000000000000000000139ffec5ff16cfd4ea7c69319bb1b88c7ff167543b03f9"@00000000000000000003e6412533f28f00b4338583702dff7f6ea98090e9d1152$-@0000000000000000001a0962112ddd57cc8e1075193ae016239193338d1296d1"@000000000000000000139ffec5ff16cfd4ea7c69319bb1b88c7ff167543b03f92$-@0000000000000000001279d37d42866f9281a4ed96915a6cdf6cec1ca63defe5"@0000000000000000001a0962112ddd57cc8e1075193ae016239193338d1296d12$-@0000000000000000001825dae37e226c97576dbaab35885bff5666bcd25df1b0"@0000000000000000001279d37d42866f9281a4ed96915a6cdf6cec1ca63defe52$-@0000000000000000000fa49700512e23ec0e06514d914d7bd72d05a920d851fb"@0000000000000000001825dae37e226c97576dbaab35885bff5666bcd25df1b02$ɢ-@0000000000000000001827d326f1de995daaf85d0bba1dff24d71c6556f82fd4"@0000000000000000000fa49700512e23ec0e06514d914d7bd72d05a920d851fb2$-@000000000000000000153e101711abee7bbafbce73469ecbd2d6357330f0d15d"@0000000000000000001827d326f1de995daaf85d0bba1dff24d71c6556f82fd42$-@000000000000000000092187ad7848ebff1001d82c64431f1c96d917d40acc9e"@000000000000000000153e101711abee7bbafbce73469ecbd2d6357330f0d15d2$-@0000000000000000000e052fc5900794b8c06477a72d4de1c4c7be36b0a7813e"@000000000000000000092187ad7848ebff1001d82c64431f1c96d917d40acc9e2$-@0000000000000000000ea15886231fc03138f2535d1a335e6b90bdc16ae77f87"@0000000000000000000e052fc5900794b8c06477a72d4de1c4c7be36b0a7813e2$-@0000000000000000000799a66b67ff5b9f050aa54df373f9716a0a443b48c8ca"@0000000000000000000ea15886231fc03138f2535d1a335e6b90bdc16ae77f872$-@000000000000000000057656dc510c2c03a69b66e99764f77d8781383df87afa"@0000000000000000000799a66b67ff5b9f050aa54df373f9716a0a443b48c8ca2$-@00000000000000000010c5097c2cec926610649cb985654ae0133eef8aa54424"@000000000000000000057656dc510c2c03a69b66e99764f77d8781383df87afa2 $-@00000000000000000016ee5e7e1c7cab80eeba58dee3aa8397a4e7e7dd67e27e"@00000000000000000010c5097c2cec926610649cb985654ae0133eef8aa544242 + + + +1@dd619a69a9ab1a59608d2a76574d287c35119507b4a760a45159eccec6e22906$"@00000000000000000016ee5e7e1c7cab80eeba58dee3aa8397a4e7e7dd67e27e(-2 +@a2226d82c350d9989babe3cac24982321031c0549655678d0c342357ef69351aB02e1265f3ea547e045bda64c8348c7c7c6eca726bc71df58e87cab77dccb2332422 +@802b65492880205805f37fcae1fd02845917b787b5e77fa984ed96aaf631c1dfB0247df58836e5526db195dbb9ca34464cb0755f1a48f209b1c5e7f8474d5058848B +@dd619a69a9ab1a59608d2a76574d287c35119507b4a760a45159eccec6e22906""197hXB37hpEvfCtzV5vTaGzcZuuXT3fLMc"UOP_DUP OP_HASH160 5905539d73e334fb25e3380cabad1d996c896078 OP_EQUALVERIFY OP_CHECKSIG*276a9145905539d73e334fb25e3380cabad1d996c89607888ac*"197hXB37hpEvfCtzV5vTaGzcZuuXT3fLMc8$J  +@dd619a69a9ab1a59608d2a76574d287c35119507b4a760a45159eccec6e22906""19BAoFkfKNEwm4dpxk7mjJn7fAeWCH3i6u"UOP_DUP OP_HASH160 59ad582be8d8b6778c7a6b5ec0d5b4f7ed6b7994 OP_EQUALVERIFY OP_CHECKSIG*276a91459ad582be8d8b6778c7a6b5ec0d5b4f7ed6b799488ac*"19BAoFkfKNEwm4dpxk7mjJn7fAeWCH3i6u8$J  +B@dd619a69a9ab1a59608d2a76574d287c35119507b4a760a45159eccec6e22906""15wxUk1arM4utsZEHaYDeBev67wfTB9utY"UOP_DUP OP_HASH160 364546a9ad5632637ae22e6ceda973e17f3f8b0d OP_EQUALVERIFY OP_CHECKSIG*276a914364546a9ad5632637ae22e6ceda973e17f3f8b0d88ac*"15wxUk1arM4utsZEHaYDeBev67wfTB9utY8$J $౹-@0000000000000000000978db2faad2ceb0842bc314780f77d0d85c8de590b38f"@00000000000000000016ee5e7e1c7cab80eeba58dee3aa8397a4e7e7dd67e27e2$-@0000000000000000000787729d8d22659e69183a74a5c4d0b9517cdfade7a1af"@0000000000000000000978db2faad2ceb0842bc314780f77d0d85c8de590b38f2$-@0000000000000000000f1085f3d94e878c79637ae3bb0a7d31daef9407f86591"@0000000000000000000787729d8d22659e69183a74a5c4d0b9517cdfade7a1af2$Њ-@00000000000000000001f324d3b30e5b868e8e62b83eecbca1d49d95863387f8"@0000000000000000000f1085f3d94e878c79637ae3bb0a7d31daef9407f865912$-@000000000000000000098ef21b6777888d777966e8cb6288034a1d6cd864255a"@00000000000000000001f324d3b30e5b868e8e62b83eecbca1d49d95863387f82$-@00000000000000000012b978b865ab136f05af104828c7a70277951ddef7ce74"@000000000000000000098ef21b6777888d777966e8cb6288034a1d6cd864255a2$Ȑ-@00000000000000000008ddbf75df6be533e732ade77f2954c08eafd71267b7fa"@00000000000000000012b978b865ab136f05af104828c7a70277951ddef7ce742$-@00000000000000000015893157ce6f31e290a0c0010ef5c3f7cf7617538e0d76"@00000000000000000008ddbf75df6be533e732ade77f2954c08eafd71267b7fa2$-@000000000000000000160fc4fd481f9fde49990f181f5a10c3debb25958c891b"@00000000000000000015893157ce6f31e290a0c0010ef5c3f7cf7617538e0d762$-@00000000000000000017cdb16a4beaab24b62041c2b6ebfc58c41ecbc8e6455a"@000000000000000000160fc4fd481f9fde49990f181f5a10c3debb25958c891b2$-@000000000000000000066554a7745c2620591f7cc9daedec91e2649b262ddd3e"@00000000000000000017cdb16a4beaab24b62041c2b6ebfc58c41ecbc8e6455a2$-@000000000000000000131a4ab5bd2f76f23606ca7814fd0c5df15f9e8ee8aecf"@000000000000000000066554a7745c2620591f7cc9daedec91e2649b262ddd3e2 $-@00000000000000000000b4c9d411b8f2918ec3982a6927fef34c5b4dcaea80d6"@000000000000000000131a4ab5bd2f76f23606ca7814fd0c5df15f9e8ee8aecf2 + +1@6c2bbcda8c1d0388c2102e15660de097f9f861d3fc92b2e10f7ab338b6293ec1$"@00000000000000000000b4c9d411b8f2918ec3982a6927fef34c5b4dcaea80d6(-2 +@b6e7acdfd7462ebcb1c5a9b7a9a685f6a7481c4138c4c235fba677167342928bB03122bd10f9a857c70534d534e0b10773094349866e5aea7d150878406a534f0002 +@ba77f866bff32637d1b6eccc9321bfe9ee42e79594f9877384bdfd6115a6cc71B032d13a469cdd673f23c70dc8801013151138add2e437cad4ae7e6c98f06ee106bB +@6c2bbcda8c1d0388c2102e15660de097f9f861d3fc92b2e10f7ab338b6293ec1""12jXKUsvDZ3AGo7ZHg1xA51dKVUEvfR939"UOP_DUP OP_HASH160 1302e7a76af44988325c34c114108bd8343fa18e OP_EQUALVERIFY OP_CHECKSIG*276a9141302e7a76af44988325c34c114108bd8343fa18e88ac*"12jXKUsvDZ3AGo7ZHg1xA51dKVUEvfR9398$J  +Ա@6c2bbcda8c1d0388c2102e15660de097f9f861d3fc92b2e10f7ab338b6293ec1""14UvctboxpZrkGrTexmiyidKeH7xUMdkDu"UOP_DUP OP_HASH160 26305df59fafffbe7cdcfd1fedbfa53e031b352a OP_EQUALVERIFY OP_CHECKSIG*276a91426305df59fafffbe7cdcfd1fedbfa53e031b352a88ac*"14UvctboxpZrkGrTexmiyidKeH7xUMdkDu8$J $-@00000000000000000008fa6131282c278776e6cfb0614712a3fef9f4898c0700"@00000000000000000000b4c9d411b8f2918ec3982a6927fef34c5b4dcaea80d62$-@0000000000000000000f3d752f0f298b1cf8fd596c653c9c341a721671cc9d11"@00000000000000000008fa6131282c278776e6cfb0614712a3fef9f4898c07002¡$-@0000000000000000000fe517cc4639f0a5b0f9ac91d93e03c235a3f1c2e69153"@0000000000000000000f3d752f0f298b1cf8fd596c653c9c341a721671cc9d112á$-@0000000000000000001859984647c5f0aea17651bbe3e4adaaaff386282ea3c0"@0000000000000000000fe517cc4639f0a5b0f9ac91d93e03c235a3f1c2e691532ġ$-@000000000000000000087714b84b1f817169e5c0f9ac711ca1177cbf3e9ed802"@0000000000000000001859984647c5f0aea17651bbe3e4adaaaff386282ea3c02š$-@0000000000000000001149b67ee6b4e519483c1dc06541b647c8ff6e7c4dd202"@000000000000000000087714b84b1f817169e5c0f9ac711ca1177cbf3e9ed8022ơ$-@0000000000000000000a023a85fcc09071aabe186653b8a65a2e43acfc885980"@0000000000000000001149b67ee6b4e519483c1dc06541b647c8ff6e7c4dd2022ǡ$-@0000000000000000000cfb642aebe3b4a66235b4a4a52f35fb6bab6613824afa"@0000000000000000000a023a85fcc09071aabe186653b8a65a2e43acfc8859802ȡ$-@0000000000000000000151f6458f2554d9bb84415aaf3d61cf95fa87f3d13e2f"@0000000000000000000cfb642aebe3b4a66235b4a4a52f35fb6bab6613824afa2ɡ$-@00000000000000000003111423fdbff4ab19815d9d2deb4128eb3280c5ae324a"@0000000000000000000151f6458f2554d9bb84415aaf3d61cf95fa87f3d13e2f2ʡ$؂-@000000000000000000006db20679bd03993903b57fd596bb6ab7c3654ce335a7"@00000000000000000003111423fdbff4ab19815d9d2deb4128eb3280c5ae324a2ˡ$ף-@00000000000000000000fb662d8eb45415d971698cb36b5e39c58e8e8aaeb196"@000000000000000000006db20679bd03993903b57fd596bb6ab7c3654ce335a72 ̡$؉-@00000000000000000013628421b4d1814bd1b064ceee3413799155069df2922a"@00000000000000000000fb662d8eb45415d971698cb36b5e39c58e8e8aaeb1962 + + + +1@4d8d2e4896b1733f6b0399f2ce13446cc30c392641e32dc67ba83ce0efd6bd59̡$"@00000000000000000013628421b4d1814bd1b064ceee3413799155069df2922a(؉-2 +@3f42b02ff3e3bc3c2763d4cdb25f43f8274f58570d25fd39ad36f0098550f8aaB039f9be7136afba4ade44dace1c6273ce6d699c9a7e69364f33c259be6106dfee22 +@ff2540489aeaf34da5521ef117bdf9eb39decb4fa47fa62298b6b91a5c03ad04B02961bb0d351e31ce464ea8ba9035542dc937dfd1f5155ff650cca59fed1401d82B +@4d8d2e4896b1733f6b0399f2ce13446cc30c392641e32dc67ba83ce0efd6bd59""1C8tujxfC1eZFNxJbJemZ6qdBJTCWcuNey"UOP_DUP OP_HASH160 7a27a087ec41a5f1191263a912bee1bdb111c487 OP_EQUALVERIFY OP_CHECKSIG*276a9147a27a087ec41a5f1191263a912bee1bdb111c48788ac*"1C8tujxfC1eZFNxJbJemZ6qdBJTCWcuNey8̡$J  +@4d8d2e4896b1733f6b0399f2ce13446cc30c392641e32dc67ba83ce0efd6bd59""1BBxQqcPK8LmYZHXsVnm9UUF5uMmbaSxwy"UOP_DUP OP_HASH160 6fc3ac174e0ab50415864a61659a8459dc565d4b OP_EQUALVERIFY OP_CHECKSIG*276a9146fc3ac174e0ab50415864a61659a8459dc565d4b88ac*"1BBxQqcPK8LmYZHXsVnm9UUF5uMmbaSxwy8̡$J  +Ֆ@4d8d2e4896b1733f6b0399f2ce13446cc30c392641e32dc67ba83ce0efd6bd59""1LSNGf3SJ1h7V4wME2C1xoGZsMWSgdQkTu"UOP_DUP OP_HASH160 d5368b4f559f198f69cf9e51bb646ec2994365a9 OP_EQUALVERIFY OP_CHECKSIG*276a914d5368b4f559f198f69cf9e51bb646ec2994365a988ac*"1LSNGf3SJ1h7V4wME2C1xoGZsMWSgdQkTu8̡$J ͡$-@00000000000000000008f7a46c96315eeb5741a0a741bacea6b31e69e9172de7"@00000000000000000013628421b4d1814bd1b064ceee3413799155069df2922a2Ρ$ص-@00000000000000000016ae8203b74efa2b2c98377630103fb335ba9f61219598"@00000000000000000008f7a46c96315eeb5741a0a741bacea6b31e69e9172de72 + +1@07ec9b023370c5c4801f668371a7da9ba13584ad6bec818840ed165bba54baccΡ$"@00000000000000000016ae8203b74efa2b2c98377630103fb335ba9f61219598(ص-2 +@6ed9386cd82bae1d9915d7f6087af164f526f1b208cbbcb8dd1e8ec7b6ec3a29B03e142fafaedf9ad85cc60c54096807a5680e0efa2d8f39ca1d517ae54bee4c2262 +@fb1b55f35bf7a26fb9190de258d88c383f18df097ead272c2f239b3fec8a5ee5B02fe0d9ae2f1cc3a89acf8bd04a724a605b3065734951bfc14e7d7acfcee851adb2 +@805b39dc24a7f2ed04298860e402ea4398bb43e279c3250a727998699b6793afB021c10f28f4fd52fa15f84a3364633485fd37d4767f74dd16e25a0eb925f260c302 +@17c9d71c864862fef368a27c4d4020c539a859da95ec1b5fdd2127ac85134e00B03824452ebc7cf4019a4619b505a258550085b9e9c4f34079d10303163e7083114B +}@07ec9b023370c5c4801f668371a7da9ba13584ad6bec818840ed165bba54bacc""19DSDesKs1xYwpchcMMBLDAwVXB21x3UAU"UOP_DUP OP_HASH160 5a1b0c827a61e3746d0a2e3849703b693540a76b OP_EQUALVERIFY OP_CHECKSIG*276a9145a1b0c827a61e3746d0a2e3849703b693540a76b88ac*"19DSDesKs1xYwpchcMMBLDAwVXB21x3UAU8Ρ$J  +Ԩ2@07ec9b023370c5c4801f668371a7da9ba13584ad6bec818840ed165bba54bacc""1PahHhs7gpXvMwyohHYpeJw8ftJyueNGX4"UOP_DUP OP_HASH160 f7b21fed9388072edf25c786142a00e51d7d7fba OP_EQUALVERIFY OP_CHECKSIG*276a914f7b21fed9388072edf25c786142a00e51d7d7fba88ac*"1PahHhs7gpXvMwyohHYpeJw8ftJyueNGX48Ρ$J  +@07ec9b023370c5c4801f668371a7da9ba13584ad6bec818840ed165bba54bacc""18V5suLnxtb1ETQJSPqqzyd5z8VJtrKShu"UOP_DUP OP_HASH160 5218995bb3c1cb695acf2288a54332d8d1ae156a OP_EQUALVERIFY OP_CHECKSIG*276a9145218995bb3c1cb695acf2288a54332d8d1ae156a88ac*"18V5suLnxtb1ETQJSPqqzyd5z8VJtrKShu8Ρ$J  + + +1@f830f4bb92bd99f7b3b49f7a4713f50ff3d6fc944824d56b3680d40c080db5eaΡ$"@00000000000000000016ae8203b74efa2b2c98377630103fb335ba9f61219598(ص-2 +@9c6901a251e426d47979314a8b8a9769b6c88c480f4f7ef96c32e911138084b9B03b141e87a08f496558969786f281bb26c7c526967db4a4b74b7f1dd190480e3b42 +@9ef9ce423fe488a79403262cfceddb8a1c94ad3532fcdb94e4e0866038b79af0B02f9ba67320c809e672fef5ea2d064735c86f127bcb397ba6f4e1ed097775ccdcbB +@f830f4bb92bd99f7b3b49f7a4713f50ff3d6fc944824d56b3680d40c080db5ea""16LchtSvD9MPddXF61RYn1RzNRz8fnLDt6"UOP_DUP OP_HASH160 3a8e56519f244e467f183223e4ab529f49a72dea OP_EQUALVERIFY OP_CHECKSIG*276a9143a8e56519f244e467f183223e4ab529f49a72dea88ac*"16LchtSvD9MPddXF61RYn1RzNRz8fnLDt68Ρ$J  +z@f830f4bb92bd99f7b3b49f7a4713f50ff3d6fc944824d56b3680d40c080db5ea""19PqmcAKatG2DnTrfbvjXVxSU5FD6KZomA"UOP_DUP OP_HASH160 5c12de283aa9c7d33860133beeb4ce1d210c3ce7 OP_EQUALVERIFY OP_CHECKSIG*276a9145c12de283aa9c7d33860133beeb4ce1d210c3ce788ac*"19PqmcAKatG2DnTrfbvjXVxSU5FD6KZomA8Ρ$J  +@f830f4bb92bd99f7b3b49f7a4713f50ff3d6fc944824d56b3680d40c080db5ea""1FDBKo26gGYJ5wEJLBDMJH6WBQLPVKfjuW"UOP_DUP OP_HASH160 9bdf5ede13db6d3f70f5d6abf8605d6572d604c6 OP_EQUALVERIFY OP_CHECKSIG*276a9149bdf5ede13db6d3f70f5d6abf8605d6572d604c688ac*"1FDBKo26gGYJ5wEJLBDMJH6WBQLPVKfjuW8Ρ$J  +ϡ$-@0000000000000000000373533421c69ee4f133d260480777ff131159418550ce"@00000000000000000016ae8203b74efa2b2c98377630103fb335ba9f612195982С$-@0000000000000000000691334d72e034d12d464833c19e10bac212f3f7d84578"@0000000000000000000373533421c69ee4f133d260480777ff131159418550ce2 + +1@e332206c5be47eaf03ecd322985be1d75850e5480153c00847a3709a55a9ac75С$"@0000000000000000000691334d72e034d12d464833c19e10bac212f3f7d84578(-2 +@d4cf7a17103a7aeb2190a49e92235430f65cf4708ba056adb96d05af7a22ba7eB036cfe4b51b68a22ddbaed0577b893facad343fba8e4172b4abe515c53cf3938bd2 +@36296e4f876d0346af453f4fe530a6c3d5dd6204b6b5bfb21a0e2c524d32ff4cB03aac87514b03b254d465acf80c9d7fa09597e41c5f0cdc8332221730a5b3fd4e42 +@2e861f0ba6ad55a7875cf1dbe360d2be1d56d9695f2487584fb5c241a9fc0e33B03cc87753497e0b1dd862917d5479393bdcd7079642a9ac7dd5cbc171a1d097c00B +@e332206c5be47eaf03ecd322985be1d75850e5480153c00847a3709a55a9ac75""1DLjB93jbWsiq9tSc61RwsrrWgh1MJr849"UOP_DUP OP_HASH160 875c9e51b6f78d8f1f41540eb1d7491768bf5e65 OP_EQUALVERIFY OP_CHECKSIG*276a914875c9e51b6f78d8f1f41540eb1d7491768bf5e6588ac*"1DLjB93jbWsiq9tSc61RwsrrWgh1MJr8498С$J  +@e332206c5be47eaf03ecd322985be1d75850e5480153c00847a3709a55a9ac75""1FHGzNH1fy1HWndeAYZMZEiUTN1xfZ5XHM"UOP_DUP OP_HASH160 9ca5c36c9d1a7c891c1d52e0409db21a092ffe35 OP_EQUALVERIFY OP_CHECKSIG*276a9149ca5c36c9d1a7c891c1d52e0409db21a092ffe3588ac*"1FHGzNH1fy1HWndeAYZMZEiUTN1xfZ5XHM8С$J  +ȑ@e332206c5be47eaf03ecd322985be1d75850e5480153c00847a3709a55a9ac75""1MthyEzZZbD6CDUp2EN7SJF4PXFevaS6yw"UOP_DUP OP_HASH160 e529edf31916499df7526813518b135785028543 OP_EQUALVERIFY OP_CHECKSIG*276a914e529edf31916499df7526813518b13578502854388ac*"1MthyEzZZbD6CDUp2EN7SJF4PXFevaS6yw8С$J  + +1@a3272201f18746d6dd2f735db45841a8937ce69df87a7d8e31c10739493c844bС$"@0000000000000000000691334d72e034d12d464833c19e10bac212f3f7d84578(-2 +@07ec9b023370c5c4801f668371a7da9ba13584ad6bec818840ed165bba54baccB03d946df9dce4894b32223fd1934a83ea00aad08e3ba06c0fc72125d96eaa8df482 +@e332206c5be47eaf03ecd322985be1d75850e5480153c00847a3709a55a9ac75B036ab79c1a4af7a91d1bcdd5a06a561a697df14b0551449b9d50b7c7b67e9493702 +@e332206c5be47eaf03ecd322985be1d75850e5480153c00847a3709a55a9ac75B021e02a16d65c92f0a2231a2dba4f6b93fdbf926f1d10bdb53d9aba13758e9943fB +t@a3272201f18746d6dd2f735db45841a8937ce69df87a7d8e31c10739493c844b""19cMASoQ9gk9t2LcsmFZDJAqBpLPQuPRS5"UOP_DUP OP_HASH160 5e706561ef45b9bae1ba5b4ea2d0fdedb0e2c520 OP_EQUALVERIFY OP_CHECKSIG*276a9145e706561ef45b9bae1ba5b4ea2d0fdedb0e2c52088ac*"19cMASoQ9gk9t2LcsmFZDJAqBpLPQuPRS58С$J  +@a3272201f18746d6dd2f735db45841a8937ce69df87a7d8e31c10739493c844b""1L1gYGrzuWgksKPxztQ4JiGtEXWwQK9xWD"UOP_DUP OP_HASH160 d08b6542e716af91532a9f4aa95f7c902e47a492 OP_EQUALVERIFY OP_CHECKSIG*276a914d08b6542e716af91532a9f4aa95f7c902e47a49288ac*"1L1gYGrzuWgksKPxztQ4JiGtEXWwQK9xWD8С$J  +@a3272201f18746d6dd2f735db45841a8937ce69df87a7d8e31c10739493c844b""19fZQMtW5EMfzw5YPSdM9v8UHYZkLtUyeh"UOP_DUP OP_HASH160 5f0bdc7ce83c9a5a2e3dd942e975be98b15d4c59 OP_EQUALVERIFY OP_CHECKSIG*276a9145f0bdc7ce83c9a5a2e3dd942e975be98b15d4c5988ac*"19fZQMtW5EMfzw5YPSdM9v8UHYZkLtUyeh8С$J ѡ$-@00000000000000000019b0f354b7a94267a249cbfa47aafb9c2d8ac839dcf173"@0000000000000000000691334d72e034d12d464833c19e10bac212f3f7d845782ҡ$-@0000000000000000001025e6e056e18296807477e25695bc5b31d529ba5ae1ab"@00000000000000000019b0f354b7a94267a249cbfa47aafb9c2d8ac839dcf1732ӡ$-@000000000000000000020b8848bacc01127a516cc4cb810b8782c220aa5a4b00"@0000000000000000001025e6e056e18296807477e25695bc5b31d529ba5ae1ab2ԡ$-@000000000000000000189afa8720b5bc8a3dcf92b7bde673b8d414e5d38907fc"@000000000000000000020b8848bacc01127a516cc4cb810b8782c220aa5a4b002ա$-@0000000000000000000170411358a4914cd2d5c63ad9c175d8f1beb5a617562f"@000000000000000000189afa8720b5bc8a3dcf92b7bde673b8d414e5d38907fc2 ֡$-@0000000000000000001809d24f3d68dafd2d4d3bb76d57c5695292b05363fe10"@0000000000000000000170411358a4914cd2d5c63ad9c175d8f1beb5a617562f2 + + + +1@5f008817d0194bb9e67c25d2402d25460ef6fcd81ee846ee0e9f469158eb0fd6֡$"@0000000000000000001809d24f3d68dafd2d4d3bb76d57c5695292b05363fe10(-2 +@fe426029be3464b4bf56fcd8bd2b6ef7e5d9513aecc6d650a5aaa320c4f3e95cB02c565de58a9f75a218e7028f40c416bcb53f06c45575433cc7edaee5a7437403f2 +@fe426029be3464b4bf56fcd8bd2b6ef7e5d9513aecc6d650a5aaa320c4f3e95cB02b7d354b169ea3810bb2c3f0cdf5c8b7cd941a9b6e6b76699390ec890e49212b1B +5@5f008817d0194bb9e67c25d2402d25460ef6fcd81ee846ee0e9f469158eb0fd6""1PSnGT8ZJRGnaEqgWRFVGhoQwqptaPy3do"UOP_DUP OP_HASH160 f632f3e87726706dca89961277f50ec8f3f3f979 OP_EQUALVERIFY OP_CHECKSIG*276a914f632f3e87726706dca89961277f50ec8f3f3f97988ac*"1PSnGT8ZJRGnaEqgWRFVGhoQwqptaPy3do8֡$J  +[@5f008817d0194bb9e67c25d2402d25460ef6fcd81ee846ee0e9f469158eb0fd6""152hHRAdBK6iPYbLZEhsMJrqcdvNgcPjSP"UOP_DUP OP_HASH160 2c328bb2583f4eb5892b2068162ca86e3d36d8d4 OP_EQUALVERIFY OP_CHECKSIG*276a9142c328bb2583f4eb5892b2068162ca86e3d36d8d488ac*"152hHRAdBK6iPYbLZEhsMJrqcdvNgcPjSP8֡$J  +Ŕ@5f008817d0194bb9e67c25d2402d25460ef6fcd81ee846ee0e9f469158eb0fd6""1NmYktLthYFdr4XHm9Q5Enkm3ANYzd4RGU"UOP_DUP OP_HASH160 eec773f0718f28832229f61066e84933a28a9891 OP_EQUALVERIFY OP_CHECKSIG*276a914eec773f0718f28832229f61066e84933a28a989188ac*"1NmYktLthYFdr4XHm9Q5Enkm3ANYzd4RGU8֡$J  ס$؅-@000000000000000000070b4beb941dcc3f282fc7b3439f55631e2633fcfc3e34"@0000000000000000001809d24f3d68dafd2d4d3bb76d57c5695292b05363fe102ء$-@00000000000000000018f78cb712f3d168d50abee283960f40d3a919af8bb7ad"@000000000000000000070b4beb941dcc3f282fc7b3439f55631e2633fcfc3e342١$-@00000000000000000016772eb3999aaefdd709979bc65550ebe42e7b6bb01a2a"@00000000000000000018f78cb712f3d168d50abee283960f40d3a919af8bb7ad2 ڡ$-@000000000000000000156e2fe23b6217cf769a9d510d8df9e7929ed8b0d7f540"@00000000000000000016772eb3999aaefdd709979bc65550ebe42e7b6bb01a2a2 + + + +1@c46af777a000a329cc27deadfe9bf225fedccf7efda1e138c216a76fd3d416f1ڡ$"@000000000000000000156e2fe23b6217cf769a9d510d8df9e7929ed8b0d7f540(-2 +@175ee3da0a53256490152574d185b1c7e9ab98c71a87e5641468ef0ad3edc6baB02ff415898986eff900153b1db014997022862d26316198e0fae4e40716f4e26912 +@279629cc08a64cf7a72327a1b6b5b1cc4805e84b8b5bdff7c335c46c08265a89B0233791f3fad52b62a95b7bf2ee5a40267450280082edf9b0878b34213a18fe298B +@c46af777a000a329cc27deadfe9bf225fedccf7efda1e138c216a76fd3d416f1""1HLTdD4rAcgffAEJgdsffd7deMBVsq1RNF"UOP_DUP OP_HASH160 b330240111076388d393f9d8d9d1222c0fabe801 OP_EQUALVERIFY OP_CHECKSIG*276a914b330240111076388d393f9d8d9d1222c0fabe80188ac*"1HLTdD4rAcgffAEJgdsffd7deMBVsq1RNF8ڡ$J  +@c46af777a000a329cc27deadfe9bf225fedccf7efda1e138c216a76fd3d416f1""12usM83CZ2MkmfMtuSEz6YDuV4VSeQPKGE"UOP_DUP OP_HASH160 14f7c8859f2ea5b61d8c9146c5a0c9981bc1c65b OP_EQUALVERIFY OP_CHECKSIG*276a91414f7c8859f2ea5b61d8c9146c5a0c9981bc1c65b88ac*"12usM83CZ2MkmfMtuSEz6YDuV4VSeQPKGE8ڡ$J  +@c46af777a000a329cc27deadfe9bf225fedccf7efda1e138c216a76fd3d416f1""1J97u6vUvAXaLdN97mEb5KTjTuvLQjfb1i"UOP_DUP OP_HASH160 bc033974de75d7ec0691eccd18f0ff3d36255f21 OP_EQUALVERIFY OP_CHECKSIG*276a914bc033974de75d7ec0691eccd18f0ff3d36255f2188ac*"1J97u6vUvAXaLdN97mEb5KTjTuvLQjfb1i8ڡ$J  + ۡ$-@00000000000000000008d6ae7a825bdc954d77c673ce1b51766aef838ee1804d"@000000000000000000156e2fe23b6217cf769a9d510d8df9e7929ed8b0d7f5402 + +1@f9f19d5859d5ccca65a1b2c32db1b4a4e11a9fba4c093b95e3fe8a3483d9db2fۡ$"@00000000000000000008d6ae7a825bdc954d77c673ce1b51766aef838ee1804d(-2 +@33f6087c0767ffaf36a937d3cbc69361b2a6e0836d807d8018d1a6a2540e8665B0316a28ff05d4445d5a4df859dff63cddc55e6dea1208bcfabacecfcae8d8776282 +@33f6087c0767ffaf36a937d3cbc69361b2a6e0836d807d8018d1a6a2540e8665B02426faba6064a6e943fa75b9beb536e3df8f4784eb32bfd33d163e9de9c4a36baB +@f9f19d5859d5ccca65a1b2c32db1b4a4e11a9fba4c093b95e3fe8a3483d9db2f""1LbK5fevJLqZAtV88eAQGkU1zpNXKvcPfX"UOP_DUP OP_HASH160 d6e7a01a0736ef60d54d844a05bbc04c40846e9c OP_EQUALVERIFY OP_CHECKSIG*276a914d6e7a01a0736ef60d54d844a05bbc04c40846e9c88ac*"1LbK5fevJLqZAtV88eAQGkU1zpNXKvcPfX8ۡ$J  +@f9f19d5859d5ccca65a1b2c32db1b4a4e11a9fba4c093b95e3fe8a3483d9db2f""1LbK5fevJLqZAtV88eAQGkU1zpNXKvcPfX"UOP_DUP OP_HASH160 d6e7a01a0736ef60d54d844a05bbc04c40846e9c OP_EQUALVERIFY OP_CHECKSIG*276a914d6e7a01a0736ef60d54d844a05bbc04c40846e9c88ac*"1LbK5fevJLqZAtV88eAQGkU1zpNXKvcPfX8ۡ$J  +@f9f19d5859d5ccca65a1b2c32db1b4a4e11a9fba4c093b95e3fe8a3483d9db2f""1HegnzHbcXuDtBewZG1BnBeg6NKf9nN9yf"UOP_DUP OP_HASH160 b6a29edcfbbeb4f9a2a994a075ba949056f38f78 OP_EQUALVERIFY OP_CHECKSIG*276a914b6a29edcfbbeb4f9a2a994a075ba949056f38f7888ac*"1HegnzHbcXuDtBewZG1BnBeg6NKf9nN9yf8ۡ$J  +@f9f19d5859d5ccca65a1b2c32db1b4a4e11a9fba4c093b95e3fe8a3483d9db2f"l"6OP_RETURN 1101f6ddfec03d5d18a6b762d61195148fbf49010d64*06a161101f6ddfec03d5d18a6b762d61195148fbf49010d642=]bI d8ۡ$J ܡ$-@000000000000000000169c72f5c79cc4620febf6269931991eb6282edb4b24de"@00000000000000000008d6ae7a825bdc954d77c673ce1b51766aef838ee1804d2ݡ$-@0000000000000000000c63478c01b22396fc830e8eadd06fff455ec2daa89515"@000000000000000000169c72f5c79cc4620febf6269931991eb6282edb4b24de2+ޡ$肎-@00000000000000000018a69cb12efe6c216e636282022e96d6357b68a773400e"@0000000000000000000c63478c01b22396fc830e8eadd06fff455ec2daa895152* + + +1@a6d8e597016d0ee9325ab387d3685b741e88a5ec326dbd08d686878daef61095ޡ$"@00000000000000000018a69cb12efe6c216e636282022e96d6357b68a773400e(肎-2 +@28b710871026b6c2c5d46e7cb550fcbaa31437f98bd68af26e16d4f39b69f255B0226036374189a4405e5dd5c1f28b0057568b295de53e223c8f180031c0b0665572 +@28b710871026b6c2c5d46e7cb550fcbaa31437f98bd68af26e16d4f39b69f255B034c75a542d4645f5a6d57089235985a9ebc1b6976b3f5d541ba10bb7ca5c8eb1cB +*@a6d8e597016d0ee9325ab387d3685b741e88a5ec326dbd08d686878daef61095"!1CtUqn4eMvtgNuQt2G5Ks7ipxUV2M2Z2W"UOP_DUP OP_HASH160 023f8c86eb1807bcb3658e7fe6d94cb2df34f478 OP_EQUALVERIFY OP_CHECKSIG*276a914023f8c86eb1807bcb3658e7fe6d94cb2df34f47888ac*!1CtUqn4eMvtgNuQt2G5Ks7ipxUV2M2Z2W8ޡ$J  +@a6d8e597016d0ee9325ab387d3685b741e88a5ec326dbd08d686878daef61095""112cazaphjJzC5Eo8SkHVKotTwdKBk4cqk"UOP_DUP OP_HASH160 004e1f298f17b773e90f4846c2e823f1f0ea68fd OP_EQUALVERIFY OP_CHECKSIG*276a914004e1f298f17b773e90f4846c2e823f1f0ea68fd88ac*"112cazaphjJzC5Eo8SkHVKotTwdKBk4cqk8ޡ$J  +L@a6d8e597016d0ee9325ab387d3685b741e88a5ec326dbd08d686878daef61095""1AAqyjbvRYHTewJsXN4i5hLpJbeD6FoDxC"UOP_DUP OP_HASH160 6495c2b91a643b07da1afef55446569e9d1f5d5d OP_EQUALVERIFY OP_CHECKSIG*276a9146495c2b91a643b07da1afef55446569e9d1f5d5d88ac*"1AAqyjbvRYHTewJsXN4i5hLpJbeD6FoDxC8ޡ$J  + + +1@8ace317f0bd05fdc35e20773bf169e01787d7f4d9d7a9e934b9effb0290a6e7cޡ$"@00000000000000000018a69cb12efe6c216e636282022e96d6357b68a773400e(肎-2 +@a6d8e597016d0ee9325ab387d3685b741e88a5ec326dbd08d686878daef61095B032036dfde52e57068206c8c48ec52b3e3e1042efb3d75ebb394d1ae2c4e63e0142 +@a6d8e597016d0ee9325ab387d3685b741e88a5ec326dbd08d686878daef61095B03ae7d2d2c8c88416bb40e045376b71e19f6752f6dd9443f5d8e596936548b3229B +*@8ace317f0bd05fdc35e20773bf169e01787d7f4d9d7a9e934b9effb0290a6e7c""1Enw2SrKf9RhCWixcXNJmDdbvqsNe6kz19"UOP_DUP OP_HASH160 9749738246255c986dd759b8db33494b22981c3c OP_EQUALVERIFY OP_CHECKSIG*276a9149749738246255c986dd759b8db33494b22981c3c88ac*"1Enw2SrKf9RhCWixcXNJmDdbvqsNe6kz198ޡ$J  +@8ace317f0bd05fdc35e20773bf169e01787d7f4d9d7a9e934b9effb0290a6e7c""1CQ7xZhYFHyAFR8cUsWoYfUfA3eRXjKRoB"UOP_DUP OP_HASH160 7d08c24cdd6cce429b5124c9848c8969f1bb67c3 OP_EQUALVERIFY OP_CHECKSIG*276a9147d08c24cdd6cce429b5124c9848c8969f1bb67c388ac*"1CQ7xZhYFHyAFR8cUsWoYfUfA3eRXjKRoB8ޡ$J  +F@8ace317f0bd05fdc35e20773bf169e01787d7f4d9d7a9e934b9effb0290a6e7c""1BZKNjuL2ufwmUTZDHqkhYurcYy3M38PTA"UOP_DUP OP_HASH160 73cde83a9aece1aff03d3799dfd5452d56e97d84 OP_EQUALVERIFY OP_CHECKSIG*276a91473cde83a9aece1aff03d3799dfd5452d56e97d8488ac*"1BZKNjuL2ufwmUTZDHqkhYurcYy3M38PTA8ޡ$J  + + +1@60b8c912b4d5fa5a2da2a67ed991154360aed733de046606b21a8e0206138384ޡ$"@00000000000000000018a69cb12efe6c216e636282022e96d6357b68a773400e(肎-2 +@8ace317f0bd05fdc35e20773bf169e01787d7f4d9d7a9e934b9effb0290a6e7cB0391bc25ef51829c948a4b2da0f73bdfda30128a249fe00bee197a9aab75b973692 +@8ace317f0bd05fdc35e20773bf169e01787d7f4d9d7a9e934b9effb0290a6e7cB025aed0a3694c642dc0b8d18b43f60915baaf46f5a184db62f0fd28f0cdf2eafbaB +*@60b8c912b4d5fa5a2da2a67ed991154360aed733de046606b21a8e0206138384""142xiLwYTCm6PrSfQ3uMU1QkUcr7D2Pieo"UOP_DUP OP_HASH160 21474ccf339f9b0d0f17f754dc27fcd52b24223d OP_EQUALVERIFY OP_CHECKSIG*276a91421474ccf339f9b0d0f17f754dc27fcd52b24223d88ac*"142xiLwYTCm6PrSfQ3uMU1QkUcr7D2Pieo8ޡ$J  +@60b8c912b4d5fa5a2da2a67ed991154360aed733de046606b21a8e0206138384""1KSAZd3Lx9aUZ9Ec2VcPpk1bE4nKqtWGYQ"UOP_DUP OP_HASH160 ca34a53dc437d88c02b1acbdbaa95f560b41814d OP_EQUALVERIFY OP_CHECKSIG*276a914ca34a53dc437d88c02b1acbdbaa95f560b41814d88ac*"1KSAZd3Lx9aUZ9Ec2VcPpk1bE4nKqtWGYQ8ޡ$J  +Η@@60b8c912b4d5fa5a2da2a67ed991154360aed733de046606b21a8e0206138384""1LEnnG6fEayHGN6guhNTo3xuFzJH2R3MXH"UOP_DUP OP_HASH160 d306034ddb236f13f59753381e4a02ecbb7e1681 OP_EQUALVERIFY OP_CHECKSIG*276a914d306034ddb236f13f59753381e4a02ecbb7e168188ac*"1LEnnG6fEayHGN6guhNTo3xuFzJH2R3MXH8ޡ$J  + + +1@ee3efcc5b00de32e3cbcc1d215cf25d48df39733cff37a719880fd4423b8b9cfޡ$"@00000000000000000018a69cb12efe6c216e636282022e96d6357b68a773400e(肎-2 +@60b8c912b4d5fa5a2da2a67ed991154360aed733de046606b21a8e0206138384B0258db16279f3754547604ec0bebeb56e741289129da8c72112b2cf35c4ea7174c2 +@60b8c912b4d5fa5a2da2a67ed991154360aed733de046606b21a8e0206138384B03926099e58b448f245b153df3e13923831568dca878c80ba5023b76a7d75eae3bB +*@ee3efcc5b00de32e3cbcc1d215cf25d48df39733cff37a719880fd4423b8b9cf""125YpCUgNwLjzk6EZWWmoQ6eZMCqGU73H8"UOP_DUP OP_HASH160 0bd458aed23717fad285c6e1e629e7f88147afd6 OP_EQUALVERIFY OP_CHECKSIG*276a9140bd458aed23717fad285c6e1e629e7f88147afd688ac*"125YpCUgNwLjzk6EZWWmoQ6eZMCqGU73H88ޡ$J  +@ee3efcc5b00de32e3cbcc1d215cf25d48df39733cff37a719880fd4423b8b9cf""19PoEtWCnZqpouXM5usamKhY3qmncSXqCN"UOP_DUP OP_HASH160 5c10c194d1ebd21b15d1efaf63c6f1efee369dfe OP_EQUALVERIFY OP_CHECKSIG*276a9145c10c194d1ebd21b15d1efaf63c6f1efee369dfe88ac*"19PoEtWCnZqpouXM5usamKhY3qmncSXqCN8ޡ$J  +9@ee3efcc5b00de32e3cbcc1d215cf25d48df39733cff37a719880fd4423b8b9cf""1NPDhdS8ajfpzDLbexc9eu9o1f9hSyX7Hs"UOP_DUP OP_HASH160 ea8e64faae8ce3207feb6053310b706c06efb7f5 OP_EQUALVERIFY OP_CHECKSIG*276a914ea8e64faae8ce3207feb6053310b706c06efb7f588ac*"1NPDhdS8ajfpzDLbexc9eu9o1f9hSyX7Hs8ޡ$J  ߡ$-@0000000000000000000d3f35a15e7ac0ce57be39a9902589579780acb7ebe737"@00000000000000000018a69cb12efe6c216e636282022e96d6357b68a773400e2$-@0000000000000000000810ebb20e69d839b38ee8cddfff29f894aa1b50162062"@0000000000000000000d3f35a15e7ac0ce57be39a9902589579780acb7ebe7372$͇-@0000000000000000000f799d2f9e3f6309a170cd1cd8be1c0f507fb41d7fbdf6"@0000000000000000000810ebb20e69d839b38ee8cddfff29f894aa1b501620622$-@000000000000000000073c688742f3dc7359c5718bbc8cf07c96d1d877fbb4bd"@0000000000000000000f799d2f9e3f6309a170cd1cd8be1c0f507fb41d7fbdf62"$-@000000000000000000059615b6a251fc0be92c86c2003babace6b5c2c81d0be7"@000000000000000000073c688742f3dc7359c5718bbc8cf07c96d1d877fbb4bd2! + +1@1ebc073816ad7e1b84321a68b50337791737f1758e2346a17c103a07ca671b2b$"@000000000000000000059615b6a251fc0be92c86c2003babace6b5c2c81d0be7(-2 +@ee3efcc5b00de32e3cbcc1d215cf25d48df39733cff37a719880fd4423b8b9cfB02eda3a7507276770c638e75c5bfd4ae35768667637a97a2525e4e14d28cc9ef452 +@ee3efcc5b00de32e3cbcc1d215cf25d48df39733cff37a719880fd4423b8b9cfB031ca2c80f9eb12719af2d38e65a6ce87ac5ad03cf8c66708339392bb25cbfc18d2 +@9f495315c7451f5469953d872b697a7a26fff2a0aa2fc947753610757ed1c25a B0399f86beceedcf8f574a657ec297e7503a88916efdde2f17e69e0beb1a1897e73B +*@1ebc073816ad7e1b84321a68b50337791737f1758e2346a17c103a07ca671b2b""1EcSS7agTyhgxk6dKtFXmuc2nTdxDRaiBk"UOP_DUP OP_HASH160 954d6c9b33fa5a21c83c37a27a147c6b9b23a1f1 OP_EQUALVERIFY OP_CHECKSIG*276a914954d6c9b33fa5a21c83c37a27a147c6b9b23a1f188ac*"1EcSS7agTyhgxk6dKtFXmuc2nTdxDRaiBk8$J  +[@1ebc073816ad7e1b84321a68b50337791737f1758e2346a17c103a07ca671b2b""1ByDDb5N9XLAsUyeKA2yEJXNKd9x6MwKTP"UOP_DUP OP_HASH160 7852bffd396dbddd0e87b423e9d62a6d0e9117e2 OP_EQUALVERIFY OP_CHECKSIG*276a9147852bffd396dbddd0e87b423e9d62a6d0e9117e288ac*"1ByDDb5N9XLAsUyeKA2yEJXNKd9x6MwKTP8$J  +@1ebc073816ad7e1b84321a68b50337791737f1758e2346a17c103a07ca671b2b""1LGQjnz7aUdcfRztLTRpDFyshN8qFd9kzH"UOP_DUP OP_HASH160 d35471d41723c155ad6c520bab13b7363fbc8ef1 OP_EQUALVERIFY OP_CHECKSIG*276a914d35471d41723c155ad6c520bab13b7363fbc8ef188ac*"1LGQjnz7aUdcfRztLTRpDFyshN8qFd9kzH8$J  + + +1@94ca650fd67138d533fbaa0d06a48744e8960c66d0abdd6048dd6bd6a6b00ffe$"@000000000000000000059615b6a251fc0be92c86c2003babace6b5c2c81d0be7(-2 +@1ebc073816ad7e1b84321a68b50337791737f1758e2346a17c103a07ca671b2bB027df76df86b3242d2635cef9a393e96d07366e808ea4f4f0da89d3ccfecf029fc2 +@1ebc073816ad7e1b84321a68b50337791737f1758e2346a17c103a07ca671b2bB03adcc599ddea81c1057132efe48255b4fab56cb449f38a7697bc11f676105d54fB +*@94ca650fd67138d533fbaa0d06a48744e8960c66d0abdd6048dd6bd6a6b00ffe""19dNzvmTMRbbXLGHdN3kFF7MBh6CPuCKfx"UOP_DUP OP_HASH160 5ea258326a20c3b586dba325ab34c78e3f68612f OP_EQUALVERIFY OP_CHECKSIG*276a9145ea258326a20c3b586dba325ab34c78e3f68612f88ac*"19dNzvmTMRbbXLGHdN3kFF7MBh6CPuCKfx8$J  +[@94ca650fd67138d533fbaa0d06a48744e8960c66d0abdd6048dd6bd6a6b00ffe""1PaAWV91JihEnVPvL9BBcCzwjTUY3AAvf8"UOP_DUP OP_HASH160 f7986e60d5c5ef871571957ee19ca90acfab9b62 OP_EQUALVERIFY OP_CHECKSIG*276a914f7986e60d5c5ef871571957ee19ca90acfab9b6288ac*"1PaAWV91JihEnVPvL9BBcCzwjTUY3AAvf88$J  + @94ca650fd67138d533fbaa0d06a48744e8960c66d0abdd6048dd6bd6a6b00ffe""1CmS5GpFWu97H6w2ZUREHe3UKgCt8xw6ER"UOP_DUP OP_HASH160 81109dcb4979595869b323f817a3a96e68c18e9c OP_EQUALVERIFY OP_CHECKSIG*276a91481109dcb4979595869b323f817a3a96e68c18e9c88ac*"1CmS5GpFWu97H6w2ZUREHe3UKgCt8xw6ER8$J  + + +1@1901ace817bf98e4c221b949fa3b224b7220767d0602b96b413fe6e4e09fe562$"@000000000000000000059615b6a251fc0be92c86c2003babace6b5c2c81d0be7(-2 +@94ca650fd67138d533fbaa0d06a48744e8960c66d0abdd6048dd6bd6a6b00ffeB02236d8b7220f82cce3247112a744e213f4906179edc50485e0d71001609b9231e2 +@94ca650fd67138d533fbaa0d06a48744e8960c66d0abdd6048dd6bd6a6b00ffeB023f25e5988fe00341fb6acc788ba1d331af648b62d93e8cbe0305360ef5ec2419B +*@1901ace817bf98e4c221b949fa3b224b7220767d0602b96b413fe6e4e09fe562""1PwKdouTzE5cHu1QNe2d91bT9Nqcr8ppZZ"UOP_DUP OP_HASH160 fb98c8dabeb7f35af76d735c8fd340a790061cc3 OP_EQUALVERIFY OP_CHECKSIG*276a914fb98c8dabeb7f35af76d735c8fd340a790061cc388ac*"1PwKdouTzE5cHu1QNe2d91bT9Nqcr8ppZZ8$J  +[@1901ace817bf98e4c221b949fa3b224b7220767d0602b96b413fe6e4e09fe562""17A8hyxNjU2GzJx56G3SxUw1bp7a6AmekF"UOP_DUP OP_HASH160 438aee764d670644ce0942f46b7a3a95f6056b87 OP_EQUALVERIFY OP_CHECKSIG*276a914438aee764d670644ce0942f46b7a3a95f6056b8788ac*"17A8hyxNjU2GzJx56G3SxUw1bp7a6AmekF8$J  + @1901ace817bf98e4c221b949fa3b224b7220767d0602b96b413fe6e4e09fe562""14Zx9YAjnnZckqJhFyryyAsBUogoKK8Sc8"UOP_DUP OP_HASH160 2723b902308fd02ffafa8d6614e849a96a8f7848 OP_EQUALVERIFY OP_CHECKSIG*276a9142723b902308fd02ffafa8d6614e849a96a8f784888ac*"14Zx9YAjnnZckqJhFyryyAsBUogoKK8Sc88$J  $-@000000000000000000081e0d00f9e147b6b7ddabcece05792fa951069d07fb5d"@000000000000000000059615b6a251fc0be92c86c2003babace6b5c2c81d0be72$-@00000000000000000002368a052397f9ac5583d0d38dae43ad453e28696d9264"@000000000000000000081e0d00f9e147b6b7ddabcece05792fa951069d07fb5d2$-@00000000000000000008161674843c8a781232128a0b549f2ddb6119065c2267"@00000000000000000002368a052397f9ac5583d0d38dae43ad453e28696d92642$-@00000000000000000018a9190d70f69e65212320ab6b5f471977073ee577e87d"@00000000000000000008161674843c8a781232128a0b549f2ddb6119065c22672$-@0000000000000000001398a208dd4fe31ef3d64499d8d5039f162b87c17d1875"@00000000000000000018a9190d70f69e65212320ab6b5f471977073ee577e87d2$-@0000000000000000000fec146fe9cea2309e368036fd193731c4e1faf5838272"@0000000000000000001398a208dd4fe31ef3d64499d8d5039f162b87c17d18752$œ-@0000000000000000000a6f456ce4f63de4b97681db4d67ef0d775e2bb40b2876"@0000000000000000000fec146fe9cea2309e368036fd193731c4e1faf58382722$-@0000000000000000001692a2345d02772a676b8686e94b85de65530dfd8b17f2"@0000000000000000000a6f456ce4f63de4b97681db4d67ef0d775e2bb40b28762$ڮ-@0000000000000000000a23788dfd491f32dac9eb5da69ec2a110b34f68d036a5"@0000000000000000001692a2345d02772a676b8686e94b85de65530dfd8b17f22$-@0000000000000000000107d1b8071c139486a0c08802075b11ad8d9f6843bdd3"@0000000000000000000a23788dfd491f32dac9eb5da69ec2a110b34f68d036a52$-@00000000000000000018723ccd7b059dcd0399b15c5023178ce35059e51f0d88"@0000000000000000000107d1b8071c139486a0c08802075b11ad8d9f6843bdd32$-@00000000000000000013593505e143d8bad1cd11a9600f0f9ff2abe5d7e2391d"@00000000000000000018723ccd7b059dcd0399b15c5023178ce35059e51f0d882$ȟ-@00000000000000000007609d99fb544c2af2884b8e1fbb405ea7ff910e01cd9c"@00000000000000000013593505e143d8bad1cd11a9600f0f9ff2abe5d7e2391d2$-@0000000000000000001a14b6ad0ec740594f782275e379c1bd1f08784ce04be9"@00000000000000000007609d99fb544c2af2884b8e1fbb405ea7ff910e01cd9c2 + + +1@b3f43f35d3c0732a5bb221a785ecc7de1df3956202a77317d0eb84cacc87bda1$"@0000000000000000001a14b6ad0ec740594f782275e379c1bd1f08784ce04be9(-2 +@f45d74eb432cf1c2406cdbcecc0512ddb67825e8ae3250dde7a07ac9b19bdffeB02b111099d094aa630c4344660301827e1ad1b4cbe673af0c5092343c064a0168f2 +@4767a1fed753ce6dbe8a7d3acdfd651d44861e4c9dbb5a012c8cc1541558b07bB03d3fea78d3f66ba6c7d483c1fc57c7b367473a920b1b05e1206848de14f18766eB +@b3f43f35d3c0732a5bb221a785ecc7de1df3956202a77317d0eb84cacc87bda1""1Cm3sjJhgENkaqJTycbsJJPXK37NHk1NsX"UOP_DUP OP_HASH160 80fe15e81ba98b14a77358436e424655d3f7716a OP_EQUALVERIFY OP_CHECKSIG*276a91480fe15e81ba98b14a77358436e424655d3f7716a88ac*"1Cm3sjJhgENkaqJTycbsJJPXK37NHk1NsX8$J  +@b3f43f35d3c0732a5bb221a785ecc7de1df3956202a77317d0eb84cacc87bda1""17aivCNhPcFtkvgu1Ly8vu5Ks9xEsVuDG7"UOP_DUP OP_HASH160 483178ddf23e85cd58ae011673d1c75225ce5041 OP_EQUALVERIFY OP_CHECKSIG*276a914483178ddf23e85cd58ae011673d1c75225ce504188ac*"17aivCNhPcFtkvgu1Ly8vu5Ks9xEsVuDG78$J  +Ȓ@b3f43f35d3c0732a5bb221a785ecc7de1df3956202a77317d0eb84cacc87bda1""16HFmoRWrKjmu7ZEuW4bosvfa9mQbZZGTp"UOP_DUP OP_HASH160 39eb9d9eb9179c9c14cdfb679c8fad073efd6b25 OP_EQUALVERIFY OP_CHECKSIG*276a91439eb9d9eb9179c9c14cdfb679c8fad073efd6b2588ac*"16HFmoRWrKjmu7ZEuW4bosvfa9mQbZZGTp8$J  + + +1@b554abadf59c5b245ece1ec944a88b28089b93fe46ac0bf06ae71fc291a3d632$"@0000000000000000001a14b6ad0ec740594f782275e379c1bd1f08784ce04be9(-2 +@0603e47f23efdcca881fd261971da82efb1e5fb9f1b3d9240ba42f1eda6d8b87B0234f5de4a195ca8a965cb6a12c75f36657c71f1799d72311a22b8b3ead52ddc412 +@c789de2092e226a9377c74cc107eb5dfc6b9c8c09e73981def09b11d98225f22B0342d5d068f65fa15ddff45d234649e3edcc5e498691bf31d8f1ec25aa48ed29b6B +@b554abadf59c5b245ece1ec944a88b28089b93fe46ac0bf06ae71fc291a3d632""1DFDwqMawz4iwUE3hukhKqT5CEQnAsvxy1"UOP_DUP OP_HASH160 8652239f8e40903609289c2f0bd844683b5fafbd OP_EQUALVERIFY OP_CHECKSIG*276a9148652239f8e40903609289c2f0bd844683b5fafbd88ac*"1DFDwqMawz4iwUE3hukhKqT5CEQnAsvxy18$J  +\@b554abadf59c5b245ece1ec944a88b28089b93fe46ac0bf06ae71fc291a3d632""1DMfw9QwMWZqspoJezQmYRs2gazLafz4gQ"UOP_DUP OP_HASH160 878a5426f91f5c30829e990aa0aefaf0575af8a7 OP_EQUALVERIFY OP_CHECKSIG*276a914878a5426f91f5c30829e990aa0aefaf0575af8a788ac*"1DMfw9QwMWZqspoJezQmYRs2gazLafz4gQ8$J  +@b554abadf59c5b245ece1ec944a88b28089b93fe46ac0bf06ae71fc291a3d632""15ZE7wEVDpCjpkLT5C7q1YdHcA5m2oph1A"UOP_DUP OP_HASH160 31f8c3fce58228ff8587b737b6835b357a210291 OP_EQUALVERIFY OP_CHECKSIG*276a91431f8c3fce58228ff8587b737b6835b357a21029188ac*"15ZE7wEVDpCjpkLT5C7q1YdHcA5m2oph1A8$J &$-@00000000000000000007d4d0c64750dcc101d8e0c9eb3def2d644cff25051396"@0000000000000000001a14b6ad0ec740594f782275e379c1bd1f08784ce04be92$ѡ-@0000000000000000000072bd51f25693e505766e50f1f7c08768fb2fc608b900"@00000000000000000007d4d0c64750dcc101d8e0c9eb3def2d644cff250513962$-@00000000000000000010cd0748ddd6e4d909e02601d615f3be2f48ac3fec50eb"@0000000000000000000072bd51f25693e505766e50f1f7c08768fb2fc608b9002$-@00000000000000000018dc8f17335a59fee01d41301de9f767b46e47bcc589e1"@00000000000000000010cd0748ddd6e4d909e02601d615f3be2f48ac3fec50eb2 $-@00000000000000000005ee86ec355266ad8d556fea9e647c6a77f02f1385f51e"@00000000000000000018dc8f17335a59fee01d41301de9f767b46e47bcc589e12 + + + +1@cda5f4dc60f4826c1e05b08c9cfc9eebec220fd4bd97220abe7f4c027b0f3b54$"@00000000000000000005ee86ec355266ad8d556fea9e647c6a77f02f1385f51e(-2 +@1b6a1368cac2ec1a1a9b9ac46c8d1b6c4668e3a3c481ad75a8c99ecff0944e29B02f3dba34b9e1d2c00726f04d46cd32e96a20b403279f87f02d96b6e95e27e24ea2 +@0603e47f23efdcca881fd261971da82efb1e5fb9f1b3d9240ba42f1eda6d8b87B037d30ed8b10a7424eb81463af8ac6e25757461ee0fd0dc884d9d082f6ad98c3dfB +@cda5f4dc60f4826c1e05b08c9cfc9eebec220fd4bd97220abe7f4c027b0f3b54""1MjyfcJCzW2via1nRo1p3um5pS6pU6jJNn"UOP_DUP OP_HASH160 e38349c6888a27a90416285e4573dfcbc728428c OP_EQUALVERIFY OP_CHECKSIG*276a914e38349c6888a27a90416285e4573dfcbc728428c88ac*"1MjyfcJCzW2via1nRo1p3um5pS6pU6jJNn8$J  +\@cda5f4dc60f4826c1e05b08c9cfc9eebec220fd4bd97220abe7f4c027b0f3b54""1PVCHaRSsTh7sJpHJ2W8ekKTs9qD8ZEL5q"UOP_DUP OP_HASH160 f6a7d5c7f27c2810f8229b39a9d03fa8f9f0eb74 OP_EQUALVERIFY OP_CHECKSIG*276a914f6a7d5c7f27c2810f8229b39a9d03fa8f9f0eb7488ac*"1PVCHaRSsTh7sJpHJ2W8ekKTs9qD8ZEL5q8$J  +@cda5f4dc60f4826c1e05b08c9cfc9eebec220fd4bd97220abe7f4c027b0f3b54""1N5oKsgTaVXVddf5tTFhUJY3BqoTwa1jBh"UOP_DUP OP_HASH160 e742f9cec9cc8c0d08cbb0bb103d25552aa2abf5 OP_EQUALVERIFY OP_CHECKSIG*276a914e742f9cec9cc8c0d08cbb0bb103d25552aa2abf588ac*"1N5oKsgTaVXVddf5tTFhUJY3BqoTwa1jBh8$J &$-@00000000000000000006f272f7b8f2ba106632dbac06f578294f692db75d68be"@00000000000000000005ee86ec355266ad8d556fea9e647c6a77f02f1385f51e2$-@00000000000000000015bfeb9f5e1f8390f22e56a233ba7dceea2ecdcc2042d2"@00000000000000000006f272f7b8f2ba106632dbac06f578294f692db75d68be2$-@00000000000000000014b3fe9c359d42a0a8b60138df865814ce5001f935fe9f"@00000000000000000015bfeb9f5e1f8390f22e56a233ba7dceea2ecdcc2042d22$-@00000000000000000003a674dc82570e4ec47e4c956ec1c80b63f006b3e1fe2e"@00000000000000000014b3fe9c359d42a0a8b60138df865814ce5001f935fe9f2$-@0000000000000000001783608001d316b97f05e6cb0639c6297c67e562012e73"@00000000000000000003a674dc82570e4ec47e4c956ec1c80b63f006b3e1fe2e2$-@000000000000000000190babd2cbed4afe5dd6b4a73a92e7a081bc93e9bd2457"@0000000000000000001783608001d316b97f05e6cb0639c6297c67e562012e732$-@0000000000000000001289b036faf1166cc48fc10417f738c9874436700f1a1a"@000000000000000000190babd2cbed4afe5dd6b4a73a92e7a081bc93e9bd24572$-@0000000000000000000fd8618effddcfceb161e869edc43ce13b17379e4a2706"@0000000000000000001289b036faf1166cc48fc10417f738c9874436700f1a1a2$-@00000000000000000000bee30e30b9da207fc90e2b1b86e0ad2c8488ec45a720"@0000000000000000000fd8618effddcfceb161e869edc43ce13b17379e4a27062$-@000000000000000000003a6e542010d24e8a1c649909e7d2cb11c2140580a33c"@00000000000000000000bee30e30b9da207fc90e2b1b86e0ad2c8488ec45a7202$-@0000000000000000000ec960f940d387ee6b522712de19b88a868e021b7215ea"@000000000000000000003a6e542010d24e8a1c649909e7d2cb11c2140580a33c2$-@0000000000000000000ae38a5007ee24e86ac699d9d51994ed156511bd31d7b2"@0000000000000000000ec960f940d387ee6b522712de19b88a868e021b7215ea2$-@00000000000000000006de8fe1953ca62d58e58e73bb9c06c4870eb4d7fa498b"@0000000000000000000ae38a5007ee24e86ac699d9d51994ed156511bd31d7b22$-@00000000000000000009613280a6c4ef5bea92acfaa28fddaa04bef2a9a37a83"@00000000000000000006de8fe1953ca62d58e58e73bb9c06c4870eb4d7fa498b2$-@0000000000000000000db41af584bdb677f0579c328bc0c6144ca85f2da8fb86"@00000000000000000009613280a6c4ef5bea92acfaa28fddaa04bef2a9a37a832$ۉ-@0000000000000000000169b4a5cb2e0068f403d4ceff01954ef5087e4ff1cb64"@0000000000000000000db41af584bdb677f0579c328bc0c6144ca85f2da8fb862 $ȉ-@000000000000000000149e693316ea578b38b19b25441183cc11453b65b005b1"@0000000000000000000169b4a5cb2e0068f403d4ceff01954ef5087e4ff1cb642 + + + +1@481bd5f5b5a8c6bf25d90d6b401c892ee6ad3b529b1a0ed3fb83a4ba05c6326d$"@000000000000000000149e693316ea578b38b19b25441183cc11453b65b005b1(ȉ-2 +@cda5f4dc60f4826c1e05b08c9cfc9eebec220fd4bd97220abe7f4c027b0f3b54B027faf5561de8ecea8f71c324c7d6e5f9afe5b5aa1d14a4efd6968bee192fa2c732 +@8b20ca0f70b1ccf52701dc199ceb79f9b76a6b5a6f610d788f2725a5f413973cB022b3735192a63fd31cab39befc72b8854fae2a1da60c5444b4c3f47b55f813d22B +@481bd5f5b5a8c6bf25d90d6b401c892ee6ad3b529b1a0ed3fb83a4ba05c6326d""15mCrWkNwP2CPKWNAKa9qjj8Z2TRTmWLZk"UOP_DUP OP_HASH160 343cb34d65e360b8b5bbd0c6ce6e82500aacaa67 OP_EQUALVERIFY OP_CHECKSIG*276a914343cb34d65e360b8b5bbd0c6ce6e82500aacaa6788ac*"15mCrWkNwP2CPKWNAKa9qjj8Z2TRTmWLZk8$J  +@481bd5f5b5a8c6bf25d90d6b401c892ee6ad3b529b1a0ed3fb83a4ba05c6326d""17rcUko7W1CDXEZSVGBokgmDLmQL57Cu1r"UOP_DUP OP_HASH160 4b32c0b8dbe9631bfabb6297c35641775135b0bf OP_EQUALVERIFY OP_CHECKSIG*276a9144b32c0b8dbe9631bfabb6297c35641775135b0bf88ac*"17rcUko7W1CDXEZSVGBokgmDLmQL57Cu1r8$J  + @481bd5f5b5a8c6bf25d90d6b401c892ee6ad3b529b1a0ed3fb83a4ba05c6326d""1QCvd6tGYEcZ8ExeSxzh6tTxj6pXERfGNK"UOP_DUP OP_HASH160 fe8c3af926aa0b350db805dd6f96f63c1c8bb9db OP_EQUALVERIFY OP_CHECKSIG*276a914fe8c3af926aa0b350db805dd6f96f63c1c8bb9db88ac*"1QCvd6tGYEcZ8ExeSxzh6tTxj6pXERfGNK8$J z$-@00000000000000000014c5edd77f0314853975a01dba6c649b6def40aeddbe69"@000000000000000000149e693316ea578b38b19b25441183cc11453b65b005b12$-@000000000000000000130034aacadbb17e203ae06c9b411cff445f79bf600b61"@00000000000000000014c5edd77f0314853975a01dba6c649b6def40aeddbe692$-@00000000000000000005c7ab592dc06a251e26581f33e818f8967d64bec7ee77"@000000000000000000130034aacadbb17e203ae06c9b411cff445f79bf600b612$-@0000000000000000001364046a9abe999a1d6bdb208843564ef09be0ea571aac"@00000000000000000005c7ab592dc06a251e26581f33e818f8967d64bec7ee772 $-@0000000000000000000a34fe3557aa36a72570db512ab3db3bac0e7d1d47d29c"@0000000000000000001364046a9abe999a1d6bdb208843564ef09be0ea571aac2 + + + +1@470b1fde5110c09689713b504a3a70fdac9bd3200ecc5302b0e721d136f0ce7e$"@0000000000000000000a34fe3557aa36a72570db512ab3db3bac0e7d1d47d29c(-2 +@2c29aab20dd1af55c1ec177353d6de72113ba96eae392eb84082ab6b28a07291B02d56bf84432185fcbdd807b776046b8b4eadd5b68a35d92d38fef2b098389a6072 +@22b89b6cef0410f05587963d5516e55a245819486c7c2f8da7528ccffbc5ddb8B0301f02fdfd36eb98310385276ba1f8620b11a52b0d96df903006b2e6192c590b7B +@470b1fde5110c09689713b504a3a70fdac9bd3200ecc5302b0e721d136f0ce7e""12oHJa7NKrLSBntsvWdWuTAYPYirM6yQ8Y"UOP_DUP OP_HASH160 13b8de79667a0d604b101fdb4fcae89a22186c71 OP_EQUALVERIFY OP_CHECKSIG*276a91413b8de79667a0d604b101fdb4fcae89a22186c7188ac*"12oHJa7NKrLSBntsvWdWuTAYPYirM6yQ8Y8$J  +@470b1fde5110c09689713b504a3a70fdac9bd3200ecc5302b0e721d136f0ce7e""1MK7mEiEszUGF99ZYdHVcgjeM5zXS4x5gg"UOP_DUP OP_HASH160 decfa5f099724c2f41199cf360287631014e2442 OP_EQUALVERIFY OP_CHECKSIG*276a914decfa5f099724c2f41199cf360287631014e244288ac*"1MK7mEiEszUGF99ZYdHVcgjeM5zXS4x5gg8$J  +؝6@470b1fde5110c09689713b504a3a70fdac9bd3200ecc5302b0e721d136f0ce7e""1MhurT6dUnEaR1Sq6dgsJ8Rc1LMVNLGmty"UOP_DUP OP_HASH160 e31f45f4995466af21661a7af26a28ae5c6c2719 OP_EQUALVERIFY OP_CHECKSIG*276a914e31f45f4995466af21661a7af26a28ae5c6c271988ac*"1MhurT6dUnEaR1Sq6dgsJ8Rc1LMVNLGmty8$J  $-@0000000000000000000d5b1ff3da0bcdc4edf7284d6c83fb7d9ac4f51dd11c45"@0000000000000000000a34fe3557aa36a72570db512ab3db3bac0e7d1d47d29c2$-@0000000000000000000d824674a00da4ad05a9d9c2fb04c699ee5e9e57017b16"@0000000000000000000d5b1ff3da0bcdc4edf7284d6c83fb7d9ac4f51dd11c452$-@00000000000000000017526cf3572876f419157e90eb7d9db15120297a7b7046"@0000000000000000000d824674a00da4ad05a9d9c2fb04c699ee5e9e57017b162$П-@000000000000000000088b065e028fe0430833cdd6a41015e30ffe5e847b6c2b"@00000000000000000017526cf3572876f419157e90eb7d9db15120297a7b70462 + +1@7906dc73b9379a6280a3fe194a53ad91f564b822f1b93e72f7f95f8babd95b77$"@000000000000000000088b065e028fe0430833cdd6a41015e30ffe5e847b6c2b(П-2 +@6ae0147c424ce5b60688dd2fe0c4702325b91b3b4efd6244e0527f1804e57532B02ffe8fef5ec280b330f044db3a4c0aa4a372d3125e20d61d73789bd23bc9fb5702 +@6ae0147c424ce5b60688dd2fe0c4702325b91b3b4efd6244e0527f1804e57532B03a84453def0d4c9d47f31976736c3d9064349c33edc9e057801e395a9ab86936e2 +@20343a83deed089633f71adc267c900ac57388744bd1f9529626caf3c254d5efB030b54d7c1daae5f3f1d327e5369bab96906b84b2daa437d9f98ebde926c5347452 +@311e73afb95824b07a58fc7673783199899954bb756d17834152e7261a26cd8bB02066ee511b2ffbf34262f56620f2090040c12502ed246f013bea9724db2027efc2 +@9b926f5fa1a6764b1d841d186d02a7ce8604399afb296ad272af7a0e49121ef9B028831b3f485e86966306dd595a365f395efaa4176cd9696a6a2ebe08c5e98d6c3B +Q@7906dc73b9379a6280a3fe194a53ad91f564b822f1b93e72f7f95f8babd95b77""1FpcTwztnUBMDJdxYsrBRPWKjFdp4tvbmU"UOP_DUP OP_HASH160 a292ea61cfa8c0e739800f0546b2af46aa01c19b OP_EQUALVERIFY OP_CHECKSIG*276a914a292ea61cfa8c0e739800f0546b2af46aa01c19b88ac*"1FpcTwztnUBMDJdxYsrBRPWKjFdp4tvbmU8$J  +[@7906dc73b9379a6280a3fe194a53ad91f564b822f1b93e72f7f95f8babd95b77"!1LBy1ge7irxNzPQp3tbrgEpCxhvj53tGu"UOP_DUP OP_HASH160 03a10e975122660b71aeb77577bdccf58c338a77 OP_EQUALVERIFY OP_CHECKSIG*276a91403a10e975122660b71aeb77577bdccf58c338a7788ac*!1LBy1ge7irxNzPQp3tbrgEpCxhvj53tGu8$J  +@7906dc73b9379a6280a3fe194a53ad91f564b822f1b93e72f7f95f8babd95b77""1Kiw1WDV1rzAq5UfJ5ZK3MXuGYx4gvep1k"UOP_DUP OP_HASH160 cd606718b7715dcf33af83294f3a57d547529b87 OP_EQUALVERIFY OP_CHECKSIG*276a914cd606718b7715dcf33af83294f3a57d547529b8788ac*"1Kiw1WDV1rzAq5UfJ5ZK3MXuGYx4gvep1k8$J   $-@00000000000000000019e218b3177320f91138205559fc547e87ff89bcdf880e"@000000000000000000088b065e028fe0430833cdd6a41015e30ffe5e847b6c2b2 + + + +1@47bde2a65ee4c88a69613234e51f0bf0f5c325fe2ab668f7dd4d970b9885168a$"@00000000000000000019e218b3177320f91138205559fc547e87ff89bcdf880e(-2 +@b554abadf59c5b245ece1ec944a88b28089b93fe46ac0bf06ae71fc291a3d632B02fa7f6a3a471413ff5991b08dda516924a2ec4d1852f36d339bfe47b5409a1a622 +@1b6a1368cac2ec1a1a9b9ac46c8d1b6c4668e3a3c481ad75a8c99ecff0944e29B03b44d30b90f4ce802fd3b4ca71b039716056b82d51f4cb09704f03c1dca2445e7B +@47bde2a65ee4c88a69613234e51f0bf0f5c325fe2ab668f7dd4d970b9885168a""1GDry92jjomWy6Q4EocVLqd1dqztsEn7c5"UOP_DUP OP_HASH160 a6f896e32f35832225f39629f4efc40d64454b1a OP_EQUALVERIFY OP_CHECKSIG*276a914a6f896e32f35832225f39629f4efc40d64454b1a88ac*"1GDry92jjomWy6Q4EocVLqd1dqztsEn7c58$J  +\@47bde2a65ee4c88a69613234e51f0bf0f5c325fe2ab668f7dd4d970b9885168a""1LU9BTUUiWwbPDpo4argCDypmqSX3ZZqmC"UOP_DUP OP_HASH160 d58c730cfc1cd6c42ab2cea99a8bc5b1e16eb484 OP_EQUALVERIFY OP_CHECKSIG*276a914d58c730cfc1cd6c42ab2cea99a8bc5b1e16eb48488ac*"1LU9BTUUiWwbPDpo4argCDypmqSX3ZZqmC8$J  +ʕ@47bde2a65ee4c88a69613234e51f0bf0f5c325fe2ab668f7dd4d970b9885168a""1Ku8eyz9hd1vASszeUenbhKuXP3WzNUJfX"UOP_DUP OP_HASH160 cf4e48b9d1c8e29cb7c3581539b47e564e4792c8 OP_EQUALVERIFY OP_CHECKSIG*276a914cf4e48b9d1c8e29cb7c3581539b47e564e4792c888ac*"1Ku8eyz9hd1vASszeUenbhKuXP3WzNUJfX8$J &$-@00000000000000000009a0f970739f4252254498ef28c0819bffa11cf7e4768e"@00000000000000000019e218b3177320f91138205559fc547e87ff89bcdf880e2$-@000000000000000000042cba680bb093a2e892f1d7b1f05aea7cce397df6c1c3"@00000000000000000009a0f970739f4252254498ef28c0819bffa11cf7e4768e2$д-@000000000000000000084ba19e18eae8c2948a8c929dff941758f102d86bb83c"@000000000000000000042cba680bb093a2e892f1d7b1f05aea7cce397df6c1c32 $-@000000000000000000004a4c100995c00a52da3268738efcb0960c48d94062d0"@000000000000000000084ba19e18eae8c2948a8c929dff941758f102d86bb83c2 + + + +1@94847f2d6ce06961ddb30765ebefa41217a36fc34a2f8565fe46fc4af4cde627$"@000000000000000000004a4c100995c00a52da3268738efcb0960c48d94062d0(-2 +@0160fc7f29a2c4de404825b7079d9cb5f7bf016b65e9ebf83c28fd9641c6edaeB03016ecca51af664fa2930e1e5647c9bca47a1b48d01e59ae7f8ac06b5c6eeb90e2 +@5a630aeb894cbd799b89aed498af0649f255631d5831add914269f79b1e8f47fB024f6eb7a5dc225fd6ef9d1d483b413cb767661e1c470a5ef8327d89c883248413B + @94847f2d6ce06961ddb30765ebefa41217a36fc34a2f8565fe46fc4af4cde627""1KpPk1WWbHsnEauYsLgTioA8Hg6nfQiEaA"UOP_DUP OP_HASH160 ce68cc48cbfc83bd25b610c1d672cc81869b8370 OP_EQUALVERIFY OP_CHECKSIG*276a914ce68cc48cbfc83bd25b610c1d672cc81869b837088ac*"1KpPk1WWbHsnEauYsLgTioA8Hg6nfQiEaA8$J  +@94847f2d6ce06961ddb30765ebefa41217a36fc34a2f8565fe46fc4af4cde627""126cuV1bembsf8hxJkxySU6ivRg4h1PxjJ"UOP_DUP OP_HASH160 0c082d6f0bd4be89b6a25530ead47d459fd56701 OP_EQUALVERIFY OP_CHECKSIG*276a9140c082d6f0bd4be89b6a25530ead47d459fd5670188ac*"126cuV1bembsf8hxJkxySU6ivRg4h1PxjJ8$J  +@94847f2d6ce06961ddb30765ebefa41217a36fc34a2f8565fe46fc4af4cde627""15K6ccpyVFmMWXNx7r98AamqqjhTyWf7sC"UOP_DUP OP_HASH160 2f4cad46bdea20e3968c756403a455d8b76b8835 OP_EQUALVERIFY OP_CHECKSIG*276a9142f4cad46bdea20e3968c756403a455d8b76b883588ac*"15K6ccpyVFmMWXNx7r98AamqqjhTyWf7sC8$J $-@0000000000000000000ac6cdfa39676a133c278616e8434a5af7066f9cdce8a6"@000000000000000000004a4c100995c00a52da3268738efcb0960c48d94062d027$-@000000000000000000088e29ecd5366306c694a14735518eb3d3a6568d9cc0a7"@0000000000000000000ac6cdfa39676a133c278616e8434a5af7066f9cdce8a626 + + +1@2bbd57802ca6c1507b0fd4e3e7dca7e1ba10721773dc68ae2096eb1d2b5733fb$"@000000000000000000088e29ecd5366306c694a14735518eb3d3a6568d9cc0a7(-2 +@34d5f9ccd57992734221c3b8ef599abdfa2431514ba67afcff282a88c4b2b38eB032c5c422e3b59cbc94d36f317aee76740ad2c80c8f586af70eecc74d69304405e2 +@704ea5f67a274a359835d865c64fb3355a98787b3745967739e2b2ec75093280B02f5b46baa95f1e20c6a4e0a0b685fdd0bb85f91c5fd2811e9a5d8e9de4c3a112cB +-@2bbd57802ca6c1507b0fd4e3e7dca7e1ba10721773dc68ae2096eb1d2b5733fb""13LKi7W7Y1LgwbkJBPoY7oxvsbYP61k6n2"UOP_DUP OP_HASH160 1997c5adf824e9c5c796cd5fb16b694e79be4281 OP_EQUALVERIFY OP_CHECKSIG*276a9141997c5adf824e9c5c796cd5fb16b694e79be428188ac*"13LKi7W7Y1LgwbkJBPoY7oxvsbYP61k6n28$J  +@2bbd57802ca6c1507b0fd4e3e7dca7e1ba10721773dc68ae2096eb1d2b5733fb""1N9gSkycRjYTTF4Kto5a7AKhB8ydwKFcwT"UOP_DUP OP_HASH160 e7fee53b4bcd3ec75f7c9476e148c1a607c197fb OP_EQUALVERIFY OP_CHECKSIG*276a914e7fee53b4bcd3ec75f7c9476e148c1a607c197fb88ac*"1N9gSkycRjYTTF4Kto5a7AKhB8ydwKFcwT8$J  +@2bbd57802ca6c1507b0fd4e3e7dca7e1ba10721773dc68ae2096eb1d2b5733fb""1FgfPMoHL5aKXAPrKd9YJ3azXQ8Vrgyemx"UOP_DUP OP_HASH160 a11206ad13c17b72799e83251634921d6710b310 OP_EQUALVERIFY OP_CHECKSIG*276a914a11206ad13c17b72799e83251634921d6710b31088ac*"1FgfPMoHL5aKXAPrKd9YJ3azXQ8Vrgyemx8$J  + + +1@e0cdf7775535f1fc605785140deb142b93b014a52945597d95a5354c1d80c986$"@000000000000000000088e29ecd5366306c694a14735518eb3d3a6568d9cc0a7(-2 +@37b7ce7ab8fc71d0b5c6449d630df051e548b2f966259ae546620cfd503a55e4B0207ebf85a4423b578c4576df69cc6bf3a9665afdaff293bf5c82d25abbfc7bdce2 +@6a0a36c5a7a8aa05f7d7d9f3dde15887397f6c94904da741b11491440c4573d6B038d374b1cb4d470b0338013e5703316220261bf798b8dd3faeee27fbbb4fed96eB +#@e0cdf7775535f1fc605785140deb142b93b014a52945597d95a5354c1d80c986""1Mk7jjAX1CLsyH9kjkZt4H4EQPSZuTx12G"UOP_DUP OP_HASH160 e38a0688ac1163e4bcc151dd856fdae440562c48 OP_EQUALVERIFY OP_CHECKSIG*276a914e38a0688ac1163e4bcc151dd856fdae440562c4888ac*"1Mk7jjAX1CLsyH9kjkZt4H4EQPSZuTx12G8$J  +@e0cdf7775535f1fc605785140deb142b93b014a52945597d95a5354c1d80c986""1N3C7bBcks8rU4qgWhRCchjPuPunr33B8k"UOP_DUP OP_HASH160 e6c4c024827c012faa438bdc898e41e9d1846965 OP_EQUALVERIFY OP_CHECKSIG*276a914e6c4c024827c012faa438bdc898e41e9d184696588ac*"1N3C7bBcks8rU4qgWhRCchjPuPunr33B8k8$J  +O@e0cdf7775535f1fc605785140deb142b93b014a52945597d95a5354c1d80c986""1LCtHetkRyGF4ekdU5mUodq5ypQ4BnVnB3"UOP_DUP OP_HASH160 d2a9c71e721f4a6d467d2576f8cefb370a6bb1ac OP_EQUALVERIFY OP_CHECKSIG*276a914d2a9c71e721f4a6d467d2576f8cefb370a6bb1ac88ac*"1LCtHetkRyGF4ekdU5mUodq5ypQ4BnVnB38$J  + + +1@3bb4f841810047b9e5cba812a6b30f5e00397b52027fd0a1fe35fad7d87a0322$"@000000000000000000088e29ecd5366306c694a14735518eb3d3a6568d9cc0a7(-2 +@e0cdf7775535f1fc605785140deb142b93b014a52945597d95a5354c1d80c986B039b639a7e7d8b64963e3a09d7575ea5b278d7d2de569c3f72e5d5466e32675e232 +@e0cdf7775535f1fc605785140deb142b93b014a52945597d95a5354c1d80c986B02c55d060076d6a2d6530c0ac71c5f9144baa48c6a6b99881e3796eba77c5670abB +#@3bb4f841810047b9e5cba812a6b30f5e00397b52027fd0a1fe35fad7d87a0322""1MDdTNJyamwr7MrkpZoY64vZoSjV6BuMaA"UOP_DUP OP_HASH160 ddc5f020567acc43e4ed117d09b291c7f6063403 OP_EQUALVERIFY OP_CHECKSIG*276a914ddc5f020567acc43e4ed117d09b291c7f606340388ac*"1MDdTNJyamwr7MrkpZoY64vZoSjV6BuMaA8$J  +@3bb4f841810047b9e5cba812a6b30f5e00397b52027fd0a1fe35fad7d87a0322""13he5n87NCWRZ5BHEX8hJnztsqQn2S3w64"UOP_DUP OP_HASH160 1d9fd848197015b9704c74b1cac890580fcdb590 OP_EQUALVERIFY OP_CHECKSIG*276a9141d9fd848197015b9704c74b1cac890580fcdb59088ac*"13he5n87NCWRZ5BHEX8hJnztsqQn2S3w648$J  +8@3bb4f841810047b9e5cba812a6b30f5e00397b52027fd0a1fe35fad7d87a0322""18rVoZWTMQcTJ1sH5vK4SsFRMMRDUwHWXi"UOP_DUP OP_HASH160 56254e52f15d15bebbe63f06abadf737950b820b OP_EQUALVERIFY OP_CHECKSIG*276a91456254e52f15d15bebbe63f06abadf737950b820b88ac*"18rVoZWTMQcTJ1sH5vK4SsFRMMRDUwHWXi8$J 1 + + +1@58fd22c3f6a3f2520ec97d7928aeda8b183b51cc4274890357b701ca4c5a00d5$"@000000000000000000088e29ecd5366306c694a14735518eb3d3a6568d9cc0a7(-2 +@3bfcfb3ab5e97d956b12eb38827f9f50db1fe2590dd4f3937e00e5d85cd89d43B03962e865ef570ced33b4b329ad668aa06a6738dd5e875fd359640035697634fbf2 +@34d5f9ccd57992734221c3b8ef599abdfa2431514ba67afcff282a88c4b2b38eB0238799a507aae3cf302cebbc2ea04c8da6fc663b1a1a8491293b0b5b60ea0a23bB +0@58fd22c3f6a3f2520ec97d7928aeda8b183b51cc4274890357b701ca4c5a00d5""17p29j3bNDAVk2wYMiyoCEb9vwFUz9PXYg"UOP_DUP OP_HASH160 4ab543e690f469f72da2ad8202ddbad4a55a9242 OP_EQUALVERIFY OP_CHECKSIG*276a9144ab543e690f469f72da2ad8202ddbad4a55a924288ac*"17p29j3bNDAVk2wYMiyoCEb9vwFUz9PXYg8$J  +@58fd22c3f6a3f2520ec97d7928aeda8b183b51cc4274890357b701ca4c5a00d5""15fucSZuhEpUzT9zNDAXjMbP3Yr94gPADo"UOP_DUP OP_HASH160 333c3a2820575c9fe074b60ecd9bf294da71f5f4 OP_EQUALVERIFY OP_CHECKSIG*276a914333c3a2820575c9fe074b60ecd9bf294da71f5f488ac*"15fucSZuhEpUzT9zNDAXjMbP3Yr94gPADo8$J  +@58fd22c3f6a3f2520ec97d7928aeda8b183b51cc4274890357b701ca4c5a00d5""1DMu7ZZUZsNi5AHLbDZHhhd2xZ2swQgiPk"UOP_DUP OP_HASH160 8795549aecd670eadbd3b54b319a225901e93e0c OP_EQUALVERIFY OP_CHECKSIG*276a9148795549aecd670eadbd3b54b319a225901e93e0c88ac*"1DMu7ZZUZsNi5AHLbDZHhhd2xZ2swQgiPk8$J  + +1@9de7c6b14246d44e689fd11986bdf4361d6b01d582aaae85ca4d0b6005552764$"@000000000000000000088e29ecd5366306c694a14735518eb3d3a6568d9cc0a7(-2 +@08d2fb04d60e478d67b061f2b0239190e49986d552419251dbc325ed4ac491bcB03d9f7dfd8fbdf6a6b32cc09650ac040287802552071561f5858825c665bea8f262 +@6e23d0fb31c9be12015623dca528dd6075c033b28c02415b99c881603765ba72B03109fc7362a4c7e700263c65737230205248582b3fc64fe1fbd4b41d6f220aabc2 +@5c4469d83cf5359e5f3b8885cdb32a19e804b060fefb13b242c315af490ed229B039e9f4d432f843052be5d3d08cfe2c29b62ca4e58e542cd4c0bd6efc1d17a941bB +@9de7c6b14246d44e689fd11986bdf4361d6b01d582aaae85ca4d0b6005552764""16fibTACUWtaZhBGNQeb5hDfQGyyBwsF6N"UOP_DUP OP_HASH160 3e2b2808362c6c3d8315aaafcb1f5c58bef0bef5 OP_EQUALVERIFY OP_CHECKSIG*276a9143e2b2808362c6c3d8315aaafcb1f5c58bef0bef588ac*"16fibTACUWtaZhBGNQeb5hDfQGyyBwsF6N8$J  +3@9de7c6b14246d44e689fd11986bdf4361d6b01d582aaae85ca4d0b6005552764""1NrCBWiDiNikXkZLyKWTgfwPY4MJREw9A8"UOP_DUP OP_HASH160 efa85b72d46256ef4a6e66323985d0de4b4af47a OP_EQUALVERIFY OP_CHECKSIG*276a914efa85b72d46256ef4a6e66323985d0de4b4af47a88ac*"1NrCBWiDiNikXkZLyKWTgfwPY4MJREw9A88$J  +@9de7c6b14246d44e689fd11986bdf4361d6b01d582aaae85ca4d0b6005552764""15H7gUVjnH6i57tDswhQBewAqddHSgQEuq"UOP_DUP OP_HASH160 2eecbc35e102eea9eb4352cd1da4fce60d257e3d OP_EQUALVERIFY OP_CHECKSIG*276a9142eecbc35e102eea9eb4352cd1da4fce60d257e3d88ac*"15H7gUVjnH6i57tDswhQBewAqddHSgQEuq8$J $ؽ-@00000000000000000003e1f42b100f4665b296f5573e0ff24eea66514726124e"@000000000000000000088e29ecd5366306c694a14735518eb3d3a6568d9cc0a72F$-@00000000000000000000c8ec8178793618d60833305eb48536a7b511a4d8296a"@00000000000000000003e1f42b100f4665b296f5573e0ff24eea66514726124e2E + +1@8948b1606eea52c2209c724d6eed904a264e4e86743405a707249625e3dbbb46$"@00000000000000000000c8ec8178793618d60833305eb48536a7b511a4d8296a(-2 +@58fd22c3f6a3f2520ec97d7928aeda8b183b51cc4274890357b701ca4c5a00d5B028013cc6108318bc100093e58ce642b1dbd5c521d74ef36d67436a962f39eb4f62 +@d442e91d02b9efe2cedd612d953b136a786e597dfc5ecb302770864f159a45dcB03ec875b5bec134d73cc7759b521a83bd1c47e1de727a6b5c74c8706835da24f052 +@2bbd57802ca6c1507b0fd4e3e7dca7e1ba10721773dc68ae2096eb1d2b5733fbB02c0dc975a71cd06fbb087b7629a32f0c4123d3087cc49d848d5e45334e61703aeB +0@8948b1606eea52c2209c724d6eed904a264e4e86743405a707249625e3dbbb46""1P1oxx3p7AuvoiP9WvdQQ1pyBpvaEtToZt"UOP_DUP OP_HASH160 f179f8aa676528fb2664a73e826c10362361d34e OP_EQUALVERIFY OP_CHECKSIG*276a914f179f8aa676528fb2664a73e826c10362361d34e88ac*"1P1oxx3p7AuvoiP9WvdQQ1pyBpvaEtToZt8$J  +T@8948b1606eea52c2209c724d6eed904a264e4e86743405a707249625e3dbbb46""1FHm9Mdkc9DS7HUPVDqiem6n9K6X1bQAxv"UOP_DUP OP_HASH160 9cbd4416accf049c9a2cf68f3344febb301ad804 OP_EQUALVERIFY OP_CHECKSIG*276a9149cbd4416accf049c9a2cf68f3344febb301ad80488ac*"1FHm9Mdkc9DS7HUPVDqiem6n9K6X1bQAxv8$J  +@8948b1606eea52c2209c724d6eed904a264e4e86743405a707249625e3dbbb46""1Ddej5RwofcvkJx8nknZ53Zu1RkvqFB7xX"UOP_DUP OP_HASH160 8a8ff9c46e2b215b83738e5a94678a1e13052c5a OP_EQUALVERIFY OP_CHECKSIG*276a9148a8ff9c46e2b215b83738e5a94678a1e13052c5a88ac*"1Ddej5RwofcvkJx8nknZ53Zu1RkvqFB7xX8$J  + +1@ea640ac108a249bf4dcb17c500e43ab29b9ca552622e2e8fb384245f8c3af836$"@00000000000000000000c8ec8178793618d60833305eb48536a7b511a4d8296a(-2 +@2bbd57802ca6c1507b0fd4e3e7dca7e1ba10721773dc68ae2096eb1d2b5733fbB026677bbefa0afa2bbaec6b52a7e3d838e0436b1cd3dbe42bf3d28451c3ef9796f2 +@58fd22c3f6a3f2520ec97d7928aeda8b183b51cc4274890357b701ca4c5a00d5B03e5c5de24fa22b6276e2426181626110f80e7d9bd87dec55feaa916d8a30fbc582 +@3bb4f841810047b9e5cba812a6b30f5e00397b52027fd0a1fe35fad7d87a0322B03909dbb8e095624f9e7ba071952f14cfc1957dfcae6d44cddb7ee84683a752f6e2 +@8948b1606eea52c2209c724d6eed904a264e4e86743405a707249625e3dbbb46B03e78df38c1e9c3d4af4d4aa16fefa1cdcbf549e37dc83c2f4171c5830709389e42 +@9109b54c5841faa78e7f48f88c8aeace1c684c350d331e8a7517de5e0a3efbbcB036ed43df992c4a9eab8e922fce81fe31a18161da476bf6ebb5187c41378ecea58B +,@ea640ac108a249bf4dcb17c500e43ab29b9ca552622e2e8fb384245f8c3af836""18Ewf4mspUPTaZVJaKgxifLfkKRYZ4kohW"UOP_DUP OP_HASH160 4f6be9ab101f534d8bd03b28b0b92ebb1d346ee5 OP_EQUALVERIFY OP_CHECKSIG*276a9144f6be9ab101f534d8bd03b28b0b92ebb1d346ee588ac*"18Ewf4mspUPTaZVJaKgxifLfkKRYZ4kohW8$J  +ݽ@ea640ac108a249bf4dcb17c500e43ab29b9ca552622e2e8fb384245f8c3af836""13gnPk51SngZqrqvMvCuMULXGP74yJTvZa"UOP_DUP OP_HASH160 1d765d91c188586af4a1f3451d0684d085f7ea9b OP_EQUALVERIFY OP_CHECKSIG*276a9141d765d91c188586af4a1f3451d0684d085f7ea9b88ac*"13gnPk51SngZqrqvMvCuMULXGP74yJTvZa8$J  +璥@ea640ac108a249bf4dcb17c500e43ab29b9ca552622e2e8fb384245f8c3af836""1EsXTwv3Q4jh1ogw4z8mMFAfNMuQhRpti9"UOP_DUP OP_HASH160 9827dd2503019db592acb120a2493f0e2f6e08df OP_EQUALVERIFY OP_CHECKSIG*276a9149827dd2503019db592acb120a2493f0e2f6e08df88ac*"1EsXTwv3Q4jh1ogw4z8mMFAfNMuQhRpti98$J t + + +1@0efc61577022456be8fe90a3839ff517ea88c2e51d41633fb22e6c67e01bcd69$"@00000000000000000000c8ec8178793618d60833305eb48536a7b511a4d8296a(-2 +@3bb4f841810047b9e5cba812a6b30f5e00397b52027fd0a1fe35fad7d87a0322B03002084ebf72e276a84f75d28569d086e4f42ec8db704471a219a026053d1d9ea2 +@ea640ac108a249bf4dcb17c500e43ab29b9ca552622e2e8fb384245f8c3af836B03f654b766d11b333f6789807bb268753953b5cfa6248d8e64791335f3787a9a38B +#@0efc61577022456be8fe90a3839ff517ea88c2e51d41633fb22e6c67e01bcd69""16hRicZQufYyQoKTty2U8kQSx6AppcP3Ve"UOP_DUP OP_HASH160 3e7de686b2243f2840b0f8568af09c7a0c288821 OP_EQUALVERIFY OP_CHECKSIG*276a9143e7de686b2243f2840b0f8568af09c7a0c28882188ac*"16hRicZQufYyQoKTty2U8kQSx6AppcP3Ve8$J  +v@0efc61577022456be8fe90a3839ff517ea88c2e51d41633fb22e6c67e01bcd69""142He72KuPLPugZ4fgKhsBuxE3hbqdtTus"UOP_DUP OP_HASH160 2126aef6c7a55c94d9ac359c66a0f9e48107817a OP_EQUALVERIFY OP_CHECKSIG*276a9142126aef6c7a55c94d9ac359c66a0f9e48107817a88ac*"142He72KuPLPugZ4fgKhsBuxE3hbqdtTus8$J  +@0efc61577022456be8fe90a3839ff517ea88c2e51d41633fb22e6c67e01bcd69""1KjeFmtv4NJV7UtZsQfpA4HbaZQ94PQDjf"UOP_DUP OP_HASH160 cd82d54b620c681465eac08b30b3eac27340c08e OP_EQUALVERIFY OP_CHECKSIG*276a914cd82d54b620c681465eac08b30b3eac27340c08e88ac*"1KjeFmtv4NJV7UtZsQfpA4HbaZQ94PQDjf8$J  + + +1@ffb621dc1b317f5b0a04964cfae760b5646504058b5fca9b79fd665acd515bdd$"@00000000000000000000c8ec8178793618d60833305eb48536a7b511a4d8296a(-2 +@0efc61577022456be8fe90a3839ff517ea88c2e51d41633fb22e6c67e01bcd69B035bfd7b1d8f243f885f578ac0c3aaed75721c3f0f592aabf04d9451acaf6b13142 +@0efc61577022456be8fe90a3839ff517ea88c2e51d41633fb22e6c67e01bcd69B03b078affc09949e68412e45eb7e50fd0d684b68455033f6903477d85d976fb20dB +#@ffb621dc1b317f5b0a04964cfae760b5646504058b5fca9b79fd665acd515bdd""1FBTaLF2Lnf21Gse4aZ5nYC4ZLiDZYM6wN"UOP_DUP OP_HASH160 9b8c1aa11f324dcdb8f82363245fb1145391af26 OP_EQUALVERIFY OP_CHECKSIG*276a9149b8c1aa11f324dcdb8f82363245fb1145391af2688ac*"1FBTaLF2Lnf21Gse4aZ5nYC4ZLiDZYM6wN8$J  +ݬ@ffb621dc1b317f5b0a04964cfae760b5646504058b5fca9b79fd665acd515bdd""1BUTWe8D1jmPPZJmzh88ZKfvFcQHjqhZP8"UOP_DUP OP_HASH160 72e29e7d9dd43619ff12f66405268548a38d6921 OP_EQUALVERIFY OP_CHECKSIG*276a91472e29e7d9dd43619ff12f66405268548a38d692188ac*"1BUTWe8D1jmPPZJmzh88ZKfvFcQHjqhZP88$J  +@ffb621dc1b317f5b0a04964cfae760b5646504058b5fca9b79fd665acd515bdd""15zBrSsQ7xdoWGB7UHtUztWv2dfRfsBXiJ"UOP_DUP OP_HASH160 36b145adc0b2d2daf9cc4ba7118dfe9f105bb90e OP_EQUALVERIFY OP_CHECKSIG*276a91436b145adc0b2d2daf9cc4ba7118dfe9f105bb90e88ac*"15zBrSsQ7xdoWGB7UHtUztWv2dfRfsBXiJ8$J  + + +1@b4ddf7128381245fb902d8976592c3bdf6917f67fcf6c40605ef881db6a77cb8$"@00000000000000000000c8ec8178793618d60833305eb48536a7b511a4d8296a(-2 +@ffb621dc1b317f5b0a04964cfae760b5646504058b5fca9b79fd665acd515bddB03b50af60711f8d1c58628062023eaa877aeeec60457a604dacb5712b985f9f1012 +@ffb621dc1b317f5b0a04964cfae760b5646504058b5fca9b79fd665acd515bddB02403bb070913a199d737ddf625e2e187fe7963a59663684a3cfd214b512fe2e83B +"@b4ddf7128381245fb902d8976592c3bdf6917f67fcf6c40605ef881db6a77cb8""123m1q3MLXF3JvuE3FvsvzcGZDCS8EL3h6"UOP_DUP OP_HASH160 0b7db2f0441ffa50e344dbd9c790a5db6bee4faa OP_EQUALVERIFY OP_CHECKSIG*276a9140b7db2f0441ffa50e344dbd9c790a5db6bee4faa88ac*"123m1q3MLXF3JvuE3FvsvzcGZDCS8EL3h68$J  +τ@b4ddf7128381245fb902d8976592c3bdf6917f67fcf6c40605ef881db6a77cb8""1PMmCennrhHVbecLqWrPr2BRRA5YSNzxoW"UOP_DUP OP_HASH160 f53ffbc823ae5c220ae8df509bd54fcf03569f20 OP_EQUALVERIFY OP_CHECKSIG*276a914f53ffbc823ae5c220ae8df509bd54fcf03569f2088ac*"1PMmCennrhHVbecLqWrPr2BRRA5YSNzxoW8$J  +@b4ddf7128381245fb902d8976592c3bdf6917f67fcf6c40605ef881db6a77cb8""13ZXNQNgoYagNacDM6nNV9DqscVhhy2uma"UOP_DUP OP_HASH160 1c16e9c279f42735d28dd4910a1b33d0b62e532e OP_EQUALVERIFY OP_CHECKSIG*276a9141c16e9c279f42735d28dd4910a1b33d0b62e532e88ac*"13ZXNQNgoYagNacDM6nNV9DqscVhhy2uma8$J 1 + +1@74b1327384f2182c0d70811bbedede41aa8beaaf99f7c49e2c117cbd4b1f6278$"@00000000000000000000c8ec8178793618d60833305eb48536a7b511a4d8296a(-2 +@b4ddf7128381245fb902d8976592c3bdf6917f67fcf6c40605ef881db6a77cb8B039838b947ad08c42f661427e7c2a53cf85fda941517779edbce76b0ce3c9876de2 +@b4ddf7128381245fb902d8976592c3bdf6917f67fcf6c40605ef881db6a77cb8B03b7f642eb6a33b901cb2ada64f680b7b4ec8f0db789ef140b9f39e85ebab2020a2 +@ea640ac108a249bf4dcb17c500e43ab29b9ca552622e2e8fb384245f8c3af836B03c2b678f4053cf6b5bbac17e500c10adff4d4b1bb2e385489e790edb25e6af01bB +"@74b1327384f2182c0d70811bbedede41aa8beaaf99f7c49e2c117cbd4b1f6278"!1L85vkmbqP9JP3MA1oLKS7Mjuc7SmY3wd"UOP_DUP OP_HASH160 039dd146e76d725a79df8325d263e38f6145a70f OP_EQUALVERIFY OP_CHECKSIG*276a914039dd146e76d725a79df8325d263e38f6145a70f88ac*!1L85vkmbqP9JP3MA1oLKS7Mjuc7SmY3wd8$J  +Н%@74b1327384f2182c0d70811bbedede41aa8beaaf99f7c49e2c117cbd4b1f6278""1QG8MpTFjQTZtutrigRUQqRNjvAudiZD3g"UOP_DUP OP_HASH160 ff27467f71b616fb8c3ebf4ebbbdeabc0543ef33 OP_EQUALVERIFY OP_CHECKSIG*276a914ff27467f71b616fb8c3ebf4ebbbdeabc0543ef3388ac*"1QG8MpTFjQTZtutrigRUQqRNjvAudiZD3g8$J  +@74b1327384f2182c0d70811bbedede41aa8beaaf99f7c49e2c117cbd4b1f6278""1BkLyh3jtJQctVFa8Le81LEcJVQPWjsU37"UOP_DUP OP_HASH160 75e3d20cba071e2cba5c68fc86859cf94ec4d74a OP_EQUALVERIFY OP_CHECKSIG*276a91475e3d20cba071e2cba5c68fc86859cf94ec4d74a88ac*"1BkLyh3jtJQctVFa8Le81LEcJVQPWjsU378$J O$諀-@00000000000000000011d2032f4a606080e5f6e38affabe722f3e0aebfa983cd"@00000000000000000000c8ec8178793618d60833305eb48536a7b511a4d8296a2$-@00000000000000000005cd8b6d65a9675a24fae4e79a996781fe209e28980048"@00000000000000000011d2032f4a606080e5f6e38affabe722f3e0aebfa983cd2$-@00000000000000000011964a6c0b1299ae2162f5e4253e5dbc376f7ba211d026"@00000000000000000005cd8b6d65a9675a24fae4e79a996781fe209e289800482$-@00000000000000000004eca05b2c53adf5b6fe339a594c545cc275f8b75433a8"@00000000000000000011964a6c0b1299ae2162f5e4253e5dbc376f7ba211d0262 $-@00000000000000000000c16a52f822d92e13a5cdf8caef422221c31d148ab7cf"@00000000000000000004eca05b2c53adf5b6fe339a594c545cc275f8b75433a82 + + + +1@ad64a1eb1587c508bafdc36e9d13a2140216f5189376c3b62519bcc070ae5807$"@00000000000000000000c16a52f822d92e13a5cdf8caef422221c31d148ab7cf(-2 +@8948b1606eea52c2209c724d6eed904a264e4e86743405a707249625e3dbbb46B03d162041701f7d219c39333d1f88c9ccb762187bb00217363987b70b741ed66282 +@74b1327384f2182c0d70811bbedede41aa8beaaf99f7c49e2c117cbd4b1f6278B03c165777675d7d853240198182d0c5d2e9050fad95658a57a06333ab66f84fc7cB +0@ad64a1eb1587c508bafdc36e9d13a2140216f5189376c3b62519bcc070ae5807""1LmpKQAdCXkru7vrbMddR1GryNzn7Toyzk"UOP_DUP OP_HASH160 d8e430ce2d89d705c15d594889c615a3d7072d10 OP_EQUALVERIFY OP_CHECKSIG*276a914d8e430ce2d89d705c15d594889c615a3d7072d1088ac*"1LmpKQAdCXkru7vrbMddR1GryNzn7Toyzk8$J  +@@ad64a1eb1587c508bafdc36e9d13a2140216f5189376c3b62519bcc070ae5807""1DukHJwR1dbRvTTPurWGizzD7bHfY4L1KC"UOP_DUP OP_HASH160 8d9b44cc25e1c580a09fb9d92eda1bc22e22ecca OP_EQUALVERIFY OP_CHECKSIG*276a9148d9b44cc25e1c580a09fb9d92eda1bc22e22ecca88ac*"1DukHJwR1dbRvTTPurWGizzD7bHfY4L1KC8$J  +ů@ad64a1eb1587c508bafdc36e9d13a2140216f5189376c3b62519bcc070ae5807""1Nfoe8DBBgrKjgwk7JHVNTP7FmYBgqJyyd"UOP_DUP OP_HASH160 edb161950ea1fa407b4bf597c859bb80786824e1 OP_EQUALVERIFY OP_CHECKSIG*276a914edb161950ea1fa407b4bf597c859bb80786824e188ac*"1Nfoe8DBBgrKjgwk7JHVNTP7FmYBgqJyyd8$J f$-@0000000000000000001795f3fb46b936d2110863380dd7216e111a4411c0572e"@00000000000000000000c16a52f822d92e13a5cdf8caef422221c31d148ab7cf2e + + +1@f5b4c09b592f94eefe9e1303148351b4a3234c8b433a8430d58a09774ba3cd37$"@0000000000000000001795f3fb46b936d2110863380dd7216e111a4411c0572e(-2 +@ea640ac108a249bf4dcb17c500e43ab29b9ca552622e2e8fb384245f8c3af836B037cf4c15790d8e040a1ab5461bd1aa22d2506968562db7104003b3c37de7725e62 +@ad64a1eb1587c508bafdc36e9d13a2140216f5189376c3b62519bcc070ae5807B026078cf53d5f3509ca7130c4f4fc9e613ec03a7a01c1508401530686a4d9901f1B +,@f5b4c09b592f94eefe9e1303148351b4a3234c8b433a8430d58a09774ba3cd37""1D1CKcqr8AgXZai2Sm4YvSTQCNRtMkDbct"UOP_DUP OP_HASH160 83aaf5aee24fb99da002b3ab7f148559ae07daac OP_EQUALVERIFY OP_CHECKSIG*276a91483aaf5aee24fb99da002b3ab7f148559ae07daac88ac*"1D1CKcqr8AgXZai2Sm4YvSTQCNRtMkDbct8$J  +T@f5b4c09b592f94eefe9e1303148351b4a3234c8b433a8430d58a09774ba3cd37""1HBkBfkx22zXCTLtTuniJWcNKXaHmGU12B"UOP_DUP OP_HASH160 b18a38650e73e3287e96fada0b1eceb0bfbced49 OP_EQUALVERIFY OP_CHECKSIG*276a914b18a38650e73e3287e96fada0b1eceb0bfbced4988ac*"1HBkBfkx22zXCTLtTuniJWcNKXaHmGU12B8$J  +@f5b4c09b592f94eefe9e1303148351b4a3234c8b433a8430d58a09774ba3cd37""1G9hZnWLxr1hAQ2z7hUKP87ibC7VUqHQBp"UOP_DUP OP_HASH160 a62f139d364bb4c5e917d06261cfae456153590c OP_EQUALVERIFY OP_CHECKSIG*276a914a62f139d364bb4c5e917d06261cfae456153590c88ac*"1G9hZnWLxr1hAQ2z7hUKP87ibC7VUqHQBp8$J  + + +1@dd0f3583d8d2b36b5f70ab0daa7bdcbe35feb0ba9cd4d21503d7e7e3f55bbf7e$"@0000000000000000001795f3fb46b936d2110863380dd7216e111a4411c0572e(-2 +@74b1327384f2182c0d70811bbedede41aa8beaaf99f7c49e2c117cbd4b1f6278B03101749655a157d3da2d5f76cf1ead18e5449f5146d31582a9607c01e75f824b22 +@f5b4c09b592f94eefe9e1303148351b4a3234c8b433a8430d58a09774ba3cd37B03c17d91482d9ac6c96b5efa4aeebd8690dd68c3a5f9ae6d8b82cdf8974d55b1dfB +!@dd0f3583d8d2b36b5f70ab0daa7bdcbe35feb0ba9cd4d21503d7e7e3f55bbf7e""1PWYdeTCEWg2Br2vQLNxtYLTmzDDnR2D7F"UOP_DUP OP_HASH160 f6e93c2c4b00328f99e6131154e51098ae38304a OP_EQUALVERIFY OP_CHECKSIG*276a914f6e93c2c4b00328f99e6131154e51098ae38304a88ac*"1PWYdeTCEWg2Br2vQLNxtYLTmzDDnR2D7F8$J  +v@dd0f3583d8d2b36b5f70ab0daa7bdcbe35feb0ba9cd4d21503d7e7e3f55bbf7e""1CJ5rL5bgUcwSPNCPNdnYTKbzDzxa6Mzdm"UOP_DUP OP_HASH160 7be48103d62046415949662b6d299fe65484c61d OP_EQUALVERIFY OP_CHECKSIG*276a9147be48103d62046415949662b6d299fe65484c61d88ac*"1CJ5rL5bgUcwSPNCPNdnYTKbzDzxa6Mzdm8$J  +@dd0f3583d8d2b36b5f70ab0daa7bdcbe35feb0ba9cd4d21503d7e7e3f55bbf7e""19evbH3dnevgwxt9h8dg5hVoyjHjT9QAS9"UOP_DUP OP_HASH160 5eed21e1bef5ad8d1ec96baea68de2a9426cedad OP_EQUALVERIFY OP_CHECKSIG*276a9145eed21e1bef5ad8d1ec96baea68de2a9426cedad88ac*"19evbH3dnevgwxt9h8dg5hVoyjHjT9QAS98$J  + + +1@082cafe3617f1e0c39304c7662381cdef80218cf2885a0ef10f260a0a1f697d5$"@0000000000000000001795f3fb46b936d2110863380dd7216e111a4411c0572e(-2 +@a481d45975a0814e472398eb199087ea4918bcd132ac3501959e8e1be0d7d3a1B0225b0780376c19f00054c12b8e7eb6df701c0c5d55cfa805e725ab36c84813d372 +@6255f0767b12cf36973988b3dec415373c7a0111fe2fcab3b7c39a3dfd124e84B026c401b2934773db9522660724a2428554eb74a8ad0b3927409c42dc4969d7540B +@082cafe3617f1e0c39304c7662381cdef80218cf2885a0ef10f260a0a1f697d5""12jXKUsvDZ3AGo7ZHg1xA51dKVUEvfR939"UOP_DUP OP_HASH160 1302e7a76af44988325c34c114108bd8343fa18e OP_EQUALVERIFY OP_CHECKSIG*276a9141302e7a76af44988325c34c114108bd8343fa18e88ac*"12jXKUsvDZ3AGo7ZHg1xA51dKVUEvfR9398$J  +@082cafe3617f1e0c39304c7662381cdef80218cf2885a0ef10f260a0a1f697d5""1G6vCf6PHzeH2fMpe2Fto99DqWi3EgW58k"UOP_DUP OP_HASH160 a5a86062b7350a36f0499ddea20ebc4f667ffb98 OP_EQUALVERIFY OP_CHECKSIG*276a914a5a86062b7350a36f0499ddea20ebc4f667ffb9888ac*"1G6vCf6PHzeH2fMpe2Fto99DqWi3EgW58k8$J  +@082cafe3617f1e0c39304c7662381cdef80218cf2885a0ef10f260a0a1f697d5""1LDp3kEkBjqLMxnbNauHnwLJhcSvCns7Jj"UOP_DUP OP_HASH160 d2d6a791fadfff7aa08aa6b094f5cf5b76be02aa OP_EQUALVERIFY OP_CHECKSIG*276a914d2d6a791fadfff7aa08aa6b094f5cf5b76be02aa88ac*"1LDp3kEkBjqLMxnbNauHnwLJhcSvCns7Jj8$J  + + +1@f86729d68e8338332a8a1c14e1def7db88fa16dd6475bfe6c3ea6dffe67a1c0e$"@0000000000000000001795f3fb46b936d2110863380dd7216e111a4411c0572e(-2 +@ad64a1eb1587c508bafdc36e9d13a2140216f5189376c3b62519bcc070ae5807B02c3e1dbf7894f0467b5a7ebe2faed1870c6860a91632e0c1e1c4aa053322f97a62 +@dd0f3583d8d2b36b5f70ab0daa7bdcbe35feb0ba9cd4d21503d7e7e3f55bbf7eB0221abb37a5877d791850c6f74f2cedf5d6dea946368aa1c1894050d830c89f513B +0@f86729d68e8338332a8a1c14e1def7db88fa16dd6475bfe6c3ea6dffe67a1c0e""1CwyMhYpLHvEiXAdPjWkE1Zyb6c3daUUqr"UOP_DUP OP_HASH160 830ee3d15f350de1dc36557a253c4d0f964557f6 OP_EQUALVERIFY OP_CHECKSIG*276a914830ee3d15f350de1dc36557a253c4d0f964557f688ac*"1CwyMhYpLHvEiXAdPjWkE1Zyb6c3daUUqr8$J  +ݬ@f86729d68e8338332a8a1c14e1def7db88fa16dd6475bfe6c3ea6dffe67a1c0e"!1UKBvb2AmXtgEpAj2bNbyGkufePWN7kPA"UOP_DUP OP_HASH160 052a69f0ef351b958d2a5109aaef2871ca9a1409 OP_EQUALVERIFY OP_CHECKSIG*276a914052a69f0ef351b958d2a5109aaef2871ca9a140988ac*!1UKBvb2AmXtgEpAj2bNbyGkufePWN7kPA8$J  +@f86729d68e8338332a8a1c14e1def7db88fa16dd6475bfe6c3ea6dffe67a1c0e""14yfnLQiuhd4WKnBrjzB6NFBm8NDdaiYh2"UOP_DUP OP_HASH160 2ba00b63861130b61c98cf1325924cc4bd0ec0dc OP_EQUALVERIFY OP_CHECKSIG*276a9142ba00b63861130b61c98cf1325924cc4bd0ec0dc88ac*"14yfnLQiuhd4WKnBrjzB6NFBm8NDdaiYh28$J  + + +1@8561d977999ed550f62e9b41220490705c8cee30a130a6f6eaec8fb4f26ecd70$"@0000000000000000001795f3fb46b936d2110863380dd7216e111a4411c0572e(-2 +@1901ace817bf98e4c221b949fa3b224b7220767d0602b96b413fe6e4e09fe562B03bf4cf33cad27a8d227a12c29f04b73334b3758f446895f040bd4e54e86091ce22 +@1901ace817bf98e4c221b949fa3b224b7220767d0602b96b413fe6e4e09fe562B0317bff880b96fcbe2f0fae7133747dbf2df0fc6080868917321e3535cbaf8488fB +*@8561d977999ed550f62e9b41220490705c8cee30a130a6f6eaec8fb4f26ecd70""1J1Dabsov8Qr2P5agwXZVYMR3yVAskrZfe"UOP_DUP OP_HASH160 ba84a396fb4fbc98b4d6c5b805e72ef441e071c6 OP_EQUALVERIFY OP_CHECKSIG*276a914ba84a396fb4fbc98b4d6c5b805e72ef441e071c688ac*"1J1Dabsov8Qr2P5agwXZVYMR3yVAskrZfe8$J  +[@8561d977999ed550f62e9b41220490705c8cee30a130a6f6eaec8fb4f26ecd70""1Jkhh5qzVcTrLPhWK9cXGCFSczoVgmVyW9"UOP_DUP OP_HASH160 c2bdfdecf589562e0fad6c01f612a982ec44f087 OP_EQUALVERIFY OP_CHECKSIG*276a914c2bdfdecf589562e0fad6c01f612a982ec44f08788ac*"1Jkhh5qzVcTrLPhWK9cXGCFSczoVgmVyW98$J  + @8561d977999ed550f62e9b41220490705c8cee30a130a6f6eaec8fb4f26ecd70""1MXinhVY51HhAAXTy5J4xSjbABvX1rwKEp"UOP_DUP OP_HASH160 e131e0976cf38667d965a96391eba95cfe01bd43 OP_EQUALVERIFY OP_CHECKSIG*276a914e131e0976cf38667d965a96391eba95cfe01bd4388ac*"1MXinhVY51HhAAXTy5J4xSjbABvX1rwKEp8$J  + + +1@cfd147de25a5140b0ae5d0973e6491f5a01f052f468eca4a69fb5e9290d765a7$"@0000000000000000001795f3fb46b936d2110863380dd7216e111a4411c0572e(-2 +@dd0f3583d8d2b36b5f70ab0daa7bdcbe35feb0ba9cd4d21503d7e7e3f55bbf7eB0202984034800870767c30e93cf0bfd9dfc532771b81a3234a68186b058a0b722b2 +@f86729d68e8338332a8a1c14e1def7db88fa16dd6475bfe6c3ea6dffe67a1c0eB02c046353a0afcdc56db9016296fe70d3328e581eeef85712bb4226614a67120c7B +!@cfd147de25a5140b0ae5d0973e6491f5a01f052f468eca4a69fb5e9290d765a7""1PKYUmwxBxTUuTyCTc51UQw1GtYWeT7KQ1"UOP_DUP OP_HASH160 f4d48824085c6d08e05825a173352c807193f11a OP_EQUALVERIFY OP_CHECKSIG*276a914f4d48824085c6d08e05825a173352c807193f11a88ac*"1PKYUmwxBxTUuTyCTc51UQw1GtYWeT7KQ18$J  +@cfd147de25a5140b0ae5d0973e6491f5a01f052f468eca4a69fb5e9290d765a7""1N2MWi7DHaiGRyADcC5ze4JXKRa3kNvm7o"UOP_DUP OP_HASH160 e69c2e1ef48070ca5c5d07c63ef3b31261cf717b OP_EQUALVERIFY OP_CHECKSIG*276a914e69c2e1ef48070ca5c5d07c63ef3b31261cf717b88ac*"1N2MWi7DHaiGRyADcC5ze4JXKRa3kNvm7o8$J  +@cfd147de25a5140b0ae5d0973e6491f5a01f052f468eca4a69fb5e9290d765a7""1HKSWSjoyjvvTPixVHRYaMKnv9WvEsi7nr"UOP_DUP OP_HASH160 b2fecae5b335b7ac041e94b8f0ec8cb9df8ca509 OP_EQUALVERIFY OP_CHECKSIG*276a914b2fecae5b335b7ac041e94b8f0ec8cb9df8ca50988ac*"1HKSWSjoyjvvTPixVHRYaMKnv9WvEsi7nr8$J  + +1@06fa21292581916c09a61543e8fb19f77bbf47ee17c380bfe3b8c90ae4a4828b$"@0000000000000000001795f3fb46b936d2110863380dd7216e111a4411c0572e(-2 +@8561d977999ed550f62e9b41220490705c8cee30a130a6f6eaec8fb4f26ecd70B026e012e6ce87f9a08894cc5dca24952af7dc465afb9c1c58dfd47fe9ea4b1773b2 +@186645278f64a3bb58c0638c88bc7d51da84315f001a79f613ed4d74dfff8644B03c98e785f9762d1431f2e1644698999115c4d3ad65dbb906cf9a59606940cc5fb2 +@0f35a416d50430aa435afb74877fe6ffd6dabb14c72b4bab7861189558cfd1e4B03e3b7ad2c521905263d89fb5b42b8a8a66ee35b502984a92a1b9145937ab697ecB +*@06fa21292581916c09a61543e8fb19f77bbf47ee17c380bfe3b8c90ae4a4828b""1FFCUmpgkrjz96M6Ltd6stURYoPX9LqWfm"UOP_DUP OP_HASH160 9c412a9f3a20eb6492e2f533fcbb7c34e87f40f4 OP_EQUALVERIFY OP_CHECKSIG*276a9149c412a9f3a20eb6492e2f533fcbb7c34e87f40f488ac*"1FFCUmpgkrjz96M6Ltd6stURYoPX9LqWfm8$J  +[@06fa21292581916c09a61543e8fb19f77bbf47ee17c380bfe3b8c90ae4a4828b""1JM1qj9SEgJUAMawXedaDJgxHQHe7THhvG"UOP_DUP OP_HASH160 be4328aa8bf39064f47fcb5b40465eb2ef73321a OP_EQUALVERIFY OP_CHECKSIG*276a914be4328aa8bf39064f47fcb5b40465eb2ef73321a88ac*"1JM1qj9SEgJUAMawXedaDJgxHQHe7THhvG8$J  +*@06fa21292581916c09a61543e8fb19f77bbf47ee17c380bfe3b8c90ae4a4828b""1EPrXeZthx6UmffYzFXZZMcxPitN9DcBCy"UOP_DUP OP_HASH160 92ec216dd2f1aa8ef2fbefb3ab4f3bc7e5bf6802 OP_EQUALVERIFY OP_CHECKSIG*276a91492ec216dd2f1aa8ef2fbefb3ab4f3bc7e5bf680288ac*"1EPrXeZthx6UmffYzFXZZMcxPitN9DcBCy8$J  + +1@0ac953f21fd386d847e042c099ea17bcb6eac6ec94ed91ce1630d4e08c2ffc57$"@0000000000000000001795f3fb46b936d2110863380dd7216e111a4411c0572e(-2 +@06fa21292581916c09a61543e8fb19f77bbf47ee17c380bfe3b8c90ae4a4828bB02caabd928f2c847e060dcc523c0dbad6ee037752883ead5f57e82e01e4119b6612 +@bc6052c62a7d1714dfb4b53383905e92f545893a342e7b0d48519e17663e30c1B03c45f30213eb1aa89ab73b055de33c052cf12d09bc9e09de0f5b0ba54e02843742 +@d857ae9270f7b29f86c7e236aa5a0c4578aebd8f5738afa847fe53970591eb00B03d7d821eafd3ccd5ea5165ff333812aa3ff677b509b182913dd88b8518213eaa3B +*@0ac953f21fd386d847e042c099ea17bcb6eac6ec94ed91ce1630d4e08c2ffc57""1GV7xTnAGL16zG27tgUjVoniRCZGXE6C5y"UOP_DUP OP_HASH160 a9db5728686ed4890d31b277e388ce52a424c94b OP_EQUALVERIFY OP_CHECKSIG*276a914a9db5728686ed4890d31b277e388ce52a424c94b88ac*"1GV7xTnAGL16zG27tgUjVoniRCZGXE6C5y8$J  +[@0ac953f21fd386d847e042c099ea17bcb6eac6ec94ed91ce1630d4e08c2ffc57""1NchmWDhcXk4Wc3PxwrDGRuJSBvK33H4NY"UOP_DUP OP_HASH160 ed1b3b1fe840ed653453adb66379c3aa21f2a86a OP_EQUALVERIFY OP_CHECKSIG*276a914ed1b3b1fe840ed653453adb66379c3aa21f2a86a88ac*"1NchmWDhcXk4Wc3PxwrDGRuJSBvK33H4NY8$J  +*@0ac953f21fd386d847e042c099ea17bcb6eac6ec94ed91ce1630d4e08c2ffc57""1NEqufZ3ABk3SGPS8gPrzxL7ywPrCXp2Sk"UOP_DUP OP_HASH160 e8f8e014a4f023b5d2831181058e2cb5c4fea857 OP_EQUALVERIFY OP_CHECKSIG*276a914e8f8e014a4f023b5d2831181058e2cb5c4fea85788ac*"1NEqufZ3ABk3SGPS8gPrzxL7ywPrCXp2Sk8$J  + +1@8c283b3aa2cbe8c95dc8bd2bc7200083eb2da834b55db01b390d6fb891d3a2e1$"@0000000000000000001795f3fb46b936d2110863380dd7216e111a4411c0572e(-2 +@0ac953f21fd386d847e042c099ea17bcb6eac6ec94ed91ce1630d4e08c2ffc57B024ebad404a48d159f9ba35221c9d4581b2dbff522b6d560c7921a291d1433e0202 +@60977326c8011bbae1dde625a0c8977c232ee126def7daed2a1ec721b5984ec9B02e21b0655c6c4b7e9e55b0023d3274b5204a1a69d028eae31aa0713cb227f0dbe2 +@38753a1b9c85c66fa0ed06624f9f6044d3bf822df08dccb13074879d31773d2aB03bf0357344402d28975609bb18c3fdaf7eaad9d630bfb97d51d3089d7b663ee5d2 +@bba3bcb4db3251c698d8e02274528957c6271b68715e93294f4e47485167ebfcB03629106012db4403a68f3f4a9df4526048a042df9fcbdf4dd7b20312fd95bf4552 +@0ac953f21fd386d847e042c099ea17bcb6eac6ec94ed91ce1630d4e08c2ffc57B0351b143f0beb6402b273fbae78162860f17503e7e9f0d57ac1597326e3bce46cdB +)@8c283b3aa2cbe8c95dc8bd2bc7200083eb2da834b55db01b390d6fb891d3a2e1""15QjQ32CDY7s3o7QKCjfk18EKzE4L6oM7Y"UOP_DUP OP_HASH160 305d762c84332bc333f8e010d7f11902b0a17adc OP_EQUALVERIFY OP_CHECKSIG*276a914305d762c84332bc333f8e010d7f11902b0a17adc88ac*"15QjQ32CDY7s3o7QKCjfk18EKzE4L6oM7Y8$J  +[@8c283b3aa2cbe8c95dc8bd2bc7200083eb2da834b55db01b390d6fb891d3a2e1""198t8oxAFHKsjkRxsvEddW1iQGMx2ziNfm"UOP_DUP OP_HASH160 593e9a61e2443c21197f755c59013c28986aa3f0 OP_EQUALVERIFY OP_CHECKSIG*276a914593e9a61e2443c21197f755c59013c28986aa3f088ac*"198t8oxAFHKsjkRxsvEddW1iQGMx2ziNfm8$J  +)@8c283b3aa2cbe8c95dc8bd2bc7200083eb2da834b55db01b390d6fb891d3a2e1""19R7sigGemyTFvefB77h51Vur6pBiXdULe"UOP_DUP OP_HASH160 5c50ba5526a51b35bbbf5ca68885371499bc5a22 OP_EQUALVERIFY OP_CHECKSIG*276a9145c50ba5526a51b35bbbf5ca68885371499bc5a2288ac*"19R7sigGemyTFvefB77h51Vur6pBiXdULe8$J   $ؤ-@00000000000000000005b0829e2e37df67d0999e0e17a846ebfda1b771b8cf75"@0000000000000000001795f3fb46b936d2110863380dd7216e111a4411c0572e2 + + + +1@f8ab8abba3a55a14e695f81f4d62a69bd3a1ee84d6f89fa02681704083119e6a$"@00000000000000000005b0829e2e37df67d0999e0e17a846ebfda1b771b8cf75(ؤ-2 +@8c283b3aa2cbe8c95dc8bd2bc7200083eb2da834b55db01b390d6fb891d3a2e1B02dea2370eac10a88d4812be1e539ecd8e1f83c827c8c55ee63d16dfb97f0abc9b2 +@8561d977999ed550f62e9b41220490705c8cee30a130a6f6eaec8fb4f26ecd70B037bf1583d5ac2af525a45553a546ed8976fcae819144d2433561669389a032c41B +)@f8ab8abba3a55a14e695f81f4d62a69bd3a1ee84d6f89fa02681704083119e6a""1JsGgPdg3SjaAyQatbX9u9pt7ZLG5WwJEt"UOP_DUP OP_HASH160 c3fc0652de136fc18ddf6456ca9a88dea47c9aaf OP_EQUALVERIFY OP_CHECKSIG*276a914c3fc0652de136fc18ddf6456ca9a88dea47c9aaf88ac*"1JsGgPdg3SjaAyQatbX9u9pt7ZLG5WwJEt8$J  +[@f8ab8abba3a55a14e695f81f4d62a69bd3a1ee84d6f89fa02681704083119e6a""1KoNghDAe7MgieJg77DWs7tAQjXPbbuEgH"UOP_DUP OP_HASH160 ce377fe262616320a5c436518e9508bb5c300363 OP_EQUALVERIFY OP_CHECKSIG*276a914ce377fe262616320a5c436518e9508bb5c30036388ac*"1KoNghDAe7MgieJg77DWs7tAQjXPbbuEgH8$J  + @f8ab8abba3a55a14e695f81f4d62a69bd3a1ee84d6f89fa02681704083119e6a"!1zfUejB3x3nivoET1bpiqiCNTyPakM63S"UOP_DUP OP_HASH160 0ae7d41ddab4cd52fb0c503d0249b3cb25c9acd3 OP_EQUALVERIFY OP_CHECKSIG*276a9140ae7d41ddab4cd52fb0c503d0249b3cb25c9acd388ac*!1zfUejB3x3nivoET1bpiqiCNTyPakM63S8$J  $ߓ-@00000000000000000012ec83c72fcee91495ceb0c87d093e5a35706d3606022c"@00000000000000000005b0829e2e37df67d0999e0e17a846ebfda1b771b8cf752$-@000000000000000000061c43e67cc48f3c16c86942c3c2e4d0efb957a592653b"@00000000000000000012ec83c72fcee91495ceb0c87d093e5a35706d3606022c2$-@0000000000000000000c095d64a5c817939aecb4991ce7042558180435792d94"@000000000000000000061c43e67cc48f3c16c86942c3c2e4d0efb957a592653b2 $ظ-@0000000000000000000ca2175b149dfa85bf039a7e408b1167515a09a71dd822"@0000000000000000000c095d64a5c817939aecb4991ce7042558180435792d942 + + + +1@77e5d1512efef50c686e57b768b93be7883897c902883e0973fb1548d3133cd3$"@0000000000000000000ca2175b149dfa85bf039a7e408b1167515a09a71dd822(ظ-2 +@a0778641c2e6cea4bbf818b2e5762e31af5fba767b5aa71c6f82e7f4ee70f553B032877fa0b50e8833d030457591863eb151ce08a5f397a6923754ae7be24a854722 +@a0778641c2e6cea4bbf818b2e5762e31af5fba767b5aa71c6f82e7f4ee70f553B025246623d19eeb7cadf77a2a69a796f146f54c1f42dc87bb7c357d7c73d1079bcB +@77e5d1512efef50c686e57b768b93be7883897c902883e0973fb1548d3133cd3""1JxVVFwzVr2zRohsUrhZ9h9ssPsbHtBCLg"UOP_DUP OP_HASH160 c4f8cbcfed39f231d27f7cddae744c41759728b8 OP_EQUALVERIFY OP_CHECKSIG*276a914c4f8cbcfed39f231d27f7cddae744c41759728b888ac*"1JxVVFwzVr2zRohsUrhZ9h9ssPsbHtBCLg8$J  +d@77e5d1512efef50c686e57b768b93be7883897c902883e0973fb1548d3133cd3""1HQUsFrpok9JKM955nBYjURT7qhEkqAZPp"UOP_DUP OP_HASH160 b3f2d76821ef4aec269f5fb92d806ab32d52094b OP_EQUALVERIFY OP_CHECKSIG*276a914b3f2d76821ef4aec269f5fb92d806ab32d52094b88ac*"1HQUsFrpok9JKM955nBYjURT7qhEkqAZPp8$J  +@77e5d1512efef50c686e57b768b93be7883897c902883e0973fb1548d3133cd3""1LUpQf1ZebJ3R19sCmWwfor8Yev3gQa82B"UOP_DUP OP_HASH160 d5ad31e7a5979e365a0fd2bb852b99f448663eca OP_EQUALVERIFY OP_CHECKSIG*276a914d5ad31e7a5979e365a0fd2bb852b99f448663eca88ac*"1LUpQf1ZebJ3R19sCmWwfor8Yev3gQa82B8$J $-@0000000000000000000c8eae862aa59ae7d0a88bc3490da8d5baf99d22a5f1cb"@0000000000000000000ca2175b149dfa85bf039a7e408b1167515a09a71dd8222$-@000000000000000000038a92432ce19096b0c8a4f24e2e8eeff26dff824629d3"@0000000000000000000c8eae862aa59ae7d0a88bc3490da8d5baf99d22a5f1cb2$-@0000000000000000000898a5d1a227ab85be9e914805c4b73f4718293a114ffb"@000000000000000000038a92432ce19096b0c8a4f24e2e8eeff26dff824629d32 + + +1@f09e5c788e9b76757f1040aa85d007fe6e06392a90d60ad95ac7a9ab90708197$"@0000000000000000000898a5d1a227ab85be9e914805c4b73f4718293a114ffb(-2 +@77e5d1512efef50c686e57b768b93be7883897c902883e0973fb1548d3133cd3B0355e1fb77b429489b5686dba1b7d6495e71f09850d1dca230d765c7062f72bafd2 +@77e5d1512efef50c686e57b768b93be7883897c902883e0973fb1548d3133cd3B032cee689f6f90b33f1e69038dbbaa8ddd00306b498bfca721e4ad627181af24f5B +@f09e5c788e9b76757f1040aa85d007fe6e06392a90d60ad95ac7a9ab90708197""1QJwryiTgQT3N9RkEperddqpqShx39jB5w"UOP_DUP OP_HASH160 ffafc2b728705d58064afe3cb546a39905c86f28 OP_EQUALVERIFY OP_CHECKSIG*276a914ffafc2b728705d58064afe3cb546a39905c86f2888ac*"1QJwryiTgQT3N9RkEperddqpqShx39jB5w8$J  +d@f09e5c788e9b76757f1040aa85d007fe6e06392a90d60ad95ac7a9ab90708197""1Kyw2jJgQAFPu8EfxYKk32wHzJThyaPZ7y"UOP_DUP OP_HASH160 d036a8e7e1848fcb92069fca0e64f7b9653c02a5 OP_EQUALVERIFY OP_CHECKSIG*276a914d036a8e7e1848fcb92069fca0e64f7b9653c02a588ac*"1Kyw2jJgQAFPu8EfxYKk32wHzJThyaPZ7y8$J  +ͯj@f09e5c788e9b76757f1040aa85d007fe6e06392a90d60ad95ac7a9ab90708197""15BNywT7GPy2jfXujPitjSJvYA5tPjuR4n"UOP_DUP OP_HASH160 2dd7031c95820c02326979d6c680a1e5748f8e41 OP_EQUALVERIFY OP_CHECKSIG*276a9142dd7031c95820c02326979d6c680a1e5748f8e4188ac*"15BNywT7GPy2jfXujPitjSJvYA5tPjuR4n8$J  + + +1@02cc3d798f774f23c6bc761bb75fdbdc1a13a524aca6543c9d8b7e690fff4cbe$"@0000000000000000000898a5d1a227ab85be9e914805c4b73f4718293a114ffb(-2 +@f8ab8abba3a55a14e695f81f4d62a69bd3a1ee84d6f89fa02681704083119e6aB026ba8abca6e488f4521e1e44577adcf77a489918b821859f364f43dfc71536c622 +@f8ab8abba3a55a14e695f81f4d62a69bd3a1ee84d6f89fa02681704083119e6aB02bd30482a826cadda78c414a33d3f1e3414ba287ad4a71e87754eaf36fae12376B +)@02cc3d798f774f23c6bc761bb75fdbdc1a13a524aca6543c9d8b7e690fff4cbe""15urmdkJnvvEKAvyeQNR5xqQs6hnbxT5CQ"UOP_DUP OP_HASH160 35dfadbd69228489696ca7f12835a7fae96cbe81 OP_EQUALVERIFY OP_CHECKSIG*276a91435dfadbd69228489696ca7f12835a7fae96cbe8188ac*"15urmdkJnvvEKAvyeQNR5xqQs6hnbxT5CQ8$J  +=@02cc3d798f774f23c6bc761bb75fdbdc1a13a524aca6543c9d8b7e690fff4cbe""18DvkX3WBq1StSGVMTgCAq4AytfWjWbNoX"UOP_DUP OP_HASH160 4f3abd93311f6f43a1e9ed94fa8ae07f8ec27eda OP_EQUALVERIFY OP_CHECKSIG*276a9144f3abd93311f6f43a1e9ed94fa8ae07f8ec27eda88ac*"18DvkX3WBq1StSGVMTgCAq4AytfWjWbNoX8$J  + +@02cc3d798f774f23c6bc761bb75fdbdc1a13a524aca6543c9d8b7e690fff4cbe""1A4bdpuJHfMVSyRCZzcRzurfFK4bWooNv8"UOP_DUP OP_HASH160 63674aae4f0cf22ac2f4e5eebd22e335f99458c8 OP_EQUALVERIFY OP_CHECKSIG*276a91463674aae4f0cf22ac2f4e5eebd22e335f99458c888ac*"1A4bdpuJHfMVSyRCZzcRzurfFK4bWooNv88$J $-@00000000000000000008978585fad59a8395b0d5ca6e18b99f728cf7b6c7b5a7"@0000000000000000000898a5d1a227ab85be9e914805c4b73f4718293a114ffb2 + +1@fc947b67d25023971d91cdf6ea7cddd1035d80e7ceb6e79d2bea7a14c5030e3d$"@00000000000000000008978585fad59a8395b0d5ca6e18b99f728cf7b6c7b5a7(-2 +@f09e5c788e9b76757f1040aa85d007fe6e06392a90d60ad95ac7a9ab90708197B02c11e25d91048d6380b3535916a0aab50a50c20c3b39ea0e0aaa655f0b06631372 +@c7b3d55bac0c5a4baeb82176d02c9cc794e35538fbc5dc37b03d88c16ef4b6eeB02b0bd93f53ad0ab738c726fd8bcd112e74fc8afea6d54389420629842c6d784902 +@da0610f7e9f394c2e36e08c7e1d337c6e9fa8d410703603d3f650930cab80ffaB0284e71b107e321e9d0456e674e290df13a4cab72f3723ae078388a1be512d60722 +@f09e5c788e9b76757f1040aa85d007fe6e06392a90d60ad95ac7a9ab90708197B02a443bee1c0fc3df370b3c27124061eed2d32e693913e6c7c01a715521811b993B +@fc947b67d25023971d91cdf6ea7cddd1035d80e7ceb6e79d2bea7a14c5030e3d"!19TR29FxjRabezFajbnjhDcdXuhtPhH6y"UOP_DUP OP_HASH160 01996089bfca419803606cd8c400fcf72017f73c OP_EQUALVERIFY OP_CHECKSIG*276a91401996089bfca419803606cd8c400fcf72017f73c88ac*!19TR29FxjRabezFajbnjhDcdXuhtPhH6y8$J  +d@fc947b67d25023971d91cdf6ea7cddd1035d80e7ceb6e79d2bea7a14c5030e3d""1DDABVVrPkDWWJV81vvvyVpms8yaNDYLKC"UOP_DUP OP_HASH160 85ee2a2df4a890419fd284d2f53ff7bd77e4e06a OP_EQUALVERIFY OP_CHECKSIG*276a91485ee2a2df4a890419fd284d2f53ff7bd77e4e06a88ac*"1DDABVVrPkDWWJV81vvvyVpms8yaNDYLKC8$J  +@fc947b67d25023971d91cdf6ea7cddd1035d80e7ceb6e79d2bea7a14c5030e3d""1QD3AfVEXzxw86wACsDKi8SpfubRThTG4W"UOP_DUP OP_HASH160 fe91b173533312ef95ff2507e2a4378485c356a2 OP_EQUALVERIFY OP_CHECKSIG*276a914fe91b173533312ef95ff2507e2a4378485c356a288ac*"1QD3AfVEXzxw86wACsDKi8SpfubRThTG4W8$J  + + +1@0e320c84dcaefd743d7900dc4f543cd92187b70bdd0f1598f832c90ef0767915$"@00000000000000000008978585fad59a8395b0d5ca6e18b99f728cf7b6c7b5a7(-2 +@5d47e53db3f77d747c16b4ec276139e338abfde3346c940898c0101b03e57132B02ba39d4e307fe0b2c7b30d7c7d3654372cb5a19c33f1e5f67e67e9351606092282 +@96e5c0dcfe92d88e99dc23d7d7ee995a06244ef2a1f745f7420112d8be7f8819B02626cfd12a9dd2b54a7dc86044aa1cb6c62ee5b9646a03dc1dd64141e6b205c75B +%@0e320c84dcaefd743d7900dc4f543cd92187b70bdd0f1598f832c90ef0767915""1MoeUv4ApbLpwL2qUWkQLu84KuEkeZKzJf"UOP_DUP OP_HASH160 e434f00e8aa96958bbc790cc16415518761bcb17 OP_EQUALVERIFY OP_CHECKSIG*276a914e434f00e8aa96958bbc790cc16415518761bcb1788ac*"1MoeUv4ApbLpwL2qUWkQLu84KuEkeZKzJf8$J  +=@0e320c84dcaefd743d7900dc4f543cd92187b70bdd0f1598f832c90ef0767915""12FuEi8GCjHFRP6EYTZyzZQAMA4cqubt8e"UOP_DUP OP_HASH160 0dc98dd0e58d8a5ebdf016152da8b00c745404a8 OP_EQUALVERIFY OP_CHECKSIG*276a9140dc98dd0e58d8a5ebdf016152da8b00c745404a888ac*"12FuEi8GCjHFRP6EYTZyzZQAMA4cqubt8e8$J  +ʒ@0e320c84dcaefd743d7900dc4f543cd92187b70bdd0f1598f832c90ef0767915""1Jz2NX8qAt5TatTQuNkMVFFKPXJ2iM98X6"UOP_DUP OP_HASH160 c542fe1c78fa9ab7b59012cedd6d79f4accc0691 OP_EQUALVERIFY OP_CHECKSIG*276a914c542fe1c78fa9ab7b59012cedd6d79f4accc069188ac*"1Jz2NX8qAt5TatTQuNkMVFFKPXJ2iM98X68$J $-@00000000000000000005502925a02c3658a3c5c47132890f67f0bafe34889b2f"@00000000000000000008978585fad59a8395b0d5ca6e18b99f728cf7b6c7b5a72$-@0000000000000000000d725f2c4c51e13808b5fb78d39a43fbef8c32dfd26ecd"@00000000000000000005502925a02c3658a3c5c47132890f67f0bafe34889b2f2$-@000000000000000000162398644b199c748341f3404e4c03b6179a7d6d92ca76"@0000000000000000000d725f2c4c51e13808b5fb78d39a43fbef8c32dfd26ecd2$-@000000000000000000143568dd384d81b4aada5133b21289cec25d425521fdaa"@000000000000000000162398644b199c748341f3404e4c03b6179a7d6d92ca762 + + +1@fa9cd2204d9e91dfdf770bb080567d521f9714153545c20d96380db6a0fefa8c$"@000000000000000000143568dd384d81b4aada5133b21289cec25d425521fdaa(-2 +@88898c32f42337b0bd40f9986a9111012dfee1f0434374275a0c4ad7f5316f4dB027709b699d26932172eec42e8f79501fff694297ef325b5c7e612bb104215aaf12 +@bef16c17f394a0e3b3a397ead2c023304500181d526aae933368230ca951436dB02fa3d328e9f75cd8e1c7052a3eb6f1e9f75c9dbca047c2948bc4c4bdcfbf521b5B +@fa9cd2204d9e91dfdf770bb080567d521f9714153545c20d96380db6a0fefa8c""18ht1gLfFnn66p3sTiXW4mhhW7ikT7XeNv"UOP_DUP OP_HASH160 548419f3c3f0a590918f34805d3fbb084b5b753d OP_EQUALVERIFY OP_CHECKSIG*276a914548419f3c3f0a590918f34805d3fbb084b5b753d88ac*"18ht1gLfFnn66p3sTiXW4mhhW7ikT7XeNv8$J  +@fa9cd2204d9e91dfdf770bb080567d521f9714153545c20d96380db6a0fefa8c""14H84acrcMNfhJYLvjQnFr9oF6uruw6awK"UOP_DUP OP_HASH160 23f4ed74e658b5da1314e33d1d0ebe9047de5100 OP_EQUALVERIFY OP_CHECKSIG*276a91423f4ed74e658b5da1314e33d1d0ebe9047de510088ac*"14H84acrcMNfhJYLvjQnFr9oF6uruw6awK8$J  + @fa9cd2204d9e91dfdf770bb080567d521f9714153545c20d96380db6a0fefa8c""17iULxU8hDX5JYwxPFresCQUCjnL4RfMj6"UOP_DUP OP_HASH160 49a8a28393f0dcb5af2dd9453419ab9317df8666 OP_EQUALVERIFY OP_CHECKSIG*276a91449a8a28393f0dcb5af2dd9453419ab9317df866688ac*"17iULxU8hDX5JYwxPFresCQUCjnL4RfMj68$J ; + +1@d1a7f38dc062c0abdd671666c7cfbe094edbb461bd0d0a31599af27aa58e55b3$"@000000000000000000143568dd384d81b4aada5133b21289cec25d425521fdaa(-2 +@bef16c17f394a0e3b3a397ead2c023304500181d526aae933368230ca951436dB028e8cdcd36d1b8d485a3dc1629eb4f2956ab5b683bb8af9840e3b692b4353d6422 +@44395bdd47b3a79c079e94bfa9f3a0c5765ab0c9ada51a1433ad6e9a82d6a456B02fb4e543e28ed4dc8f1b4d657504cba311b260bc5ffab3616a4b8fc838e36d73e2 +@e73cc27280cc3e94e1c0475855e9d66f60ad90525bbda49f0c98b09d7c2a487cB024b541c897ffea239c1b88b7002217b7eb3041911828a85b5293a2afd4bffaa20B +@d1a7f38dc062c0abdd671666c7cfbe094edbb461bd0d0a31599af27aa58e55b3""15w8zhU2funcvEpj8kYahBGLmiY9bSDxFM"UOP_DUP OP_HASH160 361da38760f09e272b58124909162eac98cc502d OP_EQUALVERIFY OP_CHECKSIG*276a914361da38760f09e272b58124909162eac98cc502d88ac*"15w8zhU2funcvEpj8kYahBGLmiY9bSDxFM8$J  +@d1a7f38dc062c0abdd671666c7cfbe094edbb461bd0d0a31599af27aa58e55b3""1LnASoSzbKFDEBJXnC3GNmnHgcY9GVTSXc"UOP_DUP OP_HASH160 d8f4fe094a76219171e4e827f8cc22cc679073f0 OP_EQUALVERIFY OP_CHECKSIG*276a914d8f4fe094a76219171e4e827f8cc22cc679073f088ac*"1LnASoSzbKFDEBJXnC3GNmnHgcY9GVTSXc8$J  + +@d1a7f38dc062c0abdd671666c7cfbe094edbb461bd0d0a31599af27aa58e55b3""13jijNrW8Y14eF2e1d4sad2YKmoeQHK2An"UOP_DUP OP_HASH160 1e048e93be002ed75e4b505a1163a7c375490d4b OP_EQUALVERIFY OP_CHECKSIG*276a9141e048e93be002ed75e4b505a1163a7c375490d4b88ac*"13jijNrW8Y14eF2e1d4sad2YKmoeQHK2An8$J ;$-@00000000000000000006c441aab5dec880093c2fd79a04f2e0c0f8b040409958"@000000000000000000143568dd384d81b4aada5133b21289cec25d425521fdaa2 $-@000000000000000000158f34484888d7b4a35cbb0175d9f25423446ca6c5c947"@00000000000000000006c441aab5dec880093c2fd79a04f2e0c0f8b0404099582 + + + +1@5df15eec40a380885c2bb35e105096824e6d185b91ecaf4a04df72090a5c6c34$"@000000000000000000158f34484888d7b4a35cbb0175d9f25423446ca6c5c947(-2 +@c34e402fe96985bb16c91af5b3342eb25d27d3fd88ca1c225bf28344865ef493B023bde64c10473be235934565486e6e2dc2a9aabcaedaab44b4b374d682c5c381f2 +@2393f370ee0bd47f58766a350793d51bb3f9cf63ed4867ae41254d306f0f4adaB02da5ef9f2b4bfcd20aed671bf70c7b8248b7d8340e14dd852e7bf2c0c48baeeb5B +@5df15eec40a380885c2bb35e105096824e6d185b91ecaf4a04df72090a5c6c34""1KBaLKtbN5fEpzzQ5DE3FJt7ShXCzUoGGx"UOP_DUP OP_HASH160 c7723fb6aceffeb37d7a40e913ad5e11ed41638b OP_EQUALVERIFY OP_CHECKSIG*276a914c7723fb6aceffeb37d7a40e913ad5e11ed41638b88ac*"1KBaLKtbN5fEpzzQ5DE3FJt7ShXCzUoGGx8$J  + @5df15eec40a380885c2bb35e105096824e6d185b91ecaf4a04df72090a5c6c34""1KYBtRYj9iqAWNQukZ14TYaoVj6Em4L3D2"UOP_DUP OP_HASH160 cb583f218b6a35b745037dbd1e464325bae17a07 OP_EQUALVERIFY OP_CHECKSIG*276a914cb583f218b6a35b745037dbd1e464325bae17a0788ac*"1KYBtRYj9iqAWNQukZ14TYaoVj6Em4L3D28$J  +_@5df15eec40a380885c2bb35e105096824e6d185b91ecaf4a04df72090a5c6c34""1FMnUoGiqp4BkJAPejjjVqCZ8F6KLszuHP"UOP_DUP OP_HASH160 9d800b5d586a3b8a14b5b7ccba2df0db253d6554 OP_EQUALVERIFY OP_CHECKSIG*276a9149d800b5d586a3b8a14b5b7ccba2df0db253d655488ac*"1FMnUoGiqp4BkJAPejjjVqCZ8F6KLszuHP8$J $-@0000000000000000000eff67a22b50930aca7004d77d93059a9d99057a26002d"@000000000000000000158f34484888d7b4a35cbb0175d9f25423446ca6c5c9472$-@00000000000000000004097f84e748c968e2343eb84ae973c3f158656bfe980c"@0000000000000000000eff67a22b50930aca7004d77d93059a9d99057a26002d2$-@0000000000000000001684480c2bddead00670f7c759d74f55651d3b2e2e9b61"@00000000000000000004097f84e748c968e2343eb84ae973c3f158656bfe980c2$ך-@0000000000000000000444135a33aad26040e8717c2b4f8fc698e2cfe5d35281"@0000000000000000001684480c2bddead00670f7c759d74f55651d3b2e2e9b612$-@000000000000000000137c34ffcc84a986f1cd18e1b2e00f6188a35f38b039d8"@0000000000000000000444135a33aad26040e8717c2b4f8fc698e2cfe5d352812$-@0000000000000000000267d5775d8339c03624ba736e0f850e77127b707a01e9"@000000000000000000137c34ffcc84a986f1cd18e1b2e00f6188a35f38b039d82$Ƚ-@0000000000000000000849020736fe7457e032fcaa2be2e276f8d1b0402d046f"@0000000000000000000267d5775d8339c03624ba736e0f850e77127b707a01e92$Ǿ-@00000000000000000005db30998093a938d47c8105aff011752e9d815f9ed0c3"@0000000000000000000849020736fe7457e032fcaa2be2e276f8d1b0402d046f2$-@00000000000000000006e5f8ade3a1ff23a88073be827ec95d9f5ed9af7233e7"@00000000000000000005db30998093a938d47c8105aff011752e9d815f9ed0c32$-@00000000000000000010f24d16ad682e04c8ce543385293b17f075ba9cf72802"@00000000000000000006e5f8ade3a1ff23a88073be827ec95d9f5ed9af7233e72$-@00000000000000000005079ecc8d6520ebe4bd7422c7b203fd27e5b7754bf702"@00000000000000000010f24d16ad682e04c8ce543385293b17f075ba9cf728022$-@00000000000000000010b6ff3ef40c842d2061c8017c4cc467bc340f12995541"@00000000000000000005079ecc8d6520ebe4bd7422c7b203fd27e5b7754bf7022$-@000000000000000000060ab300a1c64c7b7af9cf1924b003bba132638ff7760e"@00000000000000000010b6ff3ef40c842d2061c8017c4cc467bc340f129955412$-@00000000000000000013d85c1863e65939c59f2dc23d9256729bfb18b77196b6"@000000000000000000060ab300a1c64c7b7af9cf1924b003bba132638ff7760e2$-@00000000000000000015883059f087b2ecdd5610b868645cb9d5a03bf83d3234"@00000000000000000013d85c1863e65939c59f2dc23d9256729bfb18b77196b62 $-@000000000000000000139e9a337b717dd2ba8200b30d87c5dbd23bd004d34d30"@00000000000000000015883059f087b2ecdd5610b868645cb9d5a03bf83d32342 + +1@d5886e2ae2bfacb5ab112e29bfd0075aac2f93ac5c1e1de1a3a5d5aff0de650d$"@000000000000000000139e9a337b717dd2ba8200b30d87c5dbd23bd004d34d30(-2 +@074022eb301b24e67d0cc7fb6394c47f4e0f47a75e1239bf773f775bede69376B03673ccff678e6c6f046d29c4062465d77864449afe3c583c5ea33d47b96da49982 +@074022eb301b24e67d0cc7fb6394c47f4e0f47a75e1239bf773f775bede69376B02c37465a58ed5bc63c7f04dde1cac62cb0f6ffe47d037f9b421eefcd1d461bd8cB +@d5886e2ae2bfacb5ab112e29bfd0075aac2f93ac5c1e1de1a3a5d5aff0de650d""13JNgdrxah2juxudQ8qyXWUoZ8YGZ2oATa"UOP_DUP OP_HASH160 19396c5c65dab74cb4025e9fb724d2df4eb83a25 OP_EQUALVERIFY OP_CHECKSIG*276a91419396c5c65dab74cb4025e9fb724d2df4eb83a2588ac*"13JNgdrxah2juxudQ8qyXWUoZ8YGZ2oATa8$J  + +@d5886e2ae2bfacb5ab112e29bfd0075aac2f93ac5c1e1de1a3a5d5aff0de650d""13JNgdrxah2juxudQ8qyXWUoZ8YGZ2oATa"UOP_DUP OP_HASH160 19396c5c65dab74cb4025e9fb724d2df4eb83a25 OP_EQUALVERIFY OP_CHECKSIG*276a91419396c5c65dab74cb4025e9fb724d2df4eb83a2588ac*"13JNgdrxah2juxudQ8qyXWUoZ8YGZ2oATa8$J  +@d5886e2ae2bfacb5ab112e29bfd0075aac2f93ac5c1e1de1a3a5d5aff0de650d""12gDA1h8Wo9KBKryHqNS87dfHUpb6kd9p7"UOP_DUP OP_HASH160 12627ebe5cbec30f878a68a02f764746aa13986e OP_EQUALVERIFY OP_CHECKSIG*276a91412627ebe5cbec30f878a68a02f764746aa13986e88ac*"12gDA1h8Wo9KBKryHqNS87dfHUpb6kd9p78$J  +@d5886e2ae2bfacb5ab112e29bfd0075aac2f93ac5c1e1de1a3a5d5aff0de650d"l"6OP_RETURN 13018d92ac7febc2e5e1080df9cde540f60d5b051687*06a1613018d92ac7febc2e5e1080df9cde540f60d5b0516872 @ [8$J   +$-@00000000000000000011a499d3cf648a54361db8a2fa2ec14501edc307148b31"@000000000000000000139e9a337b717dd2ba8200b30d87c5dbd23bd004d34d302$-@00000000000000000018bacd993419741fb2379e574d10495ef600668ee45be6"@00000000000000000011a499d3cf648a54361db8a2fa2ec14501edc307148b312$-@00000000000000000010b2626d0e4f66edc62c7f8c25a2b75619d8b11c5caf4d"@00000000000000000018bacd993419741fb2379e574d10495ef600668ee45be62¢$-@000000000000000000098510a429b3be58c0e7da996d2bffb8b9845b8c6c4312"@00000000000000000010b2626d0e4f66edc62c7f8c25a2b75619d8b11c5caf4d2â$Ҁ-@0000000000000000000a434bdc6aa025648ab800ca9567d0aaa8b9bbe8252b88"@000000000000000000098510a429b3be58c0e7da996d2bffb8b9845b8c6c43122 + + +1@ec57d51c0bafdeef4031f91350ec8ee0007091f87864d96f22c370af64858123â$"@0000000000000000000a434bdc6aa025648ab800ca9567d0aaa8b9bbe8252b88(Ҁ-2 +@21c8125b7d67a28221242181ac7ce5c989c197677fb4e2cf1451fe6921b717e5B034adae36f39df607a5714626ca6c5450d3ca6a625f940a1118f9beb2c91bc0c182 +@6ca5f88b3fef90dceb5cd6d4f332d76f8c86ea607b06fec32aa48ea27744e812B02b8fce938d4351b62816c2cb7b8a21f42ff5ee633cb5ed151cd19f45c761c5c70B +@ec57d51c0bafdeef4031f91350ec8ee0007091f87864d96f22c370af64858123""1EPJtmDBxgnheDpau2Tw34GLy2FDYHV6Hy"UOP_DUP OP_HASH160 92d1b8e31fcfbf309145a33318fc1bbcadf31686 OP_EQUALVERIFY OP_CHECKSIG*276a91492d1b8e31fcfbf309145a33318fc1bbcadf3168688ac*"1EPJtmDBxgnheDpau2Tw34GLy2FDYHV6Hy8â$J  + @ec57d51c0bafdeef4031f91350ec8ee0007091f87864d96f22c370af64858123""1B4J3a1jiwEjWhUSKTV2hp1YsbaVDjp1fd"UOP_DUP OP_HASH160 6e50bbcc3ce257122439fb76059845e4ab0942ea OP_EQUALVERIFY OP_CHECKSIG*276a9146e50bbcc3ce257122439fb76059845e4ab0942ea88ac*"1B4J3a1jiwEjWhUSKTV2hp1YsbaVDjp1fd8â$J  +ˇQ@ec57d51c0bafdeef4031f91350ec8ee0007091f87864d96f22c370af64858123""1Q2cWhCE9FLERpQbPMHZEDbdcUf9zNS5Vi"UOP_DUP OP_HASH160 fc98f3ef4c024f6260b1f2c449264631b6aaef30 OP_EQUALVERIFY OP_CHECKSIG*276a914fc98f3ef4c024f6260b1f2c449264631b6aaef3088ac*"1Q2cWhCE9FLERpQbPMHZEDbdcUf9zNS5Vi8â$J  + +1@8fb346105318a90b5f4254be73dce0464765fb9309945ad020ce157369136eb0â$"@0000000000000000000a434bdc6aa025648ab800ca9567d0aaa8b9bbe8252b88(Ҁ-2 +@1f6d743f27d411db665cddd1b3782c37ce5c4b7b447600261fe3241ce8451be1B029fc2b0b2b02d657c4b861a76745a36dadf4e2ae52d37d41dc5ea6de4530645382 +@b073b895387e058f778e954f0ba57a9985efed06a28e03c8a6c094a86627f456B02f1efe472772fc008c258ede1159b4bd28aaf63a4289b313c51f16192b6918baf2 +@835ad10613479b0ffd0c253799f6518078ada8cd9c053a576b5851a353bde053B03b1fd2428c20af4f2d3300d338576372cbf5c75b9608ef75a92dd36a9412d09c52 +@1f6d743f27d411db665cddd1b3782c37ce5c4b7b447600261fe3241ce8451be1B03da2ee6fd198a2bf0f69db15b8b57bb503fa6c69944d869f3909a6066b27aa080B +L@8fb346105318a90b5f4254be73dce0464765fb9309945ad020ce157369136eb0""1NjWeEiDnYpCHA8ox4zX6sbTT5T8PQvRUZ"UOP_DUP OP_HASH160 ee64db12ccd72effaa634eb2086b848ce3a8786c OP_EQUALVERIFY OP_CHECKSIG*276a914ee64db12ccd72effaa634eb2086b848ce3a8786c88ac*"1NjWeEiDnYpCHA8ox4zX6sbTT5T8PQvRUZ8â$J  + @8fb346105318a90b5f4254be73dce0464765fb9309945ad020ce157369136eb0""16tpgYm8u6rWw2EnE2GhUSTDgXihs3222o"UOP_DUP OP_HASH160 40a5a551bc20d32bf122ab6b8dad29340423be3e OP_EQUALVERIFY OP_CHECKSIG*276a91440a5a551bc20d32bf122ab6b8dad29340423be3e88ac*"16tpgYm8u6rWw2EnE2GhUSTDgXihs3222o8â$J  +@8fb346105318a90b5f4254be73dce0464765fb9309945ad020ce157369136eb0""1AYdgKAMv1ymC3M8c7c6Y7Fcu7zjKWP5Ms"UOP_DUP OP_HASH160 68b4a4daec728c57cf3a01dd00b71b7192690693 OP_EQUALVERIFY OP_CHECKSIG*276a91468b4a4daec728c57cf3a01dd00b71b719269069388ac*"1AYdgKAMv1ymC3M8c7c6Y7Fcu7zjKWP5Ms8â$J  Ģ$ݞ-@00000000000000000013341fbb6aa6f0b83f80e96ebf4361834dec97fe842bad"@0000000000000000000a434bdc6aa025648ab800ca9567d0aaa8b9bbe8252b882Ţ$-@00000000000000000001d3d5123de072f10cd0cc853147a6fed6f8ab20a8157a"@00000000000000000013341fbb6aa6f0b83f80e96ebf4361834dec97fe842bad2Ƣ$-@00000000000000000012b00a08bfe9655d1dc4315e9d6da0a97443a8fff2e1bc"@00000000000000000001d3d5123de072f10cd0cc853147a6fed6f8ab20a8157a2Ǣ$-@00000000000000000015943fee355a01c740d106509aef076fc556f44de90b0a"@00000000000000000012b00a08bfe9655d1dc4315e9d6da0a97443a8fff2e1bc2Ȣ$-@0000000000000000000fe03dc34486f74b05bfa7803d5a3ea6d3c363cda37e60"@00000000000000000015943fee355a01c740d106509aef076fc556f44de90b0a2 + + +1@e421ba5d0c98b114d1a43013d5806360e65970df5ee35054043bba6f4111e411Ȣ$"@0000000000000000000fe03dc34486f74b05bfa7803d5a3ea6d3c363cda37e60(-2 +@5df15eec40a380885c2bb35e105096824e6d185b91ecaf4a04df72090a5c6c34B03229226c56175a74b423c82bfcd3d5731824055e8893850d2c34fd5923c0ef8292 +@2ad9f9d9078d810b1a8719fc311d6e9fcc00c8f1f83da62ae6d36cf5fa907bdbB0207235ae07008102b5fa384eeff4d6c922e8198f8c7ed3c6fe2ff1eff3888c020B +@e421ba5d0c98b114d1a43013d5806360e65970df5ee35054043bba6f4111e411""1KcGPWYHeoqbj9V5JejVL8BBYsZrLaJAgG"UOP_DUP OP_HASH160 cc1dab08c2b961b54f68d0b4c461ce893f08f75a OP_EQUALVERIFY OP_CHECKSIG*276a914cc1dab08c2b961b54f68d0b4c461ce893f08f75a88ac*"1KcGPWYHeoqbj9V5JejVL8BBYsZrLaJAgG8Ȣ$J  + @e421ba5d0c98b114d1a43013d5806360e65970df5ee35054043bba6f4111e411""1LfL49qxU6SeMJp6C7Tn82kmYKa4Qm6etM"UOP_DUP OP_HASH160 d7aa1a2a9e00d9cfdddc8686b1df80c413282448 OP_EQUALVERIFY OP_CHECKSIG*276a914d7aa1a2a9e00d9cfdddc8686b1df80c41328244888ac*"1LfL49qxU6SeMJp6C7Tn82kmYKa4Qm6etM8Ȣ$J  +ӇQ@e421ba5d0c98b114d1a43013d5806360e65970df5ee35054043bba6f4111e411""15PJtE8DttsKgZNRpxEHJcCSXWqpgUWFVq"UOP_DUP OP_HASH160 3018951b4e7c163e88817076ac90f9966fc447ee OP_EQUALVERIFY OP_CHECKSIG*276a9143018951b4e7c163e88817076ac90f9966fc447ee88ac*"15PJtE8DttsKgZNRpxEHJcCSXWqpgUWFVq8Ȣ$J  + + +1@e5cd4404b50b63a6655e828a756671d44df70d0a3dcdaaa956e838c475f2142fȢ$"@0000000000000000000fe03dc34486f74b05bfa7803d5a3ea6d3c363cda37e60(-2 +@ad7e3ebe22c8e10c2882737236aa753305fa65b056c0700e3bafb144550ac1acB02c321437e511686bcb645b0e8417442541bc59feac1c1a0e27cd6053e18ceb6be2 +@f97067d2a43960eef72d50dea02296ae35a5a3395343013e146733c3d385d267B0322459ecfbb0753b301b17d982e9d4f7173e95824effa81456bdca354a5f4cc21B +@e5cd4404b50b63a6655e828a756671d44df70d0a3dcdaaa956e838c475f2142f""1G63LMoLSgDWhxxwdtW4a2wvW6VZAwdotz"UOP_DUP OP_HASH160 a57dea29a38300fb5d1cf30181e28b51fa6144f8 OP_EQUALVERIFY OP_CHECKSIG*276a914a57dea29a38300fb5d1cf30181e28b51fa6144f888ac*"1G63LMoLSgDWhxxwdtW4a2wvW6VZAwdotz8Ȣ$J  +@e5cd4404b50b63a6655e828a756671d44df70d0a3dcdaaa956e838c475f2142f""126JgYauet6pddWgcuqBiMvr9qBGdnaNt6"UOP_DUP OP_HASH160 0bf8f732c45306bc239178bbe803b5a16533737c OP_EQUALVERIFY OP_CHECKSIG*276a9140bf8f732c45306bc239178bbe803b5a16533737c88ac*"126JgYauet6pddWgcuqBiMvr9qBGdnaNt68Ȣ$J  +_@e5cd4404b50b63a6655e828a756671d44df70d0a3dcdaaa956e838c475f2142f""17HnG7tUN1PJgFcphnYDgwX9yH9976xMYN"UOP_DUP OP_HASH160 44fd31196f109b38582853de8e25f785e48bc1ef OP_EQUALVERIFY OP_CHECKSIG*276a91444fd31196f109b38582853de8e25f785e48bc1ef88ac*"17HnG7tUN1PJgFcphnYDgwX9yH9976xMYN8Ȣ$J  + + +1@173bd3fc97112e5f392725ae06f3bac47e70c6073b64c375137212f887eb4438Ȣ$"@0000000000000000000fe03dc34486f74b05bfa7803d5a3ea6d3c363cda37e60(-2 +@198ca2c7ed8386a91fb3c2336ec5b1078431a4f19cf6f985d4108441f9093fd3B02bcf3f1aa78dc7b64f408497588822e89dd08ef8d09164634790acf485a268dce2 +@30c2fa95e9c14bf72a2455995946cec7d16d66ab743cf6caf5c7ed55c76e8896B02981b883480bd9bf6578094650ef729ae3833fad0720d42f617f4dad7c90edfccB +@173bd3fc97112e5f392725ae06f3bac47e70c6073b64c375137212f887eb4438""1JP32kuvsgcDRkmZfsixPNcAcQgjG1XgKq"UOP_DUP OP_HASH160 bea4fbfa558ab832b2e08a52a6f9fbd67ea22e9f OP_EQUALVERIFY OP_CHECKSIG*276a914bea4fbfa558ab832b2e08a52a6f9fbd67ea22e9f88ac*"1JP32kuvsgcDRkmZfsixPNcAcQgjG1XgKq8Ȣ$J  +@173bd3fc97112e5f392725ae06f3bac47e70c6073b64c375137212f887eb4438""123iramMnwhro4Frv7mVf2shBCJXhGnNin"UOP_DUP OP_HASH160 0b7be579be20068d3c6c08cd7d6323dfe30d630f OP_EQUALVERIFY OP_CHECKSIG*276a9140b7be579be20068d3c6c08cd7d6323dfe30d630f88ac*"123iramMnwhro4Frv7mVf2shBCJXhGnNin8Ȣ$J  +Z@173bd3fc97112e5f392725ae06f3bac47e70c6073b64c375137212f887eb4438""1Pdq4PESkZnmiQKhYMQmkm5VSKzF4cNSyF"UOP_DUP OP_HASH160 f849dbe3b9085923dba1e6f380c8bfeef57b16ac OP_EQUALVERIFY OP_CHECKSIG*276a914f849dbe3b9085923dba1e6f380c8bfeef57b16ac88ac*"1Pdq4PESkZnmiQKhYMQmkm5VSKzF4cNSyF8Ȣ$J  + + +1@f66be1cc7020994f3ff6b94b81be06144f60ce09bc4d6e94cfc0cb8ba7389d44Ȣ$"@0000000000000000000fe03dc34486f74b05bfa7803d5a3ea6d3c363cda37e60(-2 +@4c0522eee76e2c94e2926406c98e9f9934ee6363e6870d7068942ffb223255a1B02d57eb3773ea8787020b97c28dff8edfe17ac8033a4c0aa05171c221f9370af082 +@75ddeefd1fcc08cce655f0424cb355cd32fbb9b6bb04bacf5422cb1a89c09981B02ba8814835f39f96042ba02f2b82b389098b0d484d27574056719b7788be9d3b1B +@f66be1cc7020994f3ff6b94b81be06144f60ce09bc4d6e94cfc0cb8ba7389d44""1KdK4qFmBnrcNzjc2mzdLVBWevZAtuvEpy"UOP_DUP OP_HASH160 cc5051cc84ad0c6913e64cb1a45df5fdcbeba068 OP_EQUALVERIFY OP_CHECKSIG*276a914cc5051cc84ad0c6913e64cb1a45df5fdcbeba06888ac*"1KdK4qFmBnrcNzjc2mzdLVBWevZAtuvEpy8Ȣ$J  +@f66be1cc7020994f3ff6b94b81be06144f60ce09bc4d6e94cfc0cb8ba7389d44""1DA3bwLjGYZZHWCD5E3Jz15QV7PzJLuX8V"UOP_DUP OP_HASH160 85576ce72ca06dcabb3802d442639d84ca225432 OP_EQUALVERIFY OP_CHECKSIG*276a91485576ce72ca06dcabb3802d442639d84ca22543288ac*"1DA3bwLjGYZZHWCD5E3Jz15QV7PzJLuX8V8Ȣ$J  +͇Q@f66be1cc7020994f3ff6b94b81be06144f60ce09bc4d6e94cfc0cb8ba7389d44""1GWDfwFh1i784ja23RnohqtHkDkGCYJW4A"UOP_DUP OP_HASH160 aa1086f12602ae02a0af91336009550c3316688e OP_EQUALVERIFY OP_CHECKSIG*276a914aa1086f12602ae02a0af91336009550c3316688e88ac*"1GWDfwFh1i784ja23RnohqtHkDkGCYJW4A8Ȣ$J  + + +1@224a5c0119076236c8a887226a0ee891b390b935b34d4d4493d8956561ad214aȢ$"@0000000000000000000fe03dc34486f74b05bfa7803d5a3ea6d3c363cda37e60(-2 +@f916add8cea6634c0dbeac16ae344e5605241f6be2bbe391ec1567cfd44c527aB026971dedcf9ae9271c39e8590a472326893ecc571b2493783185ef0072c0a75632 +@4ceb96d3f0faac6054ecf9145399f641c6856acba4fa84c92e63fdc02e3cccf2B02e798bcc86d9ff7fbde32bdffaf5e660c27b4c4cf21575c4bdd66a97b964b7f4aB +@224a5c0119076236c8a887226a0ee891b390b935b34d4d4493d8956561ad214a""12JHrZmZuTiBPjsc1bQXcNvQxR48aRQSuw"UOP_DUP OP_HASH160 0e3d44412be15eb94d7ab7b671f9ef5369207b10 OP_EQUALVERIFY OP_CHECKSIG*276a9140e3d44412be15eb94d7ab7b671f9ef5369207b1088ac*"12JHrZmZuTiBPjsc1bQXcNvQxR48aRQSuw8Ȣ$J  +@224a5c0119076236c8a887226a0ee891b390b935b34d4d4493d8956561ad214a""1KmKdp4TjxHiivcDuv7UFi96z6pAWMcE1Y"UOP_DUP OP_HASH160 cdd41f331622857b817928da481f5d8dfd3bd99f OP_EQUALVERIFY OP_CHECKSIG*276a914cdd41f331622857b817928da481f5d8dfd3bd99f88ac*"1KmKdp4TjxHiivcDuv7UFi96z6pAWMcE1Y8Ȣ$J  +X@224a5c0119076236c8a887226a0ee891b390b935b34d4d4493d8956561ad214a""1FkFbhVB1K3P7tdsLBSMwpptopVGz5n6b9"UOP_DUP OP_HASH160 a1bfd55503d7ccb4844722d5380465bf757ca8ad OP_EQUALVERIFY OP_CHECKSIG*276a914a1bfd55503d7ccb4844722d5380465bf757ca8ad88ac*"1FkFbhVB1K3P7tdsLBSMwpptopVGz5n6b98Ȣ$J  + + +1@e3ccaeb25fc58f4b2d3e62cddded1db5979c823fee55bbd2127066889b5de256Ȣ$"@0000000000000000000fe03dc34486f74b05bfa7803d5a3ea6d3c363cda37e60(-2 +@ec57d51c0bafdeef4031f91350ec8ee0007091f87864d96f22c370af64858123B039e8db51f32b1bfb29f8122923a47e31956f762285a6a19715a323826489188a22 +@5b3a8e378c543ce4b53da2e4a6587645a43e7673358703ba4d59096cfbc805a3B02193fe8d39d00f896a3f796005ff3e5450fbcd58d45e28c6cc281d076ab79db36B +@e3ccaeb25fc58f4b2d3e62cddded1db5979c823fee55bbd2127066889b5de256""1Q8wm1vwhHCiH4N7TnsJgboRE7dQeR6ecw"UOP_DUP OP_HASH160 fdcb83e326aa957c9f0bd01b38cfc57d0d01268b OP_EQUALVERIFY OP_CHECKSIG*276a914fdcb83e326aa957c9f0bd01b38cfc57d0d01268b88ac*"1Q8wm1vwhHCiH4N7TnsJgboRE7dQeR6ecw8Ȣ$J  + @e3ccaeb25fc58f4b2d3e62cddded1db5979c823fee55bbd2127066889b5de256""1L3uLku7AnE5pJfMEHDSGqFBGwRojRCUYb"UOP_DUP OP_HASH160 d0f6e9e03a85136cf508879d4cc5e1aabe54b20e OP_EQUALVERIFY OP_CHECKSIG*276a914d0f6e9e03a85136cf508879d4cc5e1aabe54b20e88ac*"1L3uLku7AnE5pJfMEHDSGqFBGwRojRCUYb8Ȣ$J  +ӇQ@e3ccaeb25fc58f4b2d3e62cddded1db5979c823fee55bbd2127066889b5de256""1MDShEU8GmuRTfK7LJ8cPwehaHhupZuqgR"UOP_DUP OP_HASH160 ddbcf488318452968c9a2bd4df6c70a04d22c6a9 OP_EQUALVERIFY OP_CHECKSIG*276a914ddbcf488318452968c9a2bd4df6c70a04d22c6a988ac*"1MDShEU8GmuRTfK7LJ8cPwehaHhupZuqgR8Ȣ$J  + + +1@baa109e45295c246f41d1ed3975075fa760efd1b6798c2050c7453625ee23479Ȣ$"@0000000000000000000fe03dc34486f74b05bfa7803d5a3ea6d3c363cda37e60(-2 +@e5cd4404b50b63a6655e828a756671d44df70d0a3dcdaaa956e838c475f2142fB02e49bb4f01410424f4e87c916dbd79d1f028f7c8dd1db4cb70087216bfd58273e2 +@a7d641550200e2aecf607feb2c6474a5ee15945145aab3ce661a41425d8a422fB0280d427695ffcdcd539d14de756af822c99187b990597a1bd21c7793898b9f450B +@baa109e45295c246f41d1ed3975075fa760efd1b6798c2050c7453625ee23479""1MuB35AnMgfWLjqGunCRjF8oUg5FqJwBwU"UOP_DUP OP_HASH160 e54085e90e48c37c98f51b8fe3fee866431232c6 OP_EQUALVERIFY OP_CHECKSIG*276a914e54085e90e48c37c98f51b8fe3fee866431232c688ac*"1MuB35AnMgfWLjqGunCRjF8oUg5FqJwBwU8Ȣ$J  +@baa109e45295c246f41d1ed3975075fa760efd1b6798c2050c7453625ee23479""13RVmLQFGGRoNDy4FsfTYCmo24nEhexXdc"UOP_DUP OP_HASH160 1a923ef6bab2998cbf82db99fa7ff5da2f1d08e8 OP_EQUALVERIFY OP_CHECKSIG*276a9141a923ef6bab2998cbf82db99fa7ff5da2f1d08e888ac*"13RVmLQFGGRoNDy4FsfTYCmo24nEhexXdc8Ȣ$J  +Ђ@baa109e45295c246f41d1ed3975075fa760efd1b6798c2050c7453625ee23479""19J5EbGEwSyBLSgcRZ7Ag9Rpyfqaaqbt91"UOP_DUP OP_HASH160 5afb9cbcc72aea5b40ddc0e1f95880a536d426b5 OP_EQUALVERIFY OP_CHECKSIG*276a9145afb9cbcc72aea5b40ddc0e1f95880a536d426b588ac*"19J5EbGEwSyBLSgcRZ7Ag9Rpyfqaaqbt918Ȣ$J  + + +1@93c3f7d67078ccb2a100eb072c530b11c1bb42ef2697d688501e39f33fcd907aȢ$"@0000000000000000000fe03dc34486f74b05bfa7803d5a3ea6d3c363cda37e60(-2 +@02cc3d798f774f23c6bc761bb75fdbdc1a13a524aca6543c9d8b7e690fff4cbeB034638f03295578bd93099817da91249ea5889e482eb3c3f19aaf7537c5b603b6c2 +@02cc3d798f774f23c6bc761bb75fdbdc1a13a524aca6543c9d8b7e690fff4cbeB03f15510a8ffb14d89b978cfd516f231b951e8b8105fa38595b5d9dcf914567467B +)@93c3f7d67078ccb2a100eb072c530b11c1bb42ef2697d688501e39f33fcd907a""1C5aQ4LJoDWx36daKaLQc6LHuibgWUpAdM"UOP_DUP OP_HASH160 7986ed242c220b601bad33142e55fa4f17cc865e OP_EQUALVERIFY OP_CHECKSIG*276a9147986ed242c220b601bad33142e55fa4f17cc865e88ac*"1C5aQ4LJoDWx36daKaLQc6LHuibgWUpAdM8Ȣ$J  +[@93c3f7d67078ccb2a100eb072c530b11c1bb42ef2697d688501e39f33fcd907a""12tDJ1t2QhW9Ub7vpGNy58VoNbaFN6gYd9"UOP_DUP OP_HASH160 14a79a10d48e5fda28ca6cec9969e1cb730dd901 OP_EQUALVERIFY OP_CHECKSIG*276a91414a79a10d48e5fda28ca6cec9969e1cb730dd90188ac*"12tDJ1t2QhW9Ub7vpGNy58VoNbaFN6gYd98Ȣ$J  + @93c3f7d67078ccb2a100eb072c530b11c1bb42ef2697d688501e39f33fcd907a""1Nv5fbkGNEvhxJi5vQsWwRPwzmVzEtD89P"UOP_DUP OP_HASH160 f06494fdd9117261445e0c01224f06fe6602029e OP_EQUALVERIFY OP_CHECKSIG*276a914f06494fdd9117261445e0c01224f06fe6602029e88ac*"1Nv5fbkGNEvhxJi5vQsWwRPwzmVzEtD89P8Ȣ$J  + + +1@39e49297e7c940b4d914708704bebc6cb46e7a99f04e554d67d3d57cbfd8e09dȢ$"@0000000000000000000fe03dc34486f74b05bfa7803d5a3ea6d3c363cda37e60(-2 +@93c3f7d67078ccb2a100eb072c530b11c1bb42ef2697d688501e39f33fcd907aB035b35609afc4ff6fda726d8fd2bab7de99b3a19c63dc01211388588ebec4050e72 +@06fa21292581916c09a61543e8fb19f77bbf47ee17c380bfe3b8c90ae4a4828bB029cd3b0e75bc582ba6c191e821b384734fb040e439b3f0c555d1118542e370c1cB +)@39e49297e7c940b4d914708704bebc6cb46e7a99f04e554d67d3d57cbfd8e09d""14Fhq1MXMyk58p2LVFSZMdGW9BfiEE2XSq"UOP_DUP OP_HASH160 23b04834e08778d1d8399981084f0b247e5c9aad OP_EQUALVERIFY OP_CHECKSIG*276a91423b04834e08778d1d8399981084f0b247e5c9aad88ac*"14Fhq1MXMyk58p2LVFSZMdGW9BfiEE2XSq8Ȣ$J  +@39e49297e7c940b4d914708704bebc6cb46e7a99f04e554d67d3d57cbfd8e09d""16wL9NpPeyzjyAyWSkJFrrzyxmFCuGaLpZ"UOP_DUP OP_HASH160 411f12621d2fe7a4f7606b24a49beabf65af7181 OP_EQUALVERIFY OP_CHECKSIG*276a914411f12621d2fe7a4f7606b24a49beabf65af718188ac*"16wL9NpPeyzjyAyWSkJFrrzyxmFCuGaLpZ8Ȣ$J  +$@39e49297e7c940b4d914708704bebc6cb46e7a99f04e554d67d3d57cbfd8e09d""16j8QNMrbCKuQ887jH5jTD5vUebEYEeZ8J"UOP_DUP OP_HASH160 3ed04768ec204eed6b3cfa79b6385a1e4908417b OP_EQUALVERIFY OP_CHECKSIG*276a9143ed04768ec204eed6b3cfa79b6385a1e4908417b88ac*"16j8QNMrbCKuQ887jH5jTD5vUebEYEeZ8J8Ȣ$J  + + +1@7b81ddd7f18b8f17b1f5c4af9d6152f2dccfa6aa0eb6bf186aa976a7c0aaeae3Ȣ$"@0000000000000000000fe03dc34486f74b05bfa7803d5a3ea6d3c363cda37e60(-2 +@39e49297e7c940b4d914708704bebc6cb46e7a99f04e554d67d3d57cbfd8e09dB02f570e06a4e5d37baeb6e8db986fcb61ee5b854e1cbb5d1057ead30337a22f6be2 +@8c283b3aa2cbe8c95dc8bd2bc7200083eb2da834b55db01b390d6fb891d3a2e1B029f6b228888ac4e9d9d27e85911aea0e67dd08deeaf9a68f6f18beb750fc808a1B +)@7b81ddd7f18b8f17b1f5c4af9d6152f2dccfa6aa0eb6bf186aa976a7c0aaeae3"!1mWkDERe7WD1TuuF8DqMfmymbgCBhhLpR"UOP_DUP OP_HASH160 086b21d852a415b6d568fa274259c6e660ab07c7 OP_EQUALVERIFY OP_CHECKSIG*276a914086b21d852a415b6d568fa274259c6e660ab07c788ac*!1mWkDERe7WD1TuuF8DqMfmymbgCBhhLpR8Ȣ$J  +@7b81ddd7f18b8f17b1f5c4af9d6152f2dccfa6aa0eb6bf186aa976a7c0aaeae3""1AkTjKXfiRdAKRFUGn2fsz9ghyz9RjdwEY"UOP_DUP OP_HASH160 6af154c93d0fcbf0b9c23e80f8580702fdbb5205 OP_EQUALVERIFY OP_CHECKSIG*276a9146af154c93d0fcbf0b9c23e80f8580702fdbb520588ac*"1AkTjKXfiRdAKRFUGn2fsz9ghyz9RjdwEY8Ȣ$J  +#@7b81ddd7f18b8f17b1f5c4af9d6152f2dccfa6aa0eb6bf186aa976a7c0aaeae3""1DUEe8d8SPYbCpcJQM8u9G5pSxBJpchkB6"UOP_DUP OP_HASH160 88c8206b43e385bb3bf2248ab762039ef2d4fa3d OP_EQUALVERIFY OP_CHECKSIG*276a91488c8206b43e385bb3bf2248ab762039ef2d4fa3d88ac*"1DUEe8d8SPYbCpcJQM8u9G5pSxBJpchkB68Ȣ$J  + + +1@c7b67abce88f9656979f0f1fada08e33f5fae95f3df6899208207a1011b2002cȢ$"@0000000000000000000fe03dc34486f74b05bfa7803d5a3ea6d3c363cda37e60(-2 +@7b81ddd7f18b8f17b1f5c4af9d6152f2dccfa6aa0eb6bf186aa976a7c0aaeae3B02af72933d09e3882794ab9d50b1c7637218f0c85de47aa8cf126602d91e9cc9c52 +@1a074b295c39ef51f4aff6452a63a4934b6d24f8a96e85daaa66700d91b500f9B03397fc4a95a619f50295661e5329906ff875b5abe7df275f2d9b7f9cc8e025395B +)@c7b67abce88f9656979f0f1fada08e33f5fae95f3df6899208207a1011b2002c""16JzWG6ZL4Zr22gwFXQSPbmVsgwYXqA73K"UOP_DUP OP_HASH160 3a3fb3dd775ea2e3c4bc0260a7c249aba6020a80 OP_EQUALVERIFY OP_CHECKSIG*276a9143a3fb3dd775ea2e3c4bc0260a7c249aba6020a8088ac*"16JzWG6ZL4Zr22gwFXQSPbmVsgwYXqA73K8Ȣ$J  +@c7b67abce88f9656979f0f1fada08e33f5fae95f3df6899208207a1011b2002c""1HQaja4Sbvv8SGni4CZitmPjhJHC4uu9xe"UOP_DUP OP_HASH160 b3f7bd468c5caf634ecfa793ddb38c35f706d345 OP_EQUALVERIFY OP_CHECKSIG*276a914b3f7bd468c5caf634ecfa793ddb38c35f706d34588ac*"1HQaja4Sbvv8SGni4CZitmPjhJHC4uu9xe8Ȣ$J  +@c7b67abce88f9656979f0f1fada08e33f5fae95f3df6899208207a1011b2002c""1BsG6TgsRXDS71UV1Ez6wK7MR7rLdmfGKB"UOP_DUP OP_HASH160 7732a7e7cf6685dbf261586a2d9c1eecfb634073 OP_EQUALVERIFY OP_CHECKSIG*276a9147732a7e7cf6685dbf261586a2d9c1eecfb63407388ac*"1BsG6TgsRXDS71UV1Ez6wK7MR7rLdmfGKB8Ȣ$J  + + +1@fd36ebe0d868b0d708f2d00a4b28ec57af019abbb2ef2477d2fe24c0a02312acȢ$"@0000000000000000000fe03dc34486f74b05bfa7803d5a3ea6d3c363cda37e60(-2 +@e3ccaeb25fc58f4b2d3e62cddded1db5979c823fee55bbd2127066889b5de256B037d0d3349eeb96f6a7d3c84e5c511576d743268c1172d86b0955bb3dc5bb9b2a72 +@633d749369eb3f06202a154c46bb3cadc600f49d8a0bf6f70b0427f262dbdecaB032c9a32de9c8a4d5746db2b795afc7324a23d0012655f88f00d8701dc3efa4210B +@fd36ebe0d868b0d708f2d00a4b28ec57af019abbb2ef2477d2fe24c0a02312ac""1P3rH4JKDdymEkpS9N73FfsjHD3Kga2xW4"UOP_DUP OP_HASH160 f1dcbbc0530636ab2a67f42e404e0586c25a8724 OP_EQUALVERIFY OP_CHECKSIG*276a914f1dcbbc0530636ab2a67f42e404e0586c25a872488ac*"1P3rH4JKDdymEkpS9N73FfsjHD3Kga2xW48Ȣ$J  + @fd36ebe0d868b0d708f2d00a4b28ec57af019abbb2ef2477d2fe24c0a02312ac""19JNZd381ZUTR5xiENzkXZuhfE8EJjCpJP"UOP_DUP OP_HASH160 5b0a13b8a5757bf5b60a0068ae285cfce317d800 OP_EQUALVERIFY OP_CHECKSIG*276a9145b0a13b8a5757bf5b60a0068ae285cfce317d80088ac*"19JNZd381ZUTR5xiENzkXZuhfE8EJjCpJP8Ȣ$J  +LJQ@fd36ebe0d868b0d708f2d00a4b28ec57af019abbb2ef2477d2fe24c0a02312ac""17J8LLinneJXJ3Qfkp4rYqCw6ezcAtwJfU"UOP_DUP OP_HASH160 450df29cf63249072f60e1c62e51b1599400062a OP_EQUALVERIFY OP_CHECKSIG*276a914450df29cf63249072f60e1c62e51b1599400062a88ac*"17J8LLinneJXJ3Qfkp4rYqCw6ezcAtwJfU8Ȣ$J  + +1@56786ea835651f2eeaebb237d0d429724a4ef297fc47fb47e6ff199007b16cf1Ȣ$"@0000000000000000000fe03dc34486f74b05bfa7803d5a3ea6d3c363cda37e60(-2 +@9b7526364c5b6e54cee111c526e7d301b7c66e703a0024d10dc20b11c8cf9b60B02e240056fe681485aded4fe889626b9bfff75d2aea1e73bb6f2f65163c88557762 +@9b7526364c5b6e54cee111c526e7d301b7c66e703a0024d10dc20b11c8cf9b60B0263f656b56241b90127d8eb6d4b1cd8611ad5e28e905b421e278fc94a00e1f33cB +@56786ea835651f2eeaebb237d0d429724a4ef297fc47fb47e6ff199007b16cf1""1Adfiv8qCZHeSjQ1vsoZ9kES1TG7xPQmir"UOP_DUP OP_HASH160 69a86e45df028060f6d26e82d4406794492402b5 OP_EQUALVERIFY OP_CHECKSIG*276a91469a86e45df028060f6d26e82d4406794492402b588ac*"1Adfiv8qCZHeSjQ1vsoZ9kES1TG7xPQmir8Ȣ$J  + +ڀ@56786ea835651f2eeaebb237d0d429724a4ef297fc47fb47e6ff199007b16cf1""179dpQzKB8ugHMRiWofx1YioMTJ7Z5G4Bx"UOP_DUP OP_HASH160 4372d0ea7bc452515edb5932f21c5c92b80455fc OP_EQUALVERIFY OP_CHECKSIG*276a9144372d0ea7bc452515edb5932f21c5c92b80455fc88ac*"179dpQzKB8ugHMRiWofx1YioMTJ7Z5G4Bx8Ȣ$J  +@56786ea835651f2eeaebb237d0d429724a4ef297fc47fb47e6ff199007b16cf1"l"6OP_RETURN 13012e1953f8672f43ebc7ac4559a39c33884e530788*06a1613012e1953f8672f43ebc7ac4559a39c33884e5307882.Sg/CǬEY3NS8Ȣ$J   + + +1@dd325586fb77368087bd68a8d84d28b7baca408ac3fbaceddaacd89e6beea4afȢ$"@0000000000000000000fe03dc34486f74b05bfa7803d5a3ea6d3c363cda37e60(-2 +@4e08f7309e306096d3c5d6360bb202d864c8bb4234bddbc2b67f21519cd56d5eB03adfef581a63d9b90eda3a95b16b88260addf85652f208a4c3437dba8383c7de12 +@f7f9d98f24d612c8f9045ee2cf73053a867f666bab2bdcb9c8914c6b0a0252e6B038387726ddcf2fc838594811f7ec814d4d8048c924459312b543d9549c0d24f9dB +@dd325586fb77368087bd68a8d84d28b7baca408ac3fbaceddaacd89e6beea4af""14isvvbhVA5ByVZ8oD44g8GgRvqWubYwYM"UOP_DUP OP_HASH160 28d3f21e91f102d7c5561f124b608f12fa347cd1 OP_EQUALVERIFY OP_CHECKSIG*276a91428d3f21e91f102d7c5561f124b608f12fa347cd188ac*"14isvvbhVA5ByVZ8oD44g8GgRvqWubYwYM8Ȣ$J  + +@dd325586fb77368087bd68a8d84d28b7baca408ac3fbaceddaacd89e6beea4af""14isvvbhVA5ByVZ8oD44g8GgRvqWubYwYM"UOP_DUP OP_HASH160 28d3f21e91f102d7c5561f124b608f12fa347cd1 OP_EQUALVERIFY OP_CHECKSIG*276a91428d3f21e91f102d7c5561f124b608f12fa347cd188ac*"14isvvbhVA5ByVZ8oD44g8GgRvqWubYwYM8Ȣ$J  +@dd325586fb77368087bd68a8d84d28b7baca408ac3fbaceddaacd89e6beea4af""1C6xZua4meHoF1XkhEDTxCKkTvPNJyYY4p"UOP_DUP OP_HASH160 79c9d945ae5001d896383cf244a3ff408bdb17f1 OP_EQUALVERIFY OP_CHECKSIG*276a91479c9d945ae5001d896383cf244a3ff408bdb17f188ac*"1C6xZua4meHoF1XkhEDTxCKkTvPNJyYY4p8Ȣ$J  +@dd325586fb77368087bd68a8d84d28b7baca408ac3fbaceddaacd89e6beea4af"l"6OP_RETURN 1301f0543ced496479b4bb0b8db3eb1f9c47bbca136d*06a161301f0543ced496479b4bb0b8db3eb1f9c47bbca136d2T +:žTe8̢$J   +͢$ߡ-@0000000000000000001096472dd38277b75addb215372ad16e94b24314053008"@0000000000000000000fce30ff1a4b35655f00eca534776b24d8b274f1d633182΢$Ȼ-@00000000000000000013a18cc12a9258007a30df8758a9964cd925e56d0a0dd4"@0000000000000000001096472dd38277b75addb215372ad16e94b243140530082Ϣ$-@0000000000000000000618a49eb3a4502466e9b36dfb1be6ca2950355694fccd"@00000000000000000013a18cc12a9258007a30df8758a9964cd925e56d0a0dd42Т$-@00000000000000000012c87837f9d926d7974ba93b4467a5b8054e09499f7e0f"@0000000000000000000618a49eb3a4502466e9b36dfb1be6ca2950355694fccd2 Ѣ$-@0000000000000000000c64abcaee13131e5892576901d5ceeea0c2badcbe1339"@00000000000000000012c87837f9d926d7974ba93b4467a5b8054e09499f7e0f2 + +1@28f87506afbe82286f347f23c811e862aea8ba12d4ddd8830da6e67af85078dcѢ$"@0000000000000000000c64abcaee13131e5892576901d5ceeea0c2badcbe1339(-2 +@da6167cfe66f1756889f5093d41f7b29086bde7c2a2952a9ee05bb4f29b2e35cB03d5cc6463eacaf921f12cf4dff5b589e46ac8fe7a52f072ec84e81e9f8f415d1b2 +@bfef34b9e8d14959106f54d9fb8d73c73f27518b83043448b181e8fef21689e6B039f884f689036b3c41d516697a2889d56ed0206c0c5b8d4628be45bd4333c92cc2 +@0a53ad7fb3c303cedb0e548afb08d7d8d330efdb9ceabf8f575c858a288d2758B03aa40532b6bb1cf63005fbab6ffb35ab7151036eeae487f9084d8a1b62df53bec2 +@111f3734524ac26577e49d3bae598a2fbdef5d37bb73991f5157b4dc00741df1B03dea35d9d240f93ec73666363bc18a862bea6c749147aca9cb52cc6d5676c257aB +M@28f87506afbe82286f347f23c811e862aea8ba12d4ddd8830da6e67af85078dc""1Lgny1126BmJ2XVTeUi44mn9xVZEVw64rz"UOP_DUP OP_HASH160 d7f0fb84039ef1f25d497eaa079d673aaff0e8ab OP_EQUALVERIFY OP_CHECKSIG*276a914d7f0fb84039ef1f25d497eaa079d673aaff0e8ab88ac*"1Lgny1126BmJ2XVTeUi44mn9xVZEVw64rz8Ѣ$J  +=@28f87506afbe82286f347f23c811e862aea8ba12d4ddd8830da6e67af85078dc""1AkCZywHtauB9Q8LuiG1nz38G7vqYEWerz"UOP_DUP OP_HASH160 6ae4ace92d5ba506e9853c98dc66b32979777a2d OP_EQUALVERIFY OP_CHECKSIG*276a9146ae4ace92d5ba506e9853c98dc66b32979777a2d88ac*"1AkCZywHtauB9Q8LuiG1nz38G7vqYEWerz8Ѣ$J  +@28f87506afbe82286f347f23c811e862aea8ba12d4ddd8830da6e67af85078dc""1Li4xAe7AqjoD2h3vKSfHkVbPEVgG1YpkY"UOP_DUP OP_HASH160 d82ebe19312c4c0edb80fd0762a04301e80e3112 OP_EQUALVERIFY OP_CHECKSIG*276a914d82ebe19312c4c0edb80fd0762a04301e80e311288ac*"1Li4xAe7AqjoD2h3vKSfHkVbPEVgG1YpkY8Ѣ$J Ң$-@0000000000000000001888562aef6177970695a669e29d651d8aa8c367beb959"@0000000000000000000c64abcaee13131e5892576901d5ceeea0c2badcbe13392Ӣ$-@00000000000000000012a91c93b721ebdd6ecfdb3f8ee63c37d97fa9168a55d6"@0000000000000000001888562aef6177970695a669e29d651d8aa8c367beb9592Ԣ$-@0000000000000000000efaacec43bca7fcc7c64aeb307047237d8e79edd757d0"@00000000000000000012a91c93b721ebdd6ecfdb3f8ee63c37d97fa9168a55d62բ$-@0000000000000000000f903492cfec45b17b30c404ef8647259c141dfacacc8c"@0000000000000000000efaacec43bca7fcc7c64aeb307047237d8e79edd757d02֢$-@00000000000000000009237de1d952d324c62385c396556699daf5323bbd9fa8"@0000000000000000000f903492cfec45b17b30c404ef8647259c141dfacacc8c2ע$-@000000000000000000080b2d58ee930a8908c3a9ffd430fe0bd51d4e9000068d"@00000000000000000009237de1d952d324c62385c396556699daf5323bbd9fa82آ$-@0000000000000000000ebb0c2f508c7813ebc8931cb98f61ac44482e0a2dc9d7"@000000000000000000080b2d58ee930a8908c3a9ffd430fe0bd51d4e9000068d2٢$艋-@00000000000000000017d6abd39e6fd8692b4f59135db83919a36d00b6cf7340"@0000000000000000000ebb0c2f508c7813ebc8931cb98f61ac44482e0a2dc9d72!ڢ$ƽ-@000000000000000000133dae394f50adf24b3f1f4fe221662cf09f41a402714b"@00000000000000000017d6abd39e6fd8692b4f59135db83919a36d00b6cf73402 + + +1@f8b3bb892177152891aa5ad49f9d7ecf92509c95a6a8fc04dad970828436bf1dڢ$"@000000000000000000133dae394f50adf24b3f1f4fe221662cf09f41a402714b(ƽ-2 +@f86729d68e8338332a8a1c14e1def7db88fa16dd6475bfe6c3ea6dffe67a1c0eB034e863da5fc633c79fb06645cdf69c8c58f320ff0bea2314d9d85b7f5461fa49a2 +@cfd147de25a5140b0ae5d0973e6491f5a01f052f468eca4a69fb5e9290d765a7B035a03fe33fab2bfcbd88ed1c89026defc689009ffda2a9298366fef272f910b7bB + @f8b3bb892177152891aa5ad49f9d7ecf92509c95a6a8fc04dad970828436bf1d""1MzzW62PGEtc2zJJtGeYXj9QYAi6v9GFEz"UOP_DUP OP_HASH160 e65a39af079d2a3a4c947f1c3399d99ac0090b37 OP_EQUALVERIFY OP_CHECKSIG*276a914e65a39af079d2a3a4c947f1c3399d99ac0090b3788ac*"1MzzW62PGEtc2zJJtGeYXj9QYAi6v9GFEz8ڢ$J  +@f8b3bb892177152891aa5ad49f9d7ecf92509c95a6a8fc04dad970828436bf1d""1MQe44g5G6FW94RjRV6iVFrd6w4DRNL5Zu"UOP_DUP OP_HASH160 dfdb034f61fbd9ea5e2f4e4667d49c95ce0c5d6e OP_EQUALVERIFY OP_CHECKSIG*276a914dfdb034f61fbd9ea5e2f4e4667d49c95ce0c5d6e88ac*"1MQe44g5G6FW94RjRV6iVFrd6w4DRNL5Zu8ڢ$J  +@f8b3bb892177152891aa5ad49f9d7ecf92509c95a6a8fc04dad970828436bf1d""1GSD92dxqvhyG7kAADBNN6z1PjPr5twSDa"UOP_DUP OP_HASH160 a94e6b1f080cda6634eea785cb4c7c5ce1894961 OP_EQUALVERIFY OP_CHECKSIG*276a914a94e6b1f080cda6634eea785cb4c7c5ce189496188ac*"1GSD92dxqvhyG7kAADBNN6z1PjPr5twSDa8ڢ$J  + + +1@58d3636b9681738b5d2887254b146f6f3c1833b71564853432606b7e59f99eeaڢ$"@000000000000000000133dae394f50adf24b3f1f4fe221662cf09f41a402714b(ƽ-2 +@f5b4c09b592f94eefe9e1303148351b4a3234c8b433a8430d58a09774ba3cd37B03243baeb2e17341e51d5bddc398053462486eccf4ff6ab9797db90e8a24bfc1ef2 +@f8b3bb892177152891aa5ad49f9d7ecf92509c95a6a8fc04dad970828436bf1dB021aa75741599b692c1935fb2a04cf3311f3ba5af8ff7d1260125e117b7e6ffa54B ++@58d3636b9681738b5d2887254b146f6f3c1833b71564853432606b7e59f99eea""1DgkaJRarB56x9nqr6z1TQw1V6FKJUPQat"UOP_DUP OP_HASH160 8b261b145f3d85ddf8632ea478266008d9634fd7 OP_EQUALVERIFY OP_CHECKSIG*276a9148b261b145f3d85ddf8632ea478266008d9634fd788ac*"1DgkaJRarB56x9nqr6z1TQw1V6FKJUPQat8ڢ$J  +τ@58d3636b9681738b5d2887254b146f6f3c1833b71564853432606b7e59f99eea""13fay7YDkNu2X1AEfvxNBpo7CAMGC2hKfX"UOP_DUP OP_HASH160 1d3c69a84686b999df7000e6e510660ccf68c688 OP_EQUALVERIFY OP_CHECKSIG*276a9141d3c69a84686b999df7000e6e510660ccf68c68888ac*"13fay7YDkNu2X1AEfvxNBpo7CAMGC2hKfX8ڢ$J  +@58d3636b9681738b5d2887254b146f6f3c1833b71564853432606b7e59f99eea""1AZMpCrGt1xAzAqEdCPYEWdP8D4KpZrJMN"UOP_DUP OP_HASH160 68d7d13f562902e530b645730105b9a9c1c32dca OP_EQUALVERIFY OP_CHECKSIG*276a91468d7d13f562902e530b645730105b9a9c1c32dca88ac*"1AZMpCrGt1xAzAqEdCPYEWdP8D4KpZrJMN8ڢ$J 1 + + +1@69e44cd49835dd8b2a048adb9b7cc114ca7bf59ceede6a11f7245806fbdd94d3ڢ$"@000000000000000000133dae394f50adf24b3f1f4fe221662cf09f41a402714b(ƽ-2 +@cfd147de25a5140b0ae5d0973e6491f5a01f052f468eca4a69fb5e9290d765a7B031935a9168411af00c7086eb7ce662bf262a4a911c8a41ce38e26e997f85f4dd02 +@58d3636b9681738b5d2887254b146f6f3c1833b71564853432606b7e59f99eeaB03934368b30eee006762a9c59ff2242a854078b4110e5bc4bad0542844172d9460B +!@69e44cd49835dd8b2a048adb9b7cc114ca7bf59ceede6a11f7245806fbdd94d3""1McRTeHpwhqu3QVoQT3ndFzXBS6QSLKbMe"UOP_DUP OP_HASH160 e2157df2b1413a5bda5d7cd0b8904920036a9c7f OP_EQUALVERIFY OP_CHECKSIG*276a914e2157df2b1413a5bda5d7cd0b8904920036a9c7f88ac*"1McRTeHpwhqu3QVoQT3ndFzXBS6QSLKbMe8ڢ$J  +ݬ@69e44cd49835dd8b2a048adb9b7cc114ca7bf59ceede6a11f7245806fbdd94d3""14PECTiUDDEjnpfRVNKYcPRiN2QBVHG4RG"UOP_DUP OP_HASH160 251c8b9967f947ef3a233eddd408a2598c367f17 OP_EQUALVERIFY OP_CHECKSIG*276a914251c8b9967f947ef3a233eddd408a2598c367f1788ac*"14PECTiUDDEjnpfRVNKYcPRiN2QBVHG4RG8ڢ$J  +@69e44cd49835dd8b2a048adb9b7cc114ca7bf59ceede6a11f7245806fbdd94d3""15eGi1AU7pWHZbhzanwdNjP6XcsF3HPrj6"UOP_DUP OP_HASH160 32ed01560476f3292eec1fc483ded00b3668e4e0 OP_EQUALVERIFY OP_CHECKSIG*276a91432ed01560476f3292eec1fc483ded00b3668e4e088ac*"15eGi1AU7pWHZbhzanwdNjP6XcsF3HPrj68ڢ$J Bۢ$-@00000000000000000014bd78c6f54fe36fcf819f8649eea027f9f54b269578fc"@000000000000000000133dae394f50adf24b3f1f4fe221662cf09f41a402714b2A + + +1@3e1bb1823ed20383c5de1d3f31537a4342f896f0bc6c9e177e60b4bd60cb8a25ۢ$"@00000000000000000014bd78c6f54fe36fcf819f8649eea027f9f54b269578fc(-2 +@58d3636b9681738b5d2887254b146f6f3c1833b71564853432606b7e59f99eeaB03c5f8df48a0e2ae0146df215af9253d254bda9be2d8eca6531e25456c8ea8b8252 +@69e44cd49835dd8b2a048adb9b7cc114ca7bf59ceede6a11f7245806fbdd94d3B03fb089a8646dda52fd2f25de5d7b12caef94046fbe8db2b88d806cd11e2dfd6b6B ++@3e1bb1823ed20383c5de1d3f31537a4342f896f0bc6c9e177e60b4bd60cb8a25""1GsA7jCRBXwq5oUVwfwubqJ4DqwkFpncU4"UOP_DUP OP_HASH160 ae064b63e4292273f0752b6058fabc5f376fcc09 OP_EQUALVERIFY OP_CHECKSIG*276a914ae064b63e4292273f0752b6058fabc5f376fcc0988ac*"1GsA7jCRBXwq5oUVwfwubqJ4DqwkFpncU48ۢ$J  +@3e1bb1823ed20383c5de1d3f31537a4342f896f0bc6c9e177e60b4bd60cb8a25""1D4QvE6oQ8DmByyA5SeT22jyHQHHfjeKn4"UOP_DUP OP_HASH160 8446b9077e32ad8cac169527b314d55e60b550b8 OP_EQUALVERIFY OP_CHECKSIG*276a9148446b9077e32ad8cac169527b314d55e60b550b888ac*"1D4QvE6oQ8DmByyA5SeT22jyHQHHfjeKn48ۢ$J  +Ô@3e1bb1823ed20383c5de1d3f31537a4342f896f0bc6c9e177e60b4bd60cb8a25""1CVbkkixXo6gcVGTkgwAGDK7yh1HBfTnR4"UOP_DUP OP_HASH160 7e120ac36b4ee7ceb32edef65db5fe9531bb2369 OP_EQUALVERIFY OP_CHECKSIG*276a9147e120ac36b4ee7ceb32edef65db5fe9531bb236988ac*"1CVbkkixXo6gcVGTkgwAGDK7yh1HBfTnR48ۢ$J  + + +1@7c5f927c1a924493a7ae86c491eb18634c14cfa65a828713f31bdba96a562ff5ۢ$"@00000000000000000014bd78c6f54fe36fcf819f8649eea027f9f54b269578fc(-2 +@f66be1cc7020994f3ff6b94b81be06144f60ce09bc4d6e94cfc0cb8ba7389d44B031a652e8b4750229b7a6af118776c722fde8a04cce39ffa795250906a9d1901e22 +@3367b5787b94bef5e216ae90d8070f009c4eae1ffa978725dbd8c5201472c80eB02798f9fa15b8b56b22fefa2adf5d0a627d71386d085023087f1dfd63892b7d4b8B +@7c5f927c1a924493a7ae86c491eb18634c14cfa65a828713f31bdba96a562ff5""1DBwdYS2UJSt9K8A6KFrVtVWdxpQjYG5gZ"UOP_DUP OP_HASH160 85b34599d1af531946419bb9b78ae8425686adca OP_EQUALVERIFY OP_CHECKSIG*276a91485b34599d1af531946419bb9b78ae8425686adca88ac*"1DBwdYS2UJSt9K8A6KFrVtVWdxpQjYG5gZ8ۢ$J  +@7c5f927c1a924493a7ae86c491eb18634c14cfa65a828713f31bdba96a562ff5""12k7g8PtvbfpCvfzwdAW32UPx4zo3rPCsd"UOP_DUP OP_HASH160 131f9575a299f5402c57ffd28d152a43af7d6701 OP_EQUALVERIFY OP_CHECKSIG*276a914131f9575a299f5402c57ffd28d152a43af7d670188ac*"12k7g8PtvbfpCvfzwdAW32UPx4zo3rPCsd8ۢ$J  +݉L@7c5f927c1a924493a7ae86c491eb18634c14cfa65a828713f31bdba96a562ff5""1HEgZTeMbWwv17BRpW32ULRaBtzbbbuqXa"UOP_DUP OP_HASH160 b21871597fec07848ebc0ef7bc1c1efbaa2c8551 OP_EQUALVERIFY OP_CHECKSIG*276a914b21871597fec07848ebc0ef7bc1c1efbaa2c855188ac*"1HEgZTeMbWwv17BRpW32ULRaBtzbbbuqXa8ۢ$J  + + +1@b2ac0eebafabf78962cc1edf2f29af9885771baeaf76f58fe170ab8ddb84e31bۢ$"@00000000000000000014bd78c6f54fe36fcf819f8649eea027f9f54b269578fc(-2 +@69e44cd49835dd8b2a048adb9b7cc114ca7bf59ceede6a11f7245806fbdd94d3B033b7828887b525bfc1a66245884ddd2bf68b6749a11bb5183430ddb4df1804c5e2 +@3e1bb1823ed20383c5de1d3f31537a4342f896f0bc6c9e177e60b4bd60cb8a25B037cca7e86ab3a4b96c6722a7a7bdf9c102d039fb9fa93556a7fb1c6af120a1d7aB +!@b2ac0eebafabf78962cc1edf2f29af9885771baeaf76f58fe170ab8ddb84e31b""1Bma8AU5Q769ezNkuWFjTXYNnGimMknfwg"UOP_DUP OP_HASH160 761f35d3edf0e9a1749a51c9e2df1a5a0df32260 OP_EQUALVERIFY OP_CHECKSIG*276a914761f35d3edf0e9a1749a51c9e2df1a5a0df3226088ac*"1Bma8AU5Q769ezNkuWFjTXYNnGimMknfwg8ۢ$J  +@b2ac0eebafabf78962cc1edf2f29af9885771baeaf76f58fe170ab8ddb84e31b""1GZQtqMr9JX5yoEQtP8wsT98ofzptbriPp"UOP_DUP OP_HASH160 aaab249a3cdedf6d54a78fcbf35458636e65baa1 OP_EQUALVERIFY OP_CHECKSIG*276a914aaab249a3cdedf6d54a78fcbf35458636e65baa188ac*"1GZQtqMr9JX5yoEQtP8wsT98ofzptbriPp8ۢ$J  +@b2ac0eebafabf78962cc1edf2f29af9885771baeaf76f58fe170ab8ddb84e31b""1HevVnsxZBwBaZEcS9tZ3iDEGXdgUvsgqv"UOP_DUP OP_HASH160 b6ae0f46842c1c96b79e73627ce0aad70f9b3789 OP_EQUALVERIFY OP_CHECKSIG*276a914b6ae0f46842c1c96b79e73627ce0aad70f9b378988ac*"1HevVnsxZBwBaZEcS9tZ3iDEGXdgUvsgqv8ۢ$J 1 + + +1@b58172f591c6c97bb599960fd65cbfb248ec67d65f0fa2b0a809386bb25ae4a6ۢ$"@00000000000000000014bd78c6f54fe36fcf819f8649eea027f9f54b269578fc(-2 +@7c5f927c1a924493a7ae86c491eb18634c14cfa65a828713f31bdba96a562ff5B02277da95d08e175d9ec2ef538a6a7a2c2dbed5663316a8dd3d325da6ef3091a752 +@7c5f927c1a924493a7ae86c491eb18634c14cfa65a828713f31bdba96a562ff5B024b4193ba6aafb0bd4bf9cbe653987f0069cc0656f63b1bbeac0d211dd1b068e1B +ɘ@b58172f591c6c97bb599960fd65cbfb248ec67d65f0fa2b0a809386bb25ae4a6""1Lj4B91Qr88LJAzMd7hq1q4K4bnsyrzv7C"UOP_DUP OP_HASH160 d85e82ae42cd4105449387b6eab01b4dd60ce3a4 OP_EQUALVERIFY OP_CHECKSIG*276a914d85e82ae42cd4105449387b6eab01b4dd60ce3a488ac*"1Lj4B91Qr88LJAzMd7hq1q4K4bnsyrzv7C8ۢ$J  + @b58172f591c6c97bb599960fd65cbfb248ec67d65f0fa2b0a809386bb25ae4a6""18sur9AFypBDEbfSJw7Z7jkjW2w3MbY3pd"UOP_DUP OP_HASH160 5669cb11dbb34fded16c1df20e89041f39a6e57f OP_EQUALVERIFY OP_CHECKSIG*276a9145669cb11dbb34fded16c1df20e89041f39a6e57f88ac*"18sur9AFypBDEbfSJw7Z7jkjW2w3MbY3pd8ۢ$J  +C@b58172f591c6c97bb599960fd65cbfb248ec67d65f0fa2b0a809386bb25ae4a6""1B7U3anLumyNJdfHRoKpfuWviQksdDzHXo"UOP_DUP OP_HASH160 6eea54492366a878f4e56098530b1458d0f5e4ae OP_EQUALVERIFY OP_CHECKSIG*276a9146eea54492366a878f4e56098530b1458d0f5e4ae88ac*"1B7U3anLumyNJdfHRoKpfuWviQksdDzHXo8ۢ$J ; + + +1@356f23502b9651b28554a900a4a256bd51c7f51361227daab94a79443758324fۢ$"@00000000000000000014bd78c6f54fe36fcf819f8649eea027f9f54b269578fc(-2 +@b58172f591c6c97bb599960fd65cbfb248ec67d65f0fa2b0a809386bb25ae4a6B031b3a8b555098a7c8a1fc714e75f568fdac5279538814d0220cc7238e7fd510932 +@b58172f591c6c97bb599960fd65cbfb248ec67d65f0fa2b0a809386bb25ae4a6B026f44d422201a78c7201d25167a8a0f8d21889745eb7f21cde1a5907d1194584eB +@356f23502b9651b28554a900a4a256bd51c7f51361227daab94a79443758324f""15sDRhxXcvf9KQu5wFSDpci43qvzbe1kSY"UOP_DUP OP_HASH160 355fac84bf19bea0fc2c5de6812dcd612f60a322 OP_EQUALVERIFY OP_CHECKSIG*276a914355fac84bf19bea0fc2c5de6812dcd612f60a32288ac*"15sDRhxXcvf9KQu5wFSDpci43qvzbe1kSY8ۢ$J  + @356f23502b9651b28554a900a4a256bd51c7f51361227daab94a79443758324f""18cSA5qfuQpiHJtrEHWcN7m97Qpsb2akjF"UOP_DUP OP_HASH160 537c70572f411580eed4a3b508d423245650ee34 OP_EQUALVERIFY OP_CHECKSIG*276a914537c70572f411580eed4a3b508d423245650ee3488ac*"18cSA5qfuQpiHJtrEHWcN7m97Qpsb2akjF8ۢ$J  +9@356f23502b9651b28554a900a4a256bd51c7f51361227daab94a79443758324f""1JuhYTm93KUiazzqjR5zrgdjt4CHEEqWmE"UOP_DUP OP_HASH160 c4719c88a5b29e9c29d4d3253bb78cafa4cc2255 OP_EQUALVERIFY OP_CHECKSIG*276a914c4719c88a5b29e9c29d4d3253bb78cafa4cc225588ac*"1JuhYTm93KUiazzqjR5zrgdjt4CHEEqWmE8ۢ$J ; + +1@355294f497db221e815d7b32c4d2cd42329021bdf9d42a6e1a03eee26bed4493ۢ$"@00000000000000000014bd78c6f54fe36fcf819f8649eea027f9f54b269578fc(-2 +@fa9cd2204d9e91dfdf770bb080567d521f9714153545c20d96380db6a0fefa8cB0380a09ff51eec548b3968065f9916d294652b9b2394f568a7599b5f4464a2b7182 +@fa9cd2204d9e91dfdf770bb080567d521f9714153545c20d96380db6a0fefa8cB033cb76b8f62d077ffdf8f4e0f7ee324d5400e7dbf6f0a92228fe9fd0f24c68b922 +@61a0441a4f8aee0bc2c7e77c3559843959a4b3ead738ecbde0d6440ff32dc455B03a749b68520dbc63849cd8c0593899717ecf941f53616e23e333e43b534240a6fB +@355294f497db221e815d7b32c4d2cd42329021bdf9d42a6e1a03eee26bed4493""17QEfWGmDhczFXJpomrgAZztLRFgmUudNv"UOP_DUP OP_HASH160 4635ba54771fcb0b11c45d9cd2cf2e777171caa4 OP_EQUALVERIFY OP_CHECKSIG*276a9144635ba54771fcb0b11c45d9cd2cf2e777171caa488ac*"17QEfWGmDhczFXJpomrgAZztLRFgmUudNv8ۢ$J  + @355294f497db221e815d7b32c4d2cd42329021bdf9d42a6e1a03eee26bed4493""1Eyv8MMwiTgxVifiN9F6uMMqkxcLNcNVxz"UOP_DUP OP_HASH160 995d46eacf9aaf0c98e6bec7e8214b45f4131614 OP_EQUALVERIFY OP_CHECKSIG*276a914995d46eacf9aaf0c98e6bec7e8214b45f413161488ac*"1Eyv8MMwiTgxVifiN9F6uMMqkxcLNcNVxz8ۢ$J  + @355294f497db221e815d7b32c4d2cd42329021bdf9d42a6e1a03eee26bed4493""1J7bv9ojmUyodfYRc9NL2QLx1PKXSy8QQb"UOP_DUP OP_HASH160 bbb9c7e594234ed26639ee1f19c8694d686d55bc OP_EQUALVERIFY OP_CHECKSIG*276a914bbb9c7e594234ed26639ee1f19c8694d686d55bc88ac*"1J7bv9ojmUyodfYRc9NL2QLx1PKXSy8QQb8ۢ$J ;ܢ$-@0000000000000000000e0d4b08789552960d7ffddc1f4c69b51b08c0ab9ca555"@00000000000000000014bd78c6f54fe36fcf819f8649eea027f9f54b269578fc2ݢ$-@00000000000000000002436caa9aec3d07dba5264dba1204d34958176862dc5d"@0000000000000000000e0d4b08789552960d7ffddc1f4c69b51b08c0ab9ca5552ޢ$߃-@00000000000000000000457e4fd0010d26de9f6fc6e7bc18596c6e4d6332c6a9"@00000000000000000002436caa9aec3d07dba5264dba1204d34958176862dc5d2ߢ$Ɔ-@0000000000000000000684ca6e78b950107ad39c85ce020d097cf9d72c67118a"@00000000000000000000457e4fd0010d26de9f6fc6e7bc18596c6e4d6332c6a92$-@00000000000000000009ea8dc869a9bf8d57e1fee609373cd4b7697a072da187"@0000000000000000000684ca6e78b950107ad39c85ce020d097cf9d72c67118a2$-@000000000000000000193332a8e6a99824aeae94d3df7965f3bf31e4c9d97329"@00000000000000000009ea8dc869a9bf8d57e1fee609373cd4b7697a072da1872$-@0000000000000000000df7133eab6acb00ce6da3e566f1c1274d3fb3caf17206"@000000000000000000193332a8e6a99824aeae94d3df7965f3bf31e4c9d973292$-@000000000000000000149e0f76fc7772f037b41800580b524e11b664554036a1"@0000000000000000000df7133eab6acb00ce6da3e566f1c1274d3fb3caf172062$-@0000000000000000000100c664ac29f8a4348998f9a4688615578264d4277594"@000000000000000000149e0f76fc7772f037b41800580b524e11b664554036a12$-@00000000000000000012ca1b0971247b27e59409c0bce7361ced2f9e0a69d33e"@0000000000000000000100c664ac29f8a4348998f9a4688615578264d42775942$-@000000000000000000174f863c21451472369b4de4748af64f1fcc1602ade45b"@00000000000000000012ca1b0971247b27e59409c0bce7361ced2f9e0a69d33e2$-@00000000000000000017d69ea8c961cca59ab1240660c04b4c7e7aca54de0687"@000000000000000000174f863c21451472369b4de4748af64f1fcc1602ade45b2$-@000000000000000000051423cb4f2bd2d5db31da43195a749f096ca9ab82f1e0"@00000000000000000017d69ea8c961cca59ab1240660c04b4c7e7aca54de06872 $-@0000000000000000001535ed153bc08d970ecef85774586af83d54fa11515da1"@000000000000000000051423cb4f2bd2d5db31da43195a749f096ca9ab82f1e02 + + + +1@62b3d1555e2276a00d94fcd570fc24f266064337df6f75f8c0c50a9c2293f9f6$"@0000000000000000001535ed153bc08d970ecef85774586af83d54fa11515da1(-2 +@61a0441a4f8aee0bc2c7e77c3559843959a4b3ead738ecbde0d6440ff32dc455B03743130556ff822897cfe51d85f77d486b2adf6a597edb167f6104837c0436cf32 +@62c35d2d33e5375b69c9708553277ff7b4393c5222f1f6ffbe630123f17a84eeB03eb5ad426a948f6149007afa6ee197a3223a12d7e35d75788b818ca4c4b16d3e9B +@62b3d1555e2276a00d94fcd570fc24f266064337df6f75f8c0c50a9c2293f9f6"!1FJmGjmdB4P6LsA8rMGtX9rSNEXJpHTzS"UOP_DUP OP_HASH160 02b4a6ca0752c8d0a483982ec475f986378669ff OP_EQUALVERIFY OP_CHECKSIG*276a91402b4a6ca0752c8d0a483982ec475f986378669ff88ac*!1FJmGjmdB4P6LsA8rMGtX9rSNEXJpHTzS8$J  + @62b3d1555e2276a00d94fcd570fc24f266064337df6f75f8c0c50a9c2293f9f6""171TsNRzepfV67GS6XtS43ELitm2BzjA8V"UOP_DUP OP_HASH160 41e72eefcd13db3b51689520180e43f473cec9b1 OP_EQUALVERIFY OP_CHECKSIG*276a91441e72eefcd13db3b51689520180e43f473cec9b188ac*"171TsNRzepfV67GS6XtS43ELitm2BzjA8V8$J  + +@62b3d1555e2276a00d94fcd570fc24f266064337df6f75f8c0c50a9c2293f9f6""16yMu8fyC9MMK9Ne3881Hiqyg12GU3fZFZ"UOP_DUP OP_HASH160 41815e455a766d292e12ebf1ee25c4e718cec13b OP_EQUALVERIFY OP_CHECKSIG*276a91441815e455a766d292e12ebf1ee25c4e718cec13b88ac*"16yMu8fyC9MMK9Ne3881Hiqyg12GU3fZFZ8$J $ۀ-@00000000000000000002897cf71486449d3cb05e8c9c1e1d905c5a9536556c89"@0000000000000000001535ed153bc08d970ecef85774586af83d54fa11515da12$-@000000000000000000130a01163935d1d5143e0c36722f699f7e4ba471992efa"@00000000000000000002897cf71486449d3cb05e8c9c1e1d905c5a9536556c892$-@00000000000000000009904cebaa68dd976f5263539069e13e981936e8ab49bc"@000000000000000000130a01163935d1d5143e0c36722f699f7e4ba471992efa2$舦-@00000000000000000012eb13c7dcb7eed99d85bd1eab8470b8c24ffad4fb634d"@00000000000000000009904cebaa68dd976f5263539069e13e981936e8ab49bc2$-@0000000000000000001843da8ba9e0efb52b2ec86850be18f11cab04890b3bab"@00000000000000000012eb13c7dcb7eed99d85bd1eab8470b8c24ffad4fb634d2$-@000000000000000000141b3a1ed13f86a56e06214d020cadcfa32d4f7dac128b"@0000000000000000001843da8ba9e0efb52b2ec86850be18f11cab04890b3bab2$-@00000000000000000014f79a6109eed17c7ef3eaacac2bbb6cd0417a5c37f20e"@000000000000000000141b3a1ed13f86a56e06214d020cadcfa32d4f7dac128b2$-@00000000000000000001299fc84c9156d1745640d81ff0bc07543ff8185dc366"@00000000000000000014f79a6109eed17c7ef3eaacac2bbb6cd0417a5c37f20e2$-@000000000000000000010e97aa9d24a8ead2f1940c26fa0704b789cfd4237f80"@00000000000000000001299fc84c9156d1745640d81ff0bc07543ff8185dc3662$-@000000000000000000136bcc1edd699bd4ed327c9a34951cd1e6b9ce4ad1308c"@000000000000000000010e97aa9d24a8ead2f1940c26fa0704b789cfd4237f802$-@00000000000000000018db2403d5ec8ac41674ddc9c42aca57106b50a612c983"@000000000000000000136bcc1edd699bd4ed327c9a34951cd1e6b9ce4ad1308c2$-@00000000000000000013cecbeecf0c9fb0457ec6ad6c7683d9b4a3f4471cbfba"@00000000000000000018db2403d5ec8ac41674ddc9c42aca57106b50a612c9832$-@00000000000000000010945253d187c5538deadb078e912c60126ec2d1190309"@00000000000000000013cecbeecf0c9fb0457ec6ad6c7683d9b4a3f4471cbfba2$-@0000000000000000000cc0b47495af5aa532203a875919afd8f15cc921b545db"@00000000000000000010945253d187c5538deadb078e912c60126ec2d11903092 $-@00000000000000000000b56d57e9dd1af2bc5f77404c3d333423fb458a89ae25"@0000000000000000000cc0b47495af5aa532203a875919afd8f15cc921b545db2 + +1@600b756aa662fad99e89f31915959e37cfa43e33dbda169ecca6fde114eccab1$"@00000000000000000000b56d57e9dd1af2bc5f77404c3d333423fb458a89ae25(-2 +@aa9def55b42f010ceaa8f6a65f80cb8900ac89e0c56d7e3eb1cb1351ea673fe4B0334933e8ce4e11da3792fc15fd7840caf2d693e1e296906d649b9ec23646647ec2 +@55fa981958396236640e79c82d84a5d8b8c0816ea027a4b6611e1e56e082fc1dB033d249acc76bd2df2f633d297e03899be5968676c8588bb7cd65d8f64938231cdB +@600b756aa662fad99e89f31915959e37cfa43e33dbda169ecca6fde114eccab1""14E6XZK8KCo2yF5dFPbxzPLGDjTndfCMyv"UOP_DUP OP_HASH160 236265ffc4302576482a1ee040b41ecb4ad51bc4 OP_EQUALVERIFY OP_CHECKSIG*276a914236265ffc4302576482a1ee040b41ecb4ad51bc488ac*"14E6XZK8KCo2yF5dFPbxzPLGDjTndfCMyv8$J  + +Ȓ@600b756aa662fad99e89f31915959e37cfa43e33dbda169ecca6fde114eccab1""13JsWoxNCYoy2TKjDEZvddEeyDGiETjGfB"UOP_DUP OP_HASH160 19517d6695a610cdf7326e34d827855bdb2fc2a3 OP_EQUALVERIFY OP_CHECKSIG*276a91419517d6695a610cdf7326e34d827855bdb2fc2a388ac*"13JsWoxNCYoy2TKjDEZvddEeyDGiETjGfB8$J  +@600b756aa662fad99e89f31915959e37cfa43e33dbda169ecca6fde114eccab1"l"6OP_RETURN 13013993d37c053bce0971a8ae3489de9503eae13076*06a1613013993d37c053bce0971a8ae3489de9503eae1307629|; q4ޕ0v8$J   + $-@00000000000000000004fc8ffc4d621009d9ba8a7282d7f1ba32ee7e6aa3f521"@00000000000000000000b56d57e9dd1af2bc5f77404c3d333423fb458a89ae252 + + + +1@8afaed9a3f5a254b6216a46573b78123cc0152ce699e265d26c9b92cd54909c4$"@00000000000000000004fc8ffc4d621009d9ba8a7282d7f1ba32ee7e6aa3f521(-2 +@47bde2a65ee4c88a69613234e51f0bf0f5c325fe2ab668f7dd4d970b9885168aB02b63764d40615d35a9525dc07f209815cfe32ba101995f2b10afead02b3e23f032 +@41717d506d8e105f3ea40c39bc7160e62d8a304e36363a7f8f665e4b6efe287bB0299f6b51d2c6bb5d616727549a86145005a17ac04e32bc7b666604e18cf70140bB +@8afaed9a3f5a254b6216a46573b78123cc0152ce699e265d26c9b92cd54909c4""1DNETd1yLZSYnFq1rUw2jHiisnYuMaziGy"UOP_DUP OP_HASH160 87a57ac6c72bfae2e45575ad67fdc49fe89e7c34 OP_EQUALVERIFY OP_CHECKSIG*276a91487a57ac6c72bfae2e45575ad67fdc49fe89e7c3488ac*"1DNETd1yLZSYnFq1rUw2jHiisnYuMaziGy8$J  +@8afaed9a3f5a254b6216a46573b78123cc0152ce699e265d26c9b92cd54909c4""14vAfqMUEQ9xTeTTrEACVFuCc1Dk1XCost"UOP_DUP OP_HASH160 2af67ebc0984cdca97760742542a566600183f46 OP_EQUALVERIFY OP_CHECKSIG*276a9142af67ebc0984cdca97760742542a566600183f4688ac*"14vAfqMUEQ9xTeTTrEACVFuCc1Dk1XCost8$J  +@8afaed9a3f5a254b6216a46573b78123cc0152ce699e265d26c9b92cd54909c4""1DJ8eLXUZVNhxvkn7LwDj7woaZaZoDhLEg"UOP_DUP OP_HASH160 86def61fec8738cb1c789588ef8f091ac4b8b1c3 OP_EQUALVERIFY OP_CHECKSIG*276a91486def61fec8738cb1c789588ef8f091ac4b8b1c388ac*"1DJ8eLXUZVNhxvkn7LwDj7woaZaZoDhLEg8$J '$-@00000000000000000013109941b6404137e90d037fbf763a3531ab7aefab8509"@00000000000000000004fc8ffc4d621009d9ba8a7282d7f1ba32ee7e6aa3f5212$襽-@00000000000000000012cb8e450d908ccaa8cd57c2c70e4f609f45ab29bdb577"@00000000000000000013109941b6404137e90d037fbf763a3531ab7aefab85092 + + +1@18f50d0b76c89d14c9f8e51f03c553026f2a68e11d9457ef0b1db71be8d5fc0a$"@00000000000000000012cb8e450d908ccaa8cd57c2c70e4f609f45ab29bdb577(襽-2 +@d977ba6d5986696daf19fa47feaafc1a1379dae484cd56f6fcdfa29a8f69f927B0373a6ba340b4da0c51569cedf5559be20c16210011a9ce7b0a54af277a44c3b1f2 +@3cc17727805eaf5ef62058e80f3ce361a1698f0d1b89f7d88b94837b6ea3fb77B0289043fce5035ee5a76b648d4ad85c6afc652670b89cb4f39b90a4a7447a07903B +@18f50d0b76c89d14c9f8e51f03c553026f2a68e11d9457ef0b1db71be8d5fc0a""1Cm77sP9pnQk1EkssePzVULC1KXc29KJPq"UOP_DUP OP_HASH160 8100cb189d0fa0dcb723695ec65c4e5ce046b9c4 OP_EQUALVERIFY OP_CHECKSIG*276a9148100cb189d0fa0dcb723695ec65c4e5ce046b9c488ac*"1Cm77sP9pnQk1EkssePzVULC1KXc29KJPq8$J  +@18f50d0b76c89d14c9f8e51f03c553026f2a68e11d9457ef0b1db71be8d5fc0a""12XfKTmXAAPm2qznrjKxRCrWVs2aYYQ3B7"UOP_DUP OP_HASH160 10c497554835b2b539fe18bfd042cf7fd05bf1d1 OP_EQUALVERIFY OP_CHECKSIG*276a91410c497554835b2b539fe18bfd042cf7fd05bf1d188ac*"12XfKTmXAAPm2qznrjKxRCrWVs2aYYQ3B78$J  +@18f50d0b76c89d14c9f8e51f03c553026f2a68e11d9457ef0b1db71be8d5fc0a""1Egw41vn318aLxNdsYJUktY2KV9UzNwAFK"UOP_DUP OP_HASH160 9626fa6091f28b944c502f27eb4fd074c838bc38 OP_EQUALVERIFY OP_CHECKSIG*276a9149626fa6091f28b944c502f27eb4fd074c838bc3888ac*"1Egw41vn318aLxNdsYJUktY2KV9UzNwAFK8$J C + + +1@2c9061faeb345617e0beaf2ca893248c09a7fc087e8b9ca89377507bcfcea7ae$"@00000000000000000012cb8e450d908ccaa8cd57c2c70e4f609f45ab29bdb577(襽-2 +@481bd5f5b5a8c6bf25d90d6b401c892ee6ad3b529b1a0ed3fb83a4ba05c6326dB03fa00208812ad33c5e4e42814bc2a749528e3c8eca5568f4a9fd0679d050ef74f2 +@cda5f4dc60f4826c1e05b08c9cfc9eebec220fd4bd97220abe7f4c027b0f3b54B02380a40541412147d1e5803af78d104f6db770b8921a20801ddcad2ba5503425cB +@2c9061faeb345617e0beaf2ca893248c09a7fc087e8b9ca89377507bcfcea7ae""16vnEkwjJKitCbtXSYxtXZhCQsQkUAp8Qn"UOP_DUP OP_HASH160 41046fdfb5b0eb1e483d0854b91adbc6420f9297 OP_EQUALVERIFY OP_CHECKSIG*276a91441046fdfb5b0eb1e483d0854b91adbc6420f929788ac*"16vnEkwjJKitCbtXSYxtXZhCQsQkUAp8Qn8$J  +\@2c9061faeb345617e0beaf2ca893248c09a7fc087e8b9ca89377507bcfcea7ae""1B52FTrcwyTVi5Ny9vp6rGRWuAfpkWXNhz"UOP_DUP OP_HASH160 6e73f6f00aa24a6c890bc63227e030d6718e099a OP_EQUALVERIFY OP_CHECKSIG*276a9146e73f6f00aa24a6c890bc63227e030d6718e099a88ac*"1B52FTrcwyTVi5Ny9vp6rGRWuAfpkWXNhz8$J  +鋤@2c9061faeb345617e0beaf2ca893248c09a7fc087e8b9ca89377507bcfcea7ae""19PqsqYF2zm6rwUTrqeSgSJAhCfRsscWn6"UOP_DUP OP_HASH160 5c12f51d19b0f6bc103c3329f0015371b3076222 OP_EQUALVERIFY OP_CHECKSIG*276a9145c12f51d19b0f6bc103c3329f0015371b307622288ac*"19PqsqYF2zm6rwUTrqeSgSJAhCfRsscWn68$J &$-@0000000000000000001760f96f34c38a9650e93b71ec4668dce87a66b060755f"@00000000000000000012cb8e450d908ccaa8cd57c2c70e4f609f45ab29bdb5772$-@0000000000000000001699b8eac384cd785cb2d8bcced4d0d8d065fcf272b951"@0000000000000000001760f96f34c38a9650e93b71ec4668dce87a66b060755f2$-@000000000000000000182828ba7a627edb5319926e70637521bd0613e56a74d4"@0000000000000000001699b8eac384cd785cb2d8bcced4d0d8d065fcf272b9512$؛-@0000000000000000000b4e864d5e91be17fe729e865b96734f5b86824e0ff0ed"@000000000000000000182828ba7a627edb5319926e70637521bd0613e56a74d42 $-@00000000000000000001f0e0217972faf2e7492bcbb4224db312753a34aadff8"@0000000000000000000b4e864d5e91be17fe729e865b96734f5b86824e0ff0ed2 + + + +1@cfe8a3d71fe1c9ed4b4c6a37f4d4282914b0a5b7fb62dcacc7363988b9642798$"@00000000000000000001f0e0217972faf2e7492bcbb4224db312753a34aadff8(-2 +@8afaed9a3f5a254b6216a46573b78123cc0152ce699e265d26c9b92cd54909c4B0241dcf6de534d4a088a500f52b72473efee70b308b3d54eb46f1d74a741c7015e2 +@591c8e6eef27b68929d3043d616a1c7d5ac988cf47f910da167c4288275e13c2B02f53b9a936b6f5c26e4bff40bd4bdcf48b28b58da2a3a1babd24576ae519b9d20B +@cfe8a3d71fe1c9ed4b4c6a37f4d4282914b0a5b7fb62dcacc7363988b9642798""1CCetFUxPqZdi4JL8G7C2oodEBY5YK4XdK"UOP_DUP OP_HASH160 7add9535b51c4c31696e8889c06c56f540f39b55 OP_EQUALVERIFY OP_CHECKSIG*276a9147add9535b51c4c31696e8889c06c56f540f39b5588ac*"1CCetFUxPqZdi4JL8G7C2oodEBY5YK4XdK8$J  +@cfe8a3d71fe1c9ed4b4c6a37f4d4282914b0a5b7fb62dcacc7363988b9642798""1LcgSMkyzZUJMwCoxE5GijV67iM9gDchrY"UOP_DUP OP_HASH160 d729de7bba66773e2c06955352e0c2d14fc7ed4f OP_EQUALVERIFY OP_CHECKSIG*276a914d729de7bba66773e2c06955352e0c2d14fc7ed4f88ac*"1LcgSMkyzZUJMwCoxE5GijV67iM9gDchrY8$J  +@cfe8a3d71fe1c9ed4b4c6a37f4d4282914b0a5b7fb62dcacc7363988b9642798""1JFNQaErneQyqPyPJoiPUtZrC4zVp4Cyym"UOP_DUP OP_HASH160 bd31d4bb0e22ebf2d1a74ce6d58f54bb7f730d58 OP_EQUALVERIFY OP_CHECKSIG*276a914bd31d4bb0e22ebf2d1a74ce6d58f54bb7f730d5888ac*"1JFNQaErneQyqPyPJoiPUtZrC4zVp4Cyym8$J  $-@000000000000000000130ef2b57c81ed43b0c26f000a5f73e37f1574f7b4e751"@00000000000000000001f0e0217972faf2e7492bcbb4224db312753a34aadff82$-@00000000000000000019a180c5e901b3d3c6573d371d6afd182e892eb183d9d4"@000000000000000000130ef2b57c81ed43b0c26f000a5f73e37f1574f7b4e7512$-@0000000000000000001633a2a70dec11e43de7095692e6644051750e8f74d113"@00000000000000000019a180c5e901b3d3c6573d371d6afd182e892eb183d9d42$-@0000000000000000000cc8a1481495e8dc8fb4efce5a197f786b91bf7570f87a"@0000000000000000001633a2a70dec11e43de7095692e6644051750e8f74d1132 $-@000000000000000000178e2c94dcc42573c2c08a32ef9837c9c7e2c0c679e723"@0000000000000000000cc8a1481495e8dc8fb4efce5a197f786b91bf7570f87a2 + + +1@b51b72d0b65d7852d8f8ac89ae76af0bc67471f9cc8e80bacda6a02677587910$"@000000000000000000178e2c94dcc42573c2c08a32ef9837c9c7e2c0c679e723(-2 +@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5B031c430780d30d684697e1dd41056dfd1cd1d76fa05cc7394811281f69575c35d02 +@900095f8413c3dd8d278d249775ff0527201769337cfbb36a50ca6c51826a38eB03a520139b491b01c642b93880d36e4912182c315527bd8da976c9f8d851dae4b0B + @b51b72d0b65d7852d8f8ac89ae76af0bc67471f9cc8e80bacda6a02677587910""13fnPtwGCjUYyPdnaKkhnJhLuCkenAPJe4"UOP_DUP OP_HASH160 1d45f3a579567e0186e5c8d8ea8447e70eb0f326 OP_EQUALVERIFY OP_CHECKSIG*276a9141d45f3a579567e0186e5c8d8ea8447e70eb0f32688ac*"13fnPtwGCjUYyPdnaKkhnJhLuCkenAPJe48$J  + +@b51b72d0b65d7852d8f8ac89ae76af0bc67471f9cc8e80bacda6a02677587910""1MxBVwugWSPeBB7rwWqz8C9FywrKzAXGKk"UOP_DUP OP_HASH160 e5d228634fbc5aa42d9a8aafcdf298abc6abef63 OP_EQUALVERIFY OP_CHECKSIG*276a914e5d228634fbc5aa42d9a8aafcdf298abc6abef6388ac*"1MxBVwugWSPeBB7rwWqz8C9FywrKzAXGKk8$J  +@b51b72d0b65d7852d8f8ac89ae76af0bc67471f9cc8e80bacda6a02677587910"l"6OP_RETURN 130186d700618dac8d167d0f7c18fb5c9fbaf5ecb807*06a16130186d700618dac8d167d0f7c18fb5c9fbaf5ecb8072a}|\8$J   +F$-@0000000000000000000038648c2877fae502b44c92bb67cedccaf93d1edaef7a"@000000000000000000178e2c94dcc42573c2c08a32ef9837c9c7e2c0c679e7232E + + +1@6f95117ea20544ed040ec7a2877f7025e9020cc642ae1aacad51fa1fe7ccad91$"@0000000000000000000038648c2877fae502b44c92bb67cedccaf93d1edaef7a(-2 +@3068e6071b9bca78c81fef1d88e04a44ea117fb92d25e49a493de57bf13b5950B03d40872f1396fb90ad3c1cdd3e3ee0abefb6759893730858599225d28fdaafb0d2 +@dbfdb5a57aab8db28f09e5aeefa0bb126d99c8b86016fbfbec3fed7b9385c5e7B0217f40e7e44bd908966bd64ba00984c4424b4ca85a21ccb5d92fb21cdf087985aB +'@6f95117ea20544ed040ec7a2877f7025e9020cc642ae1aacad51fa1fe7ccad91""1961fVVFMnQunrKVtWVsBsReLvL6q6VT3R"UOP_DUP OP_HASH160 58b3a3dadeef75a30004204348af85a47cfea651 OP_EQUALVERIFY OP_CHECKSIG*276a91458b3a3dadeef75a30004204348af85a47cfea65188ac*"1961fVVFMnQunrKVtWVsBsReLvL6q6VT3R8$J  +׸y@6f95117ea20544ed040ec7a2877f7025e9020cc642ae1aacad51fa1fe7ccad91""18W72M3Ti72wCXypmXgu8P55ffKk1d8PFn"UOP_DUP OP_HASH160 5249f8a695f970ad90298ee54321b41f2146d5d1 OP_EQUALVERIFY OP_CHECKSIG*276a9145249f8a695f970ad90298ee54321b41f2146d5d188ac*"18W72M3Ti72wCXypmXgu8P55ffKk1d8PFn8$J  +@6f95117ea20544ed040ec7a2877f7025e9020cc642ae1aacad51fa1fe7ccad91""151ZdfYj9i6ANyJWd2wQqpTa3BAnqhiDnZ"UOP_DUP OP_HASH160 2bfbbe3a8a3ef7594fc13d657cfaf8244ed64248 OP_EQUALVERIFY OP_CHECKSIG*276a9142bfbbe3a8a3ef7594fc13d657cfaf8244ed6424888ac*"151ZdfYj9i6ANyJWd2wQqpTa3BAnqhiDnZ8$J  + + +1@8131ee058e6f70e9a72a1488b8055f8266fd81de35df99a3ff778fe2c6166332$"@0000000000000000000038648c2877fae502b44c92bb67cedccaf93d1edaef7a(-2 +@4e4804a54394ad12f014bb3f6c182ad0ae3b088e253b6af20cf16ee6282a5938B02b8878cbdb544c3e3520130019de25db694d4e4649d895f10515631329c136f772 +@c1822a7ef6309d2361243751d390fb78957b11672bdba314a8b9706ce0919793B02746065661445321344f69242aa79bf52b319a62387784f32f5c8a6158a347144B +@8131ee058e6f70e9a72a1488b8055f8266fd81de35df99a3ff778fe2c6166332"!1N9cb7ARzpbwiyV3DHEGzxxzZrERXAaw7"UOP_DUP OP_HASH160 03ffeceacd68d64448bae8ca100ba28644669790 OP_EQUALVERIFY OP_CHECKSIG*276a91403ffeceacd68d64448bae8ca100ba2864466979088ac*!1N9cb7ARzpbwiyV3DHEGzxxzZrERXAaw78$J  +\@8131ee058e6f70e9a72a1488b8055f8266fd81de35df99a3ff778fe2c6166332""1C1So6t8rcxjcQNrwH7jBEWR9xmHMHPmcJ"UOP_DUP OP_HASH160 78beea842fecc4177742ac6b63c35b287e89638b OP_EQUALVERIFY OP_CHECKSIG*276a91478beea842fecc4177742ac6b63c35b287e89638b88ac*"1C1So6t8rcxjcQNrwH7jBEWR9xmHMHPmcJ8$J  +@8131ee058e6f70e9a72a1488b8055f8266fd81de35df99a3ff778fe2c6166332""12BrCdAAGtBJUZ9WUeEZnu8QjaAzuToWsC"UOP_DUP OP_HASH160 0d055b17b2c4dc12f54cb2dbae13efe98acc10cf OP_EQUALVERIFY OP_CHECKSIG*276a9140d055b17b2c4dc12f54cb2dbae13efe98acc10cf88ac*"12BrCdAAGtBJUZ9WUeEZnu8QjaAzuToWsC8$J  + +1@e7ace82686cdf05261f6731adb9e427cbbdc49835fe0e19fbc0a7230c4a0bf32$"@0000000000000000000038648c2877fae502b44c92bb67cedccaf93d1edaef7a(-2 +@72449073a6daa2ef84a9afc20e51d7e360fde4b77a92ab89062644ed8ef64f36B03d074d786c832f8ec9debc8bf4005bedfdb485a3d75cfb0aad9e4fa2e97e795232 +@821dd531818071726eefe5d970b39a5910bd49bf78fb68cf9f97e4713530748bB02f371ce5f7828c5881e5938f1648bf6021638ba8903428ca7f474f5ef9472f0bf2 +@386c8c43d9a0f2c8312ccc75ae4cb90491398ce87d8bbaac5bf0166599bf735fB03e8e8b5f7393211baabcb2111cd873b0003902033d72449e5e018ed123f3875aa2 +@88afe98d6441c75637282faae92843556af4e4980ca91e6980cebf9e318fd5aeB02ac42fd77d171a29e2d454f5b678571317f7fcb6a0fcdc5dc7e4fc3d21726fbb02 +@e0cc1d19880068f4ca9d48d29101fc7b42631fe798e53e013177985ffb017137B0261341ad21a029386f71c4700458609f5cba93bd85d01a5e1de6d2f9c3a5e265eB + @e7ace82686cdf05261f6731adb9e427cbbdc49835fe0e19fbc0a7230c4a0bf32""1JZ77NutdGsDJ2pFM1cywPS1oJoFMDnTLh"UOP_DUP OP_HASH160 c08c8ca82793821b6199cdd8eb664564d755c718 OP_EQUALVERIFY OP_CHECKSIG*276a914c08c8ca82793821b6199cdd8eb664564d755c71888ac*"1JZ77NutdGsDJ2pFM1cywPS1oJoFMDnTLh8$J  +\@e7ace82686cdf05261f6731adb9e427cbbdc49835fe0e19fbc0a7230c4a0bf32""19xMTUsTLPH25d4obvLc3BfePuPhnC18p7"UOP_DUP OP_HASH160 6238f5dfc12c706ad29d3ea09588c4c78f7baddf OP_EQUALVERIFY OP_CHECKSIG*276a9146238f5dfc12c706ad29d3ea09588c4c78f7baddf88ac*"19xMTUsTLPH25d4obvLc3BfePuPhnC18p78$J  +@e7ace82686cdf05261f6731adb9e427cbbdc49835fe0e19fbc0a7230c4a0bf32""1MnjsXiNyVBLSqyJubyse61NrnwZcL5jnL"UOP_DUP OP_HASH160 e409056245be9bd1bf3de5f377c1890003698e6d OP_EQUALVERIFY OP_CHECKSIG*276a914e409056245be9bd1bf3de5f377c1890003698e6d88ac*"1MnjsXiNyVBLSqyJubyse61NrnwZcL5jnL8$J  + +1@2392ab2f2389466e8a5c3b942c0a00d2b1d13ca142bbf51a1f4bcd496cdb89af$"@0000000000000000000038648c2877fae502b44c92bb67cedccaf93d1edaef7a(-2 +@06fc710a122cbee79c752d521720d1251c5d9295fb997279d775f010b8b914a9B02d616c084391286cbcd77849a03dc19bc218f2b4184eb589813aa5e2a32a0920f2 +@e7ace82686cdf05261f6731adb9e427cbbdc49835fe0e19fbc0a7230c4a0bf32B037b4c2e4ef31e5d73da77e3b3ba843fdad8bce54c4e9dcb1e562815cbbdefe11c2 +@6f95117ea20544ed040ec7a2877f7025e9020cc642ae1aacad51fa1fe7ccad91B031ae5391f88f5c78d8f9db28876417bef5da33e571943d070880164b955836e982 +@8131ee058e6f70e9a72a1488b8055f8266fd81de35df99a3ff778fe2c6166332B025080706c73303d58567abb884fd464a73bbff4550d2373cfb72c2f58a2a5d677B +ߌ@2392ab2f2389466e8a5c3b942c0a00d2b1d13ca142bbf51a1f4bcd496cdb89af""1P4h9NhViPSE4YefjZAEnreNgHmC8Q6cAQ"UOP_DUP OP_HASH160 f20586a5fcc2591686a9ed8a0ced843b8ba1cf34 OP_EQUALVERIFY OP_CHECKSIG*276a914f20586a5fcc2591686a9ed8a0ced843b8ba1cf3488ac*"1P4h9NhViPSE4YefjZAEnreNgHmC8Q6cAQ8$J  +\@2392ab2f2389466e8a5c3b942c0a00d2b1d13ca142bbf51a1f4bcd496cdb89af""128qiDNQEkSkELMV3fWo4uV4UayktLg3YY"UOP_DUP OP_HASH160 0c73b2f5499bb23e00771b5cfb331083936fcb70 OP_EQUALVERIFY OP_CHECKSIG*276a9140c73b2f5499bb23e00771b5cfb331083936fcb7088ac*"128qiDNQEkSkELMV3fWo4uV4UayktLg3YY8$J  +@2392ab2f2389466e8a5c3b942c0a00d2b1d13ca142bbf51a1f4bcd496cdb89af""12bwyquvM7uqBfVxXS56WgEFweseg7N9NS"UOP_DUP OP_HASH160 119429dcc7f7c1ff3ce01672e74d2ae5eb9a2ab1 OP_EQUALVERIFY OP_CHECKSIG*276a914119429dcc7f7c1ff3ce01672e74d2ae5eb9a2ab188ac*"12bwyquvM7uqBfVxXS56WgEFweseg7N9NS8$J  + + +1@a30012faeeaa171cd819426553d0b852d7e0f054f1a2d838ad274d751365559f$"@0000000000000000000038648c2877fae502b44c92bb67cedccaf93d1edaef7a(-2 +@500295a0141fa525135eaa6c47eba48a80e58ecf9acc75ff3db52313f9ea4944B02d2e2bb2157afb6b3fe89c06c8d1e9e78c9003974c30b38f24cb9dd3805b5f7f92 +@2392ab2f2389466e8a5c3b942c0a00d2b1d13ca142bbf51a1f4bcd496cdb89afB022470531d8ef05a5b33831f026cd5f57f73a7ea67655e0cb8ea81e64cae80b517B +@a30012faeeaa171cd819426553d0b852d7e0f054f1a2d838ad274d751365559f""16BPtNzYXNLFVypoLfZeRCy6H9mSSx2f21"UOP_DUP OP_HASH160 38cfe486b5357f8b9754d575b5c2b2affbf9ec49 OP_EQUALVERIFY OP_CHECKSIG*276a91438cfe486b5357f8b9754d575b5c2b2affbf9ec4988ac*"16BPtNzYXNLFVypoLfZeRCy6H9mSSx2f218$J  +\@a30012faeeaa171cd819426553d0b852d7e0f054f1a2d838ad274d751365559f""16TF7cE8CknArMZAxnVGKU2w5NzkpQXNfQ"UOP_DUP OP_HASH160 3bcf39c30aba9d0ce62c6bd7dbb8594d44fc590c OP_EQUALVERIFY OP_CHECKSIG*276a9143bcf39c30aba9d0ce62c6bd7dbb8594d44fc590c88ac*"16TF7cE8CknArMZAxnVGKU2w5NzkpQXNfQ8$J  +n@a30012faeeaa171cd819426553d0b852d7e0f054f1a2d838ad274d751365559f""15o8iahb2zik6UJMstMDn1jHUMtZyaCVRr"UOP_DUP OP_HASH160 349a144210e329cb718b240019db4beab21baeaf OP_EQUALVERIFY OP_CHECKSIG*276a914349a144210e329cb718b240019db4beab21baeaf88ac*"15o8iahb2zik6UJMstMDn1jHUMtZyaCVRr8$J  + + +1@dc6d1d5668f568ed269f41546f8173b5d8995f2f71dc97e6ecdc750a9fa2c5ee$"@0000000000000000000038648c2877fae502b44c92bb67cedccaf93d1edaef7a(-2 +@58dae32df3ff623ee6d3f223f15e979de203a484c6430a01ce7708be38207cb2B03dc68ee9007b1880a1464e09cd2abb8309c0c68c2233d242b8200259e5924ba492 +@a30012faeeaa171cd819426553d0b852d7e0f054f1a2d838ad274d751365559fB02096d76cd4186c4cf3caed18259ed28f6f72937437bdc6b0f258697d5f7fc4c58B +@dc6d1d5668f568ed269f41546f8173b5d8995f2f71dc97e6ecdc750a9fa2c5ee""1NRzRjMgUcjDbsgMXLTecSaUGYErPiKfvr"UOP_DUP OP_HASH160 eb148fc9d98dcb1ba9cf497ce26b2ed0c63a756c OP_EQUALVERIFY OP_CHECKSIG*276a914eb148fc9d98dcb1ba9cf497ce26b2ed0c63a756c88ac*"1NRzRjMgUcjDbsgMXLTecSaUGYErPiKfvr8$J  +\@dc6d1d5668f568ed269f41546f8173b5d8995f2f71dc97e6ecdc750a9fa2c5ee""16nivdN8v2L8XtxwMuqvKDzzEdpDgRdu6F"UOP_DUP OP_HASH160 3f7e5816a5367c887030be9d8d755aac4e030b35 OP_EQUALVERIFY OP_CHECKSIG*276a9143f7e5816a5367c887030be9d8d755aac4e030b3588ac*"16nivdN8v2L8XtxwMuqvKDzzEdpDgRdu6F8$J  +@dc6d1d5668f568ed269f41546f8173b5d8995f2f71dc97e6ecdc750a9fa2c5ee""1KdSnLjEgrsvxpYZrXDTLekhL4oCtG9MH2"UOP_DUP OP_HASH160 cc56c29eb1106292d321ab1651d7de23992a1468 OP_EQUALVERIFY OP_CHECKSIG*276a914cc56c29eb1106292d321ab1651d7de23992a146888ac*"1KdSnLjEgrsvxpYZrXDTLekhL4oCtG9MH28$J $-@0000000000000000000684fe33d13675a0a19fa7093519f17f985af11fe2cd3f"@0000000000000000000038648c2877fae502b44c92bb67cedccaf93d1edaef7a2$-@00000000000000000017de39e496e1bb63c8ee10f95021ab97e05e29897cdd2a"@0000000000000000000684fe33d13675a0a19fa7093519f17f985af11fe2cd3f2 + +1@6702fd936c824698619e884cdc23bf0d9e13c06d2d6339236e237533b2aaf039$"@00000000000000000017de39e496e1bb63c8ee10f95021ab97e05e29897cdd2a(-2 +@c25d8d65bfbe0c1565bf86dbdf042600a39b944d748d0d50369926d471621cd0B031b3c45e4f004f5d95df67242c46be8988d578f8517817696d2d0e7f4cfc5dd632 +@0aebc0433efe48f4eb80ff46f7ee5d44dcf643e83e0e0275b2e70ce5508fca49B03c134cb2f59fcb58e7e88c413ca4802a956b94d3bc95c2f3217b8e00429661a8cB +?@6702fd936c824698619e884cdc23bf0d9e13c06d2d6339236e237533b2aaf039""1MVmskBiXmzjMxrBG51dc97QVZyNNVKAHK"UOP_DUP OP_HASH160 e0d39f4e75f4a6cb7cd20ff610f5faf97c3bef8b OP_EQUALVERIFY OP_CHECKSIG*276a914e0d39f4e75f4a6cb7cd20ff610f5faf97c3bef8b88ac*"1MVmskBiXmzjMxrBG51dc97QVZyNNVKAHK8$J  +@6702fd936c824698619e884cdc23bf0d9e13c06d2d6339236e237533b2aaf039""1FMxhMDgXEN39Q417VZaXBckeZzxuEh6Zp"UOP_DUP OP_HASH160 9d8892967ea2f8f317d9405478d70d416a402c31 OP_EQUALVERIFY OP_CHECKSIG*276a9149d8892967ea2f8f317d9405478d70d416a402c3188ac*"1FMxhMDgXEN39Q417VZaXBckeZzxuEh6Zp8$J  + +1@fc7b8d0ef138c97d9df0fc54e3476d03a300eb5f816ed546111114489045321b$"@00000000000000000017de39e496e1bb63c8ee10f95021ab97e05e29897cdd2a(-2 +@6702fd936c824698619e884cdc23bf0d9e13c06d2d6339236e237533b2aaf039B027a4efe5363894b5b87df7e3ddf43e88a999657454de05a8f728e5d8b5a7ece1a2 +@3cd053795c4ecb3f2750c50ab69ca45aad1f244ea434e3e3acc24599b1bc4dedB03a3f56eb6a9963bd2cf9727b820d2c5e14c871abd9c0a0ad0df40b6cd86e720f8B +=@fc7b8d0ef138c97d9df0fc54e3476d03a300eb5f816ed546111114489045321b""1NL6t4k35aSK3nSpnnhnz4HsyE732sPPbk"UOP_DUP OP_HASH160 e9f7741626beb9904a5b7457aff429ff82f9d194 OP_EQUALVERIFY OP_CHECKSIG*276a914e9f7741626beb9904a5b7457aff429ff82f9d19488ac*"1NL6t4k35aSK3nSpnnhnz4HsyE732sPPbk8$J  +ށ +@fc7b8d0ef138c97d9df0fc54e3476d03a300eb5f816ed546111114489045321b""1ASuVywpPUFsnB6ufkmJoiKfMQLVjhiaMB"UOP_DUP OP_HASH160 679f5b0a90c5222458b8cff3cbfd08819454b769 OP_EQUALVERIFY OP_CHECKSIG*276a914679f5b0a90c5222458b8cff3cbfd08819454b76988ac*"1ASuVywpPUFsnB6ufkmJoiKfMQLVjhiaMB8$J $-@00000000000000000018cbb528e4fef91fbb8fe4f332ce2f50add359b6f377e5"@00000000000000000017de39e496e1bb63c8ee10f95021ab97e05e29897cdd2a2$Ћ-@0000000000000000000bc567cc052343c6b621a8748a7afaa1d450f0085030b0"@00000000000000000018cbb528e4fef91fbb8fe4f332ce2f50add359b6f377e52$-@000000000000000000100a8d44b48daebd3cdae2e6e4e37331404efe7e0e12a0"@0000000000000000000bc567cc052343c6b621a8748a7afaa1d450f0085030b02$ȍ-@0000000000000000000c367d85c23eb6466516eee670bb1308b0c902d2794b32"@000000000000000000100a8d44b48daebd3cdae2e6e4e37331404efe7e0e12a02$-@000000000000000000104c38b872d6067664f14d3539282715c15b0900828a70"@0000000000000000000c367d85c23eb6466516eee670bb1308b0c902d2794b322$-@000000000000000000001489b9da6541e09519495b83e26d23fc85eda4594b6e"@000000000000000000104c38b872d6067664f14d3539282715c15b0900828a702$-@0000000000000000000950ca103282375258bd30c23dc1e3923bb2a1fc52f9ac"@000000000000000000001489b9da6541e09519495b83e26d23fc85eda4594b6e2$-@00000000000000000001a1849b2c9e9dc861d4a990529c46046bf03315b58dad"@0000000000000000000950ca103282375258bd30c23dc1e3923bb2a1fc52f9ac2$-@000000000000000000086ec1b70e7cdd7cdc7ac0d345188aef2e1842467776ed"@00000000000000000001a1849b2c9e9dc861d4a990529c46046bf03315b58dad2 $-@00000000000000000009a86ccb65ffd799d8c9834abd73a01ea9fa34469b9c3c"@000000000000000000086ec1b70e7cdd7cdc7ac0d345188aef2e1842467776ed2 + +1@276efde8c8ac0fb852514f73f21b4effb61f44fc2343ac29d51bf1b43bce0428$"@00000000000000000009a86ccb65ffd799d8c9834abd73a01ea9fa34469b9c3c(-2 +@a1af06423e7bb9e0016039982b3619e33ae5ebc00729a2538d3ce04aaa15ad8eB038dcc2fa1c5122d32cd9ddfa89c0585607ed591eef73f36f65555c29c622ee5442 +@e287fac981df7c45514138b25b1fa45ca5c846e95d11012420679ec1a28b9fecB039d6540b1b07ed3ca711a12f8171094d0fb7c919e7b8d89e937e55fa631575f50B +'@276efde8c8ac0fb852514f73f21b4effb61f44fc2343ac29d51bf1b43bce0428""14nLXRfk79M9PgHhrXYGyqZUb3Tw6fgE14"UOP_DUP OP_HASH160 297b64d850b7555b35d197e7521fa66f0a6c730d OP_EQUALVERIFY OP_CHECKSIG*276a914297b64d850b7555b35d197e7521fa66f0a6c730d88ac*"14nLXRfk79M9PgHhrXYGyqZUb3Tw6fgE148$J  + +@276efde8c8ac0fb852514f73f21b4effb61f44fc2343ac29d51bf1b43bce0428""14nLXRfk79M9PgHhrXYGyqZUb3Tw6fgE14"UOP_DUP OP_HASH160 297b64d850b7555b35d197e7521fa66f0a6c730d OP_EQUALVERIFY OP_CHECKSIG*276a914297b64d850b7555b35d197e7521fa66f0a6c730d88ac*"14nLXRfk79M9PgHhrXYGyqZUb3Tw6fgE148$J  +ح@276efde8c8ac0fb852514f73f21b4effb61f44fc2343ac29d51bf1b43bce0428""1MrFDoVNcDh8qDSzeaBzPgHmrm6XFv2f5y"UOP_DUP OP_HASH160 e4b2c4c6da98edca30f6f7d2f2b77bdcb6e82867 OP_EQUALVERIFY OP_CHECKSIG*276a914e4b2c4c6da98edca30f6f7d2f2b77bdcb6e8286788ac*"1MrFDoVNcDh8qDSzeaBzPgHmrm6XFv2f5y8$J  +@276efde8c8ac0fb852514f73f21b4effb61f44fc2343ac29d51bf1b43bce0428"l"6OP_RETURN 13019e7a001dffd6da6e5e518d454571d339c121c14f*06a1613019e7a001dffd6da6e5e518d454571d339c121c14f2zn^QEEq9!O8$J   +$-@000000000000000000048d5e923c8dae641c8fb7936c1c636923b3ceb0056e7d"@00000000000000000009a86ccb65ffd799d8c9834abd73a01ea9fa34469b9c3c20$߭-@0000000000000000001741f8c8246f2393fa5e9113c6634445e549270ca7cfbd"@000000000000000000048d5e923c8dae641c8fb7936c1c636923b3ceb0056e7d2/ + + +1@2609e0cbccfacc98642c2d64608d1e0957ac0a3675e743a62fce27b8c0c1b974$"@0000000000000000001741f8c8246f2393fa5e9113c6634445e549270ca7cfbd(߭-2 +@fa0a5eadd51a1c59749f486e6ef0b4623e2c3901650598a2f6e5c69c1705a7eeB0213a2b7ea8f0d34ac069ae2433aae81a07af0869c9df52cb039a214de5d7ce4bc2 +@01aab7d4a2b8f4405f7f4b10bfa178f8532072145779696548279816f3b0e7b8B021a4d0cc26596ec2396013e82308566215074cf7eb152465ee3eb9dd8cbd1b1d5B +u@2609e0cbccfacc98642c2d64608d1e0957ac0a3675e743a62fce27b8c0c1b974""1FS16LvPn1KVfQyvnUMfcZB8XHBJrRBg6h"UOP_DUP OP_HASH160 9e4c3ca6f721968d9c7de9a7b7aa137c0f806aba OP_EQUALVERIFY OP_CHECKSIG*276a9149e4c3ca6f721968d9c7de9a7b7aa137c0f806aba88ac*"1FS16LvPn1KVfQyvnUMfcZB8XHBJrRBg6h8$J  +;@2609e0cbccfacc98642c2d64608d1e0957ac0a3675e743a62fce27b8c0c1b974""1Jv3hVsyx9LSeKg4pDayEqHFUz7of2XdS1"UOP_DUP OP_HASH160 c4826fca04575c0b10f11aa87876a8ad9627aede OP_EQUALVERIFY OP_CHECKSIG*276a914c4826fca04575c0b10f11aa87876a8ad9627aede88ac*"1Jv3hVsyx9LSeKg4pDayEqHFUz7of2XdS18$J  +o@2609e0cbccfacc98642c2d64608d1e0957ac0a3675e743a62fce27b8c0c1b974""1NqHHM9AiwD8ucndyiNXwam9xSGbYzeGEH"UOP_DUP OP_HASH160 ef7c32f388147e7260c0f543e1502ae7822faab8 OP_EQUALVERIFY OP_CHECKSIG*276a914ef7c32f388147e7260c0f543e1502ae7822faab888ac*"1NqHHM9AiwD8ucndyiNXwam9xSGbYzeGEH8$J  + + +1@d70155906e1a23eed25a9aa2ebfa8d32c4b87e27e58dfde655e73fd75c219a95$"@0000000000000000001741f8c8246f2393fa5e9113c6634445e549270ca7cfbd(߭-2 +@75207f42927c03fb62b402336b0dbf83ccb0e1919ba6f1d6405bb65c8f0b84eeB020557883968660285f6671cde382cd9359e67f2cc3e1d956dbe8e38acad71eedd2 +@e0019ec2c7cce14e962de26204043d06883d216508ad78eb12bd5e0ad2db2545B02a73fba1b09c4ba5f71313ed1cf4e0f3e8f1dac7c0e9774dc9a4698777927ff55B +@d70155906e1a23eed25a9aa2ebfa8d32c4b87e27e58dfde655e73fd75c219a95""1BYPTvhmY4S9MyPkiNe5B25hJQZthKFq4e"UOP_DUP OP_HASH160 73a0e7a4aa05f279ae3d65a1f8ddfd5542e25dc2 OP_EQUALVERIFY OP_CHECKSIG*276a91473a0e7a4aa05f279ae3d65a1f8ddfd5542e25dc288ac*"1BYPTvhmY4S9MyPkiNe5B25hJQZthKFq4e8$J  +ؼ@d70155906e1a23eed25a9aa2ebfa8d32c4b87e27e58dfde655e73fd75c219a95""16YZ9M38JsTzZBEib71he3QBFDgNcGZZoU"UOP_DUP OP_HASH160 3cd05b2961220dfc9fd2631365588ac94bbe479c OP_EQUALVERIFY OP_CHECKSIG*276a9143cd05b2961220dfc9fd2631365588ac94bbe479c88ac*"16YZ9M38JsTzZBEib71he3QBFDgNcGZZoU8$J  +@d70155906e1a23eed25a9aa2ebfa8d32c4b87e27e58dfde655e73fd75c219a95""1G4Fk7HfEHdN2oFUgSJydjgztJHiL6ZXU7"UOP_DUP OP_HASH160 a527711254196b53de1e6ed7c990ead73e0d2203 OP_EQUALVERIFY OP_CHECKSIG*276a914a527711254196b53de1e6ed7c990ead73e0d220388ac*"1G4Fk7HfEHdN2oFUgSJydjgztJHiL6ZXU78$J  + +1@bd8125f25be4095f8440a34d2387635975140dd6fef453e32dfce377f9bff969$"@0000000000000000001741f8c8246f2393fa5e9113c6634445e549270ca7cfbd(߭-2 +@95c6de9488fde2743ccfad5ff62dc00946f7f13fbecdc9b99f2e1d864ae0a40fB02264f16ea163655a6e5369815e0f1d1de01366ee3c66e2619ee90ef05419bffdf2 +@488d0f5c118a02f0545c2dcc6dbe225b5b00520ee9bcac6f6fd121fe4a652a14B03639ea1c2ca7b770528175a11fcc2ffb31c1eb392f7d1bd90987a11b5813c62662 +@c6a1b4c1da1a247a77e3e3499e16700d8f331b205402f32aff3ebb80e5210840B03d41abeb78b902f8686b37bd5ce79df2eeee47b7b7fe21c58b7ffb25e548a20362 +@d1ee542594ffd3fdff945fad0af933fd1d80ab2a8ca46f43cf9d33e8fe306228B0361dbb0934f1b190c663048efb144cfb358ccbf7f1f266d1de719959a3bf0d4a02 +@dc6d1d5668f568ed269f41546f8173b5d8995f2f71dc97e6ecdc750a9fa2c5eeB03b5d133bf7aab5164f8768b4e7a443bcca1201f5c348991017ed8fde281552b2eB +M@bd8125f25be4095f8440a34d2387635975140dd6fef453e32dfce377f9bff969""151GYTPfnDYHjQBFGH5WFyQ47nf65vo6KJ"UOP_DUP OP_HASH160 2bed7a2ae4fa3661b7262c74f869bd2972435020 OP_EQUALVERIFY OP_CHECKSIG*276a9142bed7a2ae4fa3661b7262c74f869bd297243502088ac*"151GYTPfnDYHjQBFGH5WFyQ47nf65vo6KJ8$J  +[@bd8125f25be4095f8440a34d2387635975140dd6fef453e32dfce377f9bff969""19iEqg2K5pdxZnmsQP7wzZxkw4S3P7RFjs"UOP_DUP OP_HASH160 5f8d9cf2736d9b85b55fda2e5e20d8a6262164bb OP_EQUALVERIFY OP_CHECKSIG*276a9145f8d9cf2736d9b85b55fda2e5e20d8a6262164bb88ac*"19iEqg2K5pdxZnmsQP7wzZxkw4S3P7RFjs8$J  +@bd8125f25be4095f8440a34d2387635975140dd6fef453e32dfce377f9bff969""1ABxvPiukhAa9grU78fLyR1gnTEZvW7SDm"UOP_DUP OP_HASH160 64cbf8c783a3f3141fa01fb4b6811cfeb6e4b104 OP_EQUALVERIFY OP_CHECKSIG*276a91464cbf8c783a3f3141fa01fb4b6811cfeb6e4b10488ac*"1ABxvPiukhAa9grU78fLyR1gnTEZvW7SDm8$J  + +1@a7d4df6ced82847ea66a95fac21e50b415f99f3ce10f4110517c3c7fcb094acf$"@0000000000000000001741f8c8246f2393fa5e9113c6634445e549270ca7cfbd(߭-2 +@6ff7e97ee0930d5e9af81ea99b07acd1d4d7b27a65771103d31beb3696d8ca93B033f636f8ba9486659ba9e96442bf25a1a6a34d5645da47abd51e2f325d87abf5f2 +@6ff7e97ee0930d5e9af81ea99b07acd1d4d7b27a65771103d31beb3696d8ca93B033a74fdb172afb3483173d526ab6f96f8877b5906a283b2cf99238f6a65c31a11B +@a7d4df6ced82847ea66a95fac21e50b415f99f3ce10f4110517c3c7fcb094acf""12mNiP5oix79sGq1rnxmT2VtAGxKPxfVSf"UOP_DUP OP_HASH160 135c8db7e02273b7137c4cbb5a3722b21af8f3bd OP_EQUALVERIFY OP_CHECKSIG*276a914135c8db7e02273b7137c4cbb5a3722b21af8f3bd88ac*"12mNiP5oix79sGq1rnxmT2VtAGxKPxfVSf8$J  + +\@a7d4df6ced82847ea66a95fac21e50b415f99f3ce10f4110517c3c7fcb094acf""12mNiP5oix79sGq1rnxmT2VtAGxKPxfVSf"UOP_DUP OP_HASH160 135c8db7e02273b7137c4cbb5a3722b21af8f3bd OP_EQUALVERIFY OP_CHECKSIG*276a914135c8db7e02273b7137c4cbb5a3722b21af8f3bd88ac*"12mNiP5oix79sGq1rnxmT2VtAGxKPxfVSf8$J  +á@a7d4df6ced82847ea66a95fac21e50b415f99f3ce10f4110517c3c7fcb094acf""14PqwV5MXga1GXc4j3uX2kha5y3tmUR5ab"UOP_DUP OP_HASH160 253a618c5c62b2e69f1e884487e4b266774ed7ee OP_EQUALVERIFY OP_CHECKSIG*276a914253a618c5c62b2e69f1e884487e4b266774ed7ee88ac*"14PqwV5MXga1GXc4j3uX2kha5y3tmUR5ab8$J  +@a7d4df6ced82847ea66a95fac21e50b415f99f3ce10f4110517c3c7fcb094acf"l"6OP_RETURN 1301779cfb4ff3a33770d0dd6848e8044e3728b2d370*06a161301779cfb4ff3a33770d0dd6848e8044e3728b2d3702wO7phHN7(p8$J   +$-@00000000000000000010c4648a3e2752c0aa551014b05dd00f5d6c342aa9d4d4"@0000000000000000001741f8c8246f2393fa5e9113c6634445e549270ca7cfbd2 + +1@fa545823ae0d2445c90b59bb2fdf8f58870c0d3e67114ab1487d65bc37fd2308$"@00000000000000000010c4648a3e2752c0aa551014b05dd00f5d6c342aa9d4d4(-2 +@0b75e699a0b0ea87ad28e4e06b52efa9346716fd7f39c98bb65aaaa1e3b34881B028b9a8999385e5165586e2d8299c713f40c620bf3de82e1e4013087d1f28c677a2 +@966c322dc6b4242d221759f49716cae654f7a8d5c00f76313616ad7916a89440B02e36d6ddd13261dfa22fb1394fe5d40e476ddb698b659e8375e17de1c9dcaaaf12 +@966c322dc6b4242d221759f49716cae654f7a8d5c00f76313616ad7916a89440B0296f4031193aeaa55c9074e6c0e8dcee87a2333fe74bfd00fb6d8bc514557c95aB +B@fa545823ae0d2445c90b59bb2fdf8f58870c0d3e67114ab1487d65bc37fd2308""12TUkVYUKjMRw6ZfKhe7gcFnkeoqh1o37o"UOP_DUP OP_HASH160 0ffa1aef0eefa138b7d842c7a5a5aa596203ab54 OP_EQUALVERIFY OP_CHECKSIG*276a9140ffa1aef0eefa138b7d842c7a5a5aa596203ab5488ac*"12TUkVYUKjMRw6ZfKhe7gcFnkeoqh1o37o8$J  + +@fa545823ae0d2445c90b59bb2fdf8f58870c0d3e67114ab1487d65bc37fd2308""12TUkVYUKjMRw6ZfKhe7gcFnkeoqh1o37o"UOP_DUP OP_HASH160 0ffa1aef0eefa138b7d842c7a5a5aa596203ab54 OP_EQUALVERIFY OP_CHECKSIG*276a9140ffa1aef0eefa138b7d842c7a5a5aa596203ab5488ac*"12TUkVYUKjMRw6ZfKhe7gcFnkeoqh1o37o8$J  +E@fa545823ae0d2445c90b59bb2fdf8f58870c0d3e67114ab1487d65bc37fd2308""174uu3yUFrxaT3YgDJyGjGx7AUuU3XhVrg"UOP_DUP OP_HASH160 428e28bda308843c1d46acb7e18a12504415760f OP_EQUALVERIFY OP_CHECKSIG*276a914428e28bda308843c1d46acb7e18a12504415760f88ac*"174uu3yUFrxaT3YgDJyGjGx7AUuU3XhVrg8$J  +@fa545823ae0d2445c90b59bb2fdf8f58870c0d3e67114ab1487d65bc37fd2308"l"6OP_RETURN 1301f341234ecf147062cacd308f00949270435e51b4*06a161301f341234ecf147062cacd308f00949270435e51b42A#Npb0pC^Q8$J   +$-@000000000000000000005dc79a5bdf740f75458e02d825da631b71e6bb38e8eb"@00000000000000000010c4648a3e2752c0aa551014b05dd00f5d6c342aa9d4d42$؀-@00000000000000000003fb8f1aff8105c5c67ed2ef8839ca02fa18f1e876d0d8"@000000000000000000005dc79a5bdf740f75458e02d825da631b71e6bb38e8eb2$-@00000000000000000013a93d68d42458d3e2359ce068040b30896110cc642b88"@00000000000000000003fb8f1aff8105c5c67ed2ef8839ca02fa18f1e876d0d82=$-@00000000000000000016ba882c23762bfa768efcac2288fcd3b986d006cb77c1"@00000000000000000013a93d68d42458d3e2359ce068040b30896110cc642b882< + + +1@5be468264234a9aeea07613e60947e204465bf16fa2e3eb64964b9c5c38d405d$"@00000000000000000016ba882c23762bfa768efcac2288fcd3b986d006cb77c1(-2 +@c7b67abce88f9656979f0f1fada08e33f5fae95f3df6899208207a1011b2002cB023283a21dc7d3a70bf150e6f77b39bb60811cd53721bae37eaaf25a92363e5e9d2 +@93c3f7d67078ccb2a100eb072c530b11c1bb42ef2697d688501e39f33fcd907aB031cc87130a7df97bad1604ce6670d8f23379f819bef2ba5b4c231582d328867c4B +)@5be468264234a9aeea07613e60947e204465bf16fa2e3eb64964b9c5c38d405d""1Ezo1NqBoAn3RQmJ7YnViGq6URKiPbL25m"UOP_DUP OP_HASH160 9987bfd1c442ea6903b7d20b0214dc19c0bff93c OP_EQUALVERIFY OP_CHECKSIG*276a9149987bfd1c442ea6903b7d20b0214dc19c0bff93c88ac*"1Ezo1NqBoAn3RQmJ7YnViGq6URKiPbL25m8$J  +[@5be468264234a9aeea07613e60947e204465bf16fa2e3eb64964b9c5c38d405d""1ANsRe9iRT9EC8ByHb8LgyvpXd6zakyHVH"UOP_DUP OP_HASH160 66dbf5b47eac7938c1561c04f08ea69f601f8bf8 OP_EQUALVERIFY OP_CHECKSIG*276a91466dbf5b47eac7938c1561c04f08ea69f601f8bf888ac*"1ANsRe9iRT9EC8ByHb8LgyvpXd6zakyHVH8$J  + @5be468264234a9aeea07613e60947e204465bf16fa2e3eb64964b9c5c38d405d""15DwEd5pdZ4fXRckYmPRXALJ8Vu2THN2KH"UOP_DUP OP_HASH160 2e52c48572ff4b9c3e471c0eb0cef485552d26b9 OP_EQUALVERIFY OP_CHECKSIG*276a9142e52c48572ff4b9c3e471c0eb0cef485552d26b988ac*"15DwEd5pdZ4fXRckYmPRXALJ8Vu2THN2KH8$J  + +1@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9$"@00000000000000000016ba882c23762bfa768efcac2288fcd3b986d006cb77c1(-2 +@e3b9a21c50d07bf67bcfb2af98fdfcc11a078535a738806e028ed77bb13bdd0cB0224d184dba6e3b0a93836b8be1fb59c51581053497708a105f0bc3f1df1cd9b202 +@36b9602c33b680856f4a8066cba92ace6df9d88ec2fe959def92d6ab79e82427B027a7ed5b26d7d419d1a2dd7f0f1388fecc4c4d3d4e2179299d037ed584bdb29db2 +@70b432c4f9e13cad48238f81a1bf074927ba2f3963a28fc21c803b03484b5e75B0246e51dd18d1bfe481f6c648439d18162760f0c565139ce80c41fd42d007fc3ae2 +@b8f606a7db6f5425714486a01ea0c24dfd1941aa83b4cc9c10c8380fb6cc648aB0224d184dba6e3b0a93836b8be1fb59c51581053497708a105f0bc3f1df1cd9b202 +@0431ec3dc60c8ef1fdfdef88704752af3ec75174ff0ee805f0b9c32099910d14B02e9ea9062aa3be173ece122f69ce693982cdbbc0a1dc91ed9b0d31ddd0e40ec932 +@57ca7cfef7da1d67ead6a99041642fdbaf3a84f93bf2ff12735bc0556fbf05ecB0224d184dba6e3b0a93836b8be1fb59c51581053497708a105f0bc3f1df1cd9b202 +@b35309957d0dd60b3de5a0d0b8c20bfab2fcf92714faa747a39bccba9ea3ff8fB0224d184dba6e3b0a93836b8be1fb59c51581053497708a105f0bc3f1df1cd9b202 +@1db154fcc80970ef6e51af54a25a85d394a1674f47e03c93845324ff4851298aB02ea250fa3912f325fe4514f8e92187e5fd2c7f752aa3b35eaae80b30e55a79acf2 +@79109c07daa0c8f5e42e3a68395998b22eaaedf29f8ce40fcbd33f31a4934c54B0224d184dba6e3b0a93836b8be1fb59c51581053497708a105f0bc3f1df1cd9b202 +@c1822a7ef6309d2361243751d390fb78957b11672bdba314a8b9706ce0919793B0304c2ec76a5239e14a28c03b9bc0700bcd40ddc18c2f8612263dee193c408bfa02 +@8923b6c9d7df81187fe7c0e55bfb7ba4e4030322ade413628eb11d127f88bdd8B0224d184dba6e3b0a93836b8be1fb59c51581053497708a105f0bc3f1df1cd9b202 +@6f95117ea20544ed040ec7a2877f7025e9020cc642ae1aacad51fa1fe7ccad91B03d3d7baa3686e507b111d7618cd7e45eaef9e9a1db01198760a1566293ce04a5e2 +@130f8f9be2f5f443d8c7314196556c888cd91efb2954db678183f98abc57af48B03f268bbf9967b39947528e66629cc0e7dc235fd0e52336e6f7bd25d5f504b5135B +=@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9""1LWmQDkNmoq7sUB5M7EK8V7amvqp776P8L"UOP_DUP OP_HASH160 d60b842dadca4ddc92d70c1cc5a2733041cd7273 OP_EQUALVERIFY OP_CHECKSIG*276a914d60b842dadca4ddc92d70c1cc5a2733041cd727388ac*"1LWmQDkNmoq7sUB5M7EK8V7amvqp776P8L8$J  + +E@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9""1LWmQDkNmoq7sUB5M7EK8V7amvqp776P8L"UOP_DUP OP_HASH160 d60b842dadca4ddc92d70c1cc5a2733041cd7273 OP_EQUALVERIFY OP_CHECKSIG*276a914d60b842dadca4ddc92d70c1cc5a2733041cd727388ac*"1LWmQDkNmoq7sUB5M7EK8V7amvqp776P8L8$J  +@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9"!1j2jUqgyAiBC7TMYPLTkmXbqfvWU2mdMd"UOP_DUP OP_HASH160 07f2eaa272177ac0ebd991910ab9b31c697dcc5e OP_EQUALVERIFY OP_CHECKSIG*276a91407f2eaa272177ac0ebd991910ab9b31c697dcc5e88ac*!1j2jUqgyAiBC7TMYPLTkmXbqfvWU2mdMd8$J  +@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9"l"6OP_RETURN 1301618fe3687a8d1cda60ece7ca196a6ace3d8ac67c*06a161301618fe3687a8d1cda60ece7ca196a6ace3d8ac67c2ahz`jj=|8$J   + + +1@e2b80216a45b5cbbc24ccc20558aa4fc2cee5a25ecab8b899f5808e5713ce3da$"@00000000000000000016ba882c23762bfa768efcac2288fcd3b986d006cb77c1(-2 +@fb84aa275790e572c33575a4a3c242a0219e58dca578939bed4e5aeeb7db8544B03d840db4cc672e9ef9d40120530db873d88182c79016393e45ab1b298ce0430482 +@8cbb9435609d4d288e094856ceec067a1de3805aa05246df51c86ad782b788feB023ccf623e50e573263515beae2d05b207a05d4b7948cf545967f30d3455567e38B +@e2b80216a45b5cbbc24ccc20558aa4fc2cee5a25ecab8b899f5808e5713ce3da""14aigvv6j6mgYsRCryvFcEmbnC4sWWNzNi"UOP_DUP OP_HASH160 2748e7629c166f7754e49a5ef9bfe89ae5cb033a OP_EQUALVERIFY OP_CHECKSIG*276a9142748e7629c166f7754e49a5ef9bfe89ae5cb033a88ac*"14aigvv6j6mgYsRCryvFcEmbnC4sWWNzNi8$J  + +@e2b80216a45b5cbbc24ccc20558aa4fc2cee5a25ecab8b899f5808e5713ce3da""14aigvv6j6mgYsRCryvFcEmbnC4sWWNzNi"UOP_DUP OP_HASH160 2748e7629c166f7754e49a5ef9bfe89ae5cb033a OP_EQUALVERIFY OP_CHECKSIG*276a9142748e7629c166f7754e49a5ef9bfe89ae5cb033a88ac*"14aigvv6j6mgYsRCryvFcEmbnC4sWWNzNi8$J  +@e2b80216a45b5cbbc24ccc20558aa4fc2cee5a25ecab8b899f5808e5713ce3da""19vndaVNfBpm1zFu9NrcAK87YZLMw7n9u2"UOP_DUP OP_HASH160 61ed248dd4077924f151803a733e79391353c6c0 OP_EQUALVERIFY OP_CHECKSIG*276a91461ed248dd4077924f151803a733e79391353c6c088ac*"19vndaVNfBpm1zFu9NrcAK87YZLMw7n9u28$J  +@e2b80216a45b5cbbc24ccc20558aa4fc2cee5a25ecab8b899f5808e5713ce3da"l"6OP_RETURN 1301ded5c754c35960b6dd6db0f2f9f07eb0a31a45c3*06a161301ded5c754c35960b6dd6db0f2f9f07eb0a31a45c32TY`m~E8$J   + + +1@1d5382e77210f406557960ea41428d5341b6605f13fafaec800f5880c5d5b5f1$"@00000000000000000016ba882c23762bfa768efcac2288fcd3b986d006cb77c1(-2 +@e0019ec2c7cce14e962de26204043d06883d216508ad78eb12bd5e0ad2db2545B03ab9242014d88e28c683e35777c59ca69be853ac1380ab6c33b56e0d2fb3d93cb2 +@95cf622f54eea5a1b860bd9eb82ae08e01b3e9b8b72e4d0cf0a0028849b04caeB03b536279949323dc71164c85bd467f94cb9bce4a0d4bb2adc40d545f7ce1b4c352 +@d70155906e1a23eed25a9aa2ebfa8d32c4b87e27e58dfde655e73fd75c219a95B02f3f5ee7f2c7b12142bc2de89d4d7d6f73dc352a36a6b8e507ea9fa373b32ef392 +@95a0263cbf79f869264330c0ebc2cf7917cce79c358bbc0b498d1cee912642d8B0326c31a9b784d1fc43913e294ef1f57acb771d3ffdf1cc6d9f3bf16644cc6a916B +@1d5382e77210f406557960ea41428d5341b6605f13fafaec800f5880c5d5b5f1""19xZjdfRqWdC7JgdXVmpC6qrqA59LDjqXS"UOP_DUP OP_HASH160 624335c29edec4a5905daecd7d0b1cc3c25286bd OP_EQUALVERIFY OP_CHECKSIG*276a914624335c29edec4a5905daecd7d0b1cc3c25286bd88ac*"19xZjdfRqWdC7JgdXVmpC6qrqA59LDjqXS8$J  +@1d5382e77210f406557960ea41428d5341b6605f13fafaec800f5880c5d5b5f1""1CqfwS9hAhyQxHvJbzMpWCzAyRU8ZvZyst"UOP_DUP OP_HASH160 81dddaa1013cf7f3d30d5a0c94cdd05887bf3019 OP_EQUALVERIFY OP_CHECKSIG*276a91481dddaa1013cf7f3d30d5a0c94cdd05887bf301988ac*"1CqfwS9hAhyQxHvJbzMpWCzAyRU8ZvZyst8$J  +@1d5382e77210f406557960ea41428d5341b6605f13fafaec800f5880c5d5b5f1""1GULqUHTKYGTfc9HyQNkqFtqt9LU7rJvHz"UOP_DUP OP_HASH160 a9b5acfcb0448477dade6c0a33ffb17bee3d64bb OP_EQUALVERIFY OP_CHECKSIG*276a914a9b5acfcb0448477dade6c0a33ffb17bee3d64bb88ac*"1GULqUHTKYGTfc9HyQNkqFtqt9LU7rJvHz8$J $-@000000000000000000086539e92aaf8e70b0f8095748a25752008b34ed697e9d"@00000000000000000016ba882c23762bfa768efcac2288fcd3b986d006cb77c12$-@00000000000000000010d97c7556c7cc557feea2ea47e7232ab79b4170968677"@000000000000000000086539e92aaf8e70b0f8095748a25752008b34ed697e9d2$-@0000000000000000000d0813959db3ede80e79efc14aa6c0d245020c28dc6926"@00000000000000000010d97c7556c7cc557feea2ea47e7232ab79b41709686772$ҡ-@0000000000000000000efba24c75d2b48ee3a5887b9377d7f1eebcc42c4c5362"@0000000000000000000d0813959db3ede80e79efc14aa6c0d245020c28dc69262$-@00000000000000000013be700bf67cb7e5c37ae4151852bffc7dfedcd862effa"@0000000000000000000efba24c75d2b48ee3a5887b9377d7f1eebcc42c4c53622 + + +1@8bbcfba8b98222ab4b37010b1be684c9ea8b93060b2db71d2f13f48ed9e54c09$"@00000000000000000013be700bf67cb7e5c37ae4151852bffc7dfedcd862effa(-2 +@3e1bb1823ed20383c5de1d3f31537a4342f896f0bc6c9e177e60b4bd60cb8a25B0354de951d802a17a9048cad3ff0d66b3f873af2e820c0035031b62a44d6458afe2 +@b2ac0eebafabf78962cc1edf2f29af9885771baeaf76f58fe170ab8ddb84e31bB03637f4c07d44a583f28543d4895b296b147d9d93d6c39fc2fedb4b02814cce827B ++@8bbcfba8b98222ab4b37010b1be684c9ea8b93060b2db71d2f13f48ed9e54c09""12WGcvjsoWfsy8DxsniLA9TuGe7gvBoGj4"UOP_DUP OP_HASH160 10813a241b465685cb1019b3f50e8b1055445b5f OP_EQUALVERIFY OP_CHECKSIG*276a91410813a241b465685cb1019b3f50e8b1055445b5f88ac*"12WGcvjsoWfsy8DxsniLA9TuGe7gvBoGj48$J  +@8bbcfba8b98222ab4b37010b1be684c9ea8b93060b2db71d2f13f48ed9e54c09""1ADyyFp4FVELtd6BMyxDuFe5zKpU6gvo1v"UOP_DUP OP_HASH160 652dae002801d4c8eeb0a3321f754ba7fbf2436b OP_EQUALVERIFY OP_CHECKSIG*276a914652dae002801d4c8eeb0a3321f754ba7fbf2436b88ac*"1ADyyFp4FVELtd6BMyxDuFe5zKpU6gvo1v8$J  +@8bbcfba8b98222ab4b37010b1be684c9ea8b93060b2db71d2f13f48ed9e54c09""145Nc32YFroxUD99i3nYXpoCw3c8fFLPqN"UOP_DUP OP_HASH160 21bc134a41ae1ed16b89029ea618c6df33ad3f92 OP_EQUALVERIFY OP_CHECKSIG*276a91421bc134a41ae1ed16b89029ea618c6df33ad3f9288ac*"145Nc32YFroxUD99i3nYXpoCw3c8fFLPqN8$J  + +1@584ec0fb2866dd22fb12c3bd5ed9029774f5868fd07bbe1274ce172161f7a25b$"@00000000000000000013be700bf67cb7e5c37ae4151852bffc7dfedcd862effa(-2 +@d85d886bfb67f1ead7b3ab0780378c708222bc216c675ecee0657cf6f6ae6e70B021aab1fcfacb7614287ae378bb8a35f37468ba2e8ffee964a13c2a0d202d9d76b2 +@d55c34cd18a7980809cac410871153b72b2b245055388f16676b951db44bc74dB03ca5940b63b3d236aee38cbbd927b25107fca1779944abb11739e88cd0969c1a22 +@d7fd7e5de714e44214f0a01024d0984e959b4ce7180ba6329e587ff3c74fc5adB02abb925fbf412ed2d83497e79567db560cd77011324ad602eea3359c457754a192 +@d7fd7e5de714e44214f0a01024d0984e959b4ce7180ba6329e587ff3c74fc5adB0341be7ef3ff7a1330dc3e9ba0a9e61dd0561df891c1fc57ebeb26ebb7c41d6cfeB +O@584ec0fb2866dd22fb12c3bd5ed9029774f5868fd07bbe1274ce172161f7a25b""1GzjTWkNp6ZRmiRnmXx2HDKNfmyfbtp6XB"UOP_DUP OP_HASH160 af7509ba263e10715b3f15481196d55e9442c138 OP_EQUALVERIFY OP_CHECKSIG*276a914af7509ba263e10715b3f15481196d55e9442c13888ac*"1GzjTWkNp6ZRmiRnmXx2HDKNfmyfbtp6XB8$J  + +@584ec0fb2866dd22fb12c3bd5ed9029774f5868fd07bbe1274ce172161f7a25b""1GzjTWkNp6ZRmiRnmXx2HDKNfmyfbtp6XB"UOP_DUP OP_HASH160 af7509ba263e10715b3f15481196d55e9442c138 OP_EQUALVERIFY OP_CHECKSIG*276a914af7509ba263e10715b3f15481196d55e9442c13888ac*"1GzjTWkNp6ZRmiRnmXx2HDKNfmyfbtp6XB8$J  + @584ec0fb2866dd22fb12c3bd5ed9029774f5868fd07bbe1274ce172161f7a25b""1F8XTvHNNs42wPCR8TDb2UoNAdf9FbWE6x"UOP_DUP OP_HASH160 9afe1a558b4c7233327e3191b9c31e8d5b8ce28f OP_EQUALVERIFY OP_CHECKSIG*276a9149afe1a558b4c7233327e3191b9c31e8d5b8ce28f88ac*"1F8XTvHNNs42wPCR8TDb2UoNAdf9FbWE6x8$J  +@584ec0fb2866dd22fb12c3bd5ed9029774f5868fd07bbe1274ce172161f7a25b"l"6OP_RETURN 1301ad93496c8ca50683e8057facf24010ce2f4e1b84*06a161301ad93496c8ca50683e8057facf24010ce2f4e1b842Il@/N8$J   +$-@000000000000000000079c02ac8a00bb718955fd0bb2a0712f1dc1ef9362e81c"@00000000000000000013be700bf67cb7e5c37ae4151852bffc7dfedcd862effa2 + + +1@5bd85f37fbde7f3bc3d6626dd55a864fcd085ad66984bdc4491eb24f6a9652fc$"@000000000000000000079c02ac8a00bb718955fd0bb2a0712f1dc1ef9362e81c(-2 +@b2ac0eebafabf78962cc1edf2f29af9885771baeaf76f58fe170ab8ddb84e31bB03bb5c3b715cc7192c393475949a867caab409e6e1413a0c992fc758f2ab546cc52 +@72592bc1c95cca880dc01e3748ea12dacfaebf49fb4fde7c97f81024e90be375B02de309c61bc75d5dcccb1e197a66a29b5933f9be003b8396dd7ba851da9c29e6aB +!@5bd85f37fbde7f3bc3d6626dd55a864fcd085ad66984bdc4491eb24f6a9652fc"!1vCaEs2WAEu5XWVunyfhqfjgHDeHZMPvQ"UOP_DUP OP_HASH160 0a0fb4ea58343cbe1c2f9d6fa96eeb91c0a6e23c OP_EQUALVERIFY OP_CHECKSIG*276a9140a0fb4ea58343cbe1c2f9d6fa96eeb91c0a6e23c88ac*!1vCaEs2WAEu5XWVunyfhqfjgHDeHZMPvQ8$J  +@5bd85f37fbde7f3bc3d6626dd55a864fcd085ad66984bdc4491eb24f6a9652fc""166FmLvaeTrJVAeNA9FypVWEQ6om7Xa5KG"UOP_DUP OP_HASH160 37d70896990cdbab4c5108599415529bd236cf57 OP_EQUALVERIFY OP_CHECKSIG*276a91437d70896990cdbab4c5108599415529bd236cf5788ac*"166FmLvaeTrJVAeNA9FypVWEQ6om7Xa5KG8$J  +@5bd85f37fbde7f3bc3d6626dd55a864fcd085ad66984bdc4491eb24f6a9652fc""1GQJ4MfzDXHJQufLSUWe6UXDKve5HkEEbu"UOP_DUP OP_HASH160 a8f1b16d08f7f12cf128cb7bc2fd53f40e4a5f87 OP_EQUALVERIFY OP_CHECKSIG*276a914a8f1b16d08f7f12cf128cb7bc2fd53f40e4a5f8788ac*"1GQJ4MfzDXHJQufLSUWe6UXDKve5HkEEbu8$J  + + +1@d6141ea3189630930eef840d93bde91cfa2f0dc7d35abe6f7f17abadfccf5d09$"@000000000000000000079c02ac8a00bb718955fd0bb2a0712f1dc1ef9362e81c(-2 +@cfe8a3d71fe1c9ed4b4c6a37f4d4282914b0a5b7fb62dcacc7363988b9642798B038aa4929fa941c1879ab68816d725a53ceb00e2d61c3130c74c3d0aa6a58be6182 +@b554abadf59c5b245ece1ec944a88b28089b93fe46ac0bf06ae71fc291a3d632B02958480259274a4f9829307cef78e7c6ebba9960541b49bbcccf256017b69b144B +Ƙ@d6141ea3189630930eef840d93bde91cfa2f0dc7d35abe6f7f17abadfccf5d09""16Q5mVSqRCP19Chfin4pL7uq1P3PNv72TM"UOP_DUP OP_HASH160 3b362ce6b1e495d5262f56296463312d1554f924 OP_EQUALVERIFY OP_CHECKSIG*276a9143b362ce6b1e495d5262f56296463312d1554f92488ac*"16Q5mVSqRCP19Chfin4pL7uq1P3PNv72TM8$J  + @d6141ea3189630930eef840d93bde91cfa2f0dc7d35abe6f7f17abadfccf5d09""1JxP7fbTeTf96DiJ11o7hYkBnwPPmuuSYm"UOP_DUP OP_HASH160 c4f37a1176d21829dae3ecf08911c81c599ef926 OP_EQUALVERIFY OP_CHECKSIG*276a914c4f37a1176d21829dae3ecf08911c81c599ef92688ac*"1JxP7fbTeTf96DiJ11o7hYkBnwPPmuuSYm8$J  +@d6141ea3189630930eef840d93bde91cfa2f0dc7d35abe6f7f17abadfccf5d09""1M5fxrZXhw9AmSMbM57EfNBJMHLwumoTjv"UOP_DUP OP_HASH160 dc44b446bc487378f59521ca16fe9551876cd804 OP_EQUALVERIFY OP_CHECKSIG*276a914dc44b446bc487378f59521ca16fe9551876cd80488ac*"1M5fxrZXhw9AmSMbM57EfNBJMHLwumoTjv8$J  $-@0000000000000000000495c7d0350ef56f8b45db42615792eed60dfed4572017"@000000000000000000079c02ac8a00bb718955fd0bb2a0712f1dc1ef9362e81c2 + +1@f0eba9548a31732e1c77362c2552b6561d47859981b51fa7b159032de3ec7e0b$"@0000000000000000000495c7d0350ef56f8b45db42615792eed60dfed4572017(-2 +@e23adbe44a217bcd346b2e48569e98e211c359f28aef98b41fb724b8e7167525B03cc5227fe52fc37c485f7648c24056d779d39976558d9e45d3cc3a57a5a73ed402 +@771f56a33cdd9dbe058cc83da1221c771dab44d9334d55f14b9559408ca21e85B02ff6a09e233df52f9fedb8266ee94c5f4ac5a8851dcd10fa1185911065954d84bB +@f0eba9548a31732e1c77362c2552b6561d47859981b51fa7b159032de3ec7e0b""1Q98Nu75FNPw7ujJZK43opqC3Q1rpFyL2n"UOP_DUP OP_HASH160 fdd461130391509b7e09737004748472083960a8 OP_EQUALVERIFY OP_CHECKSIG*276a914fdd461130391509b7e09737004748472083960a888ac*"1Q98Nu75FNPw7ujJZK43opqC3Q1rpFyL2n8$J  + +@f0eba9548a31732e1c77362c2552b6561d47859981b51fa7b159032de3ec7e0b""1Q98Nu75FNPw7ujJZK43opqC3Q1rpFyL2n"UOP_DUP OP_HASH160 fdd461130391509b7e09737004748472083960a8 OP_EQUALVERIFY OP_CHECKSIG*276a914fdd461130391509b7e09737004748472083960a888ac*"1Q98Nu75FNPw7ujJZK43opqC3Q1rpFyL2n8$J  +@f0eba9548a31732e1c77362c2552b6561d47859981b51fa7b159032de3ec7e0b""1QBkzdF8iS3BaCXCHNP2ga5TApm4dUqww4"UOP_DUP OP_HASH160 fe53c6cf055ba549c6b8c592f47e8c19f20dfa2e OP_EQUALVERIFY OP_CHECKSIG*276a914fe53c6cf055ba549c6b8c592f47e8c19f20dfa2e88ac*"1QBkzdF8iS3BaCXCHNP2ga5TApm4dUqww48$J  +@f0eba9548a31732e1c77362c2552b6561d47859981b51fa7b159032de3ec7e0b"l"6OP_RETURN 1301b02f6397220a33b7c493ce61f9dd21da54f228ad*06a161301b02f6397220a33b7c493ce61f9dd21da54f228ad2/c" +3ēa!T(8$J   +$-@00000000000000000018d88cc164fb9530d0611f4fe959461bbfcf9a90e1962c"@0000000000000000000495c7d0350ef56f8b45db42615792eed60dfed45720172$-@0000000000000000000974ee522bdd1c7e7e3c1bf4e17d56d623b697a6b5ff16"@00000000000000000018d88cc164fb9530d0611f4fe959461bbfcf9a90e1962c2$-@00000000000000000011c051f32a03df3b59d83d0a46fc927205724ac120f2b2"@0000000000000000000974ee522bdd1c7e7e3c1bf4e17d56d623b697a6b5ff162$-@0000000000000000000f7be226669bb73505f11678dc57ac03933cee43d1bec9"@00000000000000000011c051f32a03df3b59d83d0a46fc927205724ac120f2b22 $-@0000000000000000000ec79b6e0e34303fcc9da230e612ee3c58d97515dbd5ef"@0000000000000000000f7be226669bb73505f11678dc57ac03933cee43d1bec92 + + + +1@070a3bd050834bf3683e5da2734be91199f6d16ccfbc502b69f59753fc08781b$"@0000000000000000000ec79b6e0e34303fcc9da230e612ee3c58d97515dbd5ef(-2 +@ae137924e41fab4a09f004d2d5c9aec257eff9d96b872874e0534351849e512aB03f9f2990f6f35153953ed0096f851a250f2776b6c7570ee51d0f239d0927268422 +@55511bacdd79226fe0a33b391618864cab23b53afa5d2cdcbca1f6d3d6bfb24fB03a050b462c2f267548a00aedfc7cc8dddf1f648bd807c0d557e7d044fd2762e7fB +F@070a3bd050834bf3683e5da2734be91199f6d16ccfbc502b69f59753fc08781b""1AVN3Q69oKuzP4es6wSnFhq9fGP5KSpPez"UOP_DUP OP_HASH160 681657ea12a6bfb97155c47ee39298211666073e OP_EQUALVERIFY OP_CHECKSIG*276a914681657ea12a6bfb97155c47ee39298211666073e88ac*"1AVN3Q69oKuzP4es6wSnFhq9fGP5KSpPez8$J  +(@070a3bd050834bf3683e5da2734be91199f6d16ccfbc502b69f59753fc08781b""1DKNuckphAQiFxv2AWJd99xpLUsMsKYbMH"UOP_DUP OP_HASH160 871b48ae63afbd235d782070746ac09178c1851e OP_EQUALVERIFY OP_CHECKSIG*276a914871b48ae63afbd235d782070746ac09178c1851e88ac*"1DKNuckphAQiFxv2AWJd99xpLUsMsKYbMH8$J  + @070a3bd050834bf3683e5da2734be91199f6d16ccfbc502b69f59753fc08781b""1BDEUUaK3aF3P2MykWq7wBVdbeW5yFty6j"UOP_DUP OP_HASH160 70017f25b9ae48d69507b94d717e778219dfc6d2 OP_EQUALVERIFY OP_CHECKSIG*276a91470017f25b9ae48d69507b94d717e778219dfc6d288ac*"1BDEUUaK3aF3P2MykWq7wBVdbeW5yFty6j8$J  $ҫ-@0000000000000000000b5744a647e368dda90b5904931069ef96e06cab65c924"@0000000000000000000ec79b6e0e34303fcc9da230e612ee3c58d97515dbd5ef2 + + + +1@fec1a2fa1091c2f2293a455968f2c71655650bbaca9e59a56bf7245e424b5b62$"@0000000000000000000b5744a647e368dda90b5904931069ef96e06cab65c924(ҫ-2 +@b3f43f35d3c0732a5bb221a785ecc7de1df3956202a77317d0eb84cacc87bda1B022221a91014711af5c952a6c302beb9608fdd8cdbd81e7eb450b91c58f3649db62 +@b3f43f35d3c0732a5bb221a785ecc7de1df3956202a77317d0eb84cacc87bda1B03ec098be960ad5f38c106e7bc64cdb5e958ce495b9a30046bbfdb99a84c1c74b5B +@fec1a2fa1091c2f2293a455968f2c71655650bbaca9e59a56bf7245e424b5b62""18CwHGM27UEMPccxHo57cV79saBDnD5e8V"UOP_DUP OP_HASH160 4f0ac45f7b6bbff501aa99cbde69823233018d49 OP_EQUALVERIFY OP_CHECKSIG*276a9144f0ac45f7b6bbff501aa99cbde69823233018d4988ac*"18CwHGM27UEMPccxHo57cV79saBDnD5e8V8$J  + @fec1a2fa1091c2f2293a455968f2c71655650bbaca9e59a56bf7245e424b5b62""1FvzixrMpjbpYhs39QvQ4MgGnbAd76eh9A"UOP_DUP OP_HASH160 a3c7fdfa25a35415dcbe97a068c305c2202bc807 OP_EQUALVERIFY OP_CHECKSIG*276a914a3c7fdfa25a35415dcbe97a068c305c2202bc80788ac*"1FvzixrMpjbpYhs39QvQ4MgGnbAd76eh9A8$J  +@fec1a2fa1091c2f2293a455968f2c71655650bbaca9e59a56bf7245e424b5b62""19LgYPDspoxd2hFJxwuHsYPwqTf1HfpDkd"UOP_DUP OP_HASH160 5b79eab245fd6693e0eca157734778a658ee6d67 OP_EQUALVERIFY OP_CHECKSIG*276a9145b79eab245fd6693e0eca157734778a658ee6d6788ac*"19LgYPDspoxd2hFJxwuHsYPwqTf1HfpDkd8$J `$׀-@00000000000000000001321db082c124045fe6e048cdcff2f9db2903c8d796b5"@0000000000000000000b5744a647e368dda90b5904931069ef96e06cab65c9242$ɉ-@00000000000000000014bb1e1703581ef4b67776e86eb05d278a5e3371b54c30"@00000000000000000001321db082c124045fe6e048cdcff2f9db2903c8d796b52$І-@00000000000000000017bbb30316c52018e2e12e99777edb44cebbb25499a212"@00000000000000000014bb1e1703581ef4b67776e86eb05d278a5e3371b54c302$ف-@000000000000000000193f8d3d7446ffd52408a658d652af20311ad78ce4cd5e"@00000000000000000017bbb30316c52018e2e12e99777edb44cebbb25499a2122$噃-@0000000000000000001316c989bb1c5492d809073659048651a842f2abc092cb"@000000000000000000193f8d3d7446ffd52408a658d652af20311ad78ce4cd5e2$σ-@00000000000000000007ff385f65f2a65b34138ca37d0ca24103cce3f031646d"@0000000000000000001316c989bb1c5492d809073659048651a842f2abc092cb2$ރ-@0000000000000000000199ba2e4d91d010799411bcafe6ed8eec113b3790c54c"@00000000000000000007ff385f65f2a65b34138ca37d0ca24103cce3f031646d2$-@00000000000000000007a5f58df448b6cb4ca33627c7af62929d6b63f23afe5e"@0000000000000000000199ba2e4d91d010799411bcafe6ed8eec113b3790c54c2$Ą-@000000000000000000046c5658264d1496804703e8097beb62bb92c601d81f9f"@00000000000000000007a5f58df448b6cb4ca33627c7af62929d6b63f23afe5e2$ȳ-@0000000000000000000bb4d2660dc6f3eea2174cb3425795dda08c02ab3a2a7b"@000000000000000000046c5658264d1496804703e8097beb62bb92c601d81f9f2$-@00000000000000000018c85c42234310dbcf87d0188d770a9aa9472221b65dd8"@0000000000000000000bb4d2660dc6f3eea2174cb3425795dda08c02ab3a2a7b2$-@00000000000000000013046f0c19dcc3eea291c558d96aae206d831fabe4f984"@00000000000000000018c85c42234310dbcf87d0188d770a9aa9472221b65dd82$Ы-@000000000000000000160986b12d2405c72aa1f35fce1a3f0646f6562d6ee312"@00000000000000000013046f0c19dcc3eea291c558d96aae206d831fabe4f9842$-@000000000000000000111fdae36e0c93098550282581f7e0b0d8989ba53a7449"@000000000000000000160986b12d2405c72aa1f35fce1a3f0646f6562d6ee3122$-@00000000000000000001a15b2fae4bbd05f9b6579213a09e6dd18341b29ee011"@000000000000000000111fdae36e0c93098550282581f7e0b0d8989ba53a74492$-@0000000000000000000d3ba31571da86e3bbb3dcd0a9e33219d28ea98149f73e"@00000000000000000001a15b2fae4bbd05f9b6579213a09e6dd18341b29ee0112$炇-@00000000000000000015cf81fdef47304e1efc8633f5da3cba71f50b693f2cb1"@0000000000000000000d3ba31571da86e3bbb3dcd0a9e33219d28ea98149f73e2$퍇-@000000000000000000108c59455b46beddee3e55c96f45853377964652f65cae"@00000000000000000015cf81fdef47304e1efc8633f5da3cba71f50b693f2cb12$-@0000000000000000000a11905628e94649a73315f46669d765590a7cecc48117"@000000000000000000108c59455b46beddee3e55c96f45853377964652f65cae2$欇-@000000000000000000099a95387db39bc71181c329f25c1142d4a4750511b884"@0000000000000000000a11905628e94649a73315f46669d765590a7cecc481172 $Ї-@000000000000000000064abd1109f94c57279d6b30fbc1d1d03d816da9a61120"@000000000000000000099a95387db39bc71181c329f25c1142d4a4750511b8842 + + + +1@ca71aee1c07b7f6ee697c9b7b88fde70fe1dea3dac12db9c044ce1a6eefd8949$"@000000000000000000064abd1109f94c57279d6b30fbc1d1d03d816da9a61120(Ї-2 +@4985dae726d73b4e470356660120d99b73cf6169726bfad7a4d2c59b8328079fB03a9db3f51447fe62b8607b7ed6cec59f1132e831702a3ab990e72d89c321cc3012 +@bb10e45dce3a75c6ff78bdd8f6041af41eb202770d2e3a4b5131de689b6004bbB020c2b0baaf0f048a1cbe36706b86c4c941a65de47826a49741fb2eb47fa549f7dB +J@ca71aee1c07b7f6ee697c9b7b88fde70fe1dea3dac12db9c044ce1a6eefd8949""18Js53SC7UvxichoymPq1vQgruzguhLwDc"UOP_DUP OP_HASH160 5029bf76ef134d7cb016d9660f56a3f81d0a205e OP_EQUALVERIFY OP_CHECKSIG*276a9145029bf76ef134d7cb016d9660f56a3f81d0a205e88ac*"18Js53SC7UvxichoymPq1vQgruzguhLwDc8$J  +w@ca71aee1c07b7f6ee697c9b7b88fde70fe1dea3dac12db9c044ce1a6eefd8949""1MsSnxEixwD9Bvfo7rX5VhXFtkvyFR4uu6"UOP_DUP OP_HASH160 e4ecd8157aedb8ea258a24ff587d5f2d1270af5e OP_EQUALVERIFY OP_CHECKSIG*276a914e4ecd8157aedb8ea258a24ff587d5f2d1270af5e88ac*"1MsSnxEixwD9Bvfo7rX5VhXFtkvyFR4uu68$J  +@ca71aee1c07b7f6ee697c9b7b88fde70fe1dea3dac12db9c044ce1a6eefd8949""15wM66Q9Czmn5hiXQ5dswWd9Y5z4ycNWrU"UOP_DUP OP_HASH160 3627bbc8cabc1b3e5570f43e1384ea8fac1fa279 OP_EQUALVERIFY OP_CHECKSIG*276a9143627bbc8cabc1b3e5570f43e1384ea8fac1fa27988ac*"15wM66Q9Czmn5hiXQ5dswWd9Y5z4ycNWrU8$J 7$ȏ-@00000000000000000005b8dd611971b4e6d47f126d9238690b78191591e384e2"@000000000000000000064abd1109f94c57279d6b30fbc1d1d03d816da9a611202$$ܧ-@0000000000000000000babb522b70ddeb309854a2bef8b546d6d597ce5596a92"@00000000000000000005b8dd611971b4e6d47f126d9238690b78191591e384e22# + + +1@ba673174050894b2bd1b3ca7f63ba008ebd9c5aeb900c89490c1b1d97cb8bc46$"@0000000000000000000babb522b70ddeb309854a2bef8b546d6d597ce5596a92(ܧ-2 +@df2b499589707081d290fbb2c894f91e60eb360f9ec3be71c3252bee7e85f07aB037846579014465228cc332aecc4b8559d905acb9a0fc7ea23dc4af5229047c4f62 +@df2b499589707081d290fbb2c894f91e60eb360f9ec3be71c3252bee7e85f07aB022d4b8a6cdb7d0ee7456f1975c04007fd6da8e987a65b44f78ff93e0c42a2e176B +@ba673174050894b2bd1b3ca7f63ba008ebd9c5aeb900c89490c1b1d97cb8bc46""16Ar1WJu58moDYLkaeSBnHuCiWzypdKCwe"UOP_DUP OP_HASH160 38b54871e4e44bfb983d5ad60baee059cc7f0627 OP_EQUALVERIFY OP_CHECKSIG*276a91438b54871e4e44bfb983d5ad60baee059cc7f062788ac*"16Ar1WJu58moDYLkaeSBnHuCiWzypdKCwe8$J  +Ԓ@ba673174050894b2bd1b3ca7f63ba008ebd9c5aeb900c89490c1b1d97cb8bc46""1Q1LEeuaB3pNYhirJ3AgZuEE9XgGAQknvp"UOP_DUP OP_HASH160 fc5af32ef68d0fa646f0828857eefdec24e5181f OP_EQUALVERIFY OP_CHECKSIG*276a914fc5af32ef68d0fa646f0828857eefdec24e5181f88ac*"1Q1LEeuaB3pNYhirJ3AgZuEE9XgGAQknvp8$J  +؄@ba673174050894b2bd1b3ca7f63ba008ebd9c5aeb900c89490c1b1d97cb8bc46""1K4pVJSCdH7zU8yKtT3DtB4hypFQSLZkNV"UOP_DUP OP_HASH160 c62b2726732891efe64e5d9eaeac8abaeb72cba5 OP_EQUALVERIFY OP_CHECKSIG*276a914c62b2726732891efe64e5d9eaeac8abaeb72cba588ac*"1K4pVJSCdH7zU8yKtT3DtB4hypFQSLZkNV8$J 4 + +1@afdbf47131095891df8158a22c5a1526d43188450be5cbd909fb805bdaf37823$"@0000000000000000000babb522b70ddeb309854a2bef8b546d6d597ce5596a92(ܧ-2 +@1cc9e3dd967b2681872b77befffda0629ec0f1790920d0d1293938b165da8d50B03a9db3f51447fe62b8607b7ed6cec59f1132e831702a3ab990e72d89c321cc3012 +@8ed5d4629ddf15373a5c4df925aa22d2737d0282a349cc75680ebfb11e76ab3aB02046fca356f3ddebaae75f27aa6139211e533226590e3186757f8ecbba392a2fc2 +@6c19b39182c87a71edc6a3c9a80d2fb3e37c2b967afae2b95e1fed2f901ddfb7B034917741ff405b8eabf4e933513afb17cd09127506f5d9e0b37bbfea249832a292 +@10f177a29e924a3d9ed7d19de22f718fdc64decc1c1f70d0a606853a564cb34aB025044cb38d63219172747268ea8116feecb82179282b11a897764f633d87383332 +@ca71aee1c07b7f6ee697c9b7b88fde70fe1dea3dac12db9c044ce1a6eefd8949B03423970fe444a571ab10219623197f32eea82ad9a13c0c164547c33023cfeacdcB +@afdbf47131095891df8158a22c5a1526d43188450be5cbd909fb805bdaf37823""1NHXrAcFPVKKHXCAqtXRVBpJum1RdUR36E"UOP_DUP OP_HASH160 e97b0c1522315a2ab34977052f5260b522fb0dba OP_EQUALVERIFY OP_CHECKSIG*276a914e97b0c1522315a2ab34977052f5260b522fb0dba88ac*"1NHXrAcFPVKKHXCAqtXRVBpJum1RdUR36E8$J  +@afdbf47131095891df8158a22c5a1526d43188450be5cbd909fb805bdaf37823""15SmfTGYKomTEm2ZJmNXuKc9HBgGndjRYN"UOP_DUP OP_HASH160 30c02f5975ab019c9063c8ee22a6f42a87ebf5b4 OP_EQUALVERIFY OP_CHECKSIG*276a91430c02f5975ab019c9063c8ee22a6f42a87ebf5b488ac*"15SmfTGYKomTEm2ZJmNXuKc9HBgGndjRYN8$J  +m@afdbf47131095891df8158a22c5a1526d43188450be5cbd909fb805bdaf37823""12QRqiAxFJxGnNfmXmFNvr7Kty5NoJ34H8"UOP_DUP OP_HASH160 0f666d9b05936cfe728c7cf2b754147d8d5cd0a5 OP_EQUALVERIFY OP_CHECKSIG*276a9140f666d9b05936cfe728c7cf2b754147d8d5cd0a588ac*"12QRqiAxFJxGnNfmXmFNvr7Kty5NoJ34H88$J  + + +1@720d48d5e98463ab522c9c0a0a4d6067757e9fa0ecf4273362ff06f73e26682b$"@0000000000000000000babb522b70ddeb309854a2bef8b546d6d597ce5596a92(ܧ-2 +@84a36275ce91c8d51651a649a57ad1e56386e4e29f275280a9f390a6261b1bffB03a9db3f51447fe62b8607b7ed6cec59f1132e831702a3ab990e72d89c321cc3012 +@afdbf47131095891df8158a22c5a1526d43188450be5cbd909fb805bdaf37823B02289daa7f6567a0cc2ad5e011324e62c6693635ba874b66a5b70a5618386596a0B +@720d48d5e98463ab522c9c0a0a4d6067757e9fa0ecf4273362ff06f73e26682b""1BJkhmVvEWfWFoszpf2rgNZetUteEGd9YU"UOP_DUP OP_HASH160 710ccf7e17d41bbe5a947e1a8a65f0f3ae1726a7 OP_EQUALVERIFY OP_CHECKSIG*276a914710ccf7e17d41bbe5a947e1a8a65f0f3ae1726a788ac*"1BJkhmVvEWfWFoszpf2rgNZetUteEGd9YU8$J  +k@720d48d5e98463ab522c9c0a0a4d6067757e9fa0ecf4273362ff06f73e26682b""13t6ts9sy7CcVnBwrF4gnuxPnnPARnk3Qy"UOP_DUP OP_HASH160 1f9a62c80ec4c81f9f5ddf3672c8a703734d5f72 OP_EQUALVERIFY OP_CHECKSIG*276a9141f9a62c80ec4c81f9f5ddf3672c8a703734d5f7288ac*"13t6ts9sy7CcVnBwrF4gnuxPnnPARnk3Qy8$J  +@720d48d5e98463ab522c9c0a0a4d6067757e9fa0ecf4273362ff06f73e26682b"!1WzDQWUZSPJA61dY6ysVJB2E4VHYHTuJj"UOP_DUP OP_HASH160 05abd298622d45960f99efeba0d077ec8c639cb2 OP_EQUALVERIFY OP_CHECKSIG*276a91405abd298622d45960f99efeba0d077ec8c639cb288ac*!1WzDQWUZSPJA61dY6ysVJB2E4VHYHTuJj8$J 0$蕼-@0000000000000000000978c96511acff6c4425e9ce7c62ac3cf746d7c950fc26"@0000000000000000000babb522b70ddeb309854a2bef8b546d6d597ce5596a922$К-@0000000000000000001578479b90535778eb4e6b4a52503eea8a8ed213e782d1"@0000000000000000000978c96511acff6c4425e9ce7c62ac3cf746d7c950fc262#$𶾈-@00000000000000000019e08ee33b778b466e21d191bc8c835142fa6791bbc2f4"@0000000000000000001578479b90535778eb4e6b4a52503eea8a8ed213e782d12" + + +1@c6f2fac55b9e6338e0ae0b9116e78f7d5ea65d093f7c76a66a822c5b900c78af$"@00000000000000000019e08ee33b778b466e21d191bc8c835142fa6791bbc2f4(𶾈-2 +@dd619a69a9ab1a59608d2a76574d287c35119507b4a760a45159eccec6e22906B039cf5b3cb68ecc08dee174e15e84eede14b4adbb516d9a42a8810520b4333e3f32 +@c0b07ea1c83209ae63409cba499b1cbfec504468638aca2289be342bca2ed6abB03223ed4ec9c052aac28f2edfda0c5dd360316323b128fa629c7bf18169ca6d0c9B +@c6f2fac55b9e6338e0ae0b9116e78f7d5ea65d093f7c76a66a822c5b900c78af""15tAbFuXM7APoMsAK6U2RS1m6FViHZc2PE"UOP_DUP OP_HASH160 358db919a642d92782bead01af50282898731c27 OP_EQUALVERIFY OP_CHECKSIG*276a914358db919a642d92782bead01af50282898731c2788ac*"15tAbFuXM7APoMsAK6U2RS1m6FViHZc2PE8$J  + @c6f2fac55b9e6338e0ae0b9116e78f7d5ea65d093f7c76a66a822c5b900c78af""1NJJT5RPERGnGehDPs6FG1pWyHv1AzbTM9"UOP_DUP OP_HASH160 e9a0476c23f6850a605e2caa069378cedddfe420 OP_EQUALVERIFY OP_CHECKSIG*276a914e9a0476c23f6850a605e2caa069378cedddfe42088ac*"1NJJT5RPERGnGehDPs6FG1pWyHv1AzbTM98$J  +T@c6f2fac55b9e6338e0ae0b9116e78f7d5ea65d093f7c76a66a822c5b900c78af""1CaMcZryywJEEY2FJ8sgQxUQeM4iRBsjmh"UOP_DUP OP_HASH160 7ef851419f1e34493e6b0d1daaeaeaf67655e46c OP_EQUALVERIFY OP_CHECKSIG*276a9147ef851419f1e34493e6b0d1daaeaeaf67655e46c88ac*"1CaMcZryywJEEY2FJ8sgQxUQeM4iRBsjmh8$J  + + +1@6c7116beff4fa08c5e4774280cbcf11337a8b6a6bd3cc451c9f860f467de6793$"@00000000000000000019e08ee33b778b466e21d191bc8c835142fa6791bbc2f4(𶾈-2 +@4b1323adeb2ff03736e548b07170039a5bfb476f58e5b4ec6c5ab3b01ef0f689B02d9d702f72bfd48c52becfc84e6fe8a8cc417daaf1d67f0de1cf6ed3fedeaa5d32 +@20264ec09049fd44d17d211940cbd79e567b6685c66336f564fd106b9fcf4aa5B03dea9a5b2849ee0b9f21b27f4af4d568024f11f6a34c09fac7e9fae802b498ac9B + @6c7116beff4fa08c5e4774280cbcf11337a8b6a6bd3cc451c9f860f467de6793""1FvoCtWt5rXrLvojaaMkqxJhMw37jsFqri"UOP_DUP OP_HASH160 a3be607d647a851fa8f2b609bb777b692b92293f OP_EQUALVERIFY OP_CHECKSIG*276a914a3be607d647a851fa8f2b609bb777b692b92293f88ac*"1FvoCtWt5rXrLvojaaMkqxJhMw37jsFqri8$J  +@6c7116beff4fa08c5e4774280cbcf11337a8b6a6bd3cc451c9f860f467de6793""149UcAwuX5CgE9v3Kai7m2tbmzMaHXwqJL"UOP_DUP OP_HASH160 2282bfed216f8d9c2845e3258bd1f0fcedda10ce OP_EQUALVERIFY OP_CHECKSIG*276a9142282bfed216f8d9c2845e3258bd1f0fcedda10ce88ac*"149UcAwuX5CgE9v3Kai7m2tbmzMaHXwqJL8$J  +@6c7116beff4fa08c5e4774280cbcf11337a8b6a6bd3cc451c9f860f467de6793""1HtE1Bqqk2YSRFsv95RU7oESc2JdQdJ5AX"UOP_DUP OP_HASH160 b93214c54d7ce5b1b6a96aa08c67ddef354dc6e2 OP_EQUALVERIFY OP_CHECKSIG*276a914b93214c54d7ce5b1b6a96aa08c67ddef354dc6e288ac*"1HtE1Bqqk2YSRFsv95RU7oESc2JdQdJ5AX8$J 4 + +1@4dd93620d1247a9613c5ea0817ce08a4995895fbb2e0cded7d5b466645c49452$"@00000000000000000019e08ee33b778b466e21d191bc8c835142fa6791bbc2f4(𶾈-2 +@da9cffd6c2a64a2ce3355e8214b1b820ebfa2112f07cc16a635f4f548b2b98aeB03333ac0560826b07a142a3b932fadd799e5fc4f4938c47a1546422000b50926822 +@da9cffd6c2a64a2ce3355e8214b1b820ebfa2112f07cc16a635f4f548b2b98aeB027e3a4b5110400fe861e4afe57938912239c954b00b4db131773bb3ce6f3f73d62 +@b5a0d60cd7922318171350894a3f0765889dea701d7cbac548a6c0f14c5fad55B03d7b57182ed5b0f4785fddcd556a644885601356f30ad404e821d257af38e654b2 +@5e61d4ed9f264b0ce0cca8b2aac7bf319f75cf770697a8d288f280c4a01c87e2B02ee0424c6d0d03eac39f25bfd38956955202dff4553afa344550870e0e2622d84B +@4dd93620d1247a9613c5ea0817ce08a4995895fbb2e0cded7d5b466645c49452""1Q39Vmmz42CcwcpBESHvrXFDSExPXcVuoZ"UOP_DUP OP_HASH160 fcb2d12e395c873f93072604719c405cb7949cb4 OP_EQUALVERIFY OP_CHECKSIG*276a914fcb2d12e395c873f93072604719c405cb7949cb488ac*"1Q39Vmmz42CcwcpBESHvrXFDSExPXcVuoZ8$J  +[@4dd93620d1247a9613c5ea0817ce08a4995895fbb2e0cded7d5b466645c49452""1EMxQ4YEpPFSYg5E8Gmt1N2hHoAxKoPpGo"UOP_DUP OP_HASH160 929032b1264d17c625893450424329b47d62e7cf OP_EQUALVERIFY OP_CHECKSIG*276a914929032b1264d17c625893450424329b47d62e7cf88ac*"1EMxQ4YEpPFSYg5E8Gmt1N2hHoAxKoPpGo8$J  +@4dd93620d1247a9613c5ea0817ce08a4995895fbb2e0cded7d5b466645c49452""1KEeL1pHiS35T7Bcmi812T6kUxaxGk5UHq"UOP_DUP OP_HASH160 c806d4d0f3c22f2c87bf6844172f296579cec22d OP_EQUALVERIFY OP_CHECKSIG*276a914c806d4d0f3c22f2c87bf6844172f296579cec22d88ac*"1KEeL1pHiS35T7Bcmi812T6kUxaxGk5UHq8$J $蓐-@00000000000000000019132b20ce2b29ce0e8268ccec660cfc0c606b5d6cf0e4"@00000000000000000019e08ee33b778b466e21d191bc8c835142fa6791bbc2f42£$-@0000000000000000000ba56713f9ff682963d73124214beea8dd695623a6b72e"@00000000000000000019132b20ce2b29ce0e8268ccec660cfc0c606b5d6cf0e42ã$ˉ-@00000000000000000019c549e549919662e2a92c3fea7780f5b396827c2a37f5"@0000000000000000000ba56713f9ff682963d73124214beea8dd695623a6b72e2 ģ$͉-@0000000000000000000eda14eb8a2d6e086da0bc012b9e0a95b2e11d76301d95"@00000000000000000019c549e549919662e2a92c3fea7780f5b396827c2a37f52 + + + +1@d618b204b64ab050c12f96b017b8403e666f9042b21f636aef3cf864b4667a30ģ$"@0000000000000000000eda14eb8a2d6e086da0bc012b9e0a95b2e11d76301d95(͉-2 +@6c7116beff4fa08c5e4774280cbcf11337a8b6a6bd3cc451c9f860f467de6793B022e5d063d945183278e4a1ca51a0a0ca2361a60d9ac83b2802c458f46b09581da2 +@c3f632fdccfb5d3a1d3fae098286ef21a61f6fd8c76cd1ca73962a37a76cd8feB03e659a886083a253afdc4bdc59ed6e98b45a99aaa75e8dc55e7d5f6d1d93568d1B + @d618b204b64ab050c12f96b017b8403e666f9042b21f636aef3cf864b4667a30""1K3k8NXjmTYmCs7toAsTs8CcK6CZaKnHwE"UOP_DUP OP_HASH160 c5f718c23101ec6191393a28ee30c368e73a9fcf OP_EQUALVERIFY OP_CHECKSIG*276a914c5f718c23101ec6191393a28ee30c368e73a9fcf88ac*"1K3k8NXjmTYmCs7toAsTs8CcK6CZaKnHwE8ģ$J  +@d618b204b64ab050c12f96b017b8403e666f9042b21f636aef3cf864b4667a30""1LXCbKJ73xNoE8dLjau9yg6koiBsZJi5jb"UOP_DUP OP_HASH160 d6208b82bd7a875b1c9e35547def6cb544f233b3 OP_EQUALVERIFY OP_CHECKSIG*276a914d6208b82bd7a875b1c9e35547def6cb544f233b388ac*"1LXCbKJ73xNoE8dLjau9yg6koiBsZJi5jb8ģ$J  +*@d618b204b64ab050c12f96b017b8403e666f9042b21f636aef3cf864b4667a30""1KZM8n9cRPgqotTUq8w2wHtvUS4hGLo4tJ"UOP_DUP OP_HASH160 cb9061ca63f0b6cf8f2ad119e97e6aaf9f227161 OP_EQUALVERIFY OP_CHECKSIG*276a914cb9061ca63f0b6cf8f2ad119e97e6aaf9f22716188ac*"1KZM8n9cRPgqotTUq8w2wHtvUS4hGLo4tJ8ģ$J 4ţ$-@000000000000000000054f5eea6883028a3e2672f229ea2e167f7a02171d5cc3"@0000000000000000000eda14eb8a2d6e086da0bc012b9e0a95b2e11d76301d952ƣ$Ȑ-@00000000000000000004f747a37bfb628310d3af7d75403d0dbe4e62ca3fed9a"@000000000000000000054f5eea6883028a3e2672f229ea2e167f7a02171d5cc32ǣ$-@00000000000000000012206e937f76bd0dde0cd39d48f3a7377793c868d38267"@00000000000000000004f747a37bfb628310d3af7d75403d0dbe4e62ca3fed9a2ȣ$-@00000000000000000018cf2322bb57d32579ea641bdef4935dbbbeac78f2a09b"@00000000000000000012206e937f76bd0dde0cd39d48f3a7377793c868d3826726ɣ$-@000000000000000000191cada95a58eef61db7baf89adf259c198c23cda740da"@00000000000000000018cf2322bb57d32579ea641bdef4935dbbbeac78f2a09b25 + + +1@1cf247130d0bedd8e100919531481ffc11e249f7f3685c2af5638cd4fd655e0fɣ$"@000000000000000000191cada95a58eef61db7baf89adf259c198c23cda740da(-2 +@1d5382e77210f406557960ea41428d5341b6605f13fafaec800f5880c5d5b5f1B029b6977c8147015abfa98903936cbd17dc4fc637c1353617f146061fc6aab41242 +@8bbcfba8b98222ab4b37010b1be684c9ea8b93060b2db71d2f13f48ed9e54c09B0344018ea7536f1684f7d7907f7cedfc44b3c9c5216b92b16a241a1597d8cecffdB +\@1cf247130d0bedd8e100919531481ffc11e249f7f3685c2af5638cd4fd655e0f""1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY"UOP_DUP OP_HASH160 79a2f7d6d53eaff291543f9aea88eab1376d7db5 OP_EQUALVERIFY OP_CHECKSIG*276a91479a2f7d6d53eaff291543f9aea88eab1376d7db588ac*"1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY8ɣ$J  +@1cf247130d0bedd8e100919531481ffc11e249f7f3685c2af5638cd4fd655e0f""1GYQGfC3tyc8uVTtVN9rt7pe35VSzneHnU"UOP_DUP OP_HASH160 aa7a34d483795121587647054ed9a2477d3862cb OP_EQUALVERIFY OP_CHECKSIG*276a914aa7a34d483795121587647054ed9a2477d3862cb88ac*"1GYQGfC3tyc8uVTtVN9rt7pe35VSzneHnU8ɣ$J  +@1cf247130d0bedd8e100919531481ffc11e249f7f3685c2af5638cd4fd655e0f""1F3gLZGXotN1RqFdpRgaKiDaCEKiN4NxWz"UOP_DUP OP_HASH160 9a136e0f30036b528117f16c0ddf80e0b5cc3afb OP_EQUALVERIFY OP_CHECKSIG*276a9149a136e0f30036b528117f16c0ddf80e0b5cc3afb88ac*"1F3gLZGXotN1RqFdpRgaKiDaCEKiN4NxWz8ɣ$J  + + +1@6d41e0a05f0f44753e3bc9af0b868c7dadfd084704f1840eeebb5e8259aa5fb0ɣ$"@000000000000000000191cada95a58eef61db7baf89adf259c198c23cda740da(-2 +@8bbcfba8b98222ab4b37010b1be684c9ea8b93060b2db71d2f13f48ed9e54c09B022c470825a4b476ad0bfda549d0ddaf7036b3a7d5177c9e4de6c07bf2a6a83fff2 +@3092aa6a559495aa64860547c0e74871747b4b8828a643e023dae921722dce4dB020c937795ec15603820eef88a7458db6456cd5d5942f6840b69dd36999f26f188B ++@6d41e0a05f0f44753e3bc9af0b868c7dadfd084704f1840eeebb5e8259aa5fb0""1PLVRkxDp2uGdzWNdbPdeu5BAMUrBWTUeX"UOP_DUP OP_HASH160 f502666a9144b874275cc8526047d9dfdc9c5e25 OP_EQUALVERIFY OP_CHECKSIG*276a914f502666a9144b874275cc8526047d9dfdc9c5e2588ac*"1PLVRkxDp2uGdzWNdbPdeu5BAMUrBWTUeX8ɣ$J  +@6d41e0a05f0f44753e3bc9af0b868c7dadfd084704f1840eeebb5e8259aa5fb0""1JdjZVhR83RGmvLLQgmW84JX6Xr5LDgEQ1"UOP_DUP OP_HASH160 c16ca3f531903b75c68bd208c76906fe8ba3f7e9 OP_EQUALVERIFY OP_CHECKSIG*276a914c16ca3f531903b75c68bd208c76906fe8ba3f7e988ac*"1JdjZVhR83RGmvLLQgmW84JX6Xr5LDgEQ18ɣ$J  +@6d41e0a05f0f44753e3bc9af0b868c7dadfd084704f1840eeebb5e8259aa5fb0""1NiHBFbCnxKRoWeaEtJdUhPUvvQrJbsvhp"UOP_DUP OP_HASH160 ee293316a41338e43de4347f1029e80df53899c4 OP_EQUALVERIFY OP_CHECKSIG*276a914ee293316a41338e43de4347f1029e80df53899c488ac*"1NiHBFbCnxKRoWeaEtJdUhPUvvQrJbsvhp8ɣ$J  + + +1@36c708aaf994f5dc664f627262889f8874f13790cd412d5fb5319dc4467731e0ɣ$"@000000000000000000191cada95a58eef61db7baf89adf259c198c23cda740da(-2 +@d6141ea3189630930eef840d93bde91cfa2f0dc7d35abe6f7f17abadfccf5d09B03dd759e26b9a46d6078024808180b88c049170d4f26c479a6dff99f7668ee75182 +@47bde2a65ee4c88a69613234e51f0bf0f5c325fe2ab668f7dd4d970b9885168aB03e0a04573a272ee9d3d68a922d7087970705ee116c90789790ca5a7c0ddda3880B +@36c708aaf994f5dc664f627262889f8874f13790cd412d5fb5319dc4467731e0""16qJKJnUqhAwpDcMXRViAx521wDr67Tffi"UOP_DUP OP_HASH160 3ffb0ca87dd21ea61721c8c09885ebc52c51bc74 OP_EQUALVERIFY OP_CHECKSIG*276a9143ffb0ca87dd21ea61721c8c09885ebc52c51bc7488ac*"16qJKJnUqhAwpDcMXRViAx521wDr67Tffi8ɣ$J  +@36c708aaf994f5dc664f627262889f8874f13790cd412d5fb5319dc4467731e0""1GxD5W7LvddZRtQLxURSfbZ13iBMdb6SgA"UOP_DUP OP_HASH160 aefad8b7127d79bd17dbb1d03dca46398343ece4 OP_EQUALVERIFY OP_CHECKSIG*276a914aefad8b7127d79bd17dbb1d03dca46398343ece488ac*"1GxD5W7LvddZRtQLxURSfbZ13iBMdb6SgA8ɣ$J  +,@36c708aaf994f5dc664f627262889f8874f13790cd412d5fb5319dc4467731e0""19zHd6RYn61oiMjiYfahaR1MvRHPTF83uz"UOP_DUP OP_HASH160 629697790f56db6f0f4f7a5c03ef11a5a0d61c21 OP_EQUALVERIFY OP_CHECKSIG*276a914629697790f56db6f0f4f7a5c03ef11a5a0d61c2188ac*"19zHd6RYn61oiMjiYfahaR1MvRHPTF83uz8ɣ$J ' + + +1@26a2929b95128e982c41e35eb798c6a8449c6ebdbb42e821b22e8200abab0718ɣ$"@000000000000000000191cada95a58eef61db7baf89adf259c198c23cda740da(-2 +@f8b3bb892177152891aa5ad49f9d7ecf92509c95a6a8fc04dad970828436bf1dB02a0d5df773e7570cb561518517881f734461879e06b713dc597060c21ba66ac532 +@d367f56372e59b18911932d46e65d77878282acd1928d802c1d800b7c07bc8e1B02cbc859f7f6a8388bfb9000bc7c4f5854ed7f728454b68f720a5dc13c2f2ac4ccB +@26a2929b95128e982c41e35eb798c6a8449c6ebdbb42e821b22e8200abab0718"!1jCLLem5jsQ7Hitv58QYHwphY8ioQyiAQ"UOP_DUP OP_HASH160 07faee5a3986f38110d15733c1ed5e1e82dec025 OP_EQUALVERIFY OP_CHECKSIG*276a91407faee5a3986f38110d15733c1ed5e1e82dec02588ac*!1jCLLem5jsQ7Hitv58QYHwphY8ioQyiAQ8ɣ$J  +@26a2929b95128e982c41e35eb798c6a8449c6ebdbb42e821b22e8200abab0718""1CMDAYpUBbW7ASBS1BAXpdZ89nq46PKa9X"UOP_DUP OP_HASH160 7c7bdb7d3f082a69d98f8a475ab105cdabc87f55 OP_EQUALVERIFY OP_CHECKSIG*276a9147c7bdb7d3f082a69d98f8a475ab105cdabc87f5588ac*"1CMDAYpUBbW7ASBS1BAXpdZ89nq46PKa9X8ɣ$J  +Շ@26a2929b95128e982c41e35eb798c6a8449c6ebdbb42e821b22e8200abab0718"!1JKLeWSxqcyqNzjNkiHHQsaz6Y2f5LRkX"UOP_DUP OP_HASH160 03466137b4c5b318e61b750933e47dbc3f0d38f5 OP_EQUALVERIFY OP_CHECKSIG*276a91403466137b4c5b318e61b750933e47dbc3f0d38f588ac*!1JKLeWSxqcyqNzjNkiHHQsaz6Y2f5LRkX8ɣ$J 1 + + +1@2f228c8cbe1981f96c364289a80e56d50f060cd07394e0a77977efd2ac3b9b8dɣ$"@000000000000000000191cada95a58eef61db7baf89adf259c198c23cda740da(-2 +@173bd3fc97112e5f392725ae06f3bac47e70c6073b64c375137212f887eb4438B03b9109895c34c00bf83c620e3a3c6fa77ca25330d934c7fbd3d1655669a46272d2 +@173bd3fc97112e5f392725ae06f3bac47e70c6073b64c375137212f887eb4438B038b1b15891391843b8dd272b411d6301c25beaad39de2d17048e44683409d40b5B +@2f228c8cbe1981f96c364289a80e56d50f060cd07394e0a77977efd2ac3b9b8d""1JFWYG6VevYxCzmH7g4LHahYX3m8sGwuEe"UOP_DUP OP_HASH160 bd389ea352125e07ca01a9de8cf0642eff0f3a22 OP_EQUALVERIFY OP_CHECKSIG*276a914bd389ea352125e07ca01a9de8cf0642eff0f3a2288ac*"1JFWYG6VevYxCzmH7g4LHahYX3m8sGwuEe8ɣ$J  +z@2f228c8cbe1981f96c364289a80e56d50f060cd07394e0a77977efd2ac3b9b8d""1DD3xVB7jqDuGgfejsBB9J4gdT2SK1YW9c"UOP_DUP OP_HASH160 85e8f812ab74dd67c477da7cf6b7d01c8e8db131 OP_EQUALVERIFY OP_CHECKSIG*276a91485e8f812ab74dd67c477da7cf6b7d01c8e8db13188ac*"1DD3xVB7jqDuGgfejsBB9J4gdT2SK1YW9c8ɣ$J  +Y@2f228c8cbe1981f96c364289a80e56d50f060cd07394e0a77977efd2ac3b9b8d""1Q2d757A3xLpQtDDupbpM3kZVv71rQebZf"UOP_DUP OP_HASH160 fc9972991767f7ccb19ce137de9349975a45b19c OP_EQUALVERIFY OP_CHECKSIG*276a914fc9972991767f7ccb19ce137de9349975a45b19c88ac*"1Q2d757A3xLpQtDDupbpM3kZVv71rQebZf8ɣ$J ʣ$-@000000000000000000101eb220befb82cd188d2aa35ec7707a5a5237d54b6611"@000000000000000000191cada95a58eef61db7baf89adf259c198c23cda740da2ˣ$Θ-@0000000000000000000c8c0c15a779881bf22fd8885939117ce1af26e8c0ffdd"@000000000000000000101eb220befb82cd188d2aa35ec7707a5a5237d54b66112 ̣$-@000000000000000000068dcced0e441c32d535412891682f7035b75db9134085"@0000000000000000000c8c0c15a779881bf22fd8885939117ce1af26e8c0ffdd2 + +1@59c7f68f59b575fdd39b802f4aaa4e8f7e6eb9706c5d3288ef85f311c9b7bfbḅ$"@000000000000000000068dcced0e441c32d535412891682f7035b75db9134085(-2 +@354b3c664050a65185f4f65debc797de9f4155e8661ef278ca754d1bfde42f59B02cbe64e503c42f9bd3e3eb4a95be0093003f279568d094ddbc91fe22a3d0898a52 +@b6b9586f740ffb63610deff91d7d90bd54cc4adb24a0466e555bafd5230855caB029e23be1024b39d47b6e43fbe0fac7b1e96e0f04ea3908d997a6aeb4514491166B +@59c7f68f59b575fdd39b802f4aaa4e8f7e6eb9706c5d3288ef85f311c9b7bfbb""1AQ1CCTB1bduGMpSxGNdsKQSuMHJhiK4Y8"UOP_DUP OP_HASH160 6712dc3ec696116f8d4d542b385e2dd0b65d0d35 OP_EQUALVERIFY OP_CHECKSIG*276a9146712dc3ec696116f8d4d542b385e2dd0b65d0d3588ac*"1AQ1CCTB1bduGMpSxGNdsKQSuMHJhiK4Y88̣$J  + +@59c7f68f59b575fdd39b802f4aaa4e8f7e6eb9706c5d3288ef85f311c9b7bfbb""19vjsQs4FxsaNzqhZu13mxfe8ovhkqajgc"UOP_DUP OP_HASH160 61ead66e4164ade903b72721c55bf94b78e1f441 OP_EQUALVERIFY OP_CHECKSIG*276a91461ead66e4164ade903b72721c55bf94b78e1f44188ac*"19vjsQs4FxsaNzqhZu13mxfe8ovhkqajgc8̣$J  +@59c7f68f59b575fdd39b802f4aaa4e8f7e6eb9706c5d3288ef85f311c9b7bfbb"l"6OP_RETURN 1301f2bc8635c5782479762af95cb1afa0a88d1eb5cd*06a161301f2bc8635c5782479762af95cb1afa0a88d1eb5cd25x$yv*\8̣$J   +ͣ$ֿ-@00000000000000000015d974e188aebb9f01a6b6482d22461b94cf95e01b5abb"@000000000000000000068dcced0e441c32d535412891682f7035b75db91340852Σ$ތ-@0000000000000000000eb02d966ed5d83df2ad2c9917c15a52d781f5cf9a213c"@00000000000000000015d974e188aebb9f01a6b6482d22461b94cf95e01b5abb2 + +1@5335b7ad4c6f5ad0af146471c5e79da46e1e94691fab439a4779430d9a7ae249Σ$"@0000000000000000000eb02d966ed5d83df2ad2c9917c15a52d781f5cf9a213c(ތ-2 +@32daa411a628ea1c265ebc2f89395c91201329edff442bc6caf66231d8fff560B03536f3f8ea1af06a280098454656d9ed2d7ca9b963a6f21356fad1115afa7c7a62 +@2bd222db0ea494af1ff9642db84a2d5d5ab48be6b27b7e239db73fe776cf76daB03e51d4398887115709a0715e2b704dbe62b3246deed9b5a01dba8c25784881e5a2 +@559bfe96529844c32f130a4e61756342399f5b16862a32a0da25ce56b4c4a01bB0344932ec6f3abeb38a21d0e2e9cd5e17bd9bc80a9abd9a3aae9f969a9c99cb1f32 +@b323ea45e9404c15795fc25438340852ff079c757953567f8b2d7d90913d8809B03bda40b5c48cddbb42916732a4b3c2fee6622fcd0f18eaa6125b88e8e712c314aB +g@5335b7ad4c6f5ad0af146471c5e79da46e1e94691fab439a4779430d9a7ae249""12fZsZyBUJiuvJ1fg96pDCWmH3tJvFjjPA"UOP_DUP OP_HASH160 12435f54b82b5b67ce8cd211480d48128b89e6d3 OP_EQUALVERIFY OP_CHECKSIG*276a91412435f54b82b5b67ce8cd211480d48128b89e6d388ac*"12fZsZyBUJiuvJ1fg96pDCWmH3tJvFjjPA8Σ$J  + +@5335b7ad4c6f5ad0af146471c5e79da46e1e94691fab439a4779430d9a7ae249""12fZsZyBUJiuvJ1fg96pDCWmH3tJvFjjPA"UOP_DUP OP_HASH160 12435f54b82b5b67ce8cd211480d48128b89e6d3 OP_EQUALVERIFY OP_CHECKSIG*276a91412435f54b82b5b67ce8cd211480d48128b89e6d388ac*"12fZsZyBUJiuvJ1fg96pDCWmH3tJvFjjPA8Σ$J  +@5335b7ad4c6f5ad0af146471c5e79da46e1e94691fab439a4779430d9a7ae249""14Ldwd38P3LvhNmMCAH7Ly3Mk6xtyrdPgm"UOP_DUP OP_HASH160 249f1e380bf88317ab9f4b249442ba9289d3c0c8 OP_EQUALVERIFY OP_CHECKSIG*276a914249f1e380bf88317ab9f4b249442ba9289d3c0c888ac*"14Ldwd38P3LvhNmMCAH7Ly3Mk6xtyrdPgm8Σ$J  +@5335b7ad4c6f5ad0af146471c5e79da46e1e94691fab439a4779430d9a7ae249"l"6OP_RETURN 1301a0294b3a018ee2886730cc4e143248b425a3d171*06a161301a0294b3a018ee2886730cc4e143248b425a3d1712)K:g0N2H%q8Σ$J   +ϣ$-@0000000000000000000318db145f5eed637b8aeb826ec8e3fef508cca7701a63"@0000000000000000000eb02d966ed5d83df2ad2c9917c15a52d781f5cf9a213c2У$Ѯ-@0000000000000000000ca95356624e3aba5a78f647c1b3a1c6a505550e2ed383"@0000000000000000000318db145f5eed637b8aeb826ec8e3fef508cca7701a632 + +1@dc170246a168ea9f6115bc380ab765f450bb5d62e8a61a88c869d8827995a79fУ$"@0000000000000000000ca95356624e3aba5a78f647c1b3a1c6a505550e2ed383(Ѯ-2 +@ba673174050894b2bd1b3ca7f63ba008ebd9c5aeb900c89490c1b1d97cb8bc46B02d9beb5d45fcedcec86e777ea17a2527bd95caa5a243919c930f8d38cfbea16382 +@0c90e3c92c4b6d97affec56b4f256cd73cf65d4364116498420ec46304b57243B02ff4d472d0791cfe2043d1dae7f103f3ff873d23666baec95a3167f016f26dbc92 +@2ef9451271156bd8763e7cbb79a817f2712a78d0cbd43849b2e6dd0440ce41b2B02d6f014429e1c5f5828d1d7bb5d73aeacb3629326ae36fbb04adf3f2d839b14e62 +@e7ef6cece42505a30d7a86151035ad2641db811aea3fee97f649bb723533d7b9B036bbf911387f78280653a71984b0209210338d9fea9429270ab4309c101cff49f2 +@b50c460b6db6e44b1d5e096437acbadbcf66c8a3c80627f7f1979edc2584c7b4B02888e6bd4d9c224f70c10ea11c569b15dd8aece05be0b749b6c795968cf23f9902 +@ba673174050894b2bd1b3ca7f63ba008ebd9c5aeb900c89490c1b1d97cb8bc46B034e9ec1e168c42a57887d0d9565df53ba1ee47b042b8cb8aef3c58a6a4dc63ebc2 +@c07ca3c90765766af683b50d02f402d3c7484e32c3f7dadaf4371426bf226a83B03e9afa94a647efc92c15dbe66f6ebb4997a5ea79082f634c0306f52deabc690072 +@69f0f783f2a73f7f1173f2a9b07c560380f0ba3e6ac98372ab00e68aca3deef6B022e8ddca16b0d2c81170ca80240e301dfd1c6c259f8d35d3b03a088ea42afc8612 +@f8a9b9395848281dcebd9e60e0dbaea3c9f523721edc141eec35a0819c402dc9B02c512248f217d48864d43cf9c7ec78d8a2f4449266fa1b6ba7b17a9f054e3ba3fB +@dc170246a168ea9f6115bc380ab765f450bb5d62e8a61a88c869d8827995a79f""1JpbMU49mw1WKSKUyPXkg86JK4fEtzVSUc"UOP_DUP OP_HASH160 c37a5d67769c58878ad7ead66d0b8fa116606864 OP_EQUALVERIFY OP_CHECKSIG*276a914c37a5d67769c58878ad7ead66d0b8fa11660686488ac*"1JpbMU49mw1WKSKUyPXkg86JK4fEtzVSUc8У$J  +֝@dc170246a168ea9f6115bc380ab765f450bb5d62e8a61a88c869d8827995a79f""17t5XDLqhkqMtth2xaPfeiAsjbJau55DKA"UOP_DUP OP_HASH160 4b79be1c53ca198f481ea0f4ce4b92f72d0277d7 OP_EQUALVERIFY OP_CHECKSIG*276a9144b79be1c53ca198f481ea0f4ce4b92f72d0277d788ac*"17t5XDLqhkqMtth2xaPfeiAsjbJau55DKA8У$J  + +@dc170246a168ea9f6115bc380ab765f450bb5d62e8a61a88c869d8827995a79f""1DZVnvfhCccPaThwb8nHUtFjgrrSubLiYw"UOP_DUP OP_HASH160 89c6dab8a1c49653c436bbc46b68a7f2bdb48070 OP_EQUALVERIFY OP_CHECKSIG*276a91489c6dab8a1c49653c436bbc46b68a7f2bdb4807088ac*"1DZVnvfhCccPaThwb8nHUtFjgrrSubLiYw8У$J ѣ$-@00000000000000000006bf98ea80292fa3eaa7a80889a70ac7fca1b9c20688d8"@0000000000000000000ca95356624e3aba5a78f647c1b3a1c6a505550e2ed3832ң$ō-@00000000000000000000c458d3d74839306fe95dc851b9bac68610e94d12b76b"@00000000000000000006bf98ea80292fa3eaa7a80889a70ac7fca1b9c20688d82ӣ$׍-@00000000000000000019a0e109cfb10db07a1496451c3ad13570b9234637f68e"@00000000000000000000c458d3d74839306fe95dc851b9bac68610e94d12b76b2ԣ$ۍ-@0000000000000000000f8b6b01c9f8c8b5f1c4fb13c526a4fa4858e18e6bd2c0"@00000000000000000019a0e109cfb10db07a1496451c3ad13570b9234637f68e2գ$-@0000000000000000000214f30e4979a927502c9faa6e440397755e2905be52b6"@0000000000000000000f8b6b01c9f8c8b5f1c4fb13c526a4fa4858e18e6bd2c02֣$-@000000000000000000011fe966201cd668b02a63742dc93cba860821637e8d84"@0000000000000000000214f30e4979a927502c9faa6e440397755e2905be52b62ף$Ȯ-@000000000000000000060c7b773f2bc52b010a7a6d7befd2d8b65901e15a8f0c"@000000000000000000011fe966201cd668b02a63742dc93cba860821637e8d842أ$-@0000000000000000001360e0474423fc2f182a13bdc03b5630f1d72ff73d20b3"@000000000000000000060c7b773f2bc52b010a7a6d7befd2d8b65901e15a8f0c20٣$׎-@00000000000000000019819feb5143e78af3d7e69839778236ee8d597612c890"@0000000000000000001360e0474423fc2f182a13bdc03b5630f1d72ff73d20b32/ + +1@88d2fecca9bfbdc4a87011030e972d4c329a885d185200945626cf3c8dae3ecb٣$"@00000000000000000019819feb5143e78af3d7e69839778236ee8d597612c890(׎-2 +@c9241dda7e5a3458678cb8236520a1a365c699230d68c39b0ea4bd529550aaccB02698af631ad8978912db5bb58750f974c76a2bd38d3e6d74ca5ae862a2a0f1e0d2 +@0a2c260b03fdf4ef6c771bcb9323aedc25ba52d84a7d5702d9cddeb351bdca66B03abacc0e66f5c2b6878af197335e440dbd093eb6d22003b93bffd7c99cedfafb42 +@81cb488faae70aa0e719545c24be1e50f39ecebc15e8089091bccbf7aa83e95aB0324f37bf14ef60dd9d4d29b1e98c156a19ffacdea1eb441d124d44b7caed78009B +@88d2fecca9bfbdc4a87011030e972d4c329a885d185200945626cf3c8dae3ecb""1ExAhqKQLwGunrAmyPvyyKf9fa25347fdA"UOP_DUP OP_HASH160 99089d147ee0b9d8072016a7f2db97b0fb7b1da5 OP_EQUALVERIFY OP_CHECKSIG*276a91499089d147ee0b9d8072016a7f2db97b0fb7b1da588ac*"1ExAhqKQLwGunrAmyPvyyKf9fa25347fdA8٣$J  +/@88d2fecca9bfbdc4a87011030e972d4c329a885d185200945626cf3c8dae3ecb""1DoUVrEZrcmHELQAv4fYrn7wyMPjZSVC7s"UOP_DUP OP_HASH160 8c6b98e9b91dc9ceb5fd2ee5a1883477865aae1d OP_EQUALVERIFY OP_CHECKSIG*276a9148c6b98e9b91dc9ceb5fd2ee5a1883477865aae1d88ac*"1DoUVrEZrcmHELQAv4fYrn7wyMPjZSVC7s8٣$J  +@88d2fecca9bfbdc4a87011030e972d4c329a885d185200945626cf3c8dae3ecb""14BnNVsUzPQHChJE3s1JFbTkyZPte9Nf6k"UOP_DUP OP_HASH160 22f26915509ba41a9052c58e5cc57c56673414e5 OP_EQUALVERIFY OP_CHECKSIG*276a91422f26915509ba41a9052c58e5cc57c56673414e588ac*"14BnNVsUzPQHChJE3s1JFbTkyZPte9Nf6k8٣$J  + +1@a7f7384f1aaf4982b61f6f203dbfe1031007ad73d9ca27c49893178c84f4de2c٣$"@00000000000000000019819feb5143e78af3d7e69839778236ee8d597612c890(׎-2 +@5bd85f37fbde7f3bc3d6626dd55a864fcd085ad66984bdc4491eb24f6a9652fcB0396c4e43b569d0c0bbebad9d7711860d3b0908275f38afc749fd0b1c65af6760f2 +@6d41e0a05f0f44753e3bc9af0b868c7dadfd084704f1840eeebb5e8259aa5fb0B02efddd8ae72e69072831743ca686feb7b0b2e5efe2cfa05bcc8418cc59187d82e2 +@5bd85f37fbde7f3bc3d6626dd55a864fcd085ad66984bdc4491eb24f6a9652fcB02514bf40466fb80f6a4e18874ecd06e9be28d62f904819d0b12514feb097501082 +@e39a2d1e9f56af681778817bdd32644c893b404470f6a08fedf5d091198004d9B02e6fd2c3d1222b49ce1d7e7dbe315087f05322401a552690cba3dec1d2a8eeb58B + @a7f7384f1aaf4982b61f6f203dbfe1031007ad73d9ca27c49893178c84f4de2c""1Ja55959b84afNzTTLGCxhTWqF4Tk3TioP"UOP_DUP OP_HASH160 c0bb437fb71b0bf504864886d58dc9d94442a256 OP_EQUALVERIFY OP_CHECKSIG*276a914c0bb437fb71b0bf504864886d58dc9d94442a25688ac*"1Ja55959b84afNzTTLGCxhTWqF4Tk3TioP8٣$J  +τ@a7f7384f1aaf4982b61f6f203dbfe1031007ad73d9ca27c49893178c84f4de2c""18WNHTjihM5Eq1s4fNr8c2rL3RgNn7xbih"UOP_DUP OP_HASH160 5256b5d032e8e77996d98bdb9b29f672d655df14 OP_EQUALVERIFY OP_CHECKSIG*276a9145256b5d032e8e77996d98bdb9b29f672d655df1488ac*"18WNHTjihM5Eq1s4fNr8c2rL3RgNn7xbih8٣$J  + @a7f7384f1aaf4982b61f6f203dbfe1031007ad73d9ca27c49893178c84f4de2c""1LS17SGFKXsKnx9zfarCshFsVGRKTYh6nC"UOP_DUP OP_HASH160 d524e1ade42fabb7c838e466c1776cf2950160f4 OP_EQUALVERIFY OP_CHECKSIG*276a914d524e1ade42fabb7c838e466c1776cf2950160f488ac*"1LS17SGFKXsKnx9zfarCshFsVGRKTYh6nC8٣$J 1 + +1@c894860ff9005bdcf63efb36dffd85f814ac1a3bfab06af4974677f92d7b90ad٣$"@00000000000000000019819feb5143e78af3d7e69839778236ee8d597612c890(׎-2 +@6d41e0a05f0f44753e3bc9af0b868c7dadfd084704f1840eeebb5e8259aa5fb0B020d939456fe2bc329dbdddbe8d655eb65aaba3c6f81d756d9e3017ee19513bbc02 +@26a2929b95128e982c41e35eb798c6a8449c6ebdbb42e821b22e8200abab0718B03a57ebddfd0b09489d45bedf7b822da9e8b5117671d3f6c73bfa18c2094485de72 +@a7f7384f1aaf4982b61f6f203dbfe1031007ad73d9ca27c49893178c84f4de2cB03bbe3fffdf25e6867780f7f7380e9f6f6fc52e02eb761b3c7a76f8464ae597d97B ++@c894860ff9005bdcf63efb36dffd85f814ac1a3bfab06af4974677f92d7b90ad""1Lc6DyWmvtwUsqNVNX6s6stG9PyPm64yh5"UOP_DUP OP_HASH160 d70d4f1f9ea5ccea4e83346c6e592ffe075a6e91 OP_EQUALVERIFY OP_CHECKSIG*276a914d70d4f1f9ea5ccea4e83346c6e592ffe075a6e9188ac*"1Lc6DyWmvtwUsqNVNX6s6stG9PyPm64yh58٣$J  +@c894860ff9005bdcf63efb36dffd85f814ac1a3bfab06af4974677f92d7b90ad""1GJM2Xik3Dvkgh4MdFArWEJxo5LaY4u19q"UOP_DUP OP_HASH160 a7d1acdf4195d9864e5bdec4f8f9926a5641a153 OP_EQUALVERIFY OP_CHECKSIG*276a914a7d1acdf4195d9864e5bdec4f8f9926a5641a15388ac*"1GJM2Xik3Dvkgh4MdFArWEJxo5LaY4u19q8٣$J  +@c894860ff9005bdcf63efb36dffd85f814ac1a3bfab06af4974677f92d7b90ad""1KHNqMS2ebbHL25MHCjbroxFQ4dnyiWr1k"UOP_DUP OP_HASH160 c88b25338ef87996871af7a7f23a59f817dfa2b7 OP_EQUALVERIFY OP_CHECKSIG*276a914c88b25338ef87996871af7a7f23a59f817dfa2b788ac*"1KHNqMS2ebbHL25MHCjbroxFQ4dnyiWr1k8٣$J  + + +1@cb2348457fe41278944734c5b3e8fd3a1f62d0387f820b03c83d960125b5cb49٣$"@00000000000000000019819feb5143e78af3d7e69839778236ee8d597612c890(׎-2 +@1cf247130d0bedd8e100919531481ffc11e249f7f3685c2af5638cd4fd655e0fB0361ee21c9aa42a38969d0a2081e4c614aa8ddd1c498a9dfdbc8b8661b3e02fb822 +@1cf247130d0bedd8e100919531481ffc11e249f7f3685c2af5638cd4fd655e0fB032822443224298782fe0ef04049bce5cdf707408080127a120f3554a24a4b67d1B +@cb2348457fe41278944734c5b3e8fd3a1f62d0387f820b03c83d960125b5cb49""18pqMKE911DuWdFZUcgVGJpjuCExgSrbu1"UOP_DUP OP_HASH160 55d4ca9c03b279e9396d07ed19539b67e1725285 OP_EQUALVERIFY OP_CHECKSIG*276a91455d4ca9c03b279e9396d07ed19539b67e172528588ac*"18pqMKE911DuWdFZUcgVGJpjuCExgSrbu18٣$J  +0@cb2348457fe41278944734c5b3e8fd3a1f62d0387f820b03c83d960125b5cb49""18GbnD5qicYZGRcKtNG6bBDUaNaRc38H7x"UOP_DUP OP_HASH160 4fbc26ffb821f70b28396c8a62017eef29c57779 OP_EQUALVERIFY OP_CHECKSIG*276a9144fbc26ffb821f70b28396c8a62017eef29c5777988ac*"18GbnD5qicYZGRcKtNG6bBDUaNaRc38H7x8٣$J  +@cb2348457fe41278944734c5b3e8fd3a1f62d0387f820b03c83d960125b5cb49""1MuAniok1odM9viP1r4JKrC973aPa645Qn"UOP_DUP OP_HASH160 e5405108d7ede7657ddc7fc27f51791a9e2e7274 OP_EQUALVERIFY OP_CHECKSIG*276a914e5405108d7ede7657ddc7fc27f51791a9e2e727488ac*"1MuAniok1odM9viP1r4JKrC973aPa645Qn8٣$J  ڣ$ݎ-@00000000000000000015240d82f3b789cb6fe4c48512b3835f4ad990a68093c4"@00000000000000000019819feb5143e78af3d7e69839778236ee8d597612c8902ۣ$-@00000000000000000012a1ba5262384623d3cb0ecd393342340008741ba54519"@00000000000000000015240d82f3b789cb6fe4c48512b3835f4ad990a68093c42ܣ$-@000000000000000000030e1801d648603612e3101a203146d1deb637b3041d92"@00000000000000000012a1ba5262384623d3cb0ecd393342340008741ba545192ݣ$-@0000000000000000000cb951856e809367efc31af9200b053c16595fe7e68f00"@000000000000000000030e1801d648603612e3101a203146d1deb637b3041d922ޣ$ݱ-@00000000000000000017f36db56379abc00476ae1426eff24ea3aeeaf34284e2"@0000000000000000000cb951856e809367efc31af9200b053c16595fe7e68f002ߣ$-@0000000000000000000e6be6d2e5fa969a6229be9e6f2642bd5cfd293096ac60"@00000000000000000017f36db56379abc00476ae1426eff24ea3aeeaf34284e22$Տ-@00000000000000000001f26dc0af9130fcc80cb93114001ca7cda7571255866e"@0000000000000000000e6be6d2e5fa969a6229be9e6f2642bd5cfd293096ac602$ر׏-@00000000000000000011a3a803e62a6eef4e0c43e9acbeba96d1be254d3a6791"@00000000000000000001f26dc0af9130fcc80cb93114001ca7cda7571255866e2"$-@000000000000000000180cc6a3baeca2e9a9661e94f13fddcdbf208edcb2ea08"@00000000000000000011a3a803e62a6eef4e0c43e9acbeba96d1be254d3a67912! + + +1@987ed088ab6eae9dd88e409d6a8fb6248e8b0c1b5e37b7c909b5b8b74728f77f$"@000000000000000000180cc6a3baeca2e9a9661e94f13fddcdbf208edcb2ea08(-2 +@082cafe3617f1e0c39304c7662381cdef80218cf2885a0ef10f260a0a1f697d5B038991c6472f62678421be94ba114635c66324d4ad2ad74a0ab1e7e619780d5a9b2 +@ac57f6b11863eaa7b145de63063f576da2cc811a5cf1100766fec5242aacc419B0253e0b58fc5dc13fd1d079c9871478cf127ef59dcfe3c2a9d2d4a8af74861b2f6B +@987ed088ab6eae9dd88e409d6a8fb6248e8b0c1b5e37b7c909b5b8b74728f77f""1C95BQRhooPSMJMu43MABQ2dZzLXaQhnfG"UOP_DUP OP_HASH160 7a303338bd211b95b0066eed1a6b671b834d7d63 OP_EQUALVERIFY OP_CHECKSIG*276a9147a303338bd211b95b0066eed1a6b671b834d7d6388ac*"1C95BQRhooPSMJMu43MABQ2dZzLXaQhnfG8$J  +@987ed088ab6eae9dd88e409d6a8fb6248e8b0c1b5e37b7c909b5b8b74728f77f""1GgHkwoYNEgdFcPc5BhLkQo5FeJZmwU1Ey"UOP_DUP OP_HASH160 abf8190daedc5adab7b749ecfb207603d5e12a72 OP_EQUALVERIFY OP_CHECKSIG*276a914abf8190daedc5adab7b749ecfb207603d5e12a7288ac*"1GgHkwoYNEgdFcPc5BhLkQo5FeJZmwU1Ey8$J  +Ʒ@987ed088ab6eae9dd88e409d6a8fb6248e8b0c1b5e37b7c909b5b8b74728f77f""1EbA8s7jquZYknSWmHNhdSRpPPMmTsCynX"UOP_DUP OP_HASH160 950f67659dff9dec420cf0c20226fe750387b8a3 OP_EQUALVERIFY OP_CHECKSIG*276a914950f67659dff9dec420cf0c20226fe750387b8a388ac*"1EbA8s7jquZYknSWmHNhdSRpPPMmTsCynX8$J  + +1@2be979aeeff52e982829fd26bcfabebd47d3a13c9b0b13fb43167dccea12380c$"@000000000000000000180cc6a3baeca2e9a9661e94f13fddcdbf208edcb2ea08(-2 +@6c2bbcda8c1d0388c2102e15660de097f9f861d3fc92b2e10f7ab338b6293ec1B038991c6472f62678421be94ba114635c66324d4ad2ad74a0ab1e7e619780d5a9b2 +@b6e7acdfd7462ebcb1c5a9b7a9a685f6a7481c4138c4c235fba677167342928bB0225a912bf71c13952811e5961aa33df42d23acfb79998930a8c9f6604025c911d2 +@987ed088ab6eae9dd88e409d6a8fb6248e8b0c1b5e37b7c909b5b8b74728f77fB029ff749bcf881d4344d718dbc3daa6f5e08698f3d44338eda3b1659edc604a7efB +@2be979aeeff52e982829fd26bcfabebd47d3a13c9b0b13fb43167dccea12380c""12ZmdbSsBPPFcPEdhD4gvz9Ny7erRirajz"UOP_DUP OP_HASH160 112ab14d38c53275b87fda74c160bb39b5a4292b OP_EQUALVERIFY OP_CHECKSIG*276a914112ab14d38c53275b87fda74c160bb39b5a4292b88ac*"12ZmdbSsBPPFcPEdhD4gvz9Ny7erRirajz8$J  +@2be979aeeff52e982829fd26bcfabebd47d3a13c9b0b13fb43167dccea12380c""1DebyWs1aKt5gMc7GuatAEe2Kg8gmwcffn"UOP_DUP OP_HASH160 8abe185b76279750ae5b22aa3e3154aa0653607f OP_EQUALVERIFY OP_CHECKSIG*276a9148abe185b76279750ae5b22aa3e3154aa0653607f88ac*"1DebyWs1aKt5gMc7GuatAEe2Kg8gmwcffn8$J  +@2be979aeeff52e982829fd26bcfabebd47d3a13c9b0b13fb43167dccea12380c""1ABoBn6UPRXAt97fLXF3Mdt3do7YU2tKDo"UOP_DUP OP_HASH160 64c3d87ca387fe4078a7d0f075eb639694ab429f OP_EQUALVERIFY OP_CHECKSIG*276a91464c3d87ca387fe4078a7d0f075eb639694ab429f88ac*"1ABoBn6UPRXAt97fLXF3Mdt3do7YU2tKDo8$J  + + +1@555f854c8dc726f0cff7809be76ca77425e09a200b0a5fcf8fa40a44dfb912fe$"@000000000000000000180cc6a3baeca2e9a9661e94f13fddcdbf208edcb2ea08(-2 +@2be979aeeff52e982829fd26bcfabebd47d3a13c9b0b13fb43167dccea12380cB024f02b50558d64dbc71578fcbca7492cfd08dfeed680dc1ef2dd343eb278443882 +@2be979aeeff52e982829fd26bcfabebd47d3a13c9b0b13fb43167dccea12380cB02614f224193b963255520deb31acd1fc44c144bdbc07ed6bb600c006e1d7466e7B +@555f854c8dc726f0cff7809be76ca77425e09a200b0a5fcf8fa40a44dfb912fe""15rrkzbHDKZujLJVgekTuGm4bi7gqLgzXu"UOP_DUP OP_HASH160 354e6bebc1673c1be27ba9299bcca59c63ef25b1 OP_EQUALVERIFY OP_CHECKSIG*276a914354e6bebc1673c1be27ba9299bcca59c63ef25b188ac*"15rrkzbHDKZujLJVgekTuGm4bi7gqLgzXu8$J  +@555f854c8dc726f0cff7809be76ca77425e09a200b0a5fcf8fa40a44dfb912fe""1576K3oF2seBtQpQR4Rn2ziE7rDuSmtxqX"UOP_DUP OP_HASH160 2d076eb536abee7619d430d0db4ff39177124068 OP_EQUALVERIFY OP_CHECKSIG*276a9142d076eb536abee7619d430d0db4ff3917712406888ac*"1576K3oF2seBtQpQR4Rn2ziE7rDuSmtxqX8$J  +Ϋ@555f854c8dc726f0cff7809be76ca77425e09a200b0a5fcf8fa40a44dfb912fe""14Z3pGCiFWWQkqWJPLJCHtEU87QHADWpY4"UOP_DUP OP_HASH160 26f809b119997fda3e67f3b579973720fd0f4f8d OP_EQUALVERIFY OP_CHECKSIG*276a91426f809b119997fda3e67f3b579973720fd0f4f8d88ac*"14Z3pGCiFWWQkqWJPLJCHtEU87QHADWpY48$J $֦-@000000000000000000063e4fea02eb6d0e0338a89801885e92e34341c7b80204"@000000000000000000180cc6a3baeca2e9a9661e94f13fddcdbf208edcb2ea082$-@00000000000000000017b3b45a7bbf89d09f368be86729888335d4038808eb1f"@000000000000000000063e4fea02eb6d0e0338a89801885e92e34341c7b802042$ș-@00000000000000000014ec36da9c744d5bc731d64af5d756a053ec7e59240b46"@00000000000000000017b3b45a7bbf89d09f368be86729888335d4038808eb1f2 $ߐ-@0000000000000000000fb3fa25299ce56fc52a6edaff2c93a6968893f9df3be2"@00000000000000000014ec36da9c744d5bc731d64af5d756a053ec7e59240b462 + +1@2bb15352ce8604b5d194d5b6e6dee3d670023bca0ef09da8a6eacd1aa0e0a95c$"@0000000000000000000fb3fa25299ce56fc52a6edaff2c93a6968893f9df3be2(ߐ-2 +@90fd3ecfcc5bf1f6dc785736428f896930fee1a8acd661076d6ce54daf27d584B02c5586d57440e21dbd0cd5475857a82597039e465f830587936ca9a60d934252c2 +@73fd23b9dd06b3ae0dc19491bf44357848a67734ff0dd70888fc037524ca508eB03ffafe7f6f91bc9c1c973b8831f27361bcac04c4b74863017ebfe8f55cd6c9ccbB +ß@2bb15352ce8604b5d194d5b6e6dee3d670023bca0ef09da8a6eacd1aa0e0a95c""1CREa5jUqM4XRwz73E8xtsab9Ewzo2CqsF"UOP_DUP OP_HASH160 7d3eb1d69a22eaeae5b51d37c5fad3b87e281553 OP_EQUALVERIFY OP_CHECKSIG*276a9147d3eb1d69a22eaeae5b51d37c5fad3b87e28155388ac*"1CREa5jUqM4XRwz73E8xtsab9Ewzo2CqsF8$J  +@2bb15352ce8604b5d194d5b6e6dee3d670023bca0ef09da8a6eacd1aa0e0a95c""1Ha2vyJt1ou9PoGc1yJxgEFKTJdhUENeHz"UOP_DUP OP_HASH160 b5c159ce6dc3d71c9e120b88f4cf74bd5e37f789 OP_EQUALVERIFY OP_CHECKSIG*276a914b5c159ce6dc3d71c9e120b88f4cf74bd5e37f78988ac*"1Ha2vyJt1ou9PoGc1yJxgEFKTJdhUENeHz8$J $Я-@00000000000000000006704c952bebb6bb9aee41f54e12e0cbae870680387f8c"@0000000000000000000fb3fa25299ce56fc52a6edaff2c93a6968893f9df3be22$-@00000000000000000014ebab5dff5e142f9ad2004860a5ff9b6d1bcdf5cf348b"@00000000000000000006704c952bebb6bb9aee41f54e12e0cbae870680387f8c2$롑-@000000000000000000085465ada2f18728c20232e664e502a4f7844ea5b99192"@00000000000000000014ebab5dff5e142f9ad2004860a5ff9b6d1bcdf5cf348b2$-@0000000000000000000e40c9133bbc4332987857a9e2e3f1d1d02c4ac614daeb"@000000000000000000085465ada2f18728c20232e664e502a4f7844ea5b991922$-@00000000000000000000e16f42aa65970c1e0be9063b4898806d9e31aee4e005"@0000000000000000000e40c9133bbc4332987857a9e2e3f1d1d02c4ac614daeb2 + + +1@b002c1c0486344daedcb946feb498ef881bff24f82a94139ee1d110a803b9a0e$"@00000000000000000000e16f42aa65970c1e0be9063b4898806d9e31aee4e005(-2 +@5be468264234a9aeea07613e60947e204465bf16fa2e3eb64964b9c5c38d405dB030125e4f679780eddf37f2c368aa74676205787a37f4f99287cf34cf63b309f192 +@5be468264234a9aeea07613e60947e204465bf16fa2e3eb64964b9c5c38d405dB021a84398ca603e7ad1de11c23dec6d129e504fdd9682dedba874f04dce372153aB +)@b002c1c0486344daedcb946feb498ef881bff24f82a94139ee1d110a803b9a0e""1EZS4zd7WJXPMtiQTQSQCXbgt2LUhxiAe6"UOP_DUP OP_HASH160 94bbdf5508ffd100aee6d3c39d52ab97830b69e5 OP_EQUALVERIFY OP_CHECKSIG*276a91494bbdf5508ffd100aee6d3c39d52ab97830b69e588ac*"1EZS4zd7WJXPMtiQTQSQCXbgt2LUhxiAe68$J  +[@b002c1c0486344daedcb946feb498ef881bff24f82a94139ee1d110a803b9a0e""1Ly917z7Zm4B5YZ1JosKUYqeVD1wvfuqsZ"UOP_DUP OP_HASH160 db085d118a2ffc98ee037c0a4128aebae628816b OP_EQUALVERIFY OP_CHECKSIG*276a914db085d118a2ffc98ee037c0a4128aebae628816b88ac*"1Ly917z7Zm4B5YZ1JosKUYqeVD1wvfuqsZ8$J  +ƅ@b002c1c0486344daedcb946feb498ef881bff24f82a94139ee1d110a803b9a0e""1HZECBjQkuhDjrbyw7JyyQk9bhgTfAZR8u"UOP_DUP OP_HASH160 b59a560df1743a811037db8b7af590cf3ccb76ce OP_EQUALVERIFY OP_CHECKSIG*276a914b59a560df1743a811037db8b7af590cf3ccb76ce88ac*"1HZECBjQkuhDjrbyw7JyyQk9bhgTfAZR8u8$J  + +1@fdb92bbb9a89a37bfd112df2a5eb25e20b96e87c7b6503cc95d2a0ea933c6256$"@00000000000000000000e16f42aa65970c1e0be9063b4898806d9e31aee4e005(-2 +@b002c1c0486344daedcb946feb498ef881bff24f82a94139ee1d110a803b9a0eB0337a610f63218c01fa32d4bc462329641337f4670b5c8bf13bdf3a031dd413c9d2 +@39e49297e7c940b4d914708704bebc6cb46e7a99f04e554d67d3d57cbfd8e09dB02b2b1d5c0bb4fb3f106450f4504b94e614253b9c216fbc3bfe28acc9d7585deab2 +@7b81ddd7f18b8f17b1f5c4af9d6152f2dccfa6aa0eb6bf186aa976a7c0aaeae3B02ac74c63749d425d3d4d281e6402f716d4434cd18e64ccedfff71dc0b10a84e812 +@9692c6e036f3b37a3c85b619372d5ad32f108b5dec598ebe397f7fbbd208f4a5B02a22c63cc40e59b9719e8fdab5aeac0707f96569b60b207414700110bd5011009B +)@fdb92bbb9a89a37bfd112df2a5eb25e20b96e87c7b6503cc95d2a0ea933c6256""1PnQ62Ad7S7c22GzLL6o7efhEmNoCzHM6z"UOP_DUP OP_HASH160 f9e8c1d861699b7be04ba52f200bd81b4194f310 OP_EQUALVERIFY OP_CHECKSIG*276a914f9e8c1d861699b7be04ba52f200bd81b4194f31088ac*"1PnQ62Ad7S7c22GzLL6o7efhEmNoCzHM6z8$J  +[@fdb92bbb9a89a37bfd112df2a5eb25e20b96e87c7b6503cc95d2a0ea933c6256""1EVVquppTaYqhr46fR4cjZNZK8VjhpF1xR"UOP_DUP OP_HASH160 93fd5bfa102f1ba935964a4c1bc907854164dea0 OP_EQUALVERIFY OP_CHECKSIG*276a91493fd5bfa102f1ba935964a4c1bc907854164dea088ac*"1EVVquppTaYqhr46fR4cjZNZK8VjhpF1xR8$J  + +@fdb92bbb9a89a37bfd112df2a5eb25e20b96e87c7b6503cc95d2a0ea933c6256""19UvQUW3Apr45NrAXjFa3GLvL1NzJR3sxD"UOP_DUP OP_HASH160 5d08d137e8b070f1aec76736104424a9183d34f3 OP_EQUALVERIFY OP_CHECKSIG*276a9145d08d137e8b070f1aec76736104424a9183d34f388ac*"19UvQUW3Apr45NrAXjFa3GLvL1NzJR3sxD8$J  $-@00000000000000000004f0c30e22cb43d425014eac9a39abc90ac961e0a73afd"@00000000000000000000e16f42aa65970c1e0be9063b4898806d9e31aee4e0052$-@000000000000000000187f49c0f588440af52039bc6e5951c286b692af2d004d"@00000000000000000004f0c30e22cb43d425014eac9a39abc90ac961e0a73afd2$邒-@0000000000000000000ca5aaf2c9e9bdc8fd1e48fdc39faf867b0f5aad28ead4"@000000000000000000187f49c0f588440af52039bc6e5951c286b692af2d004d2 $-@0000000000000000000d26d923ac33c558431848b27d544580423d4cc1842813"@0000000000000000000ca5aaf2c9e9bdc8fd1e48fdc39faf867b0f5aad28ead42 + + + +1@3ddcbfd2d0f7ab93e9ba34655ee9da22939e5949719ebe374b306021278e1806$"@0000000000000000000d26d923ac33c558431848b27d544580423d4cc1842813(-2 +@b6c1bb1395440020868ebb113dfe584f9668e38c9f40df8f7b5d325f954902baB020454cfadcde62a92842ac8b27bd51ad521f56f8d3c4d1ec17aa5750921f947232 +@758c60a799613d372e07f5f2807387533891624d03d34329ac536c18a816e829B020aea4ad92f0d1a54c772c44aff1d5494b191e177cb3c425e121d2a2232b7363aB +@3ddcbfd2d0f7ab93e9ba34655ee9da22939e5949719ebe374b306021278e1806""1EDTXg2kUCLuTonG6W6RfD3eSe1FnT49wE"UOP_DUP OP_HASH160 90f4c59ad980518b79d310997a4fa1f4d9760bd2 OP_EQUALVERIFY OP_CHECKSIG*276a91490f4c59ad980518b79d310997a4fa1f4d9760bd288ac*"1EDTXg2kUCLuTonG6W6RfD3eSe1FnT49wE8$J  +\@3ddcbfd2d0f7ab93e9ba34655ee9da22939e5949719ebe374b306021278e1806""1DtEVn8pH3osMWtHn7CB14u1kXeaCrmaah"UOP_DUP OP_HASH160 8d51fd4fa6a65cd009165f7054d04de044657317 OP_EQUALVERIFY OP_CHECKSIG*276a9148d51fd4fa6a65cd009165f7054d04de04465731788ac*"1DtEVn8pH3osMWtHn7CB14u1kXeaCrmaah8$J  +9@3ddcbfd2d0f7ab93e9ba34655ee9da22939e5949719ebe374b306021278e1806""19GorGJHR4nxAp21cJuNvjJJ8s1f9seDBC"UOP_DUP OP_HASH160 5abe5a849c3325ed453a1f738289525a5ab14bc5 OP_EQUALVERIFY OP_CHECKSIG*276a9145abe5a849c3325ed453a1f738289525a5ab14bc588ac*"19GorGJHR4nxAp21cJuNvjJJ8s1f9seDBC8$J &$-@000000000000000000006aa3716b10a56e6c1828fb88dd88f359c5ae90abe363"@0000000000000000000d26d923ac33c558431848b27d544580423d4cc18428132 $-@0000000000000000001254343d95fef826d5ab2c25b083958bb3efe15ab2c919"@000000000000000000006aa3716b10a56e6c1828fb88dd88f359c5ae90abe3632 + + + +1@983dac48f99d4fc0d7a6751d17de3ccb33b636e4b4a9d4875cd299c08bc5c485$"@0000000000000000001254343d95fef826d5ab2c25b083958bb3efe15ab2c919(-2 +@356f23502b9651b28554a900a4a256bd51c7f51361227daab94a79443758324fB0330698c8850fb26b2a91ba61ef4c09eaaffe932712894d3d5e4f1574789e53da22 +@bdd47912cbfe569a62430fff46306b0d78924113b2868201bd55cc015c3344a2B03bc173a24b8accd6b19b9d5c99f5bbeac5e53271c7552b3a9d5becc5f972b970aB +@983dac48f99d4fc0d7a6751d17de3ccb33b636e4b4a9d4875cd299c08bc5c485""1JsbzquWen5uGUwbvw5kQpx57fNjvDztTt"UOP_DUP OP_HASH160 c40c269354497ed629671e58f1dc9027ae617c88 OP_EQUALVERIFY OP_CHECKSIG*276a914c40c269354497ed629671e58f1dc9027ae617c8888ac*"1JsbzquWen5uGUwbvw5kQpx57fNjvDztTt8$J  +@983dac48f99d4fc0d7a6751d17de3ccb33b636e4b4a9d4875cd299c08bc5c485""1Cr4Y9jNJpyWaxQcsLKE6F4zFMuRjp9juH"UOP_DUP OP_HASH160 81f0b7e5fffa2b997fe60657a6ff5eda586e996b OP_EQUALVERIFY OP_CHECKSIG*276a91481f0b7e5fffa2b997fe60657a6ff5eda586e996b88ac*"1Cr4Y9jNJpyWaxQcsLKE6F4zFMuRjp9juH8$J  +J@983dac48f99d4fc0d7a6751d17de3ccb33b636e4b4a9d4875cd299c08bc5c485""1AWAwfcwvsSfAr2eSfMSvFSjpgCSbqYwyd"UOP_DUP OP_HASH160 683d7e9a203da99384cc2f336f6b779eddc76d67 OP_EQUALVERIFY OP_CHECKSIG*276a914683d7e9a203da99384cc2f336f6b779eddc76d6788ac*"1AWAwfcwvsSfAr2eSfMSvFSjpgCSbqYwyd8$J $-@00000000000000000004e702023eda2ccb662350a42aa647e10277939ef94305"@0000000000000000001254343d95fef826d5ab2c25b083958bb3efe15ab2c9192$-@00000000000000000008042588df98eb8b4f73b1a4294f3678ac1845e4594834"@00000000000000000004e702023eda2ccb662350a42aa647e10277939ef943052$-@0000000000000000000f61b85abf2280c321559807abfe9d27ec18c440e4a32d"@00000000000000000008042588df98eb8b4f73b1a4294f3678ac1845e45948342$-@00000000000000000007a18eb7d6205c164476148516886e415293a3f9653693"@0000000000000000000f61b85abf2280c321559807abfe9d27ec18c440e4a32d2 $-@00000000000000000001c55d7b4a00727e03007eb5377a440cdf5eb147d85cd3"@00000000000000000007a18eb7d6205c164476148516886e415293a3f96536932 + + + +1@de10b0fda3eddd42efd473db03189a8c3f4d4674924adad24b5317a9642b9753$"@00000000000000000001c55d7b4a00727e03007eb5377a440cdf5eb147d85cd3(-2 +@2f228c8cbe1981f96c364289a80e56d50f060cd07394e0a77977efd2ac3b9b8dB02e51a06b89d183ad87bce077b7cdf6d8f8d2d0ce639de8a9be3ddaa823051295a2 +@884ed18e721de2e17c2c5ce995fbc34723f8938c69657afee9fd171cd7037352B03eab97dba8e67ce9376005cbe991707c7f5279edb0c6129e09ff04a5d8209642eB +@de10b0fda3eddd42efd473db03189a8c3f4d4674924adad24b5317a9642b9753""1PhXXPHU4x8p2kWhiusK43DB65Pi3AnEnY"UOP_DUP OP_HASH160 f8fce2c0cef441b5e7ad7b370f8cbc85501bad6b OP_EQUALVERIFY OP_CHECKSIG*276a914f8fce2c0cef441b5e7ad7b370f8cbc85501bad6b88ac*"1PhXXPHU4x8p2kWhiusK43DB65Pi3AnEnY8$J  +=@de10b0fda3eddd42efd473db03189a8c3f4d4674924adad24b5317a9642b9753""14q7mwv56WV5HX4AxANrX6hf7es68WWF8S"UOP_DUP OP_HASH160 2a01ffbb9d10d32a7cd8f406975a234ae223e68e OP_EQUALVERIFY OP_CHECKSIG*276a9142a01ffbb9d10d32a7cd8f406975a234ae223e68e88ac*"14q7mwv56WV5HX4AxANrX6hf7es68WWF8S8$J  +ʞ +@de10b0fda3eddd42efd473db03189a8c3f4d4674924adad24b5317a9642b9753""1FGnfZgdWGKdkynztHo3dcDecAZoGTxjdT"UOP_DUP OP_HASH160 9c8e1e996ca54a806af7fa27f37987b001248c80 OP_EQUALVERIFY OP_CHECKSIG*276a9149c8e1e996ca54a806af7fa27f37987b001248c8088ac*"1FGnfZgdWGKdkynztHo3dcDecAZoGTxjdT8$J !$м-@000000000000000000154a5614088eed8857f2f2891d2923f5f5f12bf48e76fa"@00000000000000000001c55d7b4a00727e03007eb5377a440cdf5eb147d85cd32 + + +1@cea73f072bb4834d7e7c597eaa02217a0fd0f2451db51c805b46dbc8d93b3c8a$"@000000000000000000154a5614088eed8857f2f2891d2923f5f5f12bf48e76fa(м-2 +@cb2348457fe41278944734c5b3e8fd3a1f62d0387f820b03c83d960125b5cb49B03dc3c826a51a6324d760d7bf6d3944bef14b44ca7eec94a8847e01a3b7bdb75192 +@cb2348457fe41278944734c5b3e8fd3a1f62d0387f820b03c83d960125b5cb49B023aa3cc893d67dd398e0c4fecef4a8f4189fd60179460b260e0cb8d6bba33ddadB +@cea73f072bb4834d7e7c597eaa02217a0fd0f2451db51c805b46dbc8d93b3c8a""19RZtXBhTACJeWfXuh6yjAyKtQDA3pewUe"UOP_DUP OP_HASH160 5c66716f9d615b9dd6778e5354fac8f701aa26cc OP_EQUALVERIFY OP_CHECKSIG*276a9145c66716f9d615b9dd6778e5354fac8f701aa26cc88ac*"19RZtXBhTACJeWfXuh6yjAyKtQDA3pewUe8$J  + @cea73f072bb4834d7e7c597eaa02217a0fd0f2451db51c805b46dbc8d93b3c8a""13ACsPmnDhodj9JB67ZHC2L2vKYCufiYHR"UOP_DUP OP_HASH160 17ade71fed9417ebc56808719ad33d8c40fd2472 OP_EQUALVERIFY OP_CHECKSIG*276a91417ade71fed9417ebc56808719ad33d8c40fd247288ac*"13ACsPmnDhodj9JB67ZHC2L2vKYCufiYHR8$J  +@cea73f072bb4834d7e7c597eaa02217a0fd0f2451db51c805b46dbc8d93b3c8a""1Lx2ysvWDPXEG7socfZqskcHUtdby6hknF"UOP_DUP OP_HASH160 dad2ebd0fa0a18b829a1585ee64e1b86171ad8b6 OP_EQUALVERIFY OP_CHECKSIG*276a914dad2ebd0fa0a18b829a1585ee64e1b86171ad8b688ac*"1Lx2ysvWDPXEG7socfZqskcHUtdby6hknF8$J  + + +1@656ca2cf92fddc7993e05b4724cd08150d7752977fa98c701ae528cad1f54bbe$"@000000000000000000154a5614088eed8857f2f2891d2923f5f5f12bf48e76fa(м-2 +@a7f7384f1aaf4982b61f6f203dbfe1031007ad73d9ca27c49893178c84f4de2cB030030647666c848a1fae437969e7a728e285361fe0f8fedb60bdc32ccc1bc0f002 +@19820f4342e9de16fb4a12313eddaf779470bc18bac74c7d5e487bf6ee865f88B0303af91be2e000c27c039ff4c07511357ab4ffcefb710c6deb3366b7836b9133bB +@656ca2cf92fddc7993e05b4724cd08150d7752977fa98c701ae528cad1f54bbe""17FUDngSMmjzQ6yKq5fh3WCgKT9izVgLet"UOP_DUP OP_HASH160 448d4cf921de2d99adf01556d78d5e4d43d9671b OP_EQUALVERIFY OP_CHECKSIG*276a914448d4cf921de2d99adf01556d78d5e4d43d9671b88ac*"17FUDngSMmjzQ6yKq5fh3WCgKT9izVgLet8$J  +@656ca2cf92fddc7993e05b4724cd08150d7752977fa98c701ae528cad1f54bbe""1LkKXJiPJMLB38yd7DCmchU91p4nz43LRD"UOP_DUP OP_HASH160 d89bbcf16d96112a7fdb70b4bdf429750cb2dc11 OP_EQUALVERIFY OP_CHECKSIG*276a914d89bbcf16d96112a7fdb70b4bdf429750cb2dc1188ac*"1LkKXJiPJMLB38yd7DCmchU91p4nz43LRD8$J  +@656ca2cf92fddc7993e05b4724cd08150d7752977fa98c701ae528cad1f54bbe""13PgCk4syCNHMPgQiHVHrPcSUjfRSEmCGv"UOP_DUP OP_HASH160 1a3a20961a9bc1dbcfc40f7cb3f5936aa38205b9 OP_EQUALVERIFY OP_CHECKSIG*276a9141a3a20961a9bc1dbcfc40f7cb3f5936aa38205b988ac*"13PgCk4syCNHMPgQiHVHrPcSUjfRSEmCGv8$J  + + +1@6b9c9e1874b8a10437656c124b5d3da6f088cefd6b6c0bee5f430c7d6bbd9d7c$"@000000000000000000154a5614088eed8857f2f2891d2923f5f5f12bf48e76fa(м-2 +@c894860ff9005bdcf63efb36dffd85f814ac1a3bfab06af4974677f92d7b90adB022c72fb7470138fe1ddc6ee9a803e6864121bc97b522c11838893e5050ffc1af52 +@9d513c803fa67718a08dbd9c8e744a9b53d5220cb99835e4f14a564b46e0d632B03dc12de933541d9ae85d07bde9ae868221962daa863297e386f88120cff391964B +)@6b9c9e1874b8a10437656c124b5d3da6f088cefd6b6c0bee5f430c7d6bbd9d7c""1B2r5QkApn6xQwbTEYqAa6VjRFqm2YEDWF"UOP_DUP OP_HASH160 6e0aa3f155bde16b2405f33c1dc30f88aa532a1a OP_EQUALVERIFY OP_CHECKSIG*276a9146e0aa3f155bde16b2405f33c1dc30f88aa532a1a88ac*"1B2r5QkApn6xQwbTEYqAa6VjRFqm2YEDWF8$J  +@6b9c9e1874b8a10437656c124b5d3da6f088cefd6b6c0bee5f430c7d6bbd9d7c""1AJFSAJYM2RLj86gJgDiJD7fucjCKpsq9Q"UOP_DUP OP_HASH160 65fc408bd56e560ccc54e5fe102f13593db4718a OP_EQUALVERIFY OP_CHECKSIG*276a91465fc408bd56e560ccc54e5fe102f13593db4718a88ac*"1AJFSAJYM2RLj86gJgDiJD7fucjCKpsq9Q8$J  +Ш@6b9c9e1874b8a10437656c124b5d3da6f088cefd6b6c0bee5f430c7d6bbd9d7c""1Gs7LstExnDiJACCGHGqzCQZz5CSsMd84n"UOP_DUP OP_HASH160 ae03fabee8bd76020b3995885dbc5bad9ecea8f8 OP_EQUALVERIFY OP_CHECKSIG*276a914ae03fabee8bd76020b3995885dbc5bad9ecea8f888ac*"1Gs7LstExnDiJACCGHGqzCQZz5CSsMd84n8$J $-@00000000000000000015135b030ae93d79faacfa76b9be8d79a31c80272cfb68"@000000000000000000154a5614088eed8857f2f2891d2923f5f5f12bf48e76fa2$-@0000000000000000001126653ad5ba4529366991f543d07ae7651832a2107109"@00000000000000000015135b030ae93d79faacfa76b9be8d79a31c80272cfb682$؏-@00000000000000000006657d83fddcfeebb0c9b11e44baa2d0f57938f9c11cc4"@0000000000000000001126653ad5ba4529366991f543d07ae7651832a21071092 + +1@f3b7660ba484c07b8ca7727013380e09574710829fffbed1addeb8faeb3f34d5$"@00000000000000000006657d83fddcfeebb0c9b11e44baa2d0f57938f9c11cc4(؏-2 +@3ddcbfd2d0f7ab93e9ba34655ee9da22939e5949719ebe374b306021278e1806B0301085ca3dda3aac219c070fd57ceaf191f415f0254cc5a165bc9bb953744946e2 +@cf98415c139066c54ffe6c50fe1685d84f41b2913346d4a02ceab395ab5bf32eB02b49c61ef6c85870512fa38560d2127a356b03fc31a69a98e7e013cd40ca753432 +@d583e02e1982306e99e825dd43d19bc23f1c93bcaecdaa4f71478fcd12fdbac8B032cdfd9f3d752f3a197058217f31d6410bc12d6b16a226e700b7c231e13cf06332 +@603f42d9c46d9967c4eea6fdfe2e3481e094a2eeb05ecb4c7794ebe7218ababcB02e9028fd43ae34fae3df1ba51abb1dd26cc18d706aa94f6d15057946d1c0b27082 +@ab268d370882c375002110e54a1f7860ccb9d87e8d8b8f3204adb9472b18a660B03417d3b6e46d16290b81d1fccdfe9ac8e89dde8f339dc53fbb0a85b77e4263335B +@f3b7660ba484c07b8ca7727013380e09574710829fffbed1addeb8faeb3f34d5""15VGkBvB9ndDxGydBBu7nmG47ZzSz25Grr"UOP_DUP OP_HASH160 31394b03167bb7c3de3acbcad3623507023914ff OP_EQUALVERIFY OP_CHECKSIG*276a91431394b03167bb7c3de3acbcad3623507023914ff88ac*"15VGkBvB9ndDxGydBBu7nmG47ZzSz25Grr8$J  +ʁ@f3b7660ba484c07b8ca7727013380e09574710829fffbed1addeb8faeb3f34d5""19nF6DGw3KNrReiUKjvPJS8r4DMVyzYT6z"UOP_DUP OP_HASH160 604f7c75a2fb302c5556fa1f1a52978f491ec932 OP_EQUALVERIFY OP_CHECKSIG*276a914604f7c75a2fb302c5556fa1f1a52978f491ec93288ac*"19nF6DGw3KNrReiUKjvPJS8r4DMVyzYT6z8$J  +a@f3b7660ba484c07b8ca7727013380e09574710829fffbed1addeb8faeb3f34d5""1Madm2YwC676vnJonwegdjX6TStMYAZXtH"UOP_DUP OP_HASH160 e1beed66da4a6483d0439ffa8cab6d151acb9b73 OP_EQUALVERIFY OP_CHECKSIG*276a914e1beed66da4a6483d0439ffa8cab6d151acb9b7388ac*"1Madm2YwC676vnJonwegdjX6TStMYAZXtH8$J $-@00000000000000000000c6fba5187648eb22847eecec97dce4df21394eadc967"@00000000000000000006657d83fddcfeebb0c9b11e44baa2d0f57938f9c11cc42+$Ŕ-@0000000000000000000c1147dcec5a2a82795b0ff80e14ad1917f6685ea738ca"@00000000000000000000c6fba5187648eb22847eecec97dce4df21394eadc9672* + + +1@de8b127f1cc8b6e90feff18520ba93336bab02d52fc3974a101f8ff24a45664c$"@0000000000000000000c1147dcec5a2a82795b0ff80e14ad1917f6685ea738ca(Ŕ-2 +@fdb92bbb9a89a37bfd112df2a5eb25e20b96e87c7b6503cc95d2a0ea933c6256B030147e69706d34508196172a2625b8d1adfbf6036f5e4023926c82166cd5bc72b2 +@b002c1c0486344daedcb946feb498ef881bff24f82a94139ee1d110a803b9a0eB037d9b7d547cbaabbf5f282822fa3ad9b50550ce88fc528a38bd4ffe9d99414775B +(@de8b127f1cc8b6e90feff18520ba93336bab02d52fc3974a101f8ff24a45664c""16ZAHsCA3NXYBxcr8EKjpH2TY9rnB1oyLC"UOP_DUP OP_HASH160 3cedb1fbf50b8390504647e376dbc734fc6af23e OP_EQUALVERIFY OP_CHECKSIG*276a9143cedb1fbf50b8390504647e376dbc734fc6af23e88ac*"16ZAHsCA3NXYBxcr8EKjpH2TY9rnB1oyLC8$J  +[@de8b127f1cc8b6e90feff18520ba93336bab02d52fc3974a101f8ff24a45664c""14DWsSGRcBQkLVmBU2rTAwVZjubdxYUor4"UOP_DUP OP_HASH160 23464d81d3624be58db23f06b3fcfe11e18900bf OP_EQUALVERIFY OP_CHECKSIG*276a91423464d81d3624be58db23f06b3fcfe11e18900bf88ac*"14DWsSGRcBQkLVmBU2rTAwVZjubdxYUor48$J  +@de8b127f1cc8b6e90feff18520ba93336bab02d52fc3974a101f8ff24a45664c""16khp6KmpdA32XS9SxXMbQPcsoQMXNGCWg"UOP_DUP OP_HASH160 3f1c9556e4b3d9ddb6cc581ca0a14a2a22551c3c OP_EQUALVERIFY OP_CHECKSIG*276a9143f1c9556e4b3d9ddb6cc581ca0a14a2a22551c3c88ac*"16khp6KmpdA32XS9SxXMbQPcsoQMXNGCWg8$J  + + +1@c6942c351f7a98f9c32e478d2d59f349e8fcf8a56dc5d2c055d8d94a52475dce$"@0000000000000000000c1147dcec5a2a82795b0ff80e14ad1917f6685ea738ca(Ŕ-2 +@26a2929b95128e982c41e35eb798c6a8449c6ebdbb42e821b22e8200abab0718B026eeeb912fec9e866d70918defee15a91ed0d2669e8a8f3763126efffa2e196242 +@656ca2cf92fddc7993e05b4724cd08150d7752977fa98c701ae528cad1f54bbeB0379dfe8e1665cd0020bdbe2740e88217501b9f737de562dd48e463465a86e4c96B +@c6942c351f7a98f9c32e478d2d59f349e8fcf8a56dc5d2c055d8d94a52475dce""1FKNnA9qVjS363nv5ro5msvP9uKFPb57CN"UOP_DUP OP_HASH160 9d0b6d99f4cfee6bcec96641caa823e03015f509 OP_EQUALVERIFY OP_CHECKSIG*276a9149d0b6d99f4cfee6bcec96641caa823e03015f50988ac*"1FKNnA9qVjS363nv5ro5msvP9uKFPb57CN8$J  +τ@c6942c351f7a98f9c32e478d2d59f349e8fcf8a56dc5d2c055d8d94a52475dce""12gw7UWy2jweYa5zee3AUMhMNztPBUeGnq"UOP_DUP OP_HASH160 128584b63f65fce2b5c60dd4a777623b1a7fe269 OP_EQUALVERIFY OP_CHECKSIG*276a914128584b63f65fce2b5c60dd4a777623b1a7fe26988ac*"12gw7UWy2jweYa5zee3AUMhMNztPBUeGnq8$J  +@c6942c351f7a98f9c32e478d2d59f349e8fcf8a56dc5d2c055d8d94a52475dce""1JgZmEr339WKbmZ7zzYc7Tq8RQMQMFaPn5"UOP_DUP OP_HASH160 c1f5b5b4bd34a78b1bcb1fdc84fd5a989e9ffb0f OP_EQUALVERIFY OP_CHECKSIG*276a914c1f5b5b4bd34a78b1bcb1fdc84fd5a989e9ffb0f88ac*"1JgZmEr339WKbmZ7zzYc7Tq8RQMQMFaPn58$J 1 + + +1@43c79d32223dd1c26430d0508a0e851fd702f8062913b939ed77b071199c28e7$"@0000000000000000000c1147dcec5a2a82795b0ff80e14ad1917f6685ea738ca(Ŕ-2 +@cea73f072bb4834d7e7c597eaa02217a0fd0f2451db51c805b46dbc8d93b3c8aB03278c2f0cff85b845dbea3d7beaac34816fa2557e47fc8d41faaf98238eb1a9c92 +@6b9c9e1874b8a10437656c124b5d3da6f088cefd6b6c0bee5f430c7d6bbd9d7cB038d8101f2440a43dcfbb061dc8358110f4f025775a2b3606fcdec2429584750b5B +@43c79d32223dd1c26430d0508a0e851fd702f8062913b939ed77b071199c28e7""1E5CDrYoPoJP8DEZ9YVKsHEkoh6mSHfmRH"UOP_DUP OP_HASH160 8f64aa97b798840e5ebf36d694ed421cf49a90e2 OP_EQUALVERIFY OP_CHECKSIG*276a9148f64aa97b798840e5ebf36d694ed421cf49a90e288ac*"1E5CDrYoPoJP8DEZ9YVKsHEkoh6mSHfmRH8$J  +@43c79d32223dd1c26430d0508a0e851fd702f8062913b939ed77b071199c28e7""1FdUjByaP7i5vzg24tqpaMgC7SU5Q5K7La"UOP_DUP OP_HASH160 a077e19aa07d09383d33bfe7787421b3c619d627 OP_EQUALVERIFY OP_CHECKSIG*276a914a077e19aa07d09383d33bfe7787421b3c619d62788ac*"1FdUjByaP7i5vzg24tqpaMgC7SU5Q5K7La8$J  +ƕ@43c79d32223dd1c26430d0508a0e851fd702f8062913b939ed77b071199c28e7""1CpH9dGtDJeLPW4jcwyJ4iD9LGsVmRFoJc"UOP_DUP OP_HASH160 819a6a02036f58663c94743807a13b0223d2f094 OP_EQUALVERIFY OP_CHECKSIG*276a914819a6a02036f58663c94743807a13b0223d2f09488ac*"1CpH9dGtDJeLPW4jcwyJ4iD9LGsVmRFoJc8$J O + + +1@2a4e911d40e3c9414a13e9798ca06e76bfe68914bba590d835739d139b97a477$"@0000000000000000000c1147dcec5a2a82795b0ff80e14ad1917f6685ea738ca(Ŕ-2 +@a4f78ed55b0bc8d45e330e43a83abf2ec715198e290ed8a595d7abcfe74d3ef5B0248146ca44c0354cea671289876067cacadbac662bfa2bd86ec224e1eb04cdc9d2 +@af0274c156f33ae9f77d98dbf494967a57dc3d35727f7e2614338da6b81a9184B03b9115d806655980ce411832eb4eaf0e9062b681f9eccbe7c4c3dbf516e9967beB +@2a4e911d40e3c9414a13e9798ca06e76bfe68914bba590d835739d139b97a477""1G1kUz9jdhGMkCuaGe6URTCRc9FbVZ9bqF"UOP_DUP OP_HASH160 a4ae2f22ce7573063a0ba35ff4efac6547400996 OP_EQUALVERIFY OP_CHECKSIG*276a914a4ae2f22ce7573063a0ba35ff4efac654740099688ac*"1G1kUz9jdhGMkCuaGe6URTCRc9FbVZ9bqF8$J  +=@2a4e911d40e3c9414a13e9798ca06e76bfe68914bba590d835739d139b97a477""1EvhkQEdHWPPTS3KCWaAnb6Zjj888d5ZBz"UOP_DUP OP_HASH160 98c1b234f0e4e64f75f9caece7c8072dfc8efc3b OP_EQUALVERIFY OP_CHECKSIG*276a91498c1b234f0e4e64f75f9caece7c8072dfc8efc3b88ac*"1EvhkQEdHWPPTS3KCWaAnb6Zjj888d5ZBz8$J  + @2a4e911d40e3c9414a13e9798ca06e76bfe68914bba590d835739d139b97a477""1FUDV1UrLX72U3Kane6itRfmkPMmm1MkWc"UOP_DUP OP_HASH160 9eb769822bb068cefcbde22a863c871cef04e18f OP_EQUALVERIFY OP_CHECKSIG*276a9149eb769822bb068cefcbde22a863c871cef04e18f88ac*"1FUDV1UrLX72U3Kane6itRfmkPMmm1MkWc8$J $Ȕ-@0000000000000000000393e0d93148095e07939b09ba3037a362f2a973108a30"@0000000000000000000c1147dcec5a2a82795b0ff80e14ad1917f6685ea738ca29$-@00000000000000000006b9ee8fc7a0902c8e630901780ffbb12b1d5ba0d05ffa"@0000000000000000000393e0d93148095e07939b09ba3037a362f2a973108a3028 + + +1@cb4e21d6c886d8430cb886c040179fbe2f7b1768886b215f384bdbeb72cb7e35$"@00000000000000000006b9ee8fc7a0902c8e630901780ffbb12b1d5ba0d05ffa(-2 +@43c79d32223dd1c26430d0508a0e851fd702f8062913b939ed77b071199c28e7B02893690e8cae41e4d06816dd77eb34f9169fae121a7c54962124d16c520294c922 +@cea73f072bb4834d7e7c597eaa02217a0fd0f2451db51c805b46dbc8d93b3c8aB031fa83626cd4e3d70e4bddf6211e113468b538b08c4eed0b89d65f94c273e992bB +@cb4e21d6c886d8430cb886c040179fbe2f7b1768886b215f384bdbeb72cb7e35""1EX56N5wBrPqpJs4yLeyvoxj3dcptoRH11"UOP_DUP OP_HASH160 944987bfb00cb0996cc1ca70bb2836b4cba16c7c OP_EQUALVERIFY OP_CHECKSIG*276a914944987bfb00cb0996cc1ca70bb2836b4cba16c7c88ac*"1EX56N5wBrPqpJs4yLeyvoxj3dcptoRH118$J  +ȼa@cb4e21d6c886d8430cb886c040179fbe2f7b1768886b215f384bdbeb72cb7e35""1ETofD3GNzcie3LHoD96iuLw9Aswh7VQ1Z"UOP_DUP OP_HASH160 93ab662238e5cbf3b8aed7fa4723447da19dc6ae OP_EQUALVERIFY OP_CHECKSIG*276a91493ab662238e5cbf3b8aed7fa4723447da19dc6ae88ac*"1ETofD3GNzcie3LHoD96iuLw9Aswh7VQ1Z8$J  +@cb4e21d6c886d8430cb886c040179fbe2f7b1768886b215f384bdbeb72cb7e35""1CfbBLHqoHj9UFqYHbRwKncW4gsZ2EedGz"UOP_DUP OP_HASH160 7ff5b87c92b6595464a1ecc7b39f5d4835cc4795 OP_EQUALVERIFY OP_CHECKSIG*276a9147ff5b87c92b6595464a1ecc7b39f5d4835cc479588ac*"1CfbBLHqoHj9UFqYHbRwKncW4gsZ2EedGz8$J  + + +1@21f4219597496d7a0fea69ae1ef7d2dac895358db866c72aff647b0dabd6ba5c$"@00000000000000000006b9ee8fc7a0902c8e630901780ffbb12b1d5ba0d05ffa(-2 +@6b9c9e1874b8a10437656c124b5d3da6f088cefd6b6c0bee5f430c7d6bbd9d7cB03575480180b9b4c7fb44869c850f119ecde9708361917d0b6b6b0397fcb8406f02 +@43c79d32223dd1c26430d0508a0e851fd702f8062913b939ed77b071199c28e7B038b2cb8c99b6dc1239f55dcfc34a3921658844b90e951ab323b4ce082e821db45B +(@21f4219597496d7a0fea69ae1ef7d2dac895358db866c72aff647b0dabd6ba5c""1BusTSyM9FvabWoS7shtJ2EezF1ayiJvR6"UOP_DUP OP_HASH160 77b101a321b7ff8fca9516e93f02c1194e2bc4a1 OP_EQUALVERIFY OP_CHECKSIG*276a91477b101a321b7ff8fca9516e93f02c1194e2bc4a188ac*"1BusTSyM9FvabWoS7shtJ2EezF1ayiJvR68$J  +<@21f4219597496d7a0fea69ae1ef7d2dac895358db866c72aff647b0dabd6ba5c""18xiAPeB1YhksvaDEZT3WJVwoX1DkisuP5"UOP_DUP OP_HASH160 57521e5d48eb951b692fbf3f14227f2046e5b80b OP_EQUALVERIFY OP_CHECKSIG*276a91457521e5d48eb951b692fbf3f14227f2046e5b80b88ac*"18xiAPeB1YhksvaDEZT3WJVwoX1DkisuP58$J  +@21f4219597496d7a0fea69ae1ef7d2dac895358db866c72aff647b0dabd6ba5c""1FKkmAPKpfyHBiiHA7hVkzfmzRvQroyYjQ"UOP_DUP OP_HASH160 9d1dc749dee6b95431889c4a5b24dee223e7cc3f OP_EQUALVERIFY OP_CHECKSIG*276a9149d1dc749dee6b95431889c4a5b24dee223e7cc3f88ac*"1FKkmAPKpfyHBiiHA7hVkzfmzRvQroyYjQ8$J  + +1@92d31ce448451b15ad8ee72b5e4d514863933cef8bcbbda0b1bfd0dba47823e6$"@00000000000000000006b9ee8fc7a0902c8e630901780ffbb12b1d5ba0d05ffa(-2 +@656ca2cf92fddc7993e05b4724cd08150d7752977fa98c701ae528cad1f54bbeB03525514f3d93438706248e4278a555192dbb5846dd2ddac8873bc35e7238825692 +@a97a659827331739450aa2ecbd1262ed9fb48ee1b9f462c1cfefcdc239179332B02bd19ec9f86cc2941fab6d13e09487e4920e587445efbc8c18e86507411f5aff02 +@c6942c351f7a98f9c32e478d2d59f349e8fcf8a56dc5d2c055d8d94a52475dceB0229b5ac90dd9337d7114cc19b56491347ef7438629f010d74490bee8967787cfdB +@92d31ce448451b15ad8ee72b5e4d514863933cef8bcbbda0b1bfd0dba47823e6""1D4Doe76vZbcN5dZArQxJ21nUDgG6odtAB"UOP_DUP OP_HASH160 843d7215aabf854dfa9977733af9bb5c33b73b12 OP_EQUALVERIFY OP_CHECKSIG*276a914843d7215aabf854dfa9977733af9bb5c33b73b1288ac*"1D4Doe76vZbcN5dZArQxJ21nUDgG6odtAB8$J  +ݬ@92d31ce448451b15ad8ee72b5e4d514863933cef8bcbbda0b1bfd0dba47823e6""1744f342sMvxzGXh7JXy2diwrBvvVHoxbn"UOP_DUP OP_HASH160 42650de5659f00affd699fb272bf4073a959b04d OP_EQUALVERIFY OP_CHECKSIG*276a91442650de5659f00affd699fb272bf4073a959b04d88ac*"1744f342sMvxzGXh7JXy2diwrBvvVHoxbn8$J  +_@92d31ce448451b15ad8ee72b5e4d514863933cef8bcbbda0b1bfd0dba47823e6""1GPmabQythNeDmCUPEFZeKrZohaigBnaMa"UOP_DUP OP_HASH160 a8d8403170027ee3f02b6eb8a982433b16fbfdd9 OP_EQUALVERIFY OP_CHECKSIG*276a914a8d8403170027ee3f02b6eb8a982433b16fbfdd988ac*"1GPmabQythNeDmCUPEFZeKrZohaigBnaMa8$J  + +1@4f00c04d96fcf9266f46e7c361f80b66531f8ab8df281edc376ed14a24453c41$"@00000000000000000006b9ee8fc7a0902c8e630901780ffbb12b1d5ba0d05ffa(-2 +@c6942c351f7a98f9c32e478d2d59f349e8fcf8a56dc5d2c055d8d94a52475dceB03d7ee3b16130948dd176499759f02b5a1a032d3d02bbf1dd5a1547fcb7d9070362 +@c894860ff9005bdcf63efb36dffd85f814ac1a3bfab06af4974677f92d7b90adB0357a53725dd452f30b973ea5f48a8f1e14b6aebeeabda7ac075df9ba11be10b7a2 +@92d31ce448451b15ad8ee72b5e4d514863933cef8bcbbda0b1bfd0dba47823e6B03b21412b2b4bf6882fab62e14124909a17780b55d309f11be668130cb27f091f12 +@cb4e21d6c886d8430cb886c040179fbe2f7b1768886b215f384bdbeb72cb7e35B025556965bdd590f01f84ad8b1220c22afe055369ea9d9ba19a0c55bee70a2ab38B +@4f00c04d96fcf9266f46e7c361f80b66531f8ab8df281edc376ed14a24453c41""1KbybSgPzgmAKgqRYzjCi6ENgfQZvu3m1m"UOP_DUP OP_HASH160 cc0fa622bfdfdfb6cd32cefa146db224729fd704 OP_EQUALVERIFY OP_CHECKSIG*276a914cc0fa622bfdfdfb6cd32cefa146db224729fd70488ac*"1KbybSgPzgmAKgqRYzjCi6ENgfQZvu3m1m8$J  +v@4f00c04d96fcf9266f46e7c361f80b66531f8ab8df281edc376ed14a24453c41""13cxFz81r4eEnpY3WiByrZyZdAfH1Y7s67"UOP_DUP OP_HASH160 1cbcf0059c9fd7b069bc9df4197b420968aee33c OP_EQUALVERIFY OP_CHECKSIG*276a9141cbcf0059c9fd7b069bc9df4197b420968aee33c88ac*"13cxFz81r4eEnpY3WiByrZyZdAfH1Y7s678$J  +@4f00c04d96fcf9266f46e7c361f80b66531f8ab8df281edc376ed14a24453c41""184Pq4hWJoKEavwLVL2Ts25DDyiG3MFefC"UOP_DUP OP_HASH160 4d6d2f4efaae165804db8dff199a6723e55bfa79 OP_EQUALVERIFY OP_CHECKSIG*276a9144d6d2f4efaae165804db8dff199a6723e55bfa7988ac*"184Pq4hWJoKEavwLVL2Ts25DDyiG3MFefC8$J  + + +1@ffe0c461599a8abdd8f29dc71894aedf7c5cd32837cb3cefc0eb34c54011b782$"@00000000000000000006b9ee8fc7a0902c8e630901780ffbb12b1d5ba0d05ffa(-2 +@62b3d1555e2276a00d94fcd570fc24f266064337df6f75f8c0c50a9c2293f9f6B03e3de2d7b485f289a122f183a8ecfb68f12036565ae76b6dab62ac89a7ed72efc2 +@c932133a3bbae666018f637fcd774f7afacd60b1c39dadac28ceb1da610df0e5B03ddd23fef2429eddfe86a397b4186cee8e2c06bef4ec34de6c57ddae9dd479772B +@ffe0c461599a8abdd8f29dc71894aedf7c5cd32837cb3cefc0eb34c54011b782""19rjyb3tGgXEYUkAzpLhns2Gdz3Yd6Z63b"UOP_DUP OP_HASH160 6129433d5775a0294677bc718c742f8052d8adde OP_EQUALVERIFY OP_CHECKSIG*276a9146129433d5775a0294677bc718c742f8052d8adde88ac*"19rjyb3tGgXEYUkAzpLhns2Gdz3Yd6Z63b8$J  + @ffe0c461599a8abdd8f29dc71894aedf7c5cd32837cb3cefc0eb34c54011b782""16QJihd3VvXKX6MW21VQoZ6EbhzvhRBa4h"UOP_DUP OP_HASH160 3b40fcb21ed20321b54d4f19cb04c0a77ea52c1d OP_EQUALVERIFY OP_CHECKSIG*276a9143b40fcb21ed20321b54d4f19cb04c0a77ea52c1d88ac*"16QJihd3VvXKX6MW21VQoZ6EbhzvhRBa4h8$J  + +@ffe0c461599a8abdd8f29dc71894aedf7c5cd32837cb3cefc0eb34c54011b782""1Q2TJAQZE8phPhR96w6nki5ct1Lkie7zi9"UOP_DUP OP_HASH160 fc91427bb659d5833a71f482d133415fb1752176 OP_EQUALVERIFY OP_CHECKSIG*276a914fc91427bb659d5833a71f482d133415fb175217688ac*"1Q2TJAQZE8phPhR96w6nki5ct1Lkie7zi98$J ;$-@0000000000000000000cf515dc42c2b9c7a18dbf03741fc35a888f2d146dffe6"@00000000000000000006b9ee8fc7a0902c8e630901780ffbb12b1d5ba0d05ffa2$ﳕ-@00000000000000000006f1f70c758941b76873ce46417dc619440648bc8d1b1f"@0000000000000000000cf515dc42c2b9c7a18dbf03741fc35a888f2d146dffe62$ە-@000000000000000000009fd6ab7c871349835b0eab9c573e91a23acc64bb7a33"@00000000000000000006f1f70c758941b76873ce46417dc619440648bc8d1b1f2$-@0000000000000000000fe6be98ebe88ce848aa69e06c6b224773077c74d98d2d"@000000000000000000009fd6ab7c871349835b0eab9c573e91a23acc64bb7a332$-@0000000000000000000eb15d84ea71e5e710d2dab2cb7d191c5915508311fc2c"@0000000000000000000fe6be98ebe88ce848aa69e06c6b224773077c74d98d2d2$-@0000000000000000000e06a4b4188d7067ec6f891aa6433fb56e38d8ace99ab2"@0000000000000000000eb15d84ea71e5e710d2dab2cb7d191c5915508311fc2c2$ݔ-@00000000000000000004d391491c560f7a8302976b9ee10b2119ab487e040559"@0000000000000000000e06a4b4188d7067ec6f891aa6433fb56e38d8ace99ab22$-@00000000000000000002115679094f601e1d9d63e05c35fa174706772cfb271b"@00000000000000000004d391491c560f7a8302976b9ee10b2119ab487e0405592$̹-@0000000000000000000e471984f1de39e7015074ca02fc73c1b3ab8ade2dcfd9"@00000000000000000002115679094f601e1d9d63e05c35fa174706772cfb271b2$̖-@0000000000000000000815af4629618af7dbe6fe197986b36e0270f419c39243"@0000000000000000000e471984f1de39e7015074ca02fc73c1b3ab8ade2dcfd92$-@0000000000000000000eeeb48c9cd900fb83d1e8636410e0768185f2aa628229"@0000000000000000000815af4629618af7dbe6fe197986b36e0270f419c392432$-@000000000000000000053b028067015fb97767554c25437ad2cc8ed55301e5e3"@0000000000000000000eeeb48c9cd900fb83d1e8636410e0768185f2aa6282292$-@000000000000000000190d4bcbf73e5ea3c986dec75af46c4454919390d798cc"@000000000000000000053b028067015fb97767554c25437ad2cc8ed55301e5e32 $ұ-@0000000000000000001a1c232e9cff1e8c1b30d0b58dd786d1bf286461e2970b"@000000000000000000190d4bcbf73e5ea3c986dec75af46c4454919390d798cc2 + + + +1@0c12a021ff25e4a3c33e6b5098045c2828c9f57c875822bb77d9fec7fefc38f2$"@0000000000000000001a1c232e9cff1e8c1b30d0b58dd786d1bf286461e2970b(ұ-2 +@987ed088ab6eae9dd88e409d6a8fb6248e8b0c1b5e37b7c909b5b8b74728f77fB03387c6fd100b358f5133b7afa99ff5d0e9adb7365e561dd5cfe87ad52fc53f3252 +@555f854c8dc726f0cff7809be76ca77425e09a200b0a5fcf8fa40a44dfb912feB02d12b6840fc93ee2cc9e652e5065a603fcc085295c59e5c6320ccb0d6c51e571fB +@0c12a021ff25e4a3c33e6b5098045c2828c9f57c875822bb77d9fec7fefc38f2""1BucUUhQ5Vjf7XCYDYmr7TUt36NZj4RqH5"UOP_DUP OP_HASH160 77a47ff5efc488be1167f709168a5a7e3cacfe79 OP_EQUALVERIFY OP_CHECKSIG*276a91477a47ff5efc488be1167f709168a5a7e3cacfe7988ac*"1BucUUhQ5Vjf7XCYDYmr7TUt36NZj4RqH58$J  +@0c12a021ff25e4a3c33e6b5098045c2828c9f57c875822bb77d9fec7fefc38f2""14cwjvrofDZLPqNq8QzYT9vzGoo9oveujV"UOP_DUP OP_HASH160 27b4a17b5b956e1961f1fa781158924f518c7ccb OP_EQUALVERIFY OP_CHECKSIG*276a91427b4a17b5b956e1961f1fa781158924f518c7ccb88ac*"14cwjvrofDZLPqNq8QzYT9vzGoo9oveujV8$J  +@0c12a021ff25e4a3c33e6b5098045c2828c9f57c875822bb77d9fec7fefc38f2""18kkv9L891qwFAR2BenCdmfMDEqjivzPdf"UOP_DUP OP_HASH160 550f6d21eac1029e1dd15e3eea69a174ff4f1148 OP_EQUALVERIFY OP_CHECKSIG*276a914550f6d21eac1029e1dd15e3eea69a174ff4f114888ac*"18kkv9L891qwFAR2BenCdmfMDEqjivzPdf8$J  $-@0000000000000000000fe188d7a46eca0834c31268d62df17386a49363369066"@0000000000000000001a1c232e9cff1e8c1b30d0b58dd786d1bf286461e2970b2$Џ-@000000000000000000029223163198dd9a43948eb7dc54fb4f34ad7f39b39935"@0000000000000000000fe188d7a46eca0834c31268d62df17386a493633690662 $-@0000000000000000001908344de28e9b43d45a9feb5b9e93379d132f90e9a9ac"@000000000000000000029223163198dd9a43948eb7dc54fb4f34ad7f39b399352 + +1@7a035f890db52ddb7a4339b2ce5d6b08c7d46283ce2d4a44329000094a9861d7$"@0000000000000000001908344de28e9b43d45a9feb5b9e93379d132f90e9a9ac(-2 +@7a58ba66773179358663ec93c9121f02547b4cf8d2ac6f294b6f3afcb9522c3dB030f5029a142bceea3f4f86f76fb3b575fe7328998d04820b231ffd3c583d183942 +@b7194f0d4017a834ebb3486166f1cd5f716ca4a369a70d063fe8e53a38b841d0B03a1f73a02f5559abd12134571ecaa83916e220ae2571cd4604c52edc54e041812B +@@7a035f890db52ddb7a4339b2ce5d6b08c7d46283ce2d4a44329000094a9861d7""14reEhoEUtyJ8gg9U2J3QJ4jxjZUG8CzrZ"UOP_DUP OP_HASH160 2a4bd7be56d846c94de925f7133abae31a197bd8 OP_EQUALVERIFY OP_CHECKSIG*276a9142a4bd7be56d846c94de925f7133abae31a197bd888ac*"14reEhoEUtyJ8gg9U2J3QJ4jxjZUG8CzrZ8$J  +䟭@7a035f890db52ddb7a4339b2ce5d6b08c7d46283ce2d4a44329000094a9861d7""1Eghr9PQhLzj3mLPsBwRsKLF7v9PJ27tX8"UOP_DUP OP_HASH160 961bf4902cfd7b67984d37d8a988d6a26abebc81 OP_EQUALVERIFY OP_CHECKSIG*276a914961bf4902cfd7b67984d37d8a988d6a26abebc8188ac*"1Eghr9PQhLzj3mLPsBwRsKLF7v9PJ27tX88$J 8$龙-@000000000000000000109f34ffcd3f96ea08b2cc13709fd7bdeb629d63b3de9f"@0000000000000000001908344de28e9b43d45a9feb5b9e93379d132f90e9a9ac2$ƙ-@00000000000000000008d1b72163ebac0e07ffd3d51aaf11c6a3fb9a03a758a7"@000000000000000000109f34ffcd3f96ea08b2cc13709fd7bdeb629d63b3de9f2$-@00000000000000000002b0f10587ef9257b238b9aef0b2b9d376fec951782b61"@00000000000000000008d1b72163ebac0e07ffd3d51aaf11c6a3fb9a03a758a72$-@0000000000000000000cf5e57b210a5736ba34c3372c2b9fe3262f6e6836ad5e"@00000000000000000002b0f10587ef9257b238b9aef0b2b9d376fec951782b612 $-@00000000000000000015fe9ed7418178bcce4701387659d253ec28376b453945"@0000000000000000000cf5e57b210a5736ba34c3372c2b9fe3262f6e6836ad5e2 + + + +1@5415e0839905b24589be58a560086891c0a163ee8913fab45eea6e366cc229f1$"@00000000000000000015fe9ed7418178bcce4701387659d253ec28376b453945(-2 +@61c56c68fa49dc13b70c81ebe4048515bd9119b1f00536de1749ffc69c8a5a51B03bcabe34d8dde99138b742f50ae68d8dd2c3c832ab433e53258610ded476ae5d02 +@4abdc08e030b028a16277d87a9d915bf1b0f32b0bc2ceebb99064dfb31158828B03ebe7e849d2217d282c9a8505adb6df523e77a2cb9473cf3f991eccf5ca2530fdB +N@5415e0839905b24589be58a560086891c0a163ee8913fab45eea6e366cc229f1""1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY"UOP_DUP OP_HASH160 79a2f7d6d53eaff291543f9aea88eab1376d7db5 OP_EQUALVERIFY OP_CHECKSIG*276a91479a2f7d6d53eaff291543f9aea88eab1376d7db588ac*"1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY8$J  +@5415e0839905b24589be58a560086891c0a163ee8913fab45eea6e366cc229f1""17auHZkTGNr9WjSN8zcTkRKT1TwziqaPFL"UOP_DUP OP_HASH160 483a209421d5011d261365a4b78849f277dea9f6 OP_EQUALVERIFY OP_CHECKSIG*276a914483a209421d5011d261365a4b78849f277dea9f688ac*"17auHZkTGNr9WjSN8zcTkRKT1TwziqaPFL8$J  +ǚ@5415e0839905b24589be58a560086891c0a163ee8913fab45eea6e366cc229f1""1KCD8h4jfW39qbREFbXgcLmfDZrjyiKSxe"UOP_DUP OP_HASH160 c790f7ac388eb4e0197f253dbb9293b7c5e3c6dc OP_EQUALVERIFY OP_CHECKSIG*276a914c790f7ac388eb4e0197f253dbb9293b7c5e3c6dc88ac*"1KCD8h4jfW39qbREFbXgcLmfDZrjyiKSxe8$J $Κ-@0000000000000000000a0a1dff8631be1da441150ab1a25f43d45017902efd61"@00000000000000000015fe9ed7418178bcce4701387659d253ec28376b4539452$ؒ-@000000000000000000135bab94e6b6dd9d3d12b8f910f08a4aabb868ccfc0071"@0000000000000000000a0a1dff8631be1da441150ab1a25f43d45017902efd612 + +1@ea337334068a74aa88ae447d9b565038c774cefdad63457495f8a9a7f8a323d5$"@000000000000000000135bab94e6b6dd9d3d12b8f910f08a4aabb868ccfc0071(ؒ-2 +@7906dc73b9379a6280a3fe194a53ad91f564b822f1b93e72f7f95f8babd95b77B02a29ce888b630e2d84a4731018adcd0644941380823ee51c49ea310c870a1c1af2 +@f009857263afba055affab772ea89fd8aa15f4692c32888c6c2adb76bd6f5eb9B0289d91af0d9d5ccc199f98f3da725a9b08c357267284460da7bd38f7b117f06a42 +@906885125df25536b76c7fc1cd3962fdcfa2225e4745e649742907250df4971bB02468dcd1ddf3307c818d51f10679a42ca0018b482e346cd122f83f922fd14b6d52 +@3a4699d95234e8540790742a2053467b9fd883830ee670ccf72df7cc12d36e4dB033fea9284101aba0e9d0a6301628c7391d35aabe695ab75f300c8daefce9d58882 +@7906dc73b9379a6280a3fe194a53ad91f564b822f1b93e72f7f95f8babd95b77B029be121b32172634e5dc9477e5198fec1b5e5322447832e6e167e9d00c24dccc1B +Q@ea337334068a74aa88ae447d9b565038c774cefdad63457495f8a9a7f8a323d5"!1YC8NWbKCgjS5wi4jQRg43bFzg19FpSpW"UOP_DUP OP_HASH160 05e62ee8a45c1e8072c6e8f4615170ac085ebcb0 OP_EQUALVERIFY OP_CHECKSIG*276a91405e62ee8a45c1e8072c6e8f4615170ac085ebcb088ac*!1YC8NWbKCgjS5wi4jQRg43bFzg19FpSpW8$J  +[@ea337334068a74aa88ae447d9b565038c774cefdad63457495f8a9a7f8a323d5""1L2nk2HKWhwF4PHMYhMkVJmoL7g16Yt6uY"UOP_DUP OP_HASH160 d0c0fd391258d36cfb54e9130dd074d1c13b5241 OP_EQUALVERIFY OP_CHECKSIG*276a914d0c0fd391258d36cfb54e9130dd074d1c13b524188ac*"1L2nk2HKWhwF4PHMYhMkVJmoL7g16Yt6uY8$J  +@ea337334068a74aa88ae447d9b565038c774cefdad63457495f8a9a7f8a323d5""1DSwHKgfAShnSFxPNKhfxCDFcUcgKc4czW"UOP_DUP OP_HASH160 8889386535a1eb5f4ef0bb68b46698d328456979 OP_EQUALVERIFY OP_CHECKSIG*276a9148889386535a1eb5f4ef0bb68b46698d32845697988ac*"1DSwHKgfAShnSFxPNKhfxCDFcUcgKc4czW8$J  $ț-@0000000000000000000298d7f056bc85c49f7628cd2b749d4a86d469d70e5175"@000000000000000000135bab94e6b6dd9d3d12b8f910f08a4aabb868ccfc00712$͊-@000000000000000000087109ba7537a423073abd0cffa8731876a1f58af7eaac"@0000000000000000000298d7f056bc85c49f7628cd2b749d4a86d469d70e51752$㕜-@0000000000000000000adffe20a4d5bbe685d5bfce888c570a9e7f9d634b9940"@000000000000000000087109ba7537a423073abd0cffa8731876a1f58af7eaac2$-@0000000000000000000de55a8ebaa590dc9d2c360e85b9c3278838cd7bd6fd2f"@0000000000000000000adffe20a4d5bbe685d5bfce888c570a9e7f9d634b99402$𗳝-@0000000000000000000c13ec7c4788becf2decb310f274b31b035f002428ebce"@0000000000000000000de55a8ebaa590dc9d2c360e85b9c3278838cd7bd6fd2f2$-@00000000000000000010abe5b4d93094578b97c9daac896cd60b8ea814576630"@0000000000000000000c13ec7c4788becf2decb310f274b31b035f002428ebce2$ظ-@0000000000000000001620f3a0bc78213d8eab23e0a764a39a51d27becf1c823"@00000000000000000010abe5b4d93094578b97c9daac896cd60b8ea8145766302!$€-@00000000000000000015c7b4bc06a62fea8f7284b46865f02cb95433e7f1af04"@0000000000000000001620f3a0bc78213d8eab23e0a764a39a51d27becf1c8232 + + +1@a511d7a886d3281368c3fd41c3726f0d69ba7c8b056f3de459ba940d3eb13f5a$"@00000000000000000015c7b4bc06a62fea8f7284b46865f02cb95433e7f1af04(€-2 +@470b1fde5110c09689713b504a3a70fdac9bd3200ecc5302b0e721d136f0ce7eB02f478cabfeb8c06fd9869ccba2e2785608129e0877dc333dcd8db306702bdaae12 +@7a828e7759f47a7b595221c60cbec069559a387b274ae39c12b7c979534b4516B0340c1b88f834d7d8bd09c6a295528b5f0233b4eeb359ea87f66a95bb2e2e57e1cB +@a511d7a886d3281368c3fd41c3726f0d69ba7c8b056f3de459ba940d3eb13f5a""1DNporc6rGdpxA9fyJQiZZB3hAMCtnxKAM"UOP_DUP OP_HASH160 87c2270fdcac81929cb17d30bb2738b5978d8c45 OP_EQUALVERIFY OP_CHECKSIG*276a91487c2270fdcac81929cb17d30bb2738b5978d8c4588ac*"1DNporc6rGdpxA9fyJQiZZB3hAMCtnxKAM8$J  +@a511d7a886d3281368c3fd41c3726f0d69ba7c8b056f3de459ba940d3eb13f5a""1D3YskRLkKjAXPYa8QmMkunkfMct316iyi"UOP_DUP OP_HASH160 841cf300045c2dddc4fe9259462b56e9c5c87cff OP_EQUALVERIFY OP_CHECKSIG*276a914841cf300045c2dddc4fe9259462b56e9c5c87cff88ac*"1D3YskRLkKjAXPYa8QmMkunkfMct316iyi8$J  +<@a511d7a886d3281368c3fd41c3726f0d69ba7c8b056f3de459ba940d3eb13f5a"!184XuaxpgbQUAPUXZWWvomi1J7HMXvJ1k"UOP_DUP OP_HASH160 0155dc5f218fb1839d91200bd8596e6a181515a9 OP_EQUALVERIFY OP_CHECKSIG*276a9140155dc5f218fb1839d91200bd8596e6a181515a988ac*!184XuaxpgbQUAPUXZWWvomi1J7HMXvJ1k8$J  + + +1@30ca33094dd0c2540a62251666df62205aefe391dac73ea45fb765b35ff822dc$"@00000000000000000015c7b4bc06a62fea8f7284b46865f02cb95433e7f1af04(€-2 +@f3d2a491fe41aa9a018bc42afb2d95ecc1ba6b243721efb3f2ae7baf754b9d58B02d71d51b471316ccecde6536a4262386f147455e1ed077b6cc22308fa62251aed2 +@0a16486a24801f245931435f19f2c8af4a2d43e70ef9f06a21974fff1094969fB03b0975431d8ff7413f648fcdb52ceeb9f61ea38cd0dd1c830b40b23400bc31b92B +r@30ca33094dd0c2540a62251666df62205aefe391dac73ea45fb765b35ff822dc""1EN6MD5HtinyAtHEH6aW4VJ7Q42vuh2dMz"UOP_DUP OP_HASH160 9296d5c3e192efe00d253fa181fbb8366bd566cb OP_EQUALVERIFY OP_CHECKSIG*276a9149296d5c3e192efe00d253fa181fbb8366bd566cb88ac*"1EN6MD5HtinyAtHEH6aW4VJ7Q42vuh2dMz8$J  +@30ca33094dd0c2540a62251666df62205aefe391dac73ea45fb765b35ff822dc""12A5A6xyW17FAjpSgBzhbDjCTyXpbVdGs3"UOP_DUP OP_HASH160 0caf56e86141129a629a90e3b2faf05defadcaa1 OP_EQUALVERIFY OP_CHECKSIG*276a9140caf56e86141129a629a90e3b2faf05defadcaa188ac*"12A5A6xyW17FAjpSgBzhbDjCTyXpbVdGs38$J  +@30ca33094dd0c2540a62251666df62205aefe391dac73ea45fb765b35ff822dc""16PGinec6NsfJ4J8zbe1YyKuAkAgYijCAD"UOP_DUP OP_HASH160 3b0ee72200bf6739c3965a07ba9391a517aaca80 OP_EQUALVERIFY OP_CHECKSIG*276a9143b0ee72200bf6739c3965a07ba9391a517aaca8088ac*"16PGinec6NsfJ4J8zbe1YyKuAkAgYijCAD8$J  + + +1@f5e038c1513896d99918a9c4b1c71c9dff5d56dc23f7d063e1f615ce76837308$"@00000000000000000015c7b4bc06a62fea8f7284b46865f02cb95433e7f1af04(€-2 +@70721b574f3f4b0916fa0e9375bff824e59560dc207a4b97f7998b7d22a77e20B035cd655c793ef8cd1a6041aa6928577ac19e725d6e6e32b0887ea773c7841c4af2 +@70721b574f3f4b0916fa0e9375bff824e59560dc207a4b97f7998b7d22a77e20B02d94fd941876321ea8e6c4c1c84fb3a4ca7689aa4f48c517ccb74c7c0300039e7B +@f5e038c1513896d99918a9c4b1c71c9dff5d56dc23f7d063e1f615ce76837308""16geojFDVYZwzdAmhQ2gLwDj1Ym6agkjUw"UOP_DUP OP_HASH160 3e5868f61fe48d95a59659b24c0cea3de0af88f4 OP_EQUALVERIFY OP_CHECKSIG*276a9143e5868f61fe48d95a59659b24c0cea3de0af88f488ac*"16geojFDVYZwzdAmhQ2gLwDj1Ym6agkjUw8$J  +̈@f5e038c1513896d99918a9c4b1c71c9dff5d56dc23f7d063e1f615ce76837308""1H5aA3xetw9hF22ZqzRuHaonXjuYN5ENAa"UOP_DUP OP_HASH160 b05f5a89dd44919ffd0af49bf97fd60d815629d5 OP_EQUALVERIFY OP_CHECKSIG*276a914b05f5a89dd44919ffd0af49bf97fd60d815629d588ac*"1H5aA3xetw9hF22ZqzRuHaonXjuYN5ENAa8$J  +¼6@f5e038c1513896d99918a9c4b1c71c9dff5d56dc23f7d063e1f615ce76837308"!1thSVXXLhzyaWuQs7JXF46ZdGXTA7X6fM"UOP_DUP OP_HASH160 09c6f8a45a5eb556b056b181b39944f12cf0b511 OP_EQUALVERIFY OP_CHECKSIG*276a91409c6f8a45a5eb556b056b181b39944f12cf0b51188ac*!1thSVXXLhzyaWuQs7JXF46ZdGXTA7X6fM8$J $-@0000000000000000000807936e2bb3196e93dcabad6bc30bace8c1771102c7e9"@00000000000000000015c7b4bc06a62fea8f7284b46865f02cb95433e7f1af042$-@0000000000000000000aae4c92857d203c3d2065fa2ccc5e383061a08c1d17b9"@0000000000000000000807936e2bb3196e93dcabad6bc30bace8c1771102c7e92$ޞ-@00000000000000000016e78f0c4cdb39cbd18cf5f1e470b39b0d052f84afea78"@0000000000000000000aae4c92857d203c3d2065fa2ccc5e383061a08c1d17b92$-@000000000000000000109c44adcf439b5cf624152fe3aff52474d3c8f3d70e5a"@00000000000000000016e78f0c4cdb39cbd18cf5f1e470b39b0d052f84afea782$-@0000000000000000000a214bc233c97399382a665c87b8f74b9c84f9aa1be0b2"@000000000000000000109c44adcf439b5cf624152fe3aff52474d3c8f3d70e5a2$-@0000000000000000001287ef4a0708b56ef1acd7ac03570bbff7234a503642d2"@0000000000000000000a214bc233c97399382a665c87b8f74b9c84f9aa1be0b22$-@000000000000000000071ca15fe96ee29545db48de626fe29f77183a22cc8a2f"@0000000000000000001287ef4a0708b56ef1acd7ac03570bbff7234a503642d22$⏟-@000000000000000000112e7f9c4554720e4fcd058ae606869b8afbda9e92fa3e"@000000000000000000071ca15fe96ee29545db48de626fe29f77183a22cc8a2f2$-@0000000000000000000749fe5df49958ae1c8a7c3c24269313189dd80c5a2e69"@000000000000000000112e7f9c4554720e4fcd058ae606869b8afbda9e92fa3e2 $ꌠ-@00000000000000000003152b9288129c8f87cc77837a1f814a4ac2d5e2690b01"@0000000000000000000749fe5df49958ae1c8a7c3c24269313189dd80c5a2e692 + + + +1@493fbadb828cb350359df91297ad6e78d28175f0d3e9a3b0b4623d030d38fa6b$"@00000000000000000003152b9288129c8f87cc77837a1f814a4ac2d5e2690b01(ꌠ-2 +@1ebcc7321de77fa01eb217feba041d8e205a1b2f3c4409c90140b04690227609B0332bdd891bac1ddb829e05aa89f34520b73efeac7ced0a02126b2be2af01f07ca2 +@1ebcc7321de77fa01eb217feba041d8e205a1b2f3c4409c90140b04690227609B02bb55afeb0866deea9ccd48b304a1d938f2ffa6f24fa5daa0e30b894c5ec5fd09B +@493fbadb828cb350359df91297ad6e78d28175f0d3e9a3b0b4623d030d38fa6b"!1ZGwt43npkdkxANtxaampkCnFEU4JcCTS"UOP_DUP OP_HASH160 061a9f3b9fc03af4a95ecec6e1deb29b4b404235 OP_EQUALVERIFY OP_CHECKSIG*276a914061a9f3b9fc03af4a95ecec6e1deb29b4b40423588ac*!1ZGwt43npkdkxANtxaampkCnFEU4JcCTS8$J  +@493fbadb828cb350359df91297ad6e78d28175f0d3e9a3b0b4623d030d38fa6b""1MF35P4qkxWLFp9dYuYomA3gDYwPzhpph9"UOP_DUP OP_HASH160 de0a125b0a13245ab129271d2658433ca5aa5271 OP_EQUALVERIFY OP_CHECKSIG*276a914de0a125b0a13245ab129271d2658433ca5aa527188ac*"1MF35P4qkxWLFp9dYuYomA3gDYwPzhpph98$J  +l@493fbadb828cb350359df91297ad6e78d28175f0d3e9a3b0b4623d030d38fa6b""1KgeCio8VurcSjKJgKjYuACuz9fTL6tzQ1"UOP_DUP OP_HASH160 ccf18a95e6c1a46aba7000cd33061bf0149d1de0 OP_EQUALVERIFY OP_CHECKSIG*276a914ccf18a95e6c1a46aba7000cd33061bf0149d1de088ac*"1KgeCio8VurcSjKJgKjYuACuz9fTL6tzQ18$J A$ˠ-@00000000000000000010a4ab5ebb35c558cf7f76d81e24e46dffcc062d6d9987"@00000000000000000003152b9288129c8f87cc77837a1f814a4ac2d5e2690b012 $۠-@0000000000000000000e50ed3efa1c26298e7d1566c73aebd641d84b8a35519f"@00000000000000000010a4ab5ebb35c558cf7f76d81e24e46dffcc062d6d99872 + + + +1@eac33d2d03d2ed7eba3081c62fcff06d79a8d4b82dc8755afdcabfa501da6745$"@0000000000000000000e50ed3efa1c26298e7d1566c73aebd641d84b8a35519f(۠-2 +@4d8d2e4896b1733f6b0399f2ce13446cc30c392641e32dc67ba83ce0efd6bd59B02361e37949b59ba5b8e0c011667d3eaf78fd45d9025589b5fbe7ecac8fbe7cde82 +@a32d9172b0221ef8526be1c08f0a348b8d059074f990c8029edf6b17ec0d2e52B02a39e12341128eeb5d2ef70ebe469d585a30ca593dba6e5a9518c1118d3b98a48B +@eac33d2d03d2ed7eba3081c62fcff06d79a8d4b82dc8755afdcabfa501da6745""133srewg9R6FMxzaVVyL8wLGZHazaxBzK7"UOP_DUP OP_HASH160 167b893954a24ee62b30339bf3d2f331ccef1f0d OP_EQUALVERIFY OP_CHECKSIG*276a914167b893954a24ee62b30339bf3d2f331ccef1f0d88ac*"133srewg9R6FMxzaVVyL8wLGZHazaxBzK78$J  +@eac33d2d03d2ed7eba3081c62fcff06d79a8d4b82dc8755afdcabfa501da6745""1Py9us6vdK3pFLNCp9pbJndnrr9cftnv1L"UOP_DUP OP_HASH160 fbf1800036baf969ba0cc5669b1647cfa3d0ac40 OP_EQUALVERIFY OP_CHECKSIG*276a914fbf1800036baf969ba0cc5669b1647cfa3d0ac4088ac*"1Py9us6vdK3pFLNCp9pbJndnrr9cftnv1L8$J  +Ł@eac33d2d03d2ed7eba3081c62fcff06d79a8d4b82dc8755afdcabfa501da6745""14AgJ81d5yfCyKwPKXV45prMMnm9CMt1E7"UOP_DUP OP_HASH160 22bcec484a4657cc41fac9d6bbfef963176d49cb OP_EQUALVERIFY OP_CHECKSIG*276a91422bcec484a4657cc41fac9d6bbfef963176d49cb88ac*"14AgJ81d5yfCyKwPKXV45prMMnm9CMt1E78$J $ѡ-@000000000000000000199cdc8b74924e77f09a02205edb1a20e5d4cbd315d85e"@0000000000000000000e50ed3efa1c26298e7d1566c73aebd641d84b8a35519f26$モ-@0000000000000000000a3373f04f95657bc024649cf1a19b0674d56fbb0f2c6e"@000000000000000000199cdc8b74924e77f09a02205edb1a20e5d4cbd315d85e25 + + +1@1bd55ea14f7718fa119913616c65dd0dd795079900ff980ec279cd8ebe4249fa$"@0000000000000000000a3373f04f95657bc024649cf1a19b0674d56fbb0f2c6e(モ-2 +@8986a543a017e0a5e595f278c776a1d154d36c34e1b7d8f8384c4168dc5ea9afB03ea4694995e339bcbb6fcbdd1a87fb25535df76cd39e6fae802147016899a57202 +@dfd37179458b9ef5a35a950afe72fefa39e5b008dc6b446f2efb8f8f6a2b2358B02199d600a23d5de4f05295622fdad1d3663f2ada790d9e7d47e5edc867e79de6aB +Y@1bd55ea14f7718fa119913616c65dd0dd795079900ff980ec279cd8ebe4249fa""161FJgtZf7pcWwQVr2RUb43KFKDioe9AXr"UOP_DUP OP_HASH160 36e491f2029332efc145e3a34c65f3651526e0c6 OP_EQUALVERIFY OP_CHECKSIG*276a91436e491f2029332efc145e3a34c65f3651526e0c688ac*"161FJgtZf7pcWwQVr2RUb43KFKDioe9AXr8$J  +@1bd55ea14f7718fa119913616c65dd0dd795079900ff980ec279cd8ebe4249fa""1LMyM89hU6bpdKM61hNwDdEGUGZpJp7f5S"UOP_DUP OP_HASH160 d461bec51d32c301306d9523f33ad2cbf8ee83da OP_EQUALVERIFY OP_CHECKSIG*276a914d461bec51d32c301306d9523f33ad2cbf8ee83da88ac*"1LMyM89hU6bpdKM61hNwDdEGUGZpJp7f5S8$J  +<@1bd55ea14f7718fa119913616c65dd0dd795079900ff980ec279cd8ebe4249fa""18SvVRcuCrcNZmNqBBmGjG2bHAv8i9CVoG"UOP_DUP OP_HASH160 51afee48d4cffa171728be6f8a70e05cceafa1bc OP_EQUALVERIFY OP_CHECKSIG*276a91451afee48d4cffa171728be6f8a70e05cceafa1bc88ac*"18SvVRcuCrcNZmNqBBmGjG2bHAv8i9CVoG8$J  + + +1@c8cb034dc99d17c55d24eb57a34a43bd47e90f84851115422235d89d4e56a615$"@0000000000000000000a3373f04f95657bc024649cf1a19b0674d56fbb0f2c6e(モ-2 +@1bd55ea14f7718fa119913616c65dd0dd795079900ff980ec279cd8ebe4249faB023236708497e7caa06cb1ad1ba33ec3bed0536b4e257b35997aa35737297596ed2 +@2482e6ca3c409d3b8207b4ad75e1e7430a015bda928b2ca7ab9e8b104411d2deB0324fe1b2fd55dcc02202a92e1503698cb909684c6f4a8d3f7eb22c32d8935e507B +X@c8cb034dc99d17c55d24eb57a34a43bd47e90f84851115422235d89d4e56a615""1Q5NeQ7pZUUaL2r8F5z2SDcvCY7yokW35m"UOP_DUP OP_HASH160 fd1ea002ff9b82c93c8bc82917bb941952be555f OP_EQUALVERIFY OP_CHECKSIG*276a914fd1ea002ff9b82c93c8bc82917bb941952be555f88ac*"1Q5NeQ7pZUUaL2r8F5z2SDcvCY7yokW35m8$J  +@c8cb034dc99d17c55d24eb57a34a43bd47e90f84851115422235d89d4e56a615""1Euk2vbeimC1pmifHqQp8unQo7atUdKFrB"UOP_DUP OP_HASH160 98932fff226e611a243d35a35c64dcf34b787b60 OP_EQUALVERIFY OP_CHECKSIG*276a91498932fff226e611a243d35a35c64dcf34b787b6088ac*"1Euk2vbeimC1pmifHqQp8unQo7atUdKFrB8$J  +Үm@c8cb034dc99d17c55d24eb57a34a43bd47e90f84851115422235d89d4e56a615""1ARzqZVkgyGK5c6c7XAGWphS9439dhtnhz"UOP_DUP OP_HASH160 6773652e5b1466bbed7b9308c002a9a91a65a493 OP_EQUALVERIFY OP_CHECKSIG*276a9146773652e5b1466bbed7b9308c002a9a91a65a49388ac*"1ARzqZVkgyGK5c6c7XAGWphS9439dhtnhz8$J  + + +1@25e30f5e03b9ac2ae7d385010789f2fb570605d01264ebb9f754a7a7e8e5c29e$"@0000000000000000000a3373f04f95657bc024649cf1a19b0674d56fbb0f2c6e(モ-2 +@de8b127f1cc8b6e90feff18520ba93336bab02d52fc3974a101f8ff24a45664cB02d87711dcf18abc91a10dc043db5b3bc88b5255355fc701cf865475848e1ec7d72 +@de8b127f1cc8b6e90feff18520ba93336bab02d52fc3974a101f8ff24a45664cB03ef0c5da83e466f9fb12664730dfbc98e2d90ccd12fbe1049bbce82e47effc8aaB +(@25e30f5e03b9ac2ae7d385010789f2fb570605d01264ebb9f754a7a7e8e5c29e""1KFY5dirht1uecr5tod2154EvWRCewv4X1"UOP_DUP OP_HASH160 c8320820e072b07aaa55b6ddb4a7867947d21471 OP_EQUALVERIFY OP_CHECKSIG*276a914c8320820e072b07aaa55b6ddb4a7867947d2147188ac*"1KFY5dirht1uecr5tod2154EvWRCewv4X18$J  +[@25e30f5e03b9ac2ae7d385010789f2fb570605d01264ebb9f754a7a7e8e5c29e""1Jyu9shZPZdbAMZFFo1wzaDDax3r2AnDuv"UOP_DUP OP_HASH160 c53cf7a22a958fea9a4feeec94f3821d689f9128 OP_EQUALVERIFY OP_CHECKSIG*276a914c53cf7a22a958fea9a4feeec94f3821d689f912888ac*"1Jyu9shZPZdbAMZFFo1wzaDDax3r2AnDuv8$J  +@25e30f5e03b9ac2ae7d385010789f2fb570605d01264ebb9f754a7a7e8e5c29e"!1J96xgUTtkp9DVThm8C2xnyE294kiCeLQ"UOP_DUP OP_HASH160 033dd5cf328eb6732ddd3bf0110af92e57dd9013 OP_EQUALVERIFY OP_CHECKSIG*276a914033dd5cf328eb6732ddd3bf0110af92e57dd901388ac*!1J96xgUTtkp9DVThm8C2xnyE294kiCeLQ8$J  + + +1@3c2ed645b599e23ccde32ca6aec6e6d99b03ae736d3483ab217b18c037a28d3b$"@0000000000000000000a3373f04f95657bc024649cf1a19b0674d56fbb0f2c6e(モ-2 +@25e30f5e03b9ac2ae7d385010789f2fb570605d01264ebb9f754a7a7e8e5c29eB031cca4ea7df79143e187e86b9a8be1b3e381d711e81bb228b22a5561d0c09e7392 +@eb85bdb289c50c2934b706ae473a7f50a5d0250a41c99a213288d467e5a3b10eB0332c0851576b604ddd9758e4688aa4cce82df7aeeea9e557f58c5f5196d82c941B +(@3c2ed645b599e23ccde32ca6aec6e6d99b03ae736d3483ab217b18c037a28d3b""1FApX3ZWDoz4auV6ZpceUJCikLWD88ib9D"UOP_DUP OP_HASH160 9b6d2bb05e2bc7dba6b75eb46025ef35ba9e44ef OP_EQUALVERIFY OP_CHECKSIG*276a9149b6d2bb05e2bc7dba6b75eb46025ef35ba9e44ef88ac*"1FApX3ZWDoz4auV6ZpceUJCikLWD88ib9D8$J  +@3c2ed645b599e23ccde32ca6aec6e6d99b03ae736d3483ab217b18c037a28d3b"!1tNrQUGeeDy1iDW2RQPeP4NZiNem35wUc"UOP_DUP OP_HASH160 09b7747c2006a5153cc3b2ec6f125b1dd84bb283 OP_EQUALVERIFY OP_CHECKSIG*276a91409b7747c2006a5153cc3b2ec6f125b1dd84bb28388ac*!1tNrQUGeeDy1iDW2RQPeP4NZiNem35wUc8$J  +<@3c2ed645b599e23ccde32ca6aec6e6d99b03ae736d3483ab217b18c037a28d3b""14e9jciKHhn9NHKcewSo5xKzP8vAj4uwb3"UOP_DUP OP_HASH160 27ef0f3119859254f87a8dde1e245eff5c38258c OP_EQUALVERIFY OP_CHECKSIG*276a91427ef0f3119859254f87a8dde1e245eff5c38258c88ac*"14e9jciKHhn9NHKcewSo5xKzP8vAj4uwb38$J  + + +1@e8163d813e56c7a774d17754ee8ad76ced6b8c29fb648df49bcaad4499b43b7b$"@0000000000000000000a3373f04f95657bc024649cf1a19b0674d56fbb0f2c6e(モ-2 +@3c2ed645b599e23ccde32ca6aec6e6d99b03ae736d3483ab217b18c037a28d3bB038565cfcbabc4a600efb1c903a09a1f5b6fdadd8ca464968a81767c4dfb7d7b302 +@c7b67abce88f9656979f0f1fada08e33f5fae95f3df6899208207a1011b2002cB03c911df8d477b444cb1c3c1756a11e8594844a98ab968cd793236c011b29515a2B +(@e8163d813e56c7a774d17754ee8ad76ced6b8c29fb648df49bcaad4499b43b7b""14nSCCVbxRc1aqHNjiFYuGzQJ6ahfTFVjf"UOP_DUP OP_HASH160 29802031168834d9acfa29bc25f0b8e2bed3a851 OP_EQUALVERIFY OP_CHECKSIG*276a91429802031168834d9acfa29bc25f0b8e2bed3a85188ac*"14nSCCVbxRc1aqHNjiFYuGzQJ6ahfTFVjf8$J  +@e8163d813e56c7a774d17754ee8ad76ced6b8c29fb648df49bcaad4499b43b7b""159479M39ESmyPSYASo6cxjBapnYZctPXZ"UOP_DUP OP_HASH160 2d666c6c5c8136aafac7bf1647c1089b2ccbd2b4 OP_EQUALVERIFY OP_CHECKSIG*276a9142d666c6c5c8136aafac7bf1647c1089b2ccbd2b488ac*"159479M39ESmyPSYASo6cxjBapnYZctPXZ8$J  +@e8163d813e56c7a774d17754ee8ad76ced6b8c29fb648df49bcaad4499b43b7b"!1D4QVYKxk2q8EHrWRS2zDvhQBhBx3gz6S"UOP_DUP OP_HASH160 0247d57bebd7b1673237b3fd275cdc2d41da1773 OP_EQUALVERIFY OP_CHECKSIG*276a9140247d57bebd7b1673237b3fd275cdc2d41da177388ac*!1D4QVYKxk2q8EHrWRS2zDvhQBhBx3gz6S8$J  $-@0000000000000000001034e4355d18cec83e4b0ae5620fa1cd8a320978ddb7c6"@0000000000000000000a3373f04f95657bc024649cf1a19b0674d56fbb0f2c6e2$ȳ-@000000000000000000156b303c56d5459e616df85c243afcf6345b80c00a17be"@0000000000000000001034e4355d18cec83e4b0ae5620fa1cd8a320978ddb7c62$Ģ-@000000000000000000190d5579711d5ee4d7d514b19e32cb29f0f965e4cd0f9b"@000000000000000000156b303c56d5459e616df85c243afcf6345b80c00a17be2$ء͢-@00000000000000000018ecf3bd3a345b939774f3b67246df185c13921333def1"@000000000000000000190d5579711d5ee4d7d514b19e32cb29f0f965e4cd0f9b2$ن-@000000000000000000168815b86a4bd0decff7797d33bf3cab4e18d95c236c20"@00000000000000000018ecf3bd3a345b939774f3b67246df185c13921333def12 + + +1@10523e29649d2746ab7880c8579e75273e649a98222a6895d6f8829303641439$"@000000000000000000168815b86a4bd0decff7797d33bf3cab4e18d95c236c20(ن-2 +@dc170246a168ea9f6115bc380ab765f450bb5d62e8a61a88c869d8827995a79fB031d773eaba920029133da5cf0d2da8f2d4352144f422a8a25b7826c76c560bbe72 +@dc170246a168ea9f6115bc380ab765f450bb5d62e8a61a88c869d8827995a79fB03f103b687cc57d25db3a46ea3f783c9a1d31866ea40be2edd47e3a9b3e081e809B +@10523e29649d2746ab7880c8579e75273e649a98222a6895d6f8829303641439""1GrBoe77FhGH857barb6TFNQzAtEu9JS5e"UOP_DUP OP_HASH160 add749a812e0b05cbc175b7c6c90e87f1083c0d5 OP_EQUALVERIFY OP_CHECKSIG*276a914add749a812e0b05cbc175b7c6c90e87f1083c0d588ac*"1GrBoe77FhGH857barb6TFNQzAtEu9JS5e8$J  +@10523e29649d2746ab7880c8579e75273e649a98222a6895d6f8829303641439""179tjdocwxj3nsPioRAE6RwnuhJxqAvqZM"UOP_DUP OP_HASH160 437f44c744bb97c9346bb936acb85dc4405f57ad OP_EQUALVERIFY OP_CHECKSIG*276a914437f44c744bb97c9346bb936acb85dc4405f57ad88ac*"179tjdocwxj3nsPioRAE6RwnuhJxqAvqZM8$J  +Ţ@10523e29649d2746ab7880c8579e75273e649a98222a6895d6f8829303641439""19jFidY5ctACenL7cry7eyHpvYwVwpE9VP"UOP_DUP OP_HASH160 5fbec32ea5b6a626dd7a840faa7dd441ae9ebfa9 OP_EQUALVERIFY OP_CHECKSIG*276a9145fbec32ea5b6a626dd7a840faa7dd441ae9ebfa988ac*"19jFidY5ctACenL7cry7eyHpvYwVwpE9VP8$J Q + + +1@9d67fbbe8df34bba143df641454aca72932949abdf71dbe3b98db35c0f501ca0$"@000000000000000000168815b86a4bd0decff7797d33bf3cab4e18d95c236c20(ن-2 +@7ae031ef8cec388cfe3d40a7084b2afab8e827958b29af3656a4511089496099B039446461bb2e9df07360d2f4bb857d0f7eda1c1edd9e0714deea18a531fd704612 +@dad439e28ef43c0776a42502f113cf1e9a3256145423525e70713728b3d456a9B0361691d4435dc89ebb3f303652d80b2f99659c2e742c9069a70914e11301150a6B + @9d67fbbe8df34bba143df641454aca72932949abdf71dbe3b98db35c0f501ca0""1KftiGLyvukwBvgge1afVmsP7VFDKbmfpK"UOP_DUP OP_HASH160 cccd3cb99cdaae63d6212e6fec0e339acb210ca9 OP_EQUALVERIFY OP_CHECKSIG*276a914cccd3cb99cdaae63d6212e6fec0e339acb210ca988ac*"1KftiGLyvukwBvgge1afVmsP7VFDKbmfpK8$J  +@9d67fbbe8df34bba143df641454aca72932949abdf71dbe3b98db35c0f501ca0"!1m7HvhAV89ZeUuEFuxFs6sPdXEhVxNBw1"UOP_DUP OP_HASH160 08578df19e33a0aada886df7ed056ce20c2d3c13 OP_EQUALVERIFY OP_CHECKSIG*276a91408578df19e33a0aada886df7ed056ce20c2d3c1388ac*!1m7HvhAV89ZeUuEFuxFs6sPdXEhVxNBw18$J  +@9d67fbbe8df34bba143df641454aca72932949abdf71dbe3b98db35c0f501ca0""1GomTXMRwqn3KKdbiRYtgeNRLXwThUqCk1"UOP_DUP OP_HASH160 ad6221d02effc43cc49ea01c8235be4a86d5cd1c OP_EQUALVERIFY OP_CHECKSIG*276a914ad6221d02effc43cc49ea01c8235be4a86d5cd1c88ac*"1GomTXMRwqn3KKdbiRYtgeNRLXwThUqCk18$J 6$-@00000000000000000003af7c8fcce29a0109d8ae3949ba23d239afd997509b4f"@000000000000000000168815b86a4bd0decff7797d33bf3cab4e18d95c236c202$-@0000000000000000000c78ac26a04ebc356b40e56f672cc88a9bb73ef1020290"@00000000000000000003af7c8fcce29a0109d8ae3949ba23d239afd997509b4f2+$ɤ-@000000000000000000184e3bd33376c4e30c967db546d7f19b820cd0549d14de"@0000000000000000000c78ac26a04ebc356b40e56f672cc88a9bb73ef10202902* + + +1@cc00af3389948379fe4180f8e83249040336ec2cc81905d8c49bedc03b0cdd84$"@000000000000000000184e3bd33376c4e30c967db546d7f19b820cd0549d14de(ɤ-2 +@e8163d813e56c7a774d17754ee8ad76ced6b8c29fb648df49bcaad4499b43b7bB039edaf45e1652ce2eba1ab64374796ab877f7e814c1e64c9b9952c95a317163912 +@25e30f5e03b9ac2ae7d385010789f2fb570605d01264ebb9f754a7a7e8e5c29eB02576f326cfa3afff85f63e6ec2ccc714e50ae1d289f899876e94cc3a67b86b207B +(@cc00af3389948379fe4180f8e83249040336ec2cc81905d8c49bedc03b0cdd84""1P31Be2hfa17bi9D97qrAByLgiSMKkVMSF"UOP_DUP OP_HASH160 f1b3c0955ce16c336679be4254bba25442d0e228 OP_EQUALVERIFY OP_CHECKSIG*276a914f1b3c0955ce16c336679be4254bba25442d0e22888ac*"1P31Be2hfa17bi9D97qrAByLgiSMKkVMSF8$J  +[@cc00af3389948379fe4180f8e83249040336ec2cc81905d8c49bedc03b0cdd84""19gcV1iZLuoM2btEveUyUYzaCoPBYbXRti"UOP_DUP OP_HASH160 5f3ed93587f29e57d9f76943646e917f50ac3bce OP_EQUALVERIFY OP_CHECKSIG*276a9145f3ed93587f29e57d9f76943646e917f50ac3bce88ac*"19gcV1iZLuoM2btEveUyUYzaCoPBYbXRti8$J  +ѱ@cc00af3389948379fe4180f8e83249040336ec2cc81905d8c49bedc03b0cdd84""1Moh2cELWynHTAtH9PS2UrMkT6DA57KNyN"UOP_DUP OP_HASH160 e4371039120dee74a2af9f9a6fae41a5a2f2e004 OP_EQUALVERIFY OP_CHECKSIG*276a914e4371039120dee74a2af9f9a6fae41a5a2f2e00488ac*"1Moh2cELWynHTAtH9PS2UrMkT6DA57KNyN8$J  + + +1@b07633a57a35b70327c7d23643db67061d8f175449892c39e225f082d2a3ec6d$"@000000000000000000184e3bd33376c4e30c967db546d7f19b820cd0549d14de(ɤ-2 +@cc00af3389948379fe4180f8e83249040336ec2cc81905d8c49bedc03b0cdd84B021e806f8946f67dde697235ecf6d01efef8889d8cc3962bdbda5442a4d3f3d4da2 +@3154ff004ff6769c8a70a596b6e6867ca7be3ed375bc4af7f389380c2124494dB02c662214e816f0374b567a2f900591759c98747ad6f19e14bd4ab3dd9d038e3b1B +(@b07633a57a35b70327c7d23643db67061d8f175449892c39e225f082d2a3ec6d""1NrwqgPKgF3mkE2XftxH5ZVDesFUBUPr6c"UOP_DUP OP_HASH160 efcccd167ab246cdb826d55fe121aa2c7949aa50 OP_EQUALVERIFY OP_CHECKSIG*276a914efcccd167ab246cdb826d55fe121aa2c7949aa5088ac*"1NrwqgPKgF3mkE2XftxH5ZVDesFUBUPr6c8$J  +@b07633a57a35b70327c7d23643db67061d8f175449892c39e225f082d2a3ec6d""122TNEMjBv9h9a3DgqPJixSviKLxf5HNpJ"UOP_DUP OP_HASH160 0b3e8d0ecce04c0b00ae9cd6ebeec94b51ba8643 OP_EQUALVERIFY OP_CHECKSIG*276a9140b3e8d0ecce04c0b00ae9cd6ebeec94b51ba864388ac*"122TNEMjBv9h9a3DgqPJixSviKLxf5HNpJ8$J  +@b07633a57a35b70327c7d23643db67061d8f175449892c39e225f082d2a3ec6d""1AkukPTecU3ELZzW1rDAasfPtFiRaVc6Sw"UOP_DUP OP_HASH160 6b070cde85cf6b85198696f12e5c5f466ddbd4e6 OP_EQUALVERIFY OP_CHECKSIG*276a9146b070cde85cf6b85198696f12e5c5f466ddbd4e688ac*"1AkukPTecU3ELZzW1rDAasfPtFiRaVc6Sw8$J  + + +1@1df1a805faf92d86401b7b23b9d55155313f0b7e470382cd21b3c0c7653592b0$"@000000000000000000184e3bd33376c4e30c967db546d7f19b820cd0549d14de(ɤ-2 +@70a583abd81264f0019c809137e45861674de5615eb3f90ffe1c29301ff6e891B03632637e4ee091a4b50ff00fe70b37ff9738d44c98e32458ac083f06414543a282 +@a4eaf6930e79d5d8f92c14d36069bca2d82199c572f6b0fd84e01f0b662073fbB02993b5495c010169f9c4e3d944a92172d2d86823d382714a8c9d1a36a88314597B +"@1df1a805faf92d86401b7b23b9d55155313f0b7e470382cd21b3c0c7653592b0""1GaM8DBvMEmBTQnDfxogrcvEPHTHbK4Px9"UOP_DUP OP_HASH160 aad86994c0efe882bfcb4e2a1a3f9db4d642f3c0 OP_EQUALVERIFY OP_CHECKSIG*276a914aad86994c0efe882bfcb4e2a1a3f9db4d642f3c088ac*"1GaM8DBvMEmBTQnDfxogrcvEPHTHbK4Px98$J  +@1df1a805faf92d86401b7b23b9d55155313f0b7e470382cd21b3c0c7653592b0"!1pTvcTX87NxsquWMhvMVqh7djBUwEy1Ri"UOP_DUP OP_HASH160 08fa06878a71f45ac44a66722224b9ffd2978d78 OP_EQUALVERIFY OP_CHECKSIG*276a91408fa06878a71f45ac44a66722224b9ffd2978d7888ac*!1pTvcTX87NxsquWMhvMVqh7djBUwEy1Ri8$J  +w@1df1a805faf92d86401b7b23b9d55155313f0b7e470382cd21b3c0c7653592b0""12FcuKkSKfKFsqUzGM65yz3LD3E4pwaktG"UOP_DUP OP_HASH160 0dbbeb38ae1eddf576086659986b3e8e5f409153 OP_EQUALVERIFY OP_CHECKSIG*276a9140dbbeb38ae1eddf576086659986b3e8e5f40915388ac*"12FcuKkSKfKFsqUzGM65yz3LD3E4pwaktG8$J  + + +1@8c16638f2a9aa10ed2447a8117f31b7352bc9749ed773169d27bf2839f5aa9d6$"@000000000000000000184e3bd33376c4e30c967db546d7f19b820cd0549d14de(ɤ-2 +@36c708aaf994f5dc664f627262889f8874f13790cd412d5fb5319dc4467731e0B02b9823cda9cd066aa662a82eab908712b74bd6d51b52f2d7a8cc14f7021ce47012 +@8afaed9a3f5a254b6216a46573b78123cc0152ce699e265d26c9b92cd54909c4B027015ef5fd932ff66c9350f634f29effe80978b8ecbb27b0f48250592ef540f2cB +@8c16638f2a9aa10ed2447a8117f31b7352bc9749ed773169d27bf2839f5aa9d6""1Ec3HcUGDYYTYg9i1Zka3S1xCwyQy23kup"UOP_DUP OP_HASH160 953a1a39fe5250df20041edfebadedeb39e986e1 OP_EQUALVERIFY OP_CHECKSIG*276a914953a1a39fe5250df20041edfebadedeb39e986e188ac*"1Ec3HcUGDYYTYg9i1Zka3S1xCwyQy23kup8$J  +\@8c16638f2a9aa10ed2447a8117f31b7352bc9749ed773169d27bf2839f5aa9d6""1D3XVJ9XrMNfRdh3fwBc3ShECZ1zdskkuw"UOP_DUP OP_HASH160 841bca933f80f913ca79732e513044cb182d15bc OP_EQUALVERIFY OP_CHECKSIG*276a914841bca933f80f913ca79732e513044cb182d15bc88ac*"1D3XVJ9XrMNfRdh3fwBc3ShECZ1zdskkuw8$J  +@8c16638f2a9aa10ed2447a8117f31b7352bc9749ed773169d27bf2839f5aa9d6""1AouGqfdZdJujR4rhF4feCPAkLH2e7vvng"UOP_DUP OP_HASH160 6b97e6d3fd72d81fd705036a9741e0a961add6da OP_EQUALVERIFY OP_CHECKSIG*276a9146b97e6d3fd72d81fd705036a9741e0a961add6da88ac*"1AouGqfdZdJujR4rhF4feCPAkLH2e7vvng8$J &$ȻΤ-@0000000000000000001726534a15310ae847a3baaf00b8b18426ade75fbfb75c"@000000000000000000184e3bd33376c4e30c967db546d7f19b820cd0549d14de2$ޤ-@00000000000000000003235beed6bde9801e322706610251c36a8a2ba01d00e0"@0000000000000000001726534a15310ae847a3baaf00b8b18426ade75fbfb75c2$-@000000000000000000155597e955f499e2d8b61bd27616655f2960f13aa43e97"@00000000000000000003235beed6bde9801e322706610251c36a8a2ba01d00e02$-@000000000000000000191cafe2a636a23683e7bfac67d11e903982fe6c2e6179"@000000000000000000155597e955f499e2d8b61bd27616655f2960f13aa43e972$-@0000000000000000001241adea780f22a0bb6441a3778b91d3cd082e0c2663ea"@000000000000000000191cafe2a636a23683e7bfac67d11e903982fe6c2e61792$ײ-@0000000000000000000f45ec3c0bae70eaf40a4c2b1ed4369cb51b4fdb022669"@0000000000000000001241adea780f22a0bb6441a3778b91d3cd082e0c2663ea2 $ܥ-@00000000000000000018210d2d9f2532e18d15a68f344440aeab636486cdf868"@0000000000000000000f45ec3c0bae70eaf40a4c2b1ed4369cb51b4fdb0226692 + +1@33f0d23b25d9cfd204fe2859bbe33203d506f06a42e2e9d643cf4d8039d8c90b$"@00000000000000000018210d2d9f2532e18d15a68f344440aeab636486cdf868(ܥ-2 +@ba217235e8810ea3354ef65adeafd00e817fe65a1f4400e0da60b2e1ca5016c5B03fdb576eeff0b1c8586f4de74dc46e526011c927cd8bf7c0470d7c3e99cf5990b2 +@ba217235e8810ea3354ef65adeafd00e817fe65a1f4400e0da60b2e1ca5016c5B02a6bd234d357505fab5aae41bb3abb5e4e4480dcca30dee7d5f8ba5ff50abb7aa2 +@ab4ed77c4179a112c23918e014b97ee80f4c15f524dd2a558f87bcb30a0eab2bB029875aa299ee178e7919bf2410a2ccea02f62b11fd63c52cff2fb35c848ef5ab12 +@028e5e0d04c18c17012e3a8d338d46ee1a5655aff9658388570df144dd72ecb3B030c370760aaef7e4c795815724f875a02cf983a003dc2a8553b2ff354aff78c05B +@33f0d23b25d9cfd204fe2859bbe33203d506f06a42e2e9d643cf4d8039d8c90b""1L54R1wvvD21617j1azqXQmWCdJauYJ8bT"UOP_DUP OP_HASH160 d12ee7569571a59c86eb4173cffc28f1dd9de798 OP_EQUALVERIFY OP_CHECKSIG*276a914d12ee7569571a59c86eb4173cffc28f1dd9de79888ac*"1L54R1wvvD21617j1azqXQmWCdJauYJ8bT8$J  + @33f0d23b25d9cfd204fe2859bbe33203d506f06a42e2e9d643cf4d8039d8c90b""1BDgTwbGjykgcgQxcCo2e4TEQSeubrqoiT"UOP_DUP OP_HASH160 7017315400bafbf25e266f1f91a24af9297142bc OP_EQUALVERIFY OP_CHECKSIG*276a9147017315400bafbf25e266f1f91a24af9297142bc88ac*"1BDgTwbGjykgcgQxcCo2e4TEQSeubrqoiT8$J  +@33f0d23b25d9cfd204fe2859bbe33203d506f06a42e2e9d643cf4d8039d8c90b""13TnKM2UZWYBtfaQjEsgz1nT6mYj4F5hhD"UOP_DUP OP_HASH160 1b00e50c005dcf226272eef030f60c2fb96b9af5 OP_EQUALVERIFY OP_CHECKSIG*276a9141b00e50c005dcf226272eef030f60c2fb96b9af588ac*"13TnKM2UZWYBtfaQjEsgz1nT6mYj4F5hhD8$J  $-@0000000000000000000dfccb8be9cdfb48ba6b70a268d8fdef7b4ac1e6426f97"@00000000000000000018210d2d9f2532e18d15a68f344440aeab636486cdf8682$-@0000000000000000000264a0b10e9aa2191d55ee38be5a290ce41f31acafbe20"@0000000000000000000dfccb8be9cdfb48ba6b70a268d8fdef7b4ac1e6426f972$-@000000000000000000179a4950b3b1a5b518c09ea85a4da5d536f305a9700cc1"@0000000000000000000264a0b10e9aa2191d55ee38be5a290ce41f31acafbe202$-@00000000000000000013d244d2c3c12a8117b5021c8d3de4fa65f74da8737c86"@000000000000000000179a4950b3b1a5b518c09ea85a4da5d536f305a9700cc12$-@000000000000000000009b0899b9e0178c51beff137fab4540ae3272bd75c7b8"@00000000000000000013d244d2c3c12a8117b5021c8d3de4fa65f74da8737c862$á-@00000000000000000017a4942c36cb2f215e212b928b23f30bba7bc7f71e2e27"@000000000000000000009b0899b9e0178c51beff137fab4540ae3272bd75c7b82¤$餦-@0000000000000000000d95cf0cc0a2c13552a319bce19eec63241a12840e5060"@00000000000000000017a4942c36cb2f215e212b928b23f30bba7bc7f71e2e272ä$ը-@0000000000000000000cdfc402983ef1f08e0a5d0194d679df598505bf4d38ce"@0000000000000000000d95cf0cc0a2c13552a319bce19eec63241a12840e50602Ĥ$ദ-@000000000000000000071b49ee156f053b464f114a22f5d3633fd67d5895bd5f"@0000000000000000000cdfc402983ef1f08e0a5d0194d679df598505bf4d38ce2Ť$ʦ-@0000000000000000000c7c1be37ba9b28906dede4525503492662646c20236d0"@000000000000000000071b49ee156f053b464f114a22f5d3633fd67d5895bd5f2$Ƥ$-@000000000000000000097516cefb89f108fd41991d59513335688a94a8f54d62"@0000000000000000000c7c1be37ba9b28906dede4525503492662646c20236d02# + +1@1e3c6cfc121b6fb8a4bf2540268400b45ccc646b0ed0f2c6a5cfde5dac204d9fƤ$"@000000000000000000097516cefb89f108fd41991d59513335688a94a8f54d62(-2 +@8c16638f2a9aa10ed2447a8117f31b7352bc9749ed773169d27bf2839f5aa9d6B038c23aedb2b8e802a2f687b0c822786a703ae6f73961843e2cbc51eac87ce6c6f2 +@e0bd38ef42e7893eef3e2e50cc65d7d6a38a1f748c7f2717bf90c7c07b9747a6B031837d415b1cfe8dbff4e7c8242c77ed5b5bfff58bdf947b0efb2a7e22f04169b2 +@d6141ea3189630930eef840d93bde91cfa2f0dc7d35abe6f7f17abadfccf5d09B02553533f84fa47171062d72399ad3a4d41b1a02f89936aa6fe3a6306c5cf7d68cB +җ@1e3c6cfc121b6fb8a4bf2540268400b45ccc646b0ed0f2c6a5cfde5dac204d9f""14mBDxmjs5DnsDxdAf3a4fZWPS3YEm3yJf"UOP_DUP OP_HASH160 294336bb7025626eeb145bb4de73bd7e8f6eed75 OP_EQUALVERIFY OP_CHECKSIG*276a914294336bb7025626eeb145bb4de73bd7e8f6eed7588ac*"14mBDxmjs5DnsDxdAf3a4fZWPS3YEm3yJf8Ƥ$J  +@1e3c6cfc121b6fb8a4bf2540268400b45ccc646b0ed0f2c6a5cfde5dac204d9f""17fLcwDNJzjb3XtNdqm7iTaYEMj5jUvrJE"UOP_DUP OP_HASH160 4910f057ae3b02eccf2b526e5043c8073992b533 OP_EQUALVERIFY OP_CHECKSIG*276a9144910f057ae3b02eccf2b526e5043c8073992b53388ac*"17fLcwDNJzjb3XtNdqm7iTaYEMj5jUvrJE8Ƥ$J  +/@1e3c6cfc121b6fb8a4bf2540268400b45ccc646b0ed0f2c6a5cfde5dac204d9f""1JU6ERWTrDrfGywcvWWkwWdVWoSFQ8aF1k"UOP_DUP OP_HASH160 bf99bc7bd94580dfdeef422ea5a9954b92099a6c OP_EQUALVERIFY OP_CHECKSIG*276a914bf99bc7bd94580dfdeef422ea5a9954b92099a6c88ac*"1JU6ERWTrDrfGywcvWWkwWdVWoSFQ8aF1k8Ƥ$J ' + + +1@b874a8449d2a399f777e0fbc8f5d62699c703b165ee2cf3442d36a0c986f97e1Ƥ$"@000000000000000000097516cefb89f108fd41991d59513335688a94a8f54d62(-2 +@2c9061faeb345617e0beaf2ca893248c09a7fc087e8b9ca89377507bcfcea7aeB0344897908cdc5531eb31acd01916d2ea7c3fefcb79335949425dccb5eb8b17b4f2 +@2c9061faeb345617e0beaf2ca893248c09a7fc087e8b9ca89377507bcfcea7aeB033d7e017221983701ac85141a414acbad04eec74aaf054b50475c5042a04d4fb3B +@b874a8449d2a399f777e0fbc8f5d62699c703b165ee2cf3442d36a0c986f97e1""179dBBmModBfFWwBM92dnsdtseE37reeh4"UOP_DUP OP_HASH160 437247c056f6a85f0888fa4dc5f6f258157f2fc0 OP_EQUALVERIFY OP_CHECKSIG*276a914437247c056f6a85f0888fa4dc5f6f258157f2fc088ac*"179dBBmModBfFWwBM92dnsdtseE37reeh48Ƥ$J  +\@b874a8449d2a399f777e0fbc8f5d62699c703b165ee2cf3442d36a0c986f97e1""14dYx48LZcizQvmuFufBq69uCyEhHjJ9ti"UOP_DUP OP_HASH160 27d205969977afac3a65f17ef98fe2c6ef699f0b OP_EQUALVERIFY OP_CHECKSIG*276a91427d205969977afac3a65f17ef98fe2c6ef699f0b88ac*"14dYx48LZcizQvmuFufBq69uCyEhHjJ9ti8Ƥ$J  +@b874a8449d2a399f777e0fbc8f5d62699c703b165ee2cf3442d36a0c986f97e1""1P6xT3Dh8vUDrF2vKa8BxstfNRb6LGkWw5"UOP_DUP OP_HASH160 f273222c8eb3878cdcb617077cb6db0f070dc99a OP_EQUALVERIFY OP_CHECKSIG*276a914f273222c8eb3878cdcb617077cb6db0f070dc99a88ac*"1P6xT3Dh8vUDrF2vKa8BxstfNRb6LGkWw58Ƥ$J & + +1@937a70826ccb6abcacfe7b02abe8c464a4776bb3c85f6757d217f2fe80bf6a29Ƥ$"@000000000000000000097516cefb89f108fd41991d59513335688a94a8f54d62(-2 +@b874a8449d2a399f777e0fbc8f5d62699c703b165ee2cf3442d36a0c986f97e1B02898f7ffef50609a840a5071d8fd8d4ffe0944361dc0912cb8cc6d635d0e37a2f2 +@94ef44ed9da700126905ee7cd379501fc7ad2df121ca29cc9b99324f5284c179B02f8dc2da69f507868e54c041797d8e520ccd620b9e4540c0e7311037e02fee74f2 +@76726dca4dd179ec633a08ed9ae06485031b8a1569d724ee65bdd41b31b2b2f9B03bfada19275d117fa6bdb6a03efaf4853e0dfff31a9e9ad3ae59f9c4e0af690f62 +@4f160dd164d32e11f8bdfbfd9feb448ad4b700ac0f534eb110f14fc96f20ef60B02687ae0026249c4ef6a6b5bc844223654a08b8e7f555ebd2bf7573cf0f7cb2c07B + +@937a70826ccb6abcacfe7b02abe8c464a4776bb3c85f6757d217f2fe80bf6a29""13AV3Un9ezA7NHGBfNdPdp2Z4ryjGEazXF"UOP_DUP OP_HASH160 17bb6774b2932fc3aa9864052d4208d102d5bd06 OP_EQUALVERIFY OP_CHECKSIG*276a91417bb6774b2932fc3aa9864052d4208d102d5bd0688ac*"13AV3Un9ezA7NHGBfNdPdp2Z4ryjGEazXF8Ƥ$J  +L@937a70826ccb6abcacfe7b02abe8c464a4776bb3c85f6757d217f2fe80bf6a29""19DEsojAa2wGW1uFCSZohNqZcTato6r5me"UOP_DUP OP_HASH160 5a1194b47f532706490026a798701a6746f091fd OP_EQUALVERIFY OP_CHECKSIG*276a9145a1194b47f532706490026a798701a6746f091fd88ac*"19DEsojAa2wGW1uFCSZohNqZcTato6r5me8Ƥ$J  +@937a70826ccb6abcacfe7b02abe8c464a4776bb3c85f6757d217f2fe80bf6a29""12S398pKk36mVZjRTtSchr7cdza92j8JHn"UOP_DUP OP_HASH160 0fb44fb969e8ad9b5fe992b4631f74f854b53af7 OP_EQUALVERIFY OP_CHECKSIG*276a9140fb44fb969e8ad9b5fe992b4631f74f854b53af788ac*"12S398pKk36mVZjRTtSchr7cdza92j8JHn8Ƥ$J Ǥ$ħ-@00000000000000000013361d99db70983994e95ff3f14d5459c33dc0672133d8"@000000000000000000097516cefb89f108fd41991d59513335688a94a8f54d622Ȥ$-@0000000000000000000055cee75aa90f11af46e4ece43ac060dc275b7586e5f5"@00000000000000000013361d99db70983994e95ff3f14d5459c33dc0672133d82ɤ$-@00000000000000000011ab745c8e8ad6fddc50ca7d83829e02fcf3d33ffa3582"@0000000000000000000055cee75aa90f11af46e4ece43ac060dc275b7586e5f52 + +1@bf0ecd64ee03a124bb772a015100c9ae081b2d499017866156db30d098b75b77ɤ$"@00000000000000000011ab745c8e8ad6fddc50ca7d83829e02fcf3d33ffa3582(-2 +@937a70826ccb6abcacfe7b02abe8c464a4776bb3c85f6757d217f2fe80bf6a29B02ede05ca934e29efa1e52237515e384e7b788578ddbb6bded9b4c89e9f047389a2 +@1e3c6cfc121b6fb8a4bf2540268400b45ccc646b0ed0f2c6a5cfde5dac204d9fB0382787bf6627b3c8fd19b8b71ee0376e5e868947a9e4d5d88bd345bbb2630c9852 +@f61204a664297c32985bd0d22e9ad17e143620ad606bbb704893adcb5f1cbca0B03dcd3d7761394e4d5b79bed7813089ad60ea7bbe05e033176f8b507cd1596766e2 +@4eb65c486efb43ee925311aa8b855553082dfea777a2faa527f4a7c630ef67c2B03d4b71271105844d793a4a32bbad4504ff8ca5d1de279128b2aa97b2d8b07b3f62 +@83c6fde2700af4a24ce96d553b07fa3abe1008b888847915edd4920fa3c216e9B03c7399ba1e1f2a596915fc090560fd6c6a502202845e5f44c6a9f404d0170c4b8B +͞@bf0ecd64ee03a124bb772a015100c9ae081b2d499017866156db30d098b75b77""1ACh7XF8xo5A9tpdMg1Di7C5ncnTJ5ihZT"UOP_DUP OP_HASH160 64ef311a8ab3eade42d54187c0aa8d80e623c47b OP_EQUALVERIFY OP_CHECKSIG*276a91464ef311a8ab3eade42d54187c0aa8d80e623c47b88ac*"1ACh7XF8xo5A9tpdMg1Di7C5ncnTJ5ihZT8ɤ$J  +L@bf0ecd64ee03a124bb772a015100c9ae081b2d499017866156db30d098b75b77""14ZHB3rUm4HNHmQm6jxbftjPWsDV1GtjRq"UOP_DUP OP_HASH160 2703305af272a3d44862f22a7d76c679c06ae7ef OP_EQUALVERIFY OP_CHECKSIG*276a9142703305af272a3d44862f22a7d76c679c06ae7ef88ac*"14ZHB3rUm4HNHmQm6jxbftjPWsDV1GtjRq8ɤ$J  +2@bf0ecd64ee03a124bb772a015100c9ae081b2d499017866156db30d098b75b77""1GFoxSKccMLbW96WsSbxozHyXGq9etqAoT"UOP_DUP OP_HASH160 a756e82e02323bdafab71b517b5b3e596957edf2 OP_EQUALVERIFY OP_CHECKSIG*276a914a756e82e02323bdafab71b517b5b3e596957edf288ac*"1GFoxSKccMLbW96WsSbxozHyXGq9etqAoT8ɤ$J  + + +1@d1fe75a369416af70471380e00d924c73a0ef87e10c01664de6db4b244733541ɤ$"@00000000000000000011ab745c8e8ad6fddc50ca7d83829e02fcf3d33ffa3582(-2 +@bf0ecd64ee03a124bb772a015100c9ae081b2d499017866156db30d098b75b77B039e430b18456f539a2d181df78dd66c8bba2715e4ab94124a2d1aedb6c6e7035c2 +@6ef3247269678d1ef592da25b84e71248e1ed506e705964056b7babeba9e5586B0318f3891b6f0f3b6e45e0cfcfda27112a39657e98627052a7f55e2baf1bca1fa3B +@d1fe75a369416af70471380e00d924c73a0ef87e10c01664de6db4b244733541""1PV3aGrStSM9uev6qfmJpVLJdkh8kka9mz"UOP_DUP OP_HASH160 f6a09004acec6264efb6128ff24fe3da2d9f84d6 OP_EQUALVERIFY OP_CHECKSIG*276a914f6a09004acec6264efb6128ff24fe3da2d9f84d688ac*"1PV3aGrStSM9uev6qfmJpVLJdkh8kka9mz8ɤ$J  +L@d1fe75a369416af70471380e00d924c73a0ef87e10c01664de6db4b244733541""1Fgrvyay4eCsDJVgBCUPtieZc2F9kfJZcV"UOP_DUP OP_HASH160 a11ba9d8886c7d340c45054715cccc405f1f0c22 OP_EQUALVERIFY OP_CHECKSIG*276a914a11ba9d8886c7d340c45054715cccc405f1f0c2288ac*"1Fgrvyay4eCsDJVgBCUPtieZc2F9kfJZcV8ɤ$J  +@d1fe75a369416af70471380e00d924c73a0ef87e10c01664de6db4b244733541""19gPpZAxPboW3PZqEs6KZg2ewutrQ1Arqt"UOP_DUP OP_HASH160 5f34472327b4bec893c88c5d8631b24fa33efe5c OP_EQUALVERIFY OP_CHECKSIG*276a9145f34472327b4bec893c88c5d8631b24fa33efe5c88ac*"19gPpZAxPboW3PZqEs6KZg2ewutrQ1Arqt8ɤ$J ʤ$؁-@0000000000000000000ee182e464eb136074a2460955d3dbeff6142a8ab082bc"@00000000000000000011ab745c8e8ad6fddc50ca7d83829e02fcf3d33ffa35822ˤ$-@0000000000000000000e8060ed63837f053688baa28e80bdb318e3312b981c2b"@0000000000000000000ee182e464eb136074a2460955d3dbeff6142a8ab082bc2 ̤$朩-@0000000000000000000d34eefba2dc6cb74e65674c2698a65897378c63bd6462"@0000000000000000000e8060ed63837f053688baa28e80bdb318e3312b981c2b2 + + + +1@4ec0f09b715bfa7fdf8a66b5f654a3c4d84bd456bdd8db97a54d525f3528fd4b̤$"@0000000000000000000d34eefba2dc6cb74e65674c2698a65897378c63bd6462(朩-2 +@d1fe75a369416af70471380e00d924c73a0ef87e10c01664de6db4b244733541B03f8738f80daa74f1e9f7917b01ec430dd63a24cbf2a5a941254ce2ea59682c2812 +@8c16638f2a9aa10ed2447a8117f31b7352bc9749ed773169d27bf2839f5aa9d6B0378448ea7940e791153bda3c9359f1c8fcf4866aa89f556a1a63f1da6ccca167bB +@4ec0f09b715bfa7fdf8a66b5f654a3c4d84bd456bdd8db97a54d525f3528fd4b""18uNpDTntC8XN3ivzHhKBh8xTLPo3G3eBs"UOP_DUP OP_HASH160 56b0b84eb2b2ca59b6239f048086d59071d41a3c OP_EQUALVERIFY OP_CHECKSIG*276a91456b0b84eb2b2ca59b6239f048086d59071d41a3c88ac*"18uNpDTntC8XN3ivzHhKBh8xTLPo3G3eBs8̤$J  +L@4ec0f09b715bfa7fdf8a66b5f654a3c4d84bd456bdd8db97a54d525f3528fd4b""1HCvy8zFioZzsS7j5DKz8yqhwRULS5z3xy"UOP_DUP OP_HASH160 b1c3a3642c55cc28bb6e134626dd65d1b1400d38 OP_EQUALVERIFY OP_CHECKSIG*276a914b1c3a3642c55cc28bb6e134626dd65d1b1400d3888ac*"1HCvy8zFioZzsS7j5DKz8yqhwRULS5z3xy8̤$J  +@4ec0f09b715bfa7fdf8a66b5f654a3c4d84bd456bdd8db97a54d525f3528fd4b""1GGHCMWdHYjVWiULN9DEA1Qkib8oHA3Rg3"UOP_DUP OP_HASH160 a76da54db07e9381d38c29f512ea8c5e6cfb67a5 OP_EQUALVERIFY OP_CHECKSIG*276a914a76da54db07e9381d38c29f512ea8c5e6cfb67a588ac*"1GGHCMWdHYjVWiULN9DEA1Qkib8oHA3Rg38̤$J  ͤ$˩-@0000000000000000001720b09e2b06802a76bf86cb93b40a67532f6b25cb3d74"@0000000000000000000d34eefba2dc6cb74e65674c2698a65897378c63bd64622 + +1@731ff908bb65bcb68870676d12ab9dea00e166b703970943df07979f4db475bfͤ$"@0000000000000000001720b09e2b06802a76bf86cb93b40a67532f6b25cb3d74(˩-2 +@b31548c039cc50d61e4326091905eb2f25eb843eccb65714140d7a692eb3404bB03371bd63232434f8538ad206a8f8e1d82ae54d077a1abef0e9d9a738b74c7a6632 +@b31548c039cc50d61e4326091905eb2f25eb843eccb65714140d7a692eb3404bB03204bdfe5cce9072a70a83a46934c6a4a251791889509cb97a6231ab83a7e1849B +@731ff908bb65bcb68870676d12ab9dea00e166b703970943df07979f4db475bf""1GRBwjdmNmA6zLkC1FsCsYZUzuxS4KtrRQ"UOP_DUP OP_HASH160 a91d0153effe2b32afffd6f054244f41189a3b32 OP_EQUALVERIFY OP_CHECKSIG*276a914a91d0153effe2b32afffd6f054244f41189a3b3288ac*"1GRBwjdmNmA6zLkC1FsCsYZUzuxS4KtrRQ8ͤ$J  + +@731ff908bb65bcb68870676d12ab9dea00e166b703970943df07979f4db475bf""1GRBwjdmNmA6zLkC1FsCsYZUzuxS4KtrRQ"UOP_DUP OP_HASH160 a91d0153effe2b32afffd6f054244f41189a3b32 OP_EQUALVERIFY OP_CHECKSIG*276a914a91d0153effe2b32afffd6f054244f41189a3b3288ac*"1GRBwjdmNmA6zLkC1FsCsYZUzuxS4KtrRQ8ͤ$J  +ʰ#@731ff908bb65bcb68870676d12ab9dea00e166b703970943df07979f4db475bf""18U8qfteorNgcuxGERhzdPGwdcs3m3CA78"UOP_DUP OP_HASH160 51eaa7be253006c4a87264bed48ea2a4b250b68b OP_EQUALVERIFY OP_CHECKSIG*276a91451eaa7be253006c4a87264bed48ea2a4b250b68b88ac*"18U8qfteorNgcuxGERhzdPGwdcs3m3CA788ͤ$J  +@731ff908bb65bcb68870676d12ab9dea00e166b703970943df07979f4db475bf"l"6OP_RETURN 130121929522129ced41207e1188e363a2526150092a*06a16130121929522129ced41207e1188e363a2526150092a2!"A ~cRaP *8ͤ$J   +Τ$-@0000000000000000000c4ef9947def1268764d607f563b3658d72eab619affb9"@0000000000000000001720b09e2b06802a76bf86cb93b40a67532f6b25cb3d742Ϥ$-@00000000000000000012889b9f7fa862bfda5e443078be3c7ac91a435b9918cc"@0000000000000000000c4ef9947def1268764d607f563b3658d72eab619affb92Ф$Ъ-@000000000000000000079cbf677c5be6836033792beb6d55a91609f0bbd1d2c1"@00000000000000000012889b9f7fa862bfda5e443078be3c7ac91a435b9918cc2Ѥ$-@0000000000000000000124430a433394ee1e0de4c7c393e874d091bb85ec08c0"@000000000000000000079cbf677c5be6836033792beb6d55a91609f0bbd1d2c12 Ҥ$ȋ-@0000000000000000000c162073135225ccd0ccfb2014d24fa57c965ce096b0ad"@0000000000000000000124430a433394ee1e0de4c7c393e874d091bb85ec08c02 + + + +1@280e494af92ab9d0452e6a7b6b15e8e3719ffffc9a3fe965d85aa192aa287ec0Ҥ$"@0000000000000000000c162073135225ccd0ccfb2014d24fa57c965ce096b0ad(ȋ-2 +@355294f497db221e815d7b32c4d2cd42329021bdf9d42a6e1a03eee26bed4493B03bbdc8b40565a388415e06729a59504ddf145ca0045392082117a2ff92e6ccf7e2 +@36865089b587da0a87b3cd0e4538428f642ee1cfb65686cbe0ea78e0c28b86bfB0250b8470c32514983c77a4bb9c3dfeaf8504aa9f7202a585abf62bcfabbd18f94B +@280e494af92ab9d0452e6a7b6b15e8e3719ffffc9a3fe965d85aa192aa287ec0""13R7vhn9uaC3xS6WKRBn4swMtsiMHwpfAq"UOP_DUP OP_HASH160 1a800420004b9f633af7647ec80db5a5dce7a97f OP_EQUALVERIFY OP_CHECKSIG*276a9141a800420004b9f633af7647ec80db5a5dce7a97f88ac*"13R7vhn9uaC3xS6WKRBn4swMtsiMHwpfAq8Ҥ$J  +b@280e494af92ab9d0452e6a7b6b15e8e3719ffffc9a3fe965d85aa192aa287ec0""129ESGb4nYE4TtFp61Ju9k4264iDDekNr1"UOP_DUP OP_HASH160 0c86ab442c0a6fc4b09da0c98d98e49679675309 OP_EQUALVERIFY OP_CHECKSIG*276a9140c86ab442c0a6fc4b09da0c98d98e4967967530988ac*"129ESGb4nYE4TtFp61Ju9k4264iDDekNr18Ҥ$J  +@280e494af92ab9d0452e6a7b6b15e8e3719ffffc9a3fe965d85aa192aa287ec0""1JZGzKiuUU2tTMPxGeicxxpkE4mfzEvQ4f"UOP_DUP OP_HASH160 c094cba4bb903f244a85706a72dfed700b8d44d2 OP_EQUALVERIFY OP_CHECKSIG*276a914c094cba4bb903f244a85706a72dfed700b8d44d288ac*"1JZGzKiuUU2tTMPxGeicxxpkE4mfzEvQ4f8Ҥ$J Ӥ$-@0000000000000000001a019f80790bdddcc8842b0607988e3710ee3ae47dd3d1"@0000000000000000000c162073135225ccd0ccfb2014d24fa57c965ce096b0ad2 Ԥ$-@0000000000000000000e7203b3e2ff31d2b5caa7d9267ee240b960cd9d64cc72"@0000000000000000001a019f80790bdddcc8842b0607988e3710ee3ae47dd3d12 + + + +1@0b3e96dd88f47c16bb9ec8d6190b091779521a1a8eb591db6e0ed3bbe7b30aa0Ԥ$"@0000000000000000000e7203b3e2ff31d2b5caa7d9267ee240b960cd9d64cc72(-2 +@b07633a57a35b70327c7d23643db67061d8f175449892c39e225f082d2a3ec6dB034943ce5ac3609cab92fb3b63a7530fcd480eea36d11f39c8f7c6e0461fe735382 +@cc00af3389948379fe4180f8e83249040336ec2cc81905d8c49bedc03b0cdd84B026b365983c4ba21569f4de2b64e06586266165ee4ea03daceae0270f96238fc05B +(@0b3e96dd88f47c16bb9ec8d6190b091779521a1a8eb591db6e0ed3bbe7b30aa0"!1vTbZLTZQRu5rh38GkVK6Xh6DJnhDaPam"UOP_DUP OP_HASH160 0a1c3f3e71eb02a59bfe66d56582ad8c5b4e2b25 OP_EQUALVERIFY OP_CHECKSIG*276a9140a1c3f3e71eb02a59bfe66d56582ad8c5b4e2b2588ac*!1vTbZLTZQRu5rh38GkVK6Xh6DJnhDaPam8Ԥ$J  +[@0b3e96dd88f47c16bb9ec8d6190b091779521a1a8eb591db6e0ed3bbe7b30aa0""1HkpyEtTCZYKh8pK2x2aPvqq4VR44UN7nJ"UOP_DUP OP_HASH160 b7cbf1230843700c68df1bc94ad5c59fc4039779 OP_EQUALVERIFY OP_CHECKSIG*276a914b7cbf1230843700c68df1bc94ad5c59fc403977988ac*"1HkpyEtTCZYKh8pK2x2aPvqq4VR44UN7nJ8Ԥ$J  +@0b3e96dd88f47c16bb9ec8d6190b091779521a1a8eb591db6e0ed3bbe7b30aa0""1Lh9yXyXSaQRXjjDMKT6WqrJiN4KhM73bk"UOP_DUP OP_HASH160 d8028524621372beac89426aa575eff3267f7df2 OP_EQUALVERIFY OP_CHECKSIG*276a914d8028524621372beac89426aa575eff3267f7df288ac*"1Lh9yXyXSaQRXjjDMKT6WqrJiN4KhM73bk8Ԥ$J  դ$ƫ-@00000000000000000004680e549e240acc486aa26ea044bf54f3f84e748a9021"@0000000000000000000e7203b3e2ff31d2b5caa7d9267ee240b960cd9d64cc722֤$̫-@000000000000000000002422fc48d00b1243d2ec90d90695b83c0872b2eea20a"@00000000000000000004680e549e240acc486aa26ea044bf54f3f84e748a90212פ$-@0000000000000000000e73fec4eaf6f210493fd2f66659c15af57d61b71ad883"@000000000000000000002422fc48d00b1243d2ec90d90695b83c0872b2eea20a2 ؤ$-@00000000000000000015b64a70745a9a82390faa2032ea597771e947ee4919fa"@0000000000000000000e73fec4eaf6f210493fd2f66659c15af57d61b71ad8832 + + + +1@f8d7fac77df8e8822025790343298fbce066c9b8d05fdc0d5ab32aa0106ef1c0ؤ$"@00000000000000000015b64a70745a9a82390faa2032ea597771e947ee4919fa(-2 +@e2b80216a45b5cbbc24ccc20558aa4fc2cee5a25ecab8b899f5808e5713ce3daB023a69199cf5d2595e296e0f503e625b751f878b09364016abedf98ecda59598cb2 +@56b911a35708503fae4ebc12b52729795a80867c3f7f349aef0c6d6ee953142fB0254e65f07ca01760a2ab68d8e95710a8b55d4fd1bd39e01f3c35552a2de17bb11B +@f8d7fac77df8e8822025790343298fbce066c9b8d05fdc0d5ab32aa0106ef1c0""1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY"UOP_DUP OP_HASH160 79a2f7d6d53eaff291543f9aea88eab1376d7db5 OP_EQUALVERIFY OP_CHECKSIG*276a91479a2f7d6d53eaff291543f9aea88eab1376d7db588ac*"1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY8ؤ$J  +@f8d7fac77df8e8822025790343298fbce066c9b8d05fdc0d5ab32aa0106ef1c0""1GTDHNaAWp3wnXgR5X2HQxMm56jqyKRkaz"UOP_DUP OP_HASH160 a97ef4596ffdc939527928802ea753360713f987 OP_EQUALVERIFY OP_CHECKSIG*276a914a97ef4596ffdc939527928802ea753360713f98788ac*"1GTDHNaAWp3wnXgR5X2HQxMm56jqyKRkaz8ؤ$J  +@f8d7fac77df8e8822025790343298fbce066c9b8d05fdc0d5ab32aa0106ef1c0""1MzJRjpfPThFwFjcu8HeSsUMBTE9RCJphw"UOP_DUP OP_HASH160 e638c5bdb53517f80cacb9fc2d6f0391e0b0d83a OP_EQUALVERIFY OP_CHECKSIG*276a914e638c5bdb53517f80cacb9fc2d6f0391e0b0d83a88ac*"1MzJRjpfPThFwFjcu8HeSsUMBTE9RCJphw8ؤ$J ٤$-@00000000000000000008ca970a8273f663c8e24f7c0358463f428538640a0cfd"@00000000000000000015b64a70745a9a82390faa2032ea597771e947ee4919fa2ڤ$-@000000000000000000005b34f5e810b32e34c6836defccc80f140d3a2f87089f"@00000000000000000008ca970a8273f663c8e24f7c0358463f428538640a0cfd2 ۤ$¬-@00000000000000000019d34d024adab9f8f66246e0cddf06b56e973c3e79464d"@000000000000000000005b34f5e810b32e34c6836defccc80f140d3a2f87089f2 + +1@d05eea6b650acd31c4a1d8b4b8f3aa7b2256c066a55e6ceff7c1dfd247c3356dۤ$"@00000000000000000019d34d024adab9f8f66246e0cddf06b56e973c3e79464d(¬-2 +@83a532e4f3fa8c40db333638dbbabc6b0dc6c3bbd62d7f79559bb12491900f94B021e4783c1a10eb35d57d10d8d336aadad69d9f797993d3712181823af48179fce2 +@83a532e4f3fa8c40db333638dbbabc6b0dc6c3bbd62d7f79559bb12491900f94B033e2e087d906d198d42ea0f38eaf36e94ece1df0864767064dd4c37057ef84075B +@d05eea6b650acd31c4a1d8b4b8f3aa7b2256c066a55e6ceff7c1dfd247c3356d""1Boi59q5GFmELcLWMGbP74V5FH4hrbD3cv"UOP_DUP OP_HASH160 7686ad4a6c776e6690838fdac386a41b3a6828b5 OP_EQUALVERIFY OP_CHECKSIG*276a9147686ad4a6c776e6690838fdac386a41b3a6828b588ac*"1Boi59q5GFmELcLWMGbP74V5FH4hrbD3cv8ۤ$J  + +W@d05eea6b650acd31c4a1d8b4b8f3aa7b2256c066a55e6ceff7c1dfd247c3356d""1Boi59q5GFmELcLWMGbP74V5FH4hrbD3cv"UOP_DUP OP_HASH160 7686ad4a6c776e6690838fdac386a41b3a6828b5 OP_EQUALVERIFY OP_CHECKSIG*276a9147686ad4a6c776e6690838fdac386a41b3a6828b588ac*"1Boi59q5GFmELcLWMGbP74V5FH4hrbD3cv8ۤ$J  +@d05eea6b650acd31c4a1d8b4b8f3aa7b2256c066a55e6ceff7c1dfd247c3356d""1CwrSoHTBjaMRemU6jsi3QhVWXQfezBMXv"UOP_DUP OP_HASH160 83091eb7d92df878c76112dc5ad88d07288eb632 OP_EQUALVERIFY OP_CHECKSIG*276a91483091eb7d92df878c76112dc5ad88d07288eb63288ac*"1CwrSoHTBjaMRemU6jsi3QhVWXQfezBMXv8ۤ$J  +@d05eea6b650acd31c4a1d8b4b8f3aa7b2256c066a55e6ceff7c1dfd247c3356d"l"6OP_RETURN 1301310e21e2872d0bba422de246e07a170c91cd0177*06a161301310e21e2872d0bba422de246e07a170c91cd017721!- B-Fz w8ۤ$J   +ܤ$؁-@0000000000000000000b75448e2d3f3e42b2f45e7f71dcd93256ca48e0cce1e1"@00000000000000000019d34d024adab9f8f66246e0cddf06b56e973c3e79464d2ݤ$-@0000000000000000000576612e1e9e0d5c682acb542eea5429e7c1061322f4ca"@0000000000000000000b75448e2d3f3e42b2f45e7f71dcd93256ca48e0cce1e12ޤ$-@0000000000000000000bf8c2292837bf901eef0f1de6a48917c6d2056b5be85f"@0000000000000000000576612e1e9e0d5c682acb542eea5429e7c1061322f4ca2ߤ$-@00000000000000000019388d42f5621fb9fa0f721398659d537cf077bc5fa8f4"@0000000000000000000bf8c2292837bf901eef0f1de6a48917c6d2056b5be85f2$-@00000000000000000005883b17624dd882a45e60647cf5502d08b5ccb169a6b1"@00000000000000000019388d42f5621fb9fa0f721398659d537cf077bc5fa8f42$ծ-@00000000000000000019a70f883a9e53cafbc1e4662cdcbb01de0450b5de11cc"@00000000000000000005883b17624dd882a45e60647cf5502d08b5ccb169a6b12$ȱݮ-@00000000000000000000914e644f9508a1d0e3b8aaeffc06ea16eaafb39f0b26"@00000000000000000019a70f883a9e53cafbc1e4662cdcbb01de0450b5de11cc2$-@000000000000000000035a6256c638fe50e08cc90c3f5b6d9503340406eb28dd"@00000000000000000000914e644f9508a1d0e3b8aaeffc06ea16eaafb39f0b262$ࡳ-@00000000000000000002d254a302e53efe69406607f09b22a418ad962709e88a"@000000000000000000035a6256c638fe50e08cc90c3f5b6d9503340406eb28dd2$ξ-@000000000000000000150422a144d033b127a351cf0ca0f0045408089cfa73f9"@00000000000000000002d254a302e53efe69406607f09b22a418ad962709e88a2 + + +1@439c5f1162c2f965ba4896830a2b56c97201996bf0ad04b067497c815a5d92e8$"@000000000000000000150422a144d033b127a351cf0ca0f0045408089cfa73f9(ξ-2 +@35a2e54b38ed9d98894e2c38cc0f758c5594c292a5329de9326ec4588b2e3b28B033869789e4b1a9d67bf844ae5d3a5e973215fe08b4f9b71b7ffd636579e915e972 +@f285dc2cbd311ae774c0f6d41c8e033d99588a92a493fc58ca9262c95d4bfc88B027e1641fb7d23b5586b56241d14f5f15061c24a6c889770ed82fb8217e6e4220aB +/@439c5f1162c2f965ba4896830a2b56c97201996bf0ad04b067497c815a5d92e8"!1bknG4HfxTQ2qM2WisJ2TSjeFhogE6W32"UOP_DUP OP_HASH160 0692b04dc19e351c3cb1732a7975a94e65e057d0 OP_EQUALVERIFY OP_CHECKSIG*276a9140692b04dc19e351c3cb1732a7975a94e65e057d088ac*!1bknG4HfxTQ2qM2WisJ2TSjeFhogE6W328$J  +=@439c5f1162c2f965ba4896830a2b56c97201996bf0ad04b067497c815a5d92e8""1JZrwjtToQArJBiNrZ2kMAm8MapSTWnkBc"UOP_DUP OP_HASH160 c0b123dbc72a00ac48ce829c477b205a676fa289 OP_EQUALVERIFY OP_CHECKSIG*276a914c0b123dbc72a00ac48ce829c477b205a676fa28988ac*"1JZrwjtToQArJBiNrZ2kMAm8MapSTWnkBc8$J  +/@439c5f1162c2f965ba4896830a2b56c97201996bf0ad04b067497c815a5d92e8""157YDP7a9vF2Ca8VYtm3MJALDreZDEZeek"UOP_DUP OP_HASH160 2d1d0dfa2add152dae4acf69bfad81a221bc7911 OP_EQUALVERIFY OP_CHECKSIG*276a9142d1d0dfa2add152dae4acf69bfad81a221bc791188ac*"157YDP7a9vF2Ca8VYtm3MJALDreZDEZeek8$J  + +1@ece33293157f621d477e2d5196f20176725544a2675af44638ebfcf10a907b1d$"@000000000000000000150422a144d033b127a351cf0ca0f0045408089cfa73f9(ξ-2 +@b2d557386a67105e167a6451e84eafa32ccd2cef9332626eec897cf115d073f8B0205ce0df56b1c7083279f91b645c7ddfb61660f1132b0250d433bb98f0f46e0382 +@3e7bcc7454ab78f597a82f0be3412ac16a5ee63dcb99639efe49695fb7d275e3B022e763f6ffceac1f66de3968f3a4f20e3eeb2ac1327165754e15482d21474a666B +H@ece33293157f621d477e2d5196f20176725544a2675af44638ebfcf10a907b1d""17JNoNuGT2u5xhnvy6S21A9HemFnaQhLrR"UOP_DUP OP_HASH160 451a06011aaba3e30f8106b88304581f78f38f0b OP_EQUALVERIFY OP_CHECKSIG*276a914451a06011aaba3e30f8106b88304581f78f38f0b88ac*"17JNoNuGT2u5xhnvy6S21A9HemFnaQhLrR8$J  +@ece33293157f621d477e2d5196f20176725544a2675af44638ebfcf10a907b1d""17Sew2VcduwBEEYK5SkEwHGgDs6vuXQNLG"UOP_DUP OP_HASH160 46aad13dea4caafb118fdba02ecb43eedeb1136b OP_EQUALVERIFY OP_CHECKSIG*276a91446aad13dea4caafb118fdba02ecb43eedeb1136b88ac*"17Sew2VcduwBEEYK5SkEwHGgDs6vuXQNLG8$J $-@0000000000000000000bf93083c7b57fdae767b179deec3f9e5a2e7d34f1a846"@000000000000000000150422a144d033b127a351cf0ca0f0045408089cfa73f92$-@000000000000000000100334c00928c23902b7b85c67b06996f769a746ef1e70"@0000000000000000000bf93083c7b57fdae767b179deec3f9e5a2e7d34f1a8462$ۯ-@0000000000000000000f9bfc7ec115783520aeb969a29bc057a3cedc6ec7d3e3"@000000000000000000100334c00928c23902b7b85c67b06996f769a746ef1e702 + + +1@0e788adfbc6d7cb5127feb4aed590d350c00d038b53c8bfb8fba5301135e2d01$"@0000000000000000000f9bfc7ec115783520aeb969a29bc057a3cedc6ec7d3e3(ۯ-2 +@de10b0fda3eddd42efd473db03189a8c3f4d4674924adad24b5317a9642b9753B02302bdc5967eba76e0b0ba95183c94d28da14e436258ea59b693e12188f9eb1062 +@51d201ae4b0c7071862e566cf7c39f447053209c104b9ae6a360e73a8baa4eb4B03d816fddfde1d3ceb52b38e58fef9583f28445e35e97499304bf11131166630b1B +@0e788adfbc6d7cb5127feb4aed590d350c00d038b53c8bfb8fba5301135e2d01""1973mXCxMPj48tdcY2zfJuHEytHmhMDhZp"UOP_DUP OP_HASH160 58e5cff40219be0b8ae5c773a10c6688f49e913b OP_EQUALVERIFY OP_CHECKSIG*276a91458e5cff40219be0b8ae5c773a10c6688f49e913b88ac*"1973mXCxMPj48tdcY2zfJuHEytHmhMDhZp8$J  +,@0e788adfbc6d7cb5127feb4aed590d350c00d038b53c8bfb8fba5301135e2d01""1C3syCD949YJmsZUvN2VqoCZqgdHG6pyiX"UOP_DUP OP_HASH160 7934c31f67b7c940042f37172c166a17d9a6fdd9 OP_EQUALVERIFY OP_CHECKSIG*276a9147934c31f67b7c940042f37172c166a17d9a6fdd988ac*"1C3syCD949YJmsZUvN2VqoCZqgdHG6pyiX8$J  +c@0e788adfbc6d7cb5127feb4aed590d350c00d038b53c8bfb8fba5301135e2d01""1MUb9y8J55ADCKQJ77vjpavDhYHnBBLD7x"UOP_DUP OP_HASH160 e09a41ea44901dc0efa030aebf1960fbeec58863 OP_EQUALVERIFY OP_CHECKSIG*276a914e09a41ea44901dc0efa030aebf1960fbeec5886388ac*"1MUb9y8J55ADCKQJ77vjpavDhYHnBBLD7x8$J  + + +1@5ca2ab1d9971619f31d96f480b94aef9ef0614cf8ecfb33b6fd78673c4b4394e$"@0000000000000000000f9bfc7ec115783520aeb969a29bc057a3cedc6ec7d3e3(ۯ-2 +@fec1a2fa1091c2f2293a455968f2c71655650bbaca9e59a56bf7245e424b5b62B03dccd9bc20cd64664fb88f8d0d6cebe2258ac3f6d0222c3ee3383152ebd8e423f2 +@86d7e9a1ea9e640b1c70f8334b658a99259eaa668b8ba96cf50d7ad84695e77fB023c72273709e8031090d929c5873b66503546e7db72a9cfc97ff7a67e4e83f54eB +@5ca2ab1d9971619f31d96f480b94aef9ef0614cf8ecfb33b6fd78673c4b4394e""12aC2PU8qcKrtfhpfhxyLW2WqVLUUBi5ST"UOP_DUP OP_HASH160 113f0e09361dcc88df02cace300321d93c00a264 OP_EQUALVERIFY OP_CHECKSIG*276a914113f0e09361dcc88df02cace300321d93c00a26488ac*"12aC2PU8qcKrtfhpfhxyLW2WqVLUUBi5ST8$J  +@5ca2ab1d9971619f31d96f480b94aef9ef0614cf8ecfb33b6fd78673c4b4394e""1GB2AXCn8b8qXhfrBRwVyJuFqKQT7DvA9j"UOP_DUP OP_HASH160 a66f04a60b9e327d1d7416d2088ede7349e36050 OP_EQUALVERIFY OP_CHECKSIG*276a914a66f04a60b9e327d1d7416d2088ede7349e3605088ac*"1GB2AXCn8b8qXhfrBRwVyJuFqKQT7DvA9j8$J  +@5ca2ab1d9971619f31d96f480b94aef9ef0614cf8ecfb33b6fd78673c4b4394e""1DYySMDHmGjfcVAR6gnWuTE7Av2TxaxGo3"UOP_DUP OP_HASH160 89ad83f741dca0efb0ded64e87c71ec976321eaf OP_EQUALVERIFY OP_CHECKSIG*276a91489ad83f741dca0efb0ded64e87c71ec976321eaf88ac*"1DYySMDHmGjfcVAR6gnWuTE7Av2TxaxGo38$J $-@0000000000000000000d4869f5dc6b2a8770f90bdd3badb5f318190dca05e5f2"@0000000000000000000f9bfc7ec115783520aeb969a29bc057a3cedc6ec7d3e32$躈-@000000000000000000055b70d9234dd204acf968f25a0c2c9ebbc3fc54882ab1"@0000000000000000000d4869f5dc6b2a8770f90bdd3badb5f318190dca05e5f22 + +1@f1afb4689e25e1d9963d0511d2c12bfe580dd2e1d2bbb0a1ebe2f916d277313f$"@000000000000000000055b70d9234dd204acf968f25a0c2c9ebbc3fc54882ab1(躈-2 +@4dd93620d1247a9613c5ea0817ce08a4995895fbb2e0cded7d5b466645c49452B030f536280b62391721f5c9ef844e5308bebf6fbbcf7580ea6737004c72a9f3ad72 +@1077f556e39506d8a7e964bd640950a0cf480f060fffb70aee3ed12eee939e71B034dabd460f8b04ef618368179268d496b6535724c1b7d8f19f85d4d36257bf7adB +@f1afb4689e25e1d9963d0511d2c12bfe580dd2e1d2bbb0a1ebe2f916d277313f""1EByYoX6Yp5j9htCASM7BLMS1d3MdzBLyC"UOP_DUP OP_HASH160 90acffbbd7df131b9da573bf0511b54c1204f478 OP_EQUALVERIFY OP_CHECKSIG*276a91490acffbbd7df131b9da573bf0511b54c1204f47888ac*"1EByYoX6Yp5j9htCASM7BLMS1d3MdzBLyC8$J  +@f1afb4689e25e1d9963d0511d2c12bfe580dd2e1d2bbb0a1ebe2f916d277313f""13z489RSxqVXzM6DiLzkeP1cb3Y4ZS8Ybo"UOP_DUP OP_HASH160 20ba91893476499f95a676cc9829163b7bbb9375 OP_EQUALVERIFY OP_CHECKSIG*276a91420ba91893476499f95a676cc9829163b7bbb937588ac*"13z489RSxqVXzM6DiLzkeP1cb3Y4ZS8Ybo8$J  + + +1@facd64d253f02483ad035dbfe6b98aec04e4ca7704c87ad39211d8ab71031a8c$"@000000000000000000055b70d9234dd204acf968f25a0c2c9ebbc3fc54882ab1(躈-2 +@6980c14c1fca29b575f262362ef344a222950137ba43d21d3ada67cbfc2ae846B034377357428345df64c30e4f61d3013e78bcaf4a4cec776b56de64e2481ee53c72 +@fe75950135c76f609232f06401b5ae385d2fc78bede4ebb72f7f0f17808f6037B03b2c28a570404e84fac842b134dcb4d08f155eb8bd9ffb9621d6fc611bf1f0d75B +F@facd64d253f02483ad035dbfe6b98aec04e4ca7704c87ad39211d8ab71031a8c""13pn77j8mTGcoXfgVZNjJpfX5gg5VT7KRG"UOP_DUP OP_HASH160 1ef9743302587b3bdb1522ec76e69573aba70743 OP_EQUALVERIFY OP_CHECKSIG*276a9141ef9743302587b3bdb1522ec76e69573aba7074388ac*"13pn77j8mTGcoXfgVZNjJpfX5gg5VT7KRG8$J  +@facd64d253f02483ad035dbfe6b98aec04e4ca7704c87ad39211d8ab71031a8c""176jenyffjUa7KLiHffspDofEiXEuGiA9q"UOP_DUP OP_HASH160 42e67032a826f6b28ec0cd28f730268ad63f5977 OP_EQUALVERIFY OP_CHECKSIG*276a91442e67032a826f6b28ec0cd28f730268ad63f597788ac*"176jenyffjUa7KLiHffspDofEiXEuGiA9q8$J  +@facd64d253f02483ad035dbfe6b98aec04e4ca7704c87ad39211d8ab71031a8c""178Ly2Fu1mUEQtGdrtK4WSQw1E6fPPunVq"UOP_DUP OP_HASH160 43345547742f0432fbac2865c4b03988b732a605 OP_EQUALVERIFY OP_CHECKSIG*276a91443345547742f0432fbac2865c4b03988b732a60588ac*"178Ly2Fu1mUEQtGdrtK4WSQw1E6fPPunVq8$J L$-@00000000000000000003dae62590d0f9f2498699c004aadcd3229bcb9cd21fa0"@000000000000000000055b70d9234dd204acf968f25a0c2c9ebbc3fc54882ab12$ϰ-@00000000000000000013f301d011167d2c2a114f63e154d7c2f04fbb24a2f6ee"@00000000000000000003dae62590d0f9f2498699c004aadcd3229bcb9cd21fa02$ڟ-@00000000000000000003338c2188bccd50a201c31e55127541f049f00c081aa4"@00000000000000000013f301d011167d2c2a114f63e154d7c2f04fbb24a2f6ee2$-@0000000000000000000c9720e1fd8ae2cba7f6e43d5234986065be2c3ae9f763"@00000000000000000003338c2188bccd50a201c31e55127541f049f00c081aa42$ꤲ-@0000000000000000000ec7748066b884b3e990a60bfac5a5e17113c873ae215a"@0000000000000000000c9720e1fd8ae2cba7f6e43d5234986065be2c3ae9f7632$-@00000000000000000014d0571be68d8549da10d3f409be5acbfd6b3243b0f693"@0000000000000000000ec7748066b884b3e990a60bfac5a5e17113c873ae215a2$-@0000000000000000000542b57836487518a83196d700b7be840acdf00d823136"@00000000000000000014d0571be68d8549da10d3f409be5acbfd6b3243b0f6932$-@0000000000000000000e8377e56edc202926b34a5077c36d2d56d3d3e10cc5c3"@0000000000000000000542b57836487518a83196d700b7be840acdf00d8231362$-@00000000000000000006217e1eab83f66fbc5785684e283d0f09c12f200fc226"@0000000000000000000e8377e56edc202926b34a5077c36d2d56d3d3e10cc5c32!$-@0000000000000000000d935ab0f9c79f31fe585801eda25055c7d7588677e463"@00000000000000000006217e1eab83f66fbc5785684e283d0f09c12f200fc2262 + + +1@0521e1a070b14f8892a859ba649849b3caa4088159a9cc304733086f75210d55$"@0000000000000000000d935ab0f9c79f31fe585801eda25055c7d7588677e463(-2 +@b53c55996855b7ea9fda260d3bbe63a2bbda0ee31df2a4b1b322c54dd881c627B030b18ec65569a3a3cff07c97dfd6239b795d305f8f89ce17946af5fd44c3c8bff2 +@9d321c0a558467481407d3aa37d767c47cf11913fd860369551f5fe040fd410cB03b4cf66e5f5ebd965e8d2c8e8e9c31aee978d1ccd1953138b9f2c454a41e4db1cB +@0521e1a070b14f8892a859ba649849b3caa4088159a9cc304733086f75210d55""1AjDC5m8dYj7N5YdVHHMxuJdzqfCt785qn"UOP_DUP OP_HASH160 6ab4c76f4fff9b26f3c947f5d9642febd8433bf4 OP_EQUALVERIFY OP_CHECKSIG*276a9146ab4c76f4fff9b26f3c947f5d9642febd8433bf488ac*"1AjDC5m8dYj7N5YdVHHMxuJdzqfCt785qn8$J  +[@0521e1a070b14f8892a859ba649849b3caa4088159a9cc304733086f75210d55""12hXhkVoQ4wLrZnKtkdafM7CRHbTdBMsjh"UOP_DUP OP_HASH160 12a264bb49942623a3a1f9c474f3c958a1d68e1a OP_EQUALVERIFY OP_CHECKSIG*276a91412a264bb49942623a3a1f9c474f3c958a1d68e1a88ac*"12hXhkVoQ4wLrZnKtkdafM7CRHbTdBMsjh8$J  +@0521e1a070b14f8892a859ba649849b3caa4088159a9cc304733086f75210d55""1455tdCSWjLB5cZN878vo2sVM23RNk5vkP"UOP_DUP OP_HASH160 21ae1f8b983198b4d4b14a561d481987ee9737c7 OP_EQUALVERIFY OP_CHECKSIG*276a91421ae1f8b983198b4d4b14a561d481987ee9737c788ac*"1455tdCSWjLB5cZN878vo2sVM23RNk5vkP8$J  + + +1@25023e00759ffac6a8a8edb76330f9661b904c52d900da62ad22ce171c8f1e9e$"@0000000000000000000d935ab0f9c79f31fe585801eda25055c7d7588677e463(-2 +@0521e1a070b14f8892a859ba649849b3caa4088159a9cc304733086f75210d55B023cc44ff4a8313787983b0de2bc35f9225637e3887a821ff5af2d2e6d49694c4b2 +@0521e1a070b14f8892a859ba649849b3caa4088159a9cc304733086f75210d55B02d528cd8f888d384df885ac541a73f43b89bf1258f2eeb58511c722c3d714f3dfB +@25023e00759ffac6a8a8edb76330f9661b904c52d900da62ad22ce171c8f1e9e""1BhYLVWbj8DdqKbPgon2zjSd2Mut51RbCB"UOP_DUP OP_HASH160 755c0de8f7741d334467efa59e9cd22c9878f18b OP_EQUALVERIFY OP_CHECKSIG*276a914755c0de8f7741d334467efa59e9cd22c9878f18b88ac*"1BhYLVWbj8DdqKbPgon2zjSd2Mut51RbCB8$J  +[@25023e00759ffac6a8a8edb76330f9661b904c52d900da62ad22ce171c8f1e9e""1FvDvr4nccSGah55xhaMsvGfs5DrrWKyT7"UOP_DUP OP_HASH160 a3a299590574c89117f7d20671e12afd39661473 OP_EQUALVERIFY OP_CHECKSIG*276a914a3a299590574c89117f7d20671e12afd3966147388ac*"1FvDvr4nccSGah55xhaMsvGfs5DrrWKyT78$J  +y@25023e00759ffac6a8a8edb76330f9661b904c52d900da62ad22ce171c8f1e9e""148tuRkkq2WRDDYwCFunEhGbp55iXCWMeV"UOP_DUP OP_HASH160 22669dc4efeb487f7d856728970a41850834ce68 OP_EQUALVERIFY OP_CHECKSIG*276a91422669dc4efeb487f7d856728970a41850834ce6888ac*"148tuRkkq2WRDDYwCFunEhGbp55iXCWMeV8$J  + + +1@ddbad18f451c2d7b318be141de85b3dd90b3c3e023add66241ae78a4ed4d0d38$"@0000000000000000000d935ab0f9c79f31fe585801eda25055c7d7588677e463(-2 +@b0c26bafe6beb989363001131d046ef9bae3fe6296105da67215fd096189902dB03ac73e9f7fd49da6f428f9f0354d6d6a092ec252f55c314cfc717d48de8d57fe42 +@71725557118885a47ef84503a5349948f6aa7e2e80a137ae4bc34098588e2e77B03957ed21f06eb457a064573ac65326be9ff63e244df212a6903671d83ba8a7155B +@ddbad18f451c2d7b318be141de85b3dd90b3c3e023add66241ae78a4ed4d0d38""1BjYtswgM69wt3fatTiuGiMNsLbXA1U277"UOP_DUP OP_HASH160 75bd5a35b87a90b0dfc6884721225cbc870a8175 OP_EQUALVERIFY OP_CHECKSIG*276a91475bd5a35b87a90b0dfc6884721225cbc870a817588ac*"1BjYtswgM69wt3fatTiuGiMNsLbXA1U2778$J  +@ddbad18f451c2d7b318be141de85b3dd90b3c3e023add66241ae78a4ed4d0d38""1Q15L8uhFA4RAVrbVmuZXD25C6xo4Yz5P6"UOP_DUP OP_HASH160 fc4e81e9f8dd51d52beba159375eb65bdffe8c41 OP_EQUALVERIFY OP_CHECKSIG*276a914fc4e81e9f8dd51d52beba159375eb65bdffe8c4188ac*"1Q15L8uhFA4RAVrbVmuZXD25C6xo4Yz5P68$J  +;@ddbad18f451c2d7b318be141de85b3dd90b3c3e023add66241ae78a4ed4d0d38""17UzcRAYCVdMhFyDEFnpgqV6NmBf42SLVX"UOP_DUP OP_HASH160 471c139c57630ac450fdb01c54c916788d1a07e1 OP_EQUALVERIFY OP_CHECKSIG*276a914471c139c57630ac450fdb01c54c916788d1a07e188ac*"17UzcRAYCVdMhFyDEFnpgqV6NmBf42SLVX8$J $-@000000000000000000190a8d76555436eec3865773f79a51efdf76cd6748b667"@0000000000000000000d935ab0f9c79f31fe585801eda25055c7d7588677e4632 + + +1@b17d3e33a8dd1bf3d4b95d942f3b91243290ab945c5e56e3c4db86021f3accf2$"@000000000000000000190a8d76555436eec3865773f79a51efdf76cd6748b667(-2 +@f3b7660ba484c07b8ca7727013380e09574710829fffbed1addeb8faeb3f34d5B02a4e5fb8b65f0c89c9fa1aeeed3296daf54ff80cc8e7d8513a95bba5bc868a4512 +@ff2f8e7768febbdec13a2af82851dbcd6b109c3ddd391072cc5798ae18015bdaB02d2a30b38754720fc0c6dd36c941d082e0c2dcc0c73f2b6a9d57e82d4b04e23eaB +@b17d3e33a8dd1bf3d4b95d942f3b91243290ab945c5e56e3c4db86021f3accf2""13u9Ubsc64boJa4F9vN6p2VHzxPuTy67nZ"UOP_DUP OP_HASH160 1fccf4f6dea7d04db0f3986e5cd243db3ddd5452 OP_EQUALVERIFY OP_CHECKSIG*276a9141fccf4f6dea7d04db0f3986e5cd243db3ddd545288ac*"13u9Ubsc64boJa4F9vN6p2VHzxPuTy67nZ8$J  +\@b17d3e33a8dd1bf3d4b95d942f3b91243290ab945c5e56e3c4db86021f3accf2""1J6BtMKtpAKeU4g6UEAsidF9NgzUbahojA"UOP_DUP OP_HASH160 bb754e05438134143a36ff898ae72b1f2baeae32 OP_EQUALVERIFY OP_CHECKSIG*276a914bb754e05438134143a36ff898ae72b1f2baeae3288ac*"1J6BtMKtpAKeU4g6UEAsidF9NgzUbahojA8$J  +@b17d3e33a8dd1bf3d4b95d942f3b91243290ab945c5e56e3c4db86021f3accf2""13ZdbcCPzi27MSw3fMBdxKR5o8HJZtUGdM"UOP_DUP OP_HASH160 1c1c1c98c5d6cd944a67ff2793c689acace20781 OP_EQUALVERIFY OP_CHECKSIG*276a9141c1c1c98c5d6cd944a67ff2793c689acace2078188ac*"13ZdbcCPzi27MSw3fMBdxKR5o8HJZtUGdM8$J & + +1@5fc78c48a451f73b7d150e9e1da71fa15fe67a789182437e2b608196bdb590cc$"@000000000000000000190a8d76555436eec3865773f79a51efdf76cd6748b667(-2 +@30b9c41e2d6644ed1ea233f2e7d39a78f272376871ea2e1a47234c95505b22a3B023149c09de316de436f834eddd82e4de2ecc54c2d00e1cbaa20147a6072cce7c52 +@fd5a0d204a86c70e1c97ce529d95ed33309d865da677fa3f13bdb0470b859dfaB027e004973770a45c5d65034f05aaf0f44fea83ec9dfb2c156340f66a3343336a12 +@a0804dbf506d01f93ff84ce46760fdbf0791f63aa0f8febcf19aa14cea03c817B03a4db0852886e3af72dec915a652a1dfe31101e2acde43040e3ca266a2fbddb982 +@33ba41bf4abf236220d93bc83c13c588f41cee9162d7da84e4ba043decba8cf7B03cda45b914acf4f8837665a04337c308fe1e0ea9df18b96c91b19efb967429fcd2 +@d78f6b3b1d5c549e2124ef51868eb2a6b4eb97fa1ef849f072f3b97456b2727eB037daf23ebdc6c8dcc46b7c193cc92c47e97810524665c9791698ace7d55680642B +0@5fc78c48a451f73b7d150e9e1da71fa15fe67a789182437e2b608196bdb590cc""1DjSsPqhjrfZS6NULwzDm3J3ZQ6WXyT8Dw"UOP_DUP OP_HASH160 8ba892f4060a9c7c87f6fd73263541d2dcac89c8 OP_EQUALVERIFY OP_CHECKSIG*276a9148ba892f4060a9c7c87f6fd73263541d2dcac89c888ac*"1DjSsPqhjrfZS6NULwzDm3J3ZQ6WXyT8Dw8$J  +_@5fc78c48a451f73b7d150e9e1da71fa15fe67a789182437e2b608196bdb590cc""1HgEtcxRWURjo6k6dsMARr435Jvp3BsMJD"UOP_DUP OP_HASH160 b6edd4703628d23d2d6ae67a9acbf51225c59d23 OP_EQUALVERIFY OP_CHECKSIG*276a914b6edd4703628d23d2d6ae67a9acbf51225c59d2388ac*"1HgEtcxRWURjo6k6dsMARr435Jvp3BsMJD8$J  +@5fc78c48a451f73b7d150e9e1da71fa15fe67a789182437e2b608196bdb590cc""1MK8L98HbuURA86jreyMiYb2WL2WVyMs1M"UOP_DUP OP_HASH160 ded01f2bfdf7c8eea716c28901f55a4f7f6b64f5 OP_EQUALVERIFY OP_CHECKSIG*276a914ded01f2bfdf7c8eea716c28901f55a4f7f6b64f588ac*"1MK8L98HbuURA86jreyMiYb2WL2WVyMs1M8$J (!$´-@00000000000000000007a6b4a77abf3df60b308d6fec20b940e2c1c4dbcb9ce1"@000000000000000000190a8d76555436eec3865773f79a51efdf76cd6748b6672 + + +1@c119212be647c2122e8a1943b99487cdb9ad12cbf837c8b61aa8650b4309e3eb$"@00000000000000000007a6b4a77abf3df60b308d6fec20b940e2c1c4dbcb9ce1(´-2 +@33ba41bf4abf236220d93bc83c13c588f41cee9162d7da84e4ba043decba8cf7B020fae82aa0ead27b216946e2b0942fe2403e35d23f9f0fc3f5771147ed168690f2 +@5fc78c48a451f73b7d150e9e1da71fa15fe67a789182437e2b608196bdb590ccB0368b04ee32502060d4de6b626ed983fc2d13eb4f2950b989b8d35462ac6527d32B +@c119212be647c2122e8a1943b99487cdb9ad12cbf837c8b61aa8650b4309e3eb""1Na5XNh7Gn8oKiHuSxrPhRBcVRvWXSJAsB"UOP_DUP OP_HASH160 ec9c24f65d22be3ca1ef86af88d408f68b009c7c OP_EQUALVERIFY OP_CHECKSIG*276a914ec9c24f65d22be3ca1ef86af88d408f68b009c7c88ac*"1Na5XNh7Gn8oKiHuSxrPhRBcVRvWXSJAsB8$J  +\@c119212be647c2122e8a1943b99487cdb9ad12cbf837c8b61aa8650b4309e3eb""1Kd5zHQZQARd8i1RLs2QDRKcDhkG3hEX2e"UOP_DUP OP_HASH160 cc4566f6a4212e2b869c1e85c990f0d6f345e40d OP_EQUALVERIFY OP_CHECKSIG*276a914cc4566f6a4212e2b869c1e85c990f0d6f345e40d88ac*"1Kd5zHQZQARd8i1RLs2QDRKcDhkG3hEX2e8$J  +@c119212be647c2122e8a1943b99487cdb9ad12cbf837c8b61aa8650b4309e3eb""18TyZP8ECFinL5Wh5ghhjLTig9gNLszhUy"UOP_DUP OP_HASH160 51e2e871b5404653b7ed5477f2c24bf1b3dea72d OP_EQUALVERIFY OP_CHECKSIG*276a91451e2e871b5404653b7ed5477f2c24bf1b3dea72d88ac*"18TyZP8ECFinL5Wh5ghhjLTig9gNLszhUy8$J & + + +1@cee54bb47486e30f7b0a6385f540e6f859494a714ee6d565a7bb37e65fda7d3c$"@00000000000000000007a6b4a77abf3df60b308d6fec20b940e2c1c4dbcb9ce1(´-2 +@c119212be647c2122e8a1943b99487cdb9ad12cbf837c8b61aa8650b4309e3ebB0263dec04f51f9d15cd7ce3592712cc54268cb4f70dc93e4c2d2701ca04b4496f32 +@c119212be647c2122e8a1943b99487cdb9ad12cbf837c8b61aa8650b4309e3ebB03d03db7acabfe126bad0484aebcbb8fba3b9abcb5cd214a8276018844030ec336B +@cee54bb47486e30f7b0a6385f540e6f859494a714ee6d565a7bb37e65fda7d3c""18ZATDYgQgZMqjApn6QyzpHkV55SAN4DyZ"UOP_DUP OP_HASH160 52de14d6a94a06d0aad8d7ec86d2cb6ef5c82832 OP_EQUALVERIFY OP_CHECKSIG*276a91452de14d6a94a06d0aad8d7ec86d2cb6ef5c8283288ac*"18ZATDYgQgZMqjApn6QyzpHkV55SAN4DyZ8$J  +\@cee54bb47486e30f7b0a6385f540e6f859494a714ee6d565a7bb37e65fda7d3c""1DYwohi9w2VufkANfdo3JsW4PLhPw9W83N"UOP_DUP OP_HASH160 89ac273ecce7bee86c16a2085af9618c3a27dc29 OP_EQUALVERIFY OP_CHECKSIG*276a91489ac273ecce7bee86c16a2085af9618c3a27dc2988ac*"1DYwohi9w2VufkANfdo3JsW4PLhPw9W83N8$J  +q@cee54bb47486e30f7b0a6385f540e6f859494a714ee6d565a7bb37e65fda7d3c""18Ba6y4URZGnm7nhH2J5HUpRMtxvMZRcsH"UOP_DUP OP_HASH160 4ec8ac49113d35c7329831fbf64a5a53a539df8c OP_EQUALVERIFY OP_CHECKSIG*276a9144ec8ac49113d35c7329831fbf64a5a53a539df8c88ac*"18Ba6y4URZGnm7nhH2J5HUpRMtxvMZRcsH8$J & + + +1@31840597f60c7f36f7b66869758d552570529de813ddded00f65d3550fe5a64c$"@00000000000000000007a6b4a77abf3df60b308d6fec20b940e2c1c4dbcb9ce1(´-2 +@cee54bb47486e30f7b0a6385f540e6f859494a714ee6d565a7bb37e65fda7d3cB03035179f3a0ee9c3bbc82a9f603ddd5b818029d2ac80711356c7cbdc24565f95f2 +@cee54bb47486e30f7b0a6385f540e6f859494a714ee6d565a7bb37e65fda7d3cB033c8a78ce4e579a6d7250d9d30436230c8ff42fca7e2f27b1375a924758772088B +@31840597f60c7f36f7b66869758d552570529de813ddded00f65d3550fe5a64c""1BuwzbsNmVhSQqryUUw6VmJKuxXZXvWFbh"UOP_DUP OP_HASH160 77b4cb36658f66094915c2b32af41b12164844ec OP_EQUALVERIFY OP_CHECKSIG*276a91477b4cb36658f66094915c2b32af41b12164844ec88ac*"1BuwzbsNmVhSQqryUUw6VmJKuxXZXvWFbh8$J  +\@31840597f60c7f36f7b66869758d552570529de813ddded00f65d3550fe5a64c""1Am9bZPU39KogVHWHMnLdppkbyqkq1vi5Z"UOP_DUP OP_HASH160 6b129c1cc5cf9215f64107ca3f1fd0e9ceadac66 OP_EQUALVERIFY OP_CHECKSIG*276a9146b129c1cc5cf9215f64107ca3f1fd0e9ceadac6688ac*"1Am9bZPU39KogVHWHMnLdppkbyqkq1vi5Z8$J  +@31840597f60c7f36f7b66869758d552570529de813ddded00f65d3550fe5a64c""1LBpPLZSBytJqfQaDrqiTdgPAw4TSgmwqU"UOP_DUP OP_HASH160 d2761ac85b94c1f804f6448201d136742a44d48d OP_EQUALVERIFY OP_CHECKSIG*276a914d2761ac85b94c1f804f6448201d136742a44d48d88ac*"1LBpPLZSBytJqfQaDrqiTdgPAw4TSgmwqU8$J &$ڴ-@00000000000000000006baa1c16f83b1d875a7c4f7d581f295a77e944ca3fa29"@00000000000000000007a6b4a77abf3df60b308d6fec20b940e2c1c4dbcb9ce12$Á-@0000000000000000000172f0de84565cc587ecdd5e77073151f0846c334e74d9"@00000000000000000006baa1c16f83b1d875a7c4f7d581f295a77e944ca3fa292$ˁ-@00000000000000000017365790c0c67c5805574a05a6e636f50273ff5bbddd1f"@0000000000000000000172f0de84565cc587ecdd5e77073151f0846c334e74d92$-@000000000000000000118f39e70592cfd11d69c3909fe275f53ff301477adfcd"@00000000000000000017365790c0c67c5805574a05a6e636f50273ff5bbddd1f2 $ܷ-@00000000000000000001bb59590713d986c3ac5d839743b0c3ab9906d7a9a376"@000000000000000000118f39e70592cfd11d69c3909fe275f53ff301477adfcd2 + + + +1@69b0676495240a58a8d6f0b8fe3b7d1d7278b1aff138095bfedbefba393f177c$"@00000000000000000001bb59590713d986c3ac5d839743b0c3ab9906d7a9a376(ܷ-2 +@5aa2e6c36eb6a0b0d7fab78c36529279929b859b274ac8eabbc04d6ab36aa74dB03005528746b20ead1abaaee8cd7b42dd1c47230a63b8fcfe75c3e9e3f7e0a5d5a2 +@be101a12956e50f917e59eb92afcb48cc9976c1739dc49c6d8ace63e063f7c31B0347711b2dd4a6c36110b083f334c6011d2b82810bec1b14d22918279f64d8fce3B + @69b0676495240a58a8d6f0b8fe3b7d1d7278b1aff138095bfedbefba393f177c"!1CX9ZgGLYniHttCQonHFwXSdyukB35kUH"UOP_DUP OP_HASH160 022dbdd747f02f3d8e3f769e01634546de99df7f OP_EQUALVERIFY OP_CHECKSIG*276a914022dbdd747f02f3d8e3f769e01634546de99df7f88ac*!1CX9ZgGLYniHttCQonHFwXSdyukB35kUH8$J  +@69b0676495240a58a8d6f0b8fe3b7d1d7278b1aff138095bfedbefba393f177c""19LLzfwTXbVnkn6XiN15v8TyUcbfzEpRBA"UOP_DUP OP_HASH160 5b699997dde64eeac12348fabbf84b4d2a22f310 OP_EQUALVERIFY OP_CHECKSIG*276a9145b699997dde64eeac12348fabbf84b4d2a22f31088ac*"19LLzfwTXbVnkn6XiN15v8TyUcbfzEpRBA8$J  +\@69b0676495240a58a8d6f0b8fe3b7d1d7278b1aff138095bfedbefba393f177c""12WZwGDXYFQbKwnVZ7PwugG3YnwsMbSQnC"UOP_DUP OP_HASH160 108fae90a5e55e1b933ea8f38985f16023632f1b OP_EQUALVERIFY OP_CHECKSIG*276a914108fae90a5e55e1b933ea8f38985f16023632f1b88ac*"12WZwGDXYFQbKwnVZ7PwugG3YnwsMbSQnC8$J r$ϵ-@000000000000000000192dae6cccc5fb33150b22c468ad363f50cf33fed34521"@00000000000000000001bb59590713d986c3ac5d839743b0c3ab9906d7a9a3762$۵-@000000000000000000031016e92e1b1063816c788746733cb15406972744c71d"@000000000000000000192dae6cccc5fb33150b22c468ad363f50cf33fed345212$-@0000000000000000001189204146a4e6f91e1157890b1f92845bc9cd87afbb67"@000000000000000000031016e92e1b1063816c788746733cb15406972744c71d2$-@0000000000000000001677bd5f3b7b73a8680146f332d96e0ce7f5a98508f0b8"@0000000000000000001189204146a4e6f91e1157890b1f92845bc9cd87afbb672 + + +1@32dd74482971a6e1b27cb7e7351b13b75229391595f96a1bff0d72807e10b429$"@0000000000000000001677bd5f3b7b73a8680146f332d96e0ce7f5a98508f0b8(-2 +@4ec0f09b715bfa7fdf8a66b5f654a3c4d84bd456bdd8db97a54d525f3528fd4bB02df5ce173c32aaa129430c7fb3ed7a5147caf9c2517fc667f42da64854292da892 +@4ec0f09b715bfa7fdf8a66b5f654a3c4d84bd456bdd8db97a54d525f3528fd4bB0314256479373894a02db5c3f1f76bc3dfed2dd9a902a7205c29d1f1c9493891a2B +@32dd74482971a6e1b27cb7e7351b13b75229391595f96a1bff0d72807e10b429""14So4H15QF6hZYLL2PppaXiiGktUVVBcyQ"UOP_DUP OP_HASH160 25c938efde0191d885ac95d3c4d462b20b688bc1 OP_EQUALVERIFY OP_CHECKSIG*276a91425c938efde0191d885ac95d3c4d462b20b688bc188ac*"14So4H15QF6hZYLL2PppaXiiGktUVVBcyQ8$J  +\@32dd74482971a6e1b27cb7e7351b13b75229391595f96a1bff0d72807e10b429""1DRUaBr2LkActKpbF9YDKU4Qtprbbdsxc1"UOP_DUP OP_HASH160 8842823325538d23e8efc46b647b10e1cae06150 OP_EQUALVERIFY OP_CHECKSIG*276a9148842823325538d23e8efc46b647b10e1cae0615088ac*"1DRUaBr2LkActKpbF9YDKU4Qtprbbdsxc18$J  +@32dd74482971a6e1b27cb7e7351b13b75229391595f96a1bff0d72807e10b429""1AxkpSeVYUnXLabs64usNX4nsNuoqfjpuT"UOP_DUP OP_HASH160 6d44965c9b954f654627020368d308384fe3d6eb OP_EQUALVERIFY OP_CHECKSIG*276a9146d44965c9b954f654627020368d308384fe3d6eb88ac*"1AxkpSeVYUnXLabs64usNX4nsNuoqfjpuT8$J & + + +1@c4e0d86c6067a71a16759812f60ba5d56c4b95d5ef0d7811c30fd4c94ab91ea9$"@0000000000000000001677bd5f3b7b73a8680146f332d96e0ce7f5a98508f0b8(-2 +@32dd74482971a6e1b27cb7e7351b13b75229391595f96a1bff0d72807e10b429B02c2ebe6ad8f3a73ae9c0fe838f3040a45697485a171b12f37846e8648e8fd87342 +@3a604094eb9341b281a8162229b84b0df08c73b26f5863c9662c233dcb93402bB0349f041446b07e663cebe3a81c264b1cbfd3bb10b287fd4fbf6048306caedaeb1B +˖@c4e0d86c6067a71a16759812f60ba5d56c4b95d5ef0d7811c30fd4c94ab91ea9""1JKtHQqgGMFeriwqyCrcZzF4VTdxvbZqEJ"UOP_DUP OP_HASH160 be0c6f3a7b7f2d33c547dcd736b3f65e1cdece0b OP_EQUALVERIFY OP_CHECKSIG*276a914be0c6f3a7b7f2d33c547dcd736b3f65e1cdece0b88ac*"1JKtHQqgGMFeriwqyCrcZzF4VTdxvbZqEJ8$J  +\@c4e0d86c6067a71a16759812f60ba5d56c4b95d5ef0d7811c30fd4c94ab91ea9""1DVfzE9wNdqaxwHoa1YzJGB4zgfaxdfaTy"UOP_DUP OP_HASH160 890db36582c1ae626e0e13ac78a9e41aaee6372e OP_EQUALVERIFY OP_CHECKSIG*276a914890db36582c1ae626e0e13ac78a9e41aaee6372e88ac*"1DVfzE9wNdqaxwHoa1YzJGB4zgfaxdfaTy8$J  +ޕm@c4e0d86c6067a71a16759812f60ba5d56c4b95d5ef0d7811c30fd4c94ab91ea9""1LjBMbLBkcbedFR6CKabmx26For4P9AQv7"UOP_DUP OP_HASH160 d86481156bca7f3b51a24b3816ebd2516eee2327 OP_EQUALVERIFY OP_CHECKSIG*276a914d86481156bca7f3b51a24b3816ebd2516eee232788ac*"1LjBMbLBkcbedFR6CKabmx26For4P9AQv78$J & $-@00000000000000000007d7787176f2fc9c68885d4cd391802d362436f702e31a"@0000000000000000001677bd5f3b7b73a8680146f332d96e0ce7f5a98508f0b82 + +1@b8f0716bc848e2a9607e3ff9aba0d829801c69d406be806a71da6ecc82482d53$"@00000000000000000007d7787176f2fc9c68885d4cd391802d362436f702e31a(-2 +@de7031fcb135a5bc1917a41e808f7ea7b1fbb95463f7522f9b73327cb9c3142aB033623f490bd7e115ca976d47eabc44cb3eee073e855395ace15cf68b8335fae792 +@bdbb0df9bd61160daa8ca77eb337c6b101038f62c0dea34be1b9c97e537d2b58B02109f56d6b0a04db773d492789c701c688f1183291ec03fd95f1fca7a08a90e65B +І@b8f0716bc848e2a9607e3ff9aba0d829801c69d406be806a71da6ecc82482d53""113SfaGm7UKEyjjoirwN75Krzy8fyNdxmF"UOP_DUP OP_HASH160 0076418bc924d6e12a22f1386e6e5d91ce0d2fa9 OP_EQUALVERIFY OP_CHECKSIG*276a9140076418bc924d6e12a22f1386e6e5d91ce0d2fa988ac*"113SfaGm7UKEyjjoirwN75Krzy8fyNdxmF8$J  + +@b8f0716bc848e2a9607e3ff9aba0d829801c69d406be806a71da6ecc82482d53""113SfaGm7UKEyjjoirwN75Krzy8fyNdxmF"UOP_DUP OP_HASH160 0076418bc924d6e12a22f1386e6e5d91ce0d2fa9 OP_EQUALVERIFY OP_CHECKSIG*276a9140076418bc924d6e12a22f1386e6e5d91ce0d2fa988ac*"113SfaGm7UKEyjjoirwN75Krzy8fyNdxmF8$J  +@b8f0716bc848e2a9607e3ff9aba0d829801c69d406be806a71da6ecc82482d53""1Mdvs1rgyNCUtuDRNfE2VQbK2UBMginXt3"UOP_DUP OP_HASH160 e25e73ca28f3f33b282c706b9546b5213bab4506 OP_EQUALVERIFY OP_CHECKSIG*276a914e25e73ca28f3f33b282c706b9546b5213bab450688ac*"1Mdvs1rgyNCUtuDRNfE2VQbK2UBMginXt38$J  +@b8f0716bc848e2a9607e3ff9aba0d829801c69d406be806a71da6ecc82482d53"l"6OP_RETURN 1301becb6af03957b78b5772177c0b102afffc2ffc03*06a161301becb6af03957b78b5772177c0b102afffc2ffc032j9WWr| */8$J   +$-@000000000000000000176557c85664fa5db56f6c0452c6218f1cb1cb1c423237"@00000000000000000007d7787176f2fc9c68885d4cd391802d362436f702e31a2 $ț-@0000000000000000000a299feff80036ce373a8042938453b6d7710336c2504f"@000000000000000000176557c85664fa5db56f6c0452c6218f1cb1cb1c4232372 + + + +1@92d769377cac70daf5ea504eebe2f148476163c4c99801b93fa88866a20355a2$"@0000000000000000000a299feff80036ce373a8042938453b6d7710336c2504f(ț-2 +@cb4e21d6c886d8430cb886c040179fbe2f7b1768886b215f384bdbeb72cb7e35B037a1f94927cf6bee8125233e54366bc6c91810d8b61e9870f01ee6ac134578eef2 +@21f4219597496d7a0fea69ae1ef7d2dac895358db866c72aff647b0dabd6ba5cB0321c26b5464f2fbd0b43e580d9e799e2fdb1d410dac1e2fbf34d290d8da460c9eB +@92d769377cac70daf5ea504eebe2f148476163c4c99801b93fa88866a20355a2""1ERnxYbLTnGT9qAAcR97h2fuN7p76g5ffh"UOP_DUP OP_HASH160 9349fb5747baaa4b205368ce599ccf80b92396c4 OP_EQUALVERIFY OP_CHECKSIG*276a9149349fb5747baaa4b205368ce599ccf80b92396c488ac*"1ERnxYbLTnGT9qAAcR97h2fuN7p76g5ffh8$J  +ȼa@92d769377cac70daf5ea504eebe2f148476163c4c99801b93fa88866a20355a2""16qPMZ9syWogeKrCHp1Gv8ifw6YFuBUzGA"UOP_DUP OP_HASH160 3fff416e177e8c6f69b97f76da8d9faee385120b OP_EQUALVERIFY OP_CHECKSIG*276a9143fff416e177e8c6f69b97f76da8d9faee385120b88ac*"16qPMZ9syWogeKrCHp1Gv8ifw6YFuBUzGA8$J  +@92d769377cac70daf5ea504eebe2f148476163c4c99801b93fa88866a20355a2""1FFMbrWf73uWYwCXx7ukUDZrLdtfiyNLCp"UOP_DUP OP_HASH160 9c48c7fe4bf5099789801812e6e1bfccd8d843a6 OP_EQUALVERIFY OP_CHECKSIG*276a9149c48c7fe4bf5099789801812e6e1bfccd8d843a688ac*"1FFMbrWf73uWYwCXx7ukUDZrLdtfiyNLCp8$J $-@000000000000000000167797c05ee2b56683cd51fb40efa462fd22166bbee085"@0000000000000000000a299feff80036ce373a8042938453b6d7710336c2504f2$-@00000000000000000016259d768713ca399ea476169fb9dba9a3d2df5d7907d1"@000000000000000000167797c05ee2b56683cd51fb40efa462fd22166bbee0852$-@0000000000000000000e4662c4eec0c755690cdbb011e68b0b83afeff504626d"@00000000000000000016259d768713ca399ea476169fb9dba9a3d2df5d7907d12$Ϩ-@000000000000000000082737a47bb7f7e7e146e7ec2124c8ef57e01f7ef9f0e8"@0000000000000000000e4662c4eec0c755690cdbb011e68b0b83afeff504626d2$-@0000000000000000000acff7bcafbd433c2a87836907d7e5647dd83dc26dc4d6"@000000000000000000082737a47bb7f7e7e146e7ec2124c8ef57e01f7ef9f0e82!$ПҸ-@0000000000000000000e3edc7e6631711ccb44d9ef91e7979aa849ae9e840fd2"@0000000000000000000acff7bcafbd433c2a87836907d7e5647dd83dc26dc4d62 + + +1@474310086e92c607fb60c179f45e38843b72556a9045c7eb1843fde410ea84a6$"@0000000000000000000e3edc7e6631711ccb44d9ef91e7979aa849ae9e840fd2(ПҸ-2 +@0b3e96dd88f47c16bb9ec8d6190b091779521a1a8eb591db6e0ed3bbe7b30aa0B0216541a36d688cc2442750db9fbaa7db275268144538e69b611b89cc0ba733dfb2 +@0b3e96dd88f47c16bb9ec8d6190b091779521a1a8eb591db6e0ed3bbe7b30aa0B02f43129c0b341b9d200c853b6c1f1fc658f6f0204f69b0534c9daf77539cb5afeB +(@474310086e92c607fb60c179f45e38843b72556a9045c7eb1843fde410ea84a6""1CTWw2vX8fe3QV6FTc3RdZB1PWzCaDmscJ"UOP_DUP OP_HASH160 7dad2f2c9db4051503a4edcffe787ee1b51b71e7 OP_EQUALVERIFY OP_CHECKSIG*276a9147dad2f2c9db4051503a4edcffe787ee1b51b71e788ac*"1CTWw2vX8fe3QV6FTc3RdZB1PWzCaDmscJ8$J  +@474310086e92c607fb60c179f45e38843b72556a9045c7eb1843fde410ea84a6""1Nwfasq25ArhuhJKXoxeoyPnQQYsX2Eqw9"UOP_DUP OP_HASH160 f0b14fcf7b2ac0a16053f84788284edafe0ca1a6 OP_EQUALVERIFY OP_CHECKSIG*276a914f0b14fcf7b2ac0a16053f84788284edafe0ca1a688ac*"1Nwfasq25ArhuhJKXoxeoyPnQQYsX2Eqw98$J  +ӽ@474310086e92c607fb60c179f45e38843b72556a9045c7eb1843fde410ea84a6""13ybADqdSsJUcGmPuEWEwfEPGodGuYgwiW"UOP_DUP OP_HASH160 20a40f56a1c982c675e61db2363cc262f3339f2c OP_EQUALVERIFY OP_CHECKSIG*276a91420a40f56a1c982c675e61db2363cc262f3339f2c88ac*"13ybADqdSsJUcGmPuEWEwfEPGodGuYgwiW8$J  + + +1@dfc7e1e22246132804d8afe0085cb0a974d1f8230a16527751ab3097d212ff63$"@0000000000000000000e3edc7e6631711ccb44d9ef91e7979aa849ae9e840fd2(ПҸ-2 +@474310086e92c607fb60c179f45e38843b72556a9045c7eb1843fde410ea84a6B025b0f07aa6e3a0b9b2131280a10ac4c714dd2e2dc04e875280824e4232cccc5952 +@2bf36394bd4ed48bfa9c27ac34fa3ca8314791336dbac87b05b7cfb66fac8b99B02304f8bf049a8cd61a2d26d330718910d7ea5cf3cda0929a822a82a2f677ad1f5B +(@dfc7e1e22246132804d8afe0085cb0a974d1f8230a16527751ab3097d212ff63""13zP6RjYHjR3AUWUyCbzNnRzNtEu5wnKUr"UOP_DUP OP_HASH160 20ca67774bcda795280045ffea986ccb7a80466f OP_EQUALVERIFY OP_CHECKSIG*276a91420ca67774bcda795280045ffea986ccb7a80466f88ac*"13zP6RjYHjR3AUWUyCbzNnRzNtEu5wnKUr8$J  +@dfc7e1e22246132804d8afe0085cb0a974d1f8230a16527751ab3097d212ff63""1Bcnk2BaKLKc1xwAf7YBy28crsjSaXNi5o"UOP_DUP OP_HASH160 7475fff1364596b5956e01a3ca06685c15812677 OP_EQUALVERIFY OP_CHECKSIG*276a9147475fff1364596b5956e01a3ca06685c1581267788ac*"1Bcnk2BaKLKc1xwAf7YBy28crsjSaXNi5o8$J  +<@dfc7e1e22246132804d8afe0085cb0a974d1f8230a16527751ab3097d212ff63""1L9oEzamkozNqjNPkXJNAzNoKewpzdYjCH"UOP_DUP OP_HASH160 d214515e178a3eea27abba03a1e39402a09ef858 OP_EQUALVERIFY OP_CHECKSIG*276a914d214515e178a3eea27abba03a1e39402a09ef85888ac*"1L9oEzamkozNqjNPkXJNAzNoKewpzdYjCH8$J  + + +1@cc9187cb55e3e094577d7b19cab5562e2f9174523798f7ca819557f489728cfd$"@0000000000000000000e3edc7e6631711ccb44d9ef91e7979aa849ae9e840fd2(ПҸ-2 +@dfc7e1e22246132804d8afe0085cb0a974d1f8230a16527751ab3097d212ff63B033d5d94293b6bfba730dc05a201d8167e15208877915588aa870bfc6b08537b8a2 +@bfd9f00402bf063355f33d2aa7190a84326b1e51b55931d4a0c814f9e0e776e1B039f5260ecd5fd788cc7578ee7bee2a07a61805f403b96fbf4931b157ab5ee054eB +(@cc9187cb55e3e094577d7b19cab5562e2f9174523798f7ca819557f489728cfd""18a5dAmEuxY9ApP14sP6kG7WmRgkQiUru2"UOP_DUP OP_HASH160 530a778091696beb32f8494925a3c357d8b5e815 OP_EQUALVERIFY OP_CHECKSIG*276a914530a778091696beb32f8494925a3c357d8b5e81588ac*"18a5dAmEuxY9ApP14sP6kG7WmRgkQiUru28$J  +@cc9187cb55e3e094577d7b19cab5562e2f9174523798f7ca819557f489728cfd""1Gv8K8XXA5g5rsQ9RmbMWJeb2QvJgBuY3J"UOP_DUP OP_HASH160 ae960976b5ed4161afd28fd668ca128d4d59eed9 OP_EQUALVERIFY OP_CHECKSIG*276a914ae960976b5ed4161afd28fd668ca128d4d59eed988ac*"1Gv8K8XXA5g5rsQ9RmbMWJeb2QvJgBuY3J8$J  +@cc9187cb55e3e094577d7b19cab5562e2f9174523798f7ca819557f489728cfd""12EaMgzJQEgmK99iwp7ZVxdwq4s9wRcKPM"UOP_DUP OP_HASH160 0d8960c93459b9b894a723c1b0716351ac9dee60 OP_EQUALVERIFY OP_CHECKSIG*276a9140d8960c93459b9b894a723c1b0716351ac9dee6088ac*"12EaMgzJQEgmK99iwp7ZVxdwq4s9wRcKPM8$J  $ܸ-@0000000000000000000978d1ce545fe131ff72721ebe7957c121bc03dc9428f1"@0000000000000000000e3edc7e6631711ccb44d9ef91e7979aa849ae9e840fd22$޸-@000000000000000000004e33893ffc90a7ee9d266e3ec00b1409c391568fc88c"@0000000000000000000978d1ce545fe131ff72721ebe7957c121bc03dc9428f12$-@0000000000000000000eead693cf5f018f3f05f9911bcc88f74cd0867ccfe4bc"@000000000000000000004e33893ffc90a7ee9d266e3ec00b1409c391568fc88c2$-@0000000000000000001710f105a410de66b772a950496a8cf6ec49283a6ef7cf"@0000000000000000000eead693cf5f018f3f05f9911bcc88f74cd0867ccfe4bc2$ꜹ-@0000000000000000000b588906c83da5283adfe3eb907e58e55000cd0e5cac6f"@0000000000000000001710f105a410de66b772a950496a8cf6ec49283a6ef7cf2$觹-@0000000000000000001598575b700cdc6e56b0297400ae493cc573cb854ecece"@0000000000000000000b588906c83da5283adfe3eb907e58e55000cd0e5cac6f2$-@000000000000000000081febd48ea2fd9467a093b2c65332dd633c1cc0ad8f43"@0000000000000000001598575b700cdc6e56b0297400ae493cc573cb854ecece2$곺-@00000000000000000013f380ead7476b9d65eedb5c0975c5e62a243f784e5a6d"@000000000000000000081febd48ea2fd9467a093b2c65332dd633c1cc0ad8f432$-@0000000000000000000a2502442acadc55865319f7808b2b6fc5b41c9b86b608"@00000000000000000013f380ead7476b9d65eedb5c0975c5e62a243f784e5a6d2 $ͻ-@00000000000000000009164a6e711e304dd95450a870f36e417774ecf685e592"@0000000000000000000a2502442acadc55865319f7808b2b6fc5b41c9b86b6082 + + + +1@c277ee7f374799b429b4a932287590021b8a6d245a8d79a0f3f5c60c7b7609e0$"@00000000000000000009164a6e711e304dd95450a870f36e417774ecf685e592(ͻ-2 +@16b58ec6b193a422431275303dc09ba1c8813f16e242b60fcee0c20a03974e21B0285624b49b17334996220432971a32fe46b07a3d706ad6d195d617882fa06aa032 +@43ff640971a1c04d1ba9bcfd953c6f479a25a3bf78de34ad938b33261b634af8B03cdb366c6fd4b52a085cc795cd1346e5f97020bccfc3bc8fd7d37fbcbb45e2607B +ޙ@c277ee7f374799b429b4a932287590021b8a6d245a8d79a0f3f5c60c7b7609e0""1BM5WAqUTxUTgruJNc6MzCwb9j7Jy5Yrs7"UOP_DUP OP_HASH160 717d55ff2f93d7550e31b579c403f6adc15cafd4 OP_EQUALVERIFY OP_CHECKSIG*276a914717d55ff2f93d7550e31b579c403f6adc15cafd488ac*"1BM5WAqUTxUTgruJNc6MzCwb9j7Jy5Yrs78$J  +@c277ee7f374799b429b4a932287590021b8a6d245a8d79a0f3f5c60c7b7609e0""1CNwxsVyF5GhYZKFd4E8AeqBongKYMKNzE"UOP_DUP OP_HASH160 7ccffff6e50088e28b2324db7dc94c573e392bfc OP_EQUALVERIFY OP_CHECKSIG*276a9147ccffff6e50088e28b2324db7dc94c573e392bfc88ac*"1CNwxsVyF5GhYZKFd4E8AeqBongKYMKNzE8$J  +@c277ee7f374799b429b4a932287590021b8a6d245a8d79a0f3f5c60c7b7609e0""147YFVS8XuxyqPrK9u2ybHQGFn7R61sr6j"UOP_DUP OP_HASH160 2224f58c047a5938bee5ec8654b741e4b835b06a OP_EQUALVERIFY OP_CHECKSIG*276a9142224f58c047a5938bee5ec8654b741e4b835b06a88ac*"147YFVS8XuxyqPrK9u2ybHQGFn7R61sr6j8$J < $-@0000000000000000000b1c3459108d756e5aec80de2d355f15ccdf0eaf2c0b34"@00000000000000000009164a6e711e304dd95450a870f36e417774ecf685e5922 + + + +1@ac94ba5d4b1203c08a9ebedc261a2f0759711c620c446d82d6f47ed2fecb2e6f$"@0000000000000000000b1c3459108d756e5aec80de2d355f15ccdf0eaf2c0b34(-2 +@0c12a021ff25e4a3c33e6b5098045c2828c9f57c875822bb77d9fec7fefc38f2B0375b7231e19a1c849bdcd1423b931d89366ccca1d63b17e75d4210850b705dd552 +@0c12a021ff25e4a3c33e6b5098045c2828c9f57c875822bb77d9fec7fefc38f2B022e6e6963f82e2e4e5aa1a0933533565c37444b2fff996bdf7ae1f945d327acdaB +@@ac94ba5d4b1203c08a9ebedc261a2f0759711c620c446d82d6f47ed2fecb2e6f""1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY"UOP_DUP OP_HASH160 79a2f7d6d53eaff291543f9aea88eab1376d7db5 OP_EQUALVERIFY OP_CHECKSIG*276a91479a2f7d6d53eaff291543f9aea88eab1376d7db588ac*"1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY8$J  +@ac94ba5d4b1203c08a9ebedc261a2f0759711c620c446d82d6f47ed2fecb2e6f""1HDDLb7taNRUkZZmmkEZDrMJhwVUXqCGwx"UOP_DUP OP_HASH160 b1d14d97e6007ee15eace60e64e3a9da734a85f1 OP_EQUALVERIFY OP_CHECKSIG*276a914b1d14d97e6007ee15eace60e64e3a9da734a85f188ac*"1HDDLb7taNRUkZZmmkEZDrMJhwVUXqCGwx8$J  +ȗ@ac94ba5d4b1203c08a9ebedc261a2f0759711c620c446d82d6f47ed2fecb2e6f""1KZXAqARFm8wbdz6yH51FfmGtg8Eya9ET1"UOP_DUP OP_HASH160 cb98c254d1da73399323d7a4db5523629699be0e OP_EQUALVERIFY OP_CHECKSIG*276a914cb98c254d1da73399323d7a4db5523629699be0e88ac*"1KZXAqARFm8wbdz6yH51FfmGtg8Eya9ET18$J $硼-@000000000000000000014bfcfcf3c21e6419451a74726dc7687af13abd18f08d"@0000000000000000000b1c3459108d756e5aec80de2d355f15ccdf0eaf2c0b342$-@0000000000000000000c7bb809e912c6376603bab4e505fdf60c2467f38a71a1"@000000000000000000014bfcfcf3c21e6419451a74726dc7687af13abd18f08d2$ļ-@00000000000000000010368afccdce40644c95364fa39d4e846b9e5bb1ea8ea2"@0000000000000000000c7bb809e912c6376603bab4e505fdf60c2467f38a71a12$ּ-@00000000000000000008de7e94ff938a12539876055276b0c9eda1a7351fce1b"@00000000000000000010368afccdce40644c95364fa39d4e846b9e5bb1ea8ea22$ؼ-@000000000000000000138b67d8c724f9af4471f196f7bb2b46733f40843b296d"@00000000000000000008de7e94ff938a12539876055276b0c9eda1a7351fce1b2$-@00000000000000000004b61f0cfec630293ce269994387d05d46b0cafe239385"@000000000000000000138b67d8c724f9af4471f196f7bb2b46733f40843b296d2$ȵ-@000000000000000000180a0e212baf1af47c1ae80283ac6f540f3716e961cd83"@00000000000000000004b61f0cfec630293ce269994387d05d46b0cafe2393852$-@00000000000000000011fcaff610ace5aa30899d7d528fe610d65279175e839a"@000000000000000000180a0e212baf1af47c1ae80283ac6f540f3716e961cd832$ꐽ-@00000000000000000011ac94430a10e28506b7d30ec94cd89ef0cd30129a7248"@00000000000000000011fcaff610ace5aa30899d7d528fe610d65279175e839a2$ձ-@0000000000000000000afe7d6ac7e1fc9767e7186f7ff9ecee082d158c51e6be"@00000000000000000011ac94430a10e28506b7d30ec94cd89ef0cd30129a72482$׽-@00000000000000000004863eadbb2acaa0829112bfc5e8290bba641e6a85d06e"@0000000000000000000afe7d6ac7e1fc9767e7186f7ff9ecee082d158c51e6be2$-@00000000000000000013c900667807cba20235bbae7cff1e8da25938d35c39b1"@00000000000000000004863eadbb2acaa0829112bfc5e8290bba641e6a85d06e2$ȏ-@000000000000000000017316f4328b75bbe1435cc69d45edb65b04e2c3d4d34a"@00000000000000000013c900667807cba20235bbae7cff1e8da25938d35c39b12$-@000000000000000000065cb52d04e01b647d9bc6447fc1c80f38a1c2a92fe029"@000000000000000000017316f4328b75bbe1435cc69d45edb65b04e2c3d4d34a2$-@0000000000000000000ab10cd306034cccb45f3dde917ab8e1b72936077ba9d9"@000000000000000000065cb52d04e01b647d9bc6447fc1c80f38a1c2a92fe0292$ȿ-@00000000000000000007bb5cde12dfba316b64e7cd7226de223b170c600aabf6"@0000000000000000000ab10cd306034cccb45f3dde917ab8e1b72936077ba9d92$-@0000000000000000000f0f065cdb2a3461f19ff96fd87ada2ca10ebcb861a82d"@00000000000000000007bb5cde12dfba316b64e7cd7226de223b170c600aabf62$-@0000000000000000000b665720f36e65623305e889b145ffa8f2adcd8c179fc2"@0000000000000000000f0f065cdb2a3461f19ff96fd87ada2ca10ebcb861a82d2$ţ-@0000000000000000000a88541c988497298ac7d4192c20bcc59b0264c0102ef7"@0000000000000000000b665720f36e65623305e889b145ffa8f2adcd8c179fc22$-@0000000000000000001515a4bd225f2395dae7f01cac1836f9726996776cca31"@0000000000000000000a88541c988497298ac7d4192c20bcc59b0264c0102ef72$-@000000000000000000075d488f4c157e518796f1d8951c9796b29b7a74340dfd"@0000000000000000001515a4bd225f2395dae7f01cac1836f9726996776cca312$-@00000000000000000009ed59d73e62f3c1c2ddbdea1fc82755f39ed3998c22c0"@000000000000000000075d488f4c157e518796f1d8951c9796b29b7a74340dfd2$-@000000000000000000115a9d1b315c700f86e3b49aeb119994f7e62daf1abff6"@00000000000000000009ed59d73e62f3c1c2ddbdea1fc82755f39ed3998c22c02$-@00000000000000000003760f9b137f4eb0b5f4943add8e11755a3cb212fb73a0"@000000000000000000115a9d1b315c700f86e3b49aeb119994f7e62daf1abff62 $-@00000000000000000017878bfe3ddad9050c8194ae1759a0566bf56e60fcdaf6"@00000000000000000003760f9b137f4eb0b5f4943add8e11755a3cb212fb73a02 + + + +1@fc97fdaa6a8ab5cbc4d662f14e960eaa9de305b4506751116883bd44c0d5b4ee$"@00000000000000000017878bfe3ddad9050c8194ae1759a0566bf56e60fcdaf6(-2 +@a511d7a886d3281368c3fd41c3726f0d69ba7c8b056f3de459ba940d3eb13f5aB02eb12b1e7b507130663db90ab53d5dc3c854b73e82bdfb995488080f1849b98812 +@43fe6e84629e95bd6359348257c5e85cd038d0db01e677733233f70ba6be7fa5B02636bc7c4855a1b7eea15a6fb4a25fb467b85063d971c4175de086bc54b2b031dB +@fc97fdaa6a8ab5cbc4d662f14e960eaa9de305b4506751116883bd44c0d5b4ee""1Kjhd1za8bWzTQJfxjEB1bDpUb5EMrQ3Sj"UOP_DUP OP_HASH160 cd85a4a855577a769c0ee8be9da14e772fe57261 OP_EQUALVERIFY OP_CHECKSIG*276a914cd85a4a855577a769c0ee8be9da14e772fe5726188ac*"1Kjhd1za8bWzTQJfxjEB1bDpUb5EMrQ3Sj8$J  +@fc97fdaa6a8ab5cbc4d662f14e960eaa9de305b4506751116883bd44c0d5b4ee""1AitKPvXHPPVn3bCKd1xPFXaeJod8wYxEJ"UOP_DUP OP_HASH160 6aa5061df16d3d6c8201e3967eebe7ef3e988b9a OP_EQUALVERIFY OP_CHECKSIG*276a9146aa5061df16d3d6c8201e3967eebe7ef3e988b9a88ac*"1AitKPvXHPPVn3bCKd1xPFXaeJod8wYxEJ8$J  +6@fc97fdaa6a8ab5cbc4d662f14e960eaa9de305b4506751116883bd44c0d5b4ee""17z5Jzu4jjGVoth2bndxBUnhVdFBZkdG9Y"UOP_DUP OP_HASH160 4c9c100627c3aebd60c2e8fe15bcd36cbe638338 OP_EQUALVERIFY OP_CHECKSIG*276a9144c9c100627c3aebd60c2e8fe15bcd36cbe63833888ac*"17z5Jzu4jjGVoth2bndxBUnhVdFBZkdG9Y8$J  $-@00000000000000000003a506aa1e7982da5e4892429aa4de4f167a202644de4e"@00000000000000000017878bfe3ddad9050c8194ae1759a0566bf56e60fcdaf62$м-@0000000000000000000891ddd0731c75e7935d7a7454bb6d49abbff0fc76774d"@00000000000000000003a506aa1e7982da5e4892429aa4de4f167a202644de4e2$-@00000000000000000004f8608093eb3950711f5cfb39478d630ec091ca5d1d24"@0000000000000000000891ddd0731c75e7935d7a7454bb6d49abbff0fc76774d2$-@00000000000000000002d12865e088448ea5efdfe70b1a1f696d7b248784c9c5"@00000000000000000004f8608093eb3950711f5cfb39478d630ec091ca5d1d242$-@00000000000000000011b47525f02ba3af4773db1709f8101db9e3ddfd041672"@00000000000000000002d12865e088448ea5efdfe70b1a1f696d7b248784c9c52$ʐ-@0000000000000000000f7926cf47a8f8bbefcdaf1ffdf0f47b293089e053e7d4"@00000000000000000011b47525f02ba3af4773db1709f8101db9e3ddfd0416722 $ѓ-@00000000000000000015c73e4f9c9710dc7267198a8db52a1adc09b567cec001"@0000000000000000000f7926cf47a8f8bbefcdaf1ffdf0f47b293089e053e7d42 + + + +1@c25bf4c0a8ea5e8c7dfc76b98623b81733354931563c48fa2708ef392202d526$"@00000000000000000015c73e4f9c9710dc7267198a8db52a1adc09b567cec001(ѓ-2 +@f5e038c1513896d99918a9c4b1c71c9dff5d56dc23f7d063e1f615ce76837308B0278999386f4b136d7e4c8e26de00aff1299886b53672323ea2abad4ac2b963d6c2 +@ccd0ac951367b18306cab55dbe84a4cfe686f3d5cc086bec105a9ca3ec880c1dB0293ebcf6a88156619b0c2954fe2ba63b94e39f8a64260dfa663e746210e0fe8f1B +Ĉ@c25bf4c0a8ea5e8c7dfc76b98623b81733354931563c48fa2708ef392202d526""1GEN1QbtfCJAh9Yqo5cbXj3dqNiyTiMGDS"UOP_DUP OP_HASH160 a710d47d17085d078cf9e0daf796b19cc6e2ed9c OP_EQUALVERIFY OP_CHECKSIG*276a914a710d47d17085d078cf9e0daf796b19cc6e2ed9c88ac*"1GEN1QbtfCJAh9Yqo5cbXj3dqNiyTiMGDS8$J  +@c25bf4c0a8ea5e8c7dfc76b98623b81733354931563c48fa2708ef392202d526""1Dim2w8Lx7dd47hsYFscxpfLkvbu2HFRjK"UOP_DUP OP_HASH160 8b87522de1f667d8aed21133d15873eda5d8648c OP_EQUALVERIFY OP_CHECKSIG*276a9148b87522de1f667d8aed21133d15873eda5d8648c88ac*"1Dim2w8Lx7dd47hsYFscxpfLkvbu2HFRjK8$J  +ĭ@c25bf4c0a8ea5e8c7dfc76b98623b81733354931563c48fa2708ef392202d526""14iCgGUtvP1pJr66n9wQ9eTwonQvEzSvrZ"UOP_DUP OP_HASH160 28b32de469b01f33a6b58078f513a66e37752322 OP_EQUALVERIFY OP_CHECKSIG*276a91428b32de469b01f33a6b58078f513a66e3775232288ac*"14iCgGUtvP1pJr66n9wQ9eTwonQvEzSvrZ8$J $-@0000000000000000000a887eb1a4dd89d93de369eef9b68ba544a8d1acc45943"@00000000000000000015c73e4f9c9710dc7267198a8db52a1adc09b567cec0012$ݶ-@000000000000000000044785672b1f59cb5c6572d2c5c35d2964860c5a917770"@0000000000000000000a887eb1a4dd89d93de369eef9b68ba544a8d1acc459432$-@00000000000000000014b35285ebc2884d7a6ab6d4d6cde79324e234f03ce95d"@000000000000000000044785672b1f59cb5c6572d2c5c35d2964860c5a9177702 + + +1@53ad27a37c6c7b555d0ba4ac483dc764cc9ad10657b2a584b3b7910f3593efec$"@00000000000000000014b35285ebc2884d7a6ab6d4d6cde79324e234f03ce95d(-2 +@ffe0c461599a8abdd8f29dc71894aedf7c5cd32837cb3cefc0eb34c54011b782B03327a33c297bffb7e15e6812e21836ab10f5548a83a0fe52b508b0a3660728bd32 +@639afdbc74017b5da37623c4cf54eb2f4922f3d7eecc1efe8aafb9621c58f964B03eb7bfd6a968bd743541c63ac6452d62a1a8ff84e978ca5a3cdd847036420e925B +@53ad27a37c6c7b555d0ba4ac483dc764cc9ad10657b2a584b3b7910f3593efec""1FpB8EjhYCovBFNfovdxiRDmbofpGq5T7s"UOP_DUP OP_HASH160 a27dc34e303d19f933e01a11637c0b3c765f9797 OP_EQUALVERIFY OP_CHECKSIG*276a914a27dc34e303d19f933e01a11637c0b3c765f979788ac*"1FpB8EjhYCovBFNfovdxiRDmbofpGq5T7s8$J  + @53ad27a37c6c7b555d0ba4ac483dc764cc9ad10657b2a584b3b7910f3593efec""1MGNxPVfLNXZcMAgcZd3cQW9U86qdjc8TP"UOP_DUP OP_HASH160 de4b1509e4cc8e5655a4302ffb284090ed50a853 OP_EQUALVERIFY OP_CHECKSIG*276a914de4b1509e4cc8e5655a4302ffb284090ed50a85388ac*"1MGNxPVfLNXZcMAgcZd3cQW9U86qdjc8TP8$J  +@53ad27a37c6c7b555d0ba4ac483dc764cc9ad10657b2a584b3b7910f3593efec""17o7QDBrp7UbATuiAMoBnggFGUUitMkUf7"UOP_DUP OP_HASH160 4a893b46502c07173ef97128c81c0a6488fb69db OP_EQUALVERIFY OP_CHECKSIG*276a9144a893b46502c07173ef97128c81c0a6488fb69db88ac*"17o7QDBrp7UbATuiAMoBnggFGUUitMkUf78$J ; + + +1@9f5465b8cf05511992ff69e49bac2f0487b26bd704d2e0aa4c8e7e70e4647633$"@00000000000000000014b35285ebc2884d7a6ab6d4d6cde79324e234f03ce95d(-2 +@691f3050e7abcef5689a00a846210cd33aa9b99c3f5b40455d4eb29b12709e9bB02ee0347b7e03fb67939ed40e7cd1e2d8a6eb1843e31dae6533207aa9ba99f1d5e2 +@fec1a2fa1091c2f2293a455968f2c71655650bbaca9e59a56bf7245e424b5b62B023585059bdbe916bbe2379b6fe921c4f606f145b041d7d05682f6f63a220a72ecB +@9f5465b8cf05511992ff69e49bac2f0487b26bd704d2e0aa4c8e7e70e4647633""1B8Jyd9YAEQP43WTihsDb65a75dwqreFuo"UOP_DUP OP_HASH160 6f132ce6ebebdb44bd0eaca74f7687a6f0be0169 OP_EQUALVERIFY OP_CHECKSIG*276a9146f132ce6ebebdb44bd0eaca74f7687a6f0be016988ac*"1B8Jyd9YAEQP43WTihsDb65a75dwqreFuo8$J  +@9f5465b8cf05511992ff69e49bac2f0487b26bd704d2e0aa4c8e7e70e4647633""12HRp6YBZKr9rQFgPtdXAvhmHDHfVUH1k1"UOP_DUP OP_HASH160 0e137e41019ea6ba4e4cf7c1845c14cd8b775b32 OP_EQUALVERIFY OP_CHECKSIG*276a9140e137e41019ea6ba4e4cf7c1845c14cd8b775b3288ac*"12HRp6YBZKr9rQFgPtdXAvhmHDHfVUH1k18$J  +@9f5465b8cf05511992ff69e49bac2f0487b26bd704d2e0aa4c8e7e70e4647633""12iicnBvkCnRikRzzs5XXdCF6KmZmKHQG7"UOP_DUP OP_HASH160 12dbeb94da88ccae86c95a3f11b9ef07d5143610 OP_EQUALVERIFY OP_CHECKSIG*276a91412dbeb94da88ccae86c95a3f11b9ef07d514361088ac*"12iicnBvkCnRikRzzs5XXdCF6KmZmKHQG78$J $-@0000000000000000001526d32d336ffef2049bccfce98a96ac82bc90a55efef7"@00000000000000000014b35285ebc2884d7a6ab6d4d6cde79324e234f03ce95d2 + + +1@41f49ae8275ffd46a2cdf8afecf19a12f9e6d14465eb553bd0f5b6ab55c7b470$"@0000000000000000001526d32d336ffef2049bccfce98a96ac82bc90a55efef7(-2 +@280e494af92ab9d0452e6a7b6b15e8e3719ffffc9a3fe965d85aa192aa287ec0B029f863d6d58fb3d5a1592791469de1d27ffecd8146c166a61456f1a5c6aaf23072 +@53ad27a37c6c7b555d0ba4ac483dc764cc9ad10657b2a584b3b7910f3593efecB036d0f60ae5753f72135cd74cee6903c1c6a92bc6a4d8de9ed92557a47f531a6d3B +@41f49ae8275ffd46a2cdf8afecf19a12f9e6d14465eb553bd0f5b6ab55c7b470""1EPktkXGz2d7DDeU9SD2H72R9qaTs6AsCj"UOP_DUP OP_HASH160 92e76cfe135d4da9c2b921e709efee745a476e0b OP_EQUALVERIFY OP_CHECKSIG*276a91492e76cfe135d4da9c2b921e709efee745a476e0b88ac*"1EPktkXGz2d7DDeU9SD2H72R9qaTs6AsCj8$J  + @41f49ae8275ffd46a2cdf8afecf19a12f9e6d14465eb553bd0f5b6ab55c7b470""17EtyHNpmRQMt3f6PESjmeJKY9PhhGL2fE"UOP_DUP OP_HASH160 44718b7e7dfdb0f488eac368d297359948a54e09 OP_EQUALVERIFY OP_CHECKSIG*276a91444718b7e7dfdb0f488eac368d297359948a54e0988ac*"17EtyHNpmRQMt3f6PESjmeJKY9PhhGL2fE8$J  + +@41f49ae8275ffd46a2cdf8afecf19a12f9e6d14465eb553bd0f5b6ab55c7b470""1H9XtUVLBvb5NWqDFsB1vvBDfURfPMgM51"UOP_DUP OP_HASH160 b11f1fb1c091562cdde9fa29c152023e580a21b8 OP_EQUALVERIFY OP_CHECKSIG*276a914b11f1fb1c091562cdde9fa29c152023e580a21b888ac*"1H9XtUVLBvb5NWqDFsB1vvBDfURfPMgM518$J ; + + +1@941ae72c1eaed1b16e7ec0db68930019a96554cc714411ee0d302444b1b94b91$"@0000000000000000001526d32d336ffef2049bccfce98a96ac82bc90a55efef7(-2 +@53ad27a37c6c7b555d0ba4ac483dc764cc9ad10657b2a584b3b7910f3593efecB02a4d24068b520887d9d98949ae13d530f18abb6c0389cb7e064edeb25e4a2786e2 +@41f49ae8275ffd46a2cdf8afecf19a12f9e6d14465eb553bd0f5b6ab55c7b470B02ab19b774c93a82038fac8ce0670151d1bdae8cf0a1bac4a567d4981caac413f2B +@941ae72c1eaed1b16e7ec0db68930019a96554cc714411ee0d302444b1b94b91""1KfeS5f3dwjm5LpTc3JEeXChnvjVTQZRZY"UOP_DUP OP_HASH160 ccc1515284f350098db59d9c3bd93ba5b3cece1f OP_EQUALVERIFY OP_CHECKSIG*276a914ccc1515284f350098db59d9c3bd93ba5b3cece1f88ac*"1KfeS5f3dwjm5LpTc3JEeXChnvjVTQZRZY8$J  + @941ae72c1eaed1b16e7ec0db68930019a96554cc714411ee0d302444b1b94b91""1MnoXA4dJENiPLjpFuShB8Dd12eqz6z43s"UOP_DUP OP_HASH160 e40c111c96dd9fa84083d09da021c546cea8aba9 OP_EQUALVERIFY OP_CHECKSIG*276a914e40c111c96dd9fa84083d09da021c546cea8aba988ac*"1MnoXA4dJENiPLjpFuShB8Dd12eqz6z43s8$J  +̮@941ae72c1eaed1b16e7ec0db68930019a96554cc714411ee0d302444b1b94b91""1F1BsYXemQKM5Rr5hB5augZuvbu1FUtmhH"UOP_DUP OP_HASH160 999ad603c5933492511c82c53899d06e56677285 OP_EQUALVERIFY OP_CHECKSIG*276a914999ad603c5933492511c82c53899d06e5667728588ac*"1F1BsYXemQKM5Rr5hB5augZuvbu1FUtmhH8$J ;$-@0000000000000000001225649e83131e0b27bd1e93d838036e506add38150f4d"@0000000000000000001526d32d336ffef2049bccfce98a96ac82bc90a55efef72$-@00000000000000000010629edc0dfef5780075f4eca75692b49b7f254d037a67"@0000000000000000001225649e83131e0b27bd1e93d838036e506add38150f4d2$-@0000000000000000001696d9b23a0b914bbd660bfe721cd09160c93d54ce21d1"@00000000000000000010629edc0dfef5780075f4eca75692b49b7f254d037a672$-@00000000000000000016d41e2dd1e75b6d07b6c9fa8e2ae62e3dd7fb5c04a11b"@0000000000000000001696d9b23a0b914bbd660bfe721cd09160c93d54ce21d12$؂-@0000000000000000000cdd4a9f97f1380b835abd2b750c9e6cba279b63d0e490"@00000000000000000016d41e2dd1e75b6d07b6c9fa8e2ae62e3dd7fb5c04a11b2$ѧ-@00000000000000000012f06a8a4a9329d373d709227c829c29966af1a53fbc58"@0000000000000000000cdd4a9f97f1380b835abd2b750c9e6cba279b63d0e4902$-@00000000000000000004ced7dd006d026bfe95d4c6c85c85a8a25bca7a95a7fa"@00000000000000000012f06a8a4a9329d373d709227c829c29966af1a53fbc582$-@0000000000000000000e3f51995433f7c65067c067176012d83fe09968ec8e87"@00000000000000000004ced7dd006d026bfe95d4c6c85c85a8a25bca7a95a7fa2$-@0000000000000000001280010dc5c8694000d16525c970f5439c22a298f4b931"@0000000000000000000e3f51995433f7c65067c067176012d83fe09968ec8e872 $ز-@00000000000000000019af75060d451e5935c550df24feaebfbfb030eb1ef8bf"@0000000000000000001280010dc5c8694000d16525c970f5439c22a298f4b9312 + + + +1@cad6b92bd012d91cae1a32a6d812d0718bec67f454d505e9bda3dbd7e2c1ec90$"@00000000000000000019af75060d451e5935c550df24feaebfbfb030eb1ef8bf(ز-2 +@0e788adfbc6d7cb5127feb4aed590d350c00d038b53c8bfb8fba5301135e2d01B03cd1621ea8397230a55de9cdb21a23e3bbe3cb2a4ce6832c552ba31d9624843002 +@96f6efe15fb393f87a1b96cb2e439172678393432e08254bb5d6be910e4d5c11B03ddedec78c0fe30cb06ea42aa26533c7e10c85b05086df5eccc685331fb5c7a71B +@cad6b92bd012d91cae1a32a6d812d0718bec67f454d505e9bda3dbd7e2c1ec90""1GuTPh1BBjSFLT3NuoXqhx2qdNAgJXT6d6"UOP_DUP OP_HASH160 ae758c0a8601bc11b4a3b800f04d540b31a15615 OP_EQUALVERIFY OP_CHECKSIG*276a914ae758c0a8601bc11b4a3b800f04d540b31a1561588ac*"1GuTPh1BBjSFLT3NuoXqhx2qdNAgJXT6d68$J  + @cad6b92bd012d91cae1a32a6d812d0718bec67f454d505e9bda3dbd7e2c1ec90""1D5KZeQcpPdKY5BFdmBj6vDf7SyKew4kUG"UOP_DUP OP_HASH160 8472ab322bf096312d3461f5c4f80802bff88834 OP_EQUALVERIFY OP_CHECKSIG*276a9148472ab322bf096312d3461f5c4f80802bff8883488ac*"1D5KZeQcpPdKY5BFdmBj6vDf7SyKew4kUG8$J  +Z@cad6b92bd012d91cae1a32a6d812d0718bec67f454d505e9bda3dbd7e2c1ec90""1DbSTGLkfCvMqKtjwpWbzZnUADuDG3jFcJ"UOP_DUP OP_HASH160 8a24e6290a79b18b488e5d224f458c427631204e OP_EQUALVERIFY OP_CHECKSIG*276a9148a24e6290a79b18b488e5d224f458c427631204e88ac*"1DbSTGLkfCvMqKtjwpWbzZnUADuDG3jFcJ8$J ;¥$-@0000000000000000000b03f378491b1395e79c434e46f5bf1f7eae731a7f0b35"@00000000000000000019af75060d451e5935c550df24feaebfbfb030eb1ef8bf2å$-@00000000000000000004102aa2aeb99fc9db2fc833eea59cfe86d2bde630e866"@0000000000000000000b03f378491b1395e79c434e46f5bf1f7eae731a7f0b352ĥ$-@000000000000000000181b9c0d1264c3eeb3fb86816a058a71041eb9712c797d"@00000000000000000004102aa2aeb99fc9db2fc833eea59cfe86d2bde630e8662ť$-@000000000000000000176d20f1f68d4b8e48e860dd537c2fa6648a023cc16227"@000000000000000000181b9c0d1264c3eeb3fb86816a058a71041eb9712c797d2ƥ$Ў-@00000000000000000008bad5100837f7bb6a28034bca4a316ddd545cc1a0af84"@000000000000000000176d20f1f68d4b8e48e860dd537c2fa6648a023cc162272ǥ$-@00000000000000000004b50d18f0967dfff87b93689548da3d679a349feb1abb"@00000000000000000008bad5100837f7bb6a28034bca4a316ddd545cc1a0af842ȥ$-@0000000000000000000f93f1e3b8699ba58b7cb63782fdda0db80b30ef40fbdf"@00000000000000000004b50d18f0967dfff87b93689548da3d679a349feb1abb2ɥ$؊-@0000000000000000000dbfb61bc2566755ea039e8a788d8a28c2c19cf750f8e0"@0000000000000000000f93f1e3b8699ba58b7cb63782fdda0db80b30ef40fbdf2ʥ$-@0000000000000000000b12ec9ad1232535215d7b73c52ab18482b83f14ad9d91"@0000000000000000000dbfb61bc2566755ea039e8a788d8a28c2c19cf750f8e02˥$-@0000000000000000000dbddad1a44c6d8f7ed899ba7eec4eb4c4d98fd4292dea"@0000000000000000000b12ec9ad1232535215d7b73c52ab18482b83f14ad9d912̥$-@00000000000000000007c7baa33af7baf4555d09751d6d1fc2320545b5e22446"@0000000000000000000dbddad1a44c6d8f7ed899ba7eec4eb4c4d98fd4292dea2ͥ$-@0000000000000000000b90bc37e29f899a4a440178a1096cdc4a448126978e18"@00000000000000000007c7baa33af7baf4555d09751d6d1fc2320545b5e224462 Υ$-@00000000000000000007dfc43159a375881c867eaaa401d38e56b1ca45c026a0"@0000000000000000000b90bc37e29f899a4a440178a1096cdc4a448126978e182 + + + +1@1d5057485d11e05bd399023801e2fb694f91c62da64b507c7125f719d9d8da8cΥ$"@00000000000000000007dfc43159a375881c867eaaa401d38e56b1ca45c026a0(-2 +@baa109e45295c246f41d1ed3975075fa760efd1b6798c2050c7453625ee23479B0371d2b089c82fcd4c768e527564ca0046ddacccbb7f11b63ebf705956e5727caf2 +@2f228c8cbe1981f96c364289a80e56d50f060cd07394e0a77977efd2ac3b9b8dB025cb7a810dde1eb9d99f85c568ef42e6fd585deb0bd91e1c52e3425d8243f6a49B +ǂ@1d5057485d11e05bd399023801e2fb694f91c62da64b507c7125f719d9d8da8c""1KHLDRx9hT3ugu6UyKLQApqGoyJUsq4dan"UOP_DUP OP_HASH160 c888f573c6d9609b00684541cdea35cd6eb6271d OP_EQUALVERIFY OP_CHECKSIG*276a914c888f573c6d9609b00684541cdea35cd6eb6271d88ac*"1KHLDRx9hT3ugu6UyKLQApqGoyJUsq4dan8Υ$J  + @1d5057485d11e05bd399023801e2fb694f91c62da64b507c7125f719d9d8da8c""1FSE3TS6vuXS3fmdymLpVJd1bbFmcW5JX9"UOP_DUP OP_HASH160 9e570c1648cbcac73b7c3bf9ac8aea6df536f009 OP_EQUALVERIFY OP_CHECKSIG*276a9149e570c1648cbcac73b7c3bf9ac8aea6df536f00988ac*"1FSE3TS6vuXS3fmdymLpVJd1bbFmcW5JX98Υ$J  +P@1d5057485d11e05bd399023801e2fb694f91c62da64b507c7125f719d9d8da8c""12AguxrUZ7s6z26FnfvxbqN8FC8DBVGq8R"UOP_DUP OP_HASH160 0ccd2ff08391d37cc30ded5b1e7f697f4d366704 OP_EQUALVERIFY OP_CHECKSIG*276a9140ccd2ff08391d37cc30ded5b1e7f697f4d36670488ac*"12AguxrUZ7s6z26FnfvxbqN8FC8DBVGq8R8Υ$J ;ϥ$-@000000000000000000000ede7910d2d50486c92ddd6c53f4bf483fdd4f739104"@00000000000000000007dfc43159a375881c867eaaa401d38e56b1ca45c026a02Х$-@00000000000000000008c61ded40f581bf2ebb0116ffae006f6578eccf3e5498"@000000000000000000000ede7910d2d50486c92ddd6c53f4bf483fdd4f7391042 + +1@617039deccfb5fce9151f62c8e215086c446a982a805a638bab1328047de1b27Х$"@00000000000000000008c61ded40f581bf2ebb0116ffae006f6578eccf3e5498(-2 +@e8b7065b4d0490eeab09659c9583f0ae6c785f5a3577a3f43e94c44e99a2b933B034316956cc07ec86827621c59d5dd6289b91fc60b01c431bdbecfd1366b2d71fc2 +@bd17e4387b0df0d65a3a982a7f28e1703811b8b79cf7675555435ae68a4e5336B0250b7eb152efc4011ba2ca3de436e8d9c0155cbf5dc401ae29a8f7e67fe9e92992 +@46aea75272a8276e74e80aa91d314bf9fdc5ae9acf0ca0ac48bfd0b24df4620eB02baee9e870a6df9a697f1a8e2d531534a3ac1c4798212e7cd80fd0fdcb81d8c0d2 +@b13c57e3b457a038659344c7a544733b840eb07d3349ec8cc61c83e948385e17B0263c2b045cf4394a8d608c11b6e0afb0f194ef966b167a2dbb63b337ef56da864B +^@617039deccfb5fce9151f62c8e215086c446a982a805a638bab1328047de1b27""1Jfc8BMDpfPcAbfoTj3QPDvmQdXy3xCHdq"UOP_DUP OP_HASH160 c1c743c464e1dd8015efa901a3f0e39b81244646 OP_EQUALVERIFY OP_CHECKSIG*276a914c1c743c464e1dd8015efa901a3f0e39b8124464688ac*"1Jfc8BMDpfPcAbfoTj3QPDvmQdXy3xCHdq8Х$J  + +9@617039deccfb5fce9151f62c8e215086c446a982a805a638bab1328047de1b27""1Jfc8BMDpfPcAbfoTj3QPDvmQdXy3xCHdq"UOP_DUP OP_HASH160 c1c743c464e1dd8015efa901a3f0e39b81244646 OP_EQUALVERIFY OP_CHECKSIG*276a914c1c743c464e1dd8015efa901a3f0e39b8124464688ac*"1Jfc8BMDpfPcAbfoTj3QPDvmQdXy3xCHdq8Х$J  +@617039deccfb5fce9151f62c8e215086c446a982a805a638bab1328047de1b27""1HWoXMC7GMTafcWCDqCxKpoZRAxd4TQwVg"UOP_DUP OP_HASH160 b524e93c8fd3f0f9461d5dfce48229975d73cf3a OP_EQUALVERIFY OP_CHECKSIG*276a914b524e93c8fd3f0f9461d5dfce48229975d73cf3a88ac*"1HWoXMC7GMTafcWCDqCxKpoZRAxd4TQwVg8Х$J  +@617039deccfb5fce9151f62c8e215086c446a982a805a638bab1328047de1b27"l"6OP_RETURN 1301a446449a35997e94524be7bb5f039778b894fdc1*06a161301a446449a35997e94524be7bb5f039778b894fdc12FD5~RK_x8Х$J   +4"   4#   4#   4#   4$   -" -Bd3a0c937605e7f9d8241be4c33777259cd402ff4d02b13cb6eb10dcb7a7d5cb3:2@d3a0c937605e7f9d8241be4c33777259cd402ff4d02b13cb6eb10dcb7a7d5cb3""1ExbRnCv4fNNMr64JquvT7jZTaqHBkuePE"UOP_DUP OP_HASH160 991d4061d4d0c6aab60ea150088f75fc801f7d88 OP_EQUALVERIFY OP_CHECKSIG*276a914991d4061d4d0c6aab60ea150088f75fc801f7d8888ac*"1ExbRnCv4fNNMr64JquvT7jZTaqHBkuePE8$J " +" D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:213@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1AweC1bYPY6SzkWTanwX2JWpBhVRxL72he"UOP_DUP OP_HASH160 6d0ea374ae363914447e5243cedd17e32a17d0cf OP_EQUALVERIFY OP_CHECKSIG*276a9146d0ea374ae363914447e5243cedd17e32a17d0cf88ac*"1AweC1bYPY6SzkWTanwX2JWpBhVRxL72he8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:63?3@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""16CP9XQd9GhMhuVBk9bXbsrhWuALRQPxDe"UOP_DUP OP_HASH160 38ffb11d9dd62a99c3417c492769e80ef122422d OP_EQUALVERIFY OP_CHECKSIG*276a91438ffb11d9dd62a99c3417c492769e80ef122422d88ac*"16CP9XQd9GhMhuVBk9bXbsrhWuALRQPxDe8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:212:@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1PP58rq6TnKifRitzHgU8gJemL1dcNtKNV"UOP_DUP OP_HASH160 f57f5edc172022b20c8473c8041fb18fe48d3289 OP_EQUALVERIFY OP_CHECKSIG*276a914f57f5edc172022b20c8473c8041fb18fe48d328988ac*"1PP58rq6TnKifRitzHgU8gJemL1dcNtKNV8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:64@@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""14GUvW2o1JdYnD4JbH34LTNT5NaduTzE99"UOP_DUP OP_HASH160 23d5ecdcbae1c47bbed21331e28f3455c127de38 OP_EQUALVERIFY OP_CHECKSIG*276a91423d5ecdcbae1c47bbed21331e28f3455c127de3888ac*"14GUvW2o1JdYnD4JbH34LTNT5NaduTzE998"J " -C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:65Ag@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1DmpKir4zDjLijmLZKD1mt4rxxVnusRT85"UOP_DUP OP_HASH160 8c1b509666b343385c2d81eafde8fe3a17563c8e OP_EQUALVERIFY OP_CHECKSIG*276a9148c1b509666b343385c2d81eafde8fe3a17563c8e88ac*"1DmpKir4zDjLijmLZKD1mt4rxxVnusRT858"J " -Bfe578aef956104207366e484c7e65bd617d0074c570e0ba170edd984583a07c3:0@fe578aef956104207366e484c7e65bd617d0074c570e0ba170edd984583a07c3""1CPeLPQUtr2bcqMDKWf6BQxy1RUZzaCZaQ"UOP_DUP OP_HASH160 7cf1b328bc8b3efc61dfe7e9a13d3f64670b706d OP_EQUALVERIFY OP_CHECKSIG*276a9147cf1b328bc8b3efc61dfe7e9a13d3f64670b706d88ac*"1CPeLPQUtr2bcqMDKWf6BQxy1RUZzaCZaQ8#J " +C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:65Ag@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1DmpKir4zDjLijmLZKD1mt4rxxVnusRT85"UOP_DUP OP_HASH160 8c1b509666b343385c2d81eafde8fe3a17563c8e OP_EQUALVERIFY OP_CHECKSIG*276a9148c1b509666b343385c2d81eafde8fe3a17563c8e88ac*"1DmpKir4zDjLijmLZKD1mt4rxxVnusRT858"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:66Bg@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1H3VQWdPhWDXdaiusGkRypKe2SRSZWGM9U"UOP_DUP OP_HASH160 affa8e5a2e3b0befb22dcefd48f1fd7fe0790632 OP_EQUALVERIFY OP_CHECKSIG*276a914affa8e5a2e3b0befb22dcefd48f1fd7fe079063288ac*"1H3VQWdPhWDXdaiusGkRypKe2SRSZWGM9U8"J " -C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:67CІ@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1LQqJWJYC4onyjup5AQ6wiGoTfgq27PJ64"UOP_DUP OP_HASH160 d4ec46ff8aafd38b2e8ceaacc97b5d73e36e016f OP_EQUALVERIFY OP_CHECKSIG*276a914d4ec46ff8aafd38b2e8ceaacc97b5d73e36e016f88ac*"1LQqJWJYC4onyjup5AQ6wiGoTfgq27PJ648"J " -Bc1904a74fd85fa6f91066162f0b0e6069684bdf116fd42f3b9e30c27994ef049:0@c1904a74fd85fa6f91066162f0b0e6069684bdf116fd42f3b9e30c27994ef049""1NpVZNJX5oJ4pr5XCYa1evMJYP4deyvAsm"UOP_DUP OP_HASH160 ef5607ddd202be71434d7556da3f4c715beb1346 OP_EQUALVERIFY OP_CHECKSIG*276a914ef5607ddd202be71434d7556da3f4c715beb134688ac*"1NpVZNJX5oJ4pr5XCYa1evMJYP4deyvAsm8ش#J " +C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:67CІ@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1LQqJWJYC4onyjup5AQ6wiGoTfgq27PJ64"UOP_DUP OP_HASH160 d4ec46ff8aafd38b2e8ceaacc97b5d73e36e016f OP_EQUALVERIFY OP_CHECKSIG*276a914d4ec46ff8aafd38b2e8ceaacc97b5d73e36e016f88ac*"1LQqJWJYC4onyjup5AQ6wiGoTfgq27PJ648"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:216u@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1M4i1X6oq3i8YaA6C9tgYUF86EZ8r6MdZC"UOP_DUP OP_HASH160 dc15ff00d688de21b73ba455ad595041c0eef189 OP_EQUALVERIFY OP_CHECKSIG*276a914dc15ff00d688de21b73ba455ad595041c0eef18988ac*"1M4i1X6oq3i8YaA6C9tgYUF86EZ8r6MdZC8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:68Dg@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1GVx7Y9LPEGuD5TFWAYy4oe9ZpTy6u46do"UOP_DUP OP_HASH160 aa038a19dbdb6845375b33d0e3e34a8791a4cf42 OP_EQUALVERIFY OP_CHECKSIG*276a914aa038a19dbdb6845375b33d0e3e34a8791a4cf4288ac*"1GVx7Y9LPEGuD5TFWAYy4oe9ZpTy6u46do8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:69E@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1FGjssavUN3XbQGTNs6UV4s469wFqqAvVu"UOP_DUP OP_HASH160 9c8bcadb14baff3552081c28f646c1f6dfed0b15 OP_EQUALVERIFY OP_CHECKSIG*276a9149c8bcadb14baff3552081c28f646c1f6dfed0b1588ac*"1FGjssavUN3XbQGTNs6UV4s469wFqqAvVu8"J " @@ -91403,251 +98279,267 @@ C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:70 C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:71GЊ @4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""17jTVU6nxXKRvXuB8cT4Ly9Dx64Bem7Nw2"UOP_DUP OP_HASH160 49d856a8fddf24eebcdb6dba91940efcd412e497 OP_EQUALVERIFY OP_CHECKSIG*276a91449d856a8fddf24eebcdb6dba91940efcd412e49788ac*"17jTVU6nxXKRvXuB8cT4Ly9Dx64Bem7Nw28"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:211@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""152dFCHDCh8XK9HhNzqVTj3mwp28XfshUC"UOP_DUP OP_HASH160 2c2f2cb78d25cfa2c4e0703565aa857d2ce3cdae OP_EQUALVERIFY OP_CHECKSIG*276a9142c2f2cb78d25cfa2c4e0703565aa857d2ce3cdae88ac*"152dFCHDCh8XK9HhNzqVTj3mwp28XfshUC8"J " -C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:72H@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""19Gx3ppgJMNgZyLxrNCU1Tz5NqtMrzqjQJ"UOP_DUP OP_HASH160 5ac532b285007b52d30e39b976299ba43280e152 OP_EQUALVERIFY OP_CHECKSIG*276a9145ac532b285007b52d30e39b976299ba43280e15288ac*"19Gx3ppgJMNgZyLxrNCU1Tz5NqtMrzqjQJ8"J " -Bbd9fbab1b8904e9793dfc1866e636927f2fa978e6e79a32b1736e1a023cdad64:0@bd9fbab1b8904e9793dfc1866e636927f2fa978e6e79a32b1736e1a023cdad64""1Hyx11i2o9KLPXHK3emD1cYQwHi3eFe6em"UOP_DUP OP_HASH160 ba4737e027c65a3890b6e1f63977affab31ff164 OP_EQUALVERIFY OP_CHECKSIG*276a914ba4737e027c65a3890b6e1f63977affab31ff16488ac*"1Hyx11i2o9KLPXHK3emD1cYQwHi3eFe6em8#J " +C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:72H@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""19Gx3ppgJMNgZyLxrNCU1Tz5NqtMrzqjQJ"UOP_DUP OP_HASH160 5ac532b285007b52d30e39b976299ba43280e152 OP_EQUALVERIFY OP_CHECKSIG*276a9145ac532b285007b52d30e39b976299ba43280e15288ac*"19Gx3ppgJMNgZyLxrNCU1Tz5NqtMrzqjQJ8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:73I@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""19974dPXnpffAUfHiqNHySJ8EfSRBM363m"UOP_DUP OP_HASH160 5949650c4e8ed91fcdae0725f292cb16de58962d OP_EQUALVERIFY OP_CHECKSIG*276a9145949650c4e8ed91fcdae0725f292cb16de58962d88ac*"19974dPXnpffAUfHiqNHySJ8EfSRBM363m8"J " -B2b13ce02580e40fdc42f8f3382d1b9af042b65078f39a07a95a23d3068c44555:0@2b13ce02580e40fdc42f8f3382d1b9af042b65078f39a07a95a23d3068c44555""14FnhtNXhNTxpV43sWncscbTPjkCXrJNPr"UOP_DUP OP_HASH160 23b45a76475cdc270a8d37d3355b9dc3d3e749d2 OP_EQUALVERIFY OP_CHECKSIG*276a91423b45a76475cdc270a8d37d3355b9dc3d3e749d288ac*"14FnhtNXhNTxpV43sWncscbTPjkCXrJNPr8#J " -Bfa0a5eadd51a1c59749f486e6ef0b4623e2c3901650598a2f6e5c69c1705a7ee:1u@fa0a5eadd51a1c59749f486e6ef0b4623e2c3901650598a2f6e5c69c1705a7ee""1HikxMyGzMPZ7Fi6ukkTUi6aTnr2EWLMGi"UOP_DUP OP_HASH160 b767c22344942de76a0f6b70ee3fe4e9e204cf47 OP_EQUALVERIFY OP_CHECKSIG*276a914b767c22344942de76a0f6b70ee3fe4e9e204cf4788ac*"1HikxMyGzMPZ7Fi6ukkTUi6aTnr2EWLMGi8#J  " +B2b13ce02580e40fdc42f8f3382d1b9af042b65078f39a07a95a23d3068c44555:0@2b13ce02580e40fdc42f8f3382d1b9af042b65078f39a07a95a23d3068c44555""14FnhtNXhNTxpV43sWncscbTPjkCXrJNPr"UOP_DUP OP_HASH160 23b45a76475cdc270a8d37d3355b9dc3d3e749d2 OP_EQUALVERIFY OP_CHECKSIG*276a91423b45a76475cdc270a8d37d3355b9dc3d3e749d288ac*"14FnhtNXhNTxpV43sWncscbTPjkCXrJNPr8#J " +B0c59d9727b3765878a485050e96aece65463bb62975ce594bfc6922d83a669aa:0@0c59d9727b3765878a485050e96aece65463bb62975ce594bfc6922d83a669aa""1AhFRxoFnNBQsxvEPkYoyptNBW6nrs9YoA"UOP_DUP OP_HASH160 6a55d0ff9686d0093a4dfe6a87fb4d1b113e3fde OP_EQUALVERIFY OP_CHECKSIG*276a9146a55d0ff9686d0093a4dfe6a87fb4d1b113e3fde88ac*"1AhFRxoFnNBQsxvEPkYoyptNBW6nrs9YoA8$J " B56dfb59c8e5267cd52862ca3bc9000ff7ed9fe9630fa163e4563dcfbbb971648:0J@56dfb59c8e5267cd52862ca3bc9000ff7ed9fe9630fa163e4563dcfbbb971648""15MgXUUqycfrQRmAJRCYu8faVo3qVVdm2T"UOP_DUP OP_HASH160 2fc9d10792910a9dae60c0c5a986549ba7352137 OP_EQUALVERIFY OP_CHECKSIG*276a9142fc9d10792910a9dae60c0c5a986549ba735213788ac*"15MgXUUqycfrQRmAJRCYu8faVo3qVVdm2T8#J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:209@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""15co2SV4cZr5ytscwHejuQWiZHYJN5imxg"UOP_DUP OP_HASH160 32a57b3bb8c6db0395d8778d55ab89923ea6b681 OP_EQUALVERIFY OP_CHECKSIG*276a91432a57b3bb8c6db0395d8778d55ab89923ea6b68188ac*"15co2SV4cZr5ytscwHejuQWiZHYJN5imxg8"J " -B4aabb449fafbc65f4319d6f56dbdb50535bd6742d3d62b80bc86fc98e636a3f2:05@4aabb449fafbc65f4319d6f56dbdb50535bd6742d3d62b80bc86fc98e636a3f2""1F3VN5mTqC5Uh6rcSoAAQtFehVxxkcwPq9"UOP_DUP OP_HASH160 9a0a4500b6f130e662dfe1c9632374cf91f1896d OP_EQUALVERIFY OP_CHECKSIG*276a9149a0a4500b6f130e662dfe1c9632374cf91f1896d88ac*"1F3VN5mTqC5Uh6rcSoAAQtFehVxxkcwPq98$J " -Ba4eaf6930e79d5d8f92c14d36069bca2d82199c572f6b0fd84e01f0b662073fb:0"@a4eaf6930e79d5d8f92c14d36069bca2d82199c572f6b0fd84e01f0b662073fb""1AfLkr4xJBpvfr818YBEuyrU6JQjo5RRS4"UOP_DUP OP_HASH160 69f96e17db98f37b6f1b27d4ac0968b4f3bd3aaf OP_EQUALVERIFY OP_CHECKSIG*276a91469f96e17db98f37b6f1b27d4ac0968b4f3bd3aaf88ac*"1AfLkr4xJBpvfr818YBEuyrU6JQjo5RRS48$J " +B1cf247130d0bedd8e100919531481ffc11e249f7f3685c2af5638cd4fd655e0f:0\@1cf247130d0bedd8e100919531481ffc11e249f7f3685c2af5638cd4fd655e0f""1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY"UOP_DUP OP_HASH160 79a2f7d6d53eaff291543f9aea88eab1376d7db5 OP_EQUALVERIFY OP_CHECKSIG*276a91479a2f7d6d53eaff291543f9aea88eab1376d7db588ac*"1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY8ɣ$J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:202@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""145pKGNBEyCiZxU1bbrzPmv2Y7j2WASf9A"UOP_DUP OP_HASH160 21d189a6983817d60f60609ad7e5e84d202cdc16 OP_EQUALVERIFY OP_CHECKSIG*276a91421d189a6983817d60f60609ad7e5e84d202cdc1688ac*"145pKGNBEyCiZxU1bbrzPmv2Y7j2WASf9A8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:74JN@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1NL5j7w95SPedDmbYBFSkbyC1wVvyS1kdr"UOP_DUP OP_HASH160 e9f67d6e62361c448c366c979e0d7e34a5b37187 OP_EQUALVERIFY OP_CHECKSIG*276a914e9f67d6e62361c448c366c979e0d7e34a5b3718788ac*"1NL5j7w95SPedDmbYBFSkbyC1wVvyS1kdr8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:76L@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1MAHhNUQHyb8hEX1rFKMeFzi21nFx2H5o2"UOP_DUP OP_HASH160 dd24324caca977c5289233176432799144cb12dd OP_EQUALVERIFY OP_CHECKSIG*276a914dd24324caca977c5289233176432799144cb12dd88ac*"1MAHhNUQHyb8hEX1rFKMeFzi21nFx2H5o28"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:203@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1CuNXH7DfFLdti8TMFnaYTVBs7umXH8d2A"UOP_DUP OP_HASH160 8290fab4b85a1351b5fdf4c27db666119f36d44d OP_EQUALVERIFY OP_CHECKSIG*276a9148290fab4b85a1351b5fdf4c27db666119f36d44d88ac*"1CuNXH7DfFLdti8TMFnaYTVBs7umXH8d2A8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:77Mg@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""19whTRLD2RGY6Ub5i3FsemJB5DG4qWJ7FZ"UOP_DUP OP_HASH160 62193d1fb0b2f5562cd6c19397be4f5a6eebf4c7 OP_EQUALVERIFY OP_CHECKSIG*276a91462193d1fb0b2f5562cd6c19397be4f5a6eebf4c788ac*"19whTRLD2RGY6Ub5i3FsemJB5DG4qWJ7FZ8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:206@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1Q9Gg1DxURa1xBvvXmWcJVEDMiwUNWCyad"UOP_DUP OP_HASH160 fddb4daed2853a983af32774b5df374572cd7733 OP_EQUALVERIFY OP_CHECKSIG*276a914fddb4daed2853a983af32774b5df374572cd773388ac*"1Q9Gg1DxURa1xBvvXmWcJVEDMiwUNWCyad8"J " -C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:78N @4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1HSCMrzhWVqGSy3E8JAta1ug6ZoR5eSZEV"UOP_DUP OP_HASH160 b445e4e8bc42331da49a81e8dccf462030d1a330 OP_EQUALVERIFY OP_CHECKSIG*276a914b445e4e8bc42331da49a81e8dccf462030d1a33088ac*"1HSCMrzhWVqGSy3E8JAta1ug6ZoR5eSZEV8"J " +C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:78N @4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1HSCMrzhWVqGSy3E8JAta1ug6ZoR5eSZEV"UOP_DUP OP_HASH160 b445e4e8bc42331da49a81e8dccf462030d1a330 OP_EQUALVERIFY OP_CHECKSIG*276a914b445e4e8bc42331da49a81e8dccf462030d1a33088ac*"1HSCMrzhWVqGSy3E8JAta1ug6ZoR5eSZEV8"J " +B1d5382e77210f406557960ea41428d5341b6605f13fafaec800f5880c5d5b5f1:1@1d5382e77210f406557960ea41428d5341b6605f13fafaec800f5880c5d5b5f1""1CqfwS9hAhyQxHvJbzMpWCzAyRU8ZvZyst"UOP_DUP OP_HASH160 81dddaa1013cf7f3d30d5a0c94cdd05887bf3019 OP_EQUALVERIFY OP_CHECKSIG*276a91481dddaa1013cf7f3d30d5a0c94cdd05887bf301988ac*"1CqfwS9hAhyQxHvJbzMpWCzAyRU8ZvZyst8$J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:79O@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1FeaxrAcCLNJBSUtWXCYAcM9G5RFxeEFX8"UOP_DUP OP_HASH160 a0ad809a32108607adfc604f56679c8a19c5ff70 OP_EQUALVERIFY OP_CHECKSIG*276a914a0ad809a32108607adfc604f56679c8a19c5ff7088ac*"1FeaxrAcCLNJBSUtWXCYAcM9G5RFxeEFX88"J " B341c1301fe42eb6e5c593988cca3ae7b90d34e1908bcc1a30890c1cb0835743d:0f@341c1301fe42eb6e5c593988cca3ae7b90d34e1908bcc1a30890c1cb0835743d""1Jv74oJJfK4JyG9rZyqcfaTxULUGrGVjFT"UOP_DUP OP_HASH160 c4853f5cfcfd33f3ea1168e5a595eaef09487e5f OP_EQUALVERIFY OP_CHECKSIG*276a914c4853f5cfcfd33f3ea1168e5a595eaef09487e5f88ac*"1Jv74oJJfK4JyG9rZyqcfaTxULUGrGVjFT8#J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:208/@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1HBYjtFSW76eY37PQtwW9zNiUQZBfAWtY7"UOP_DUP OP_HASH160 b180aab6d36e994f2ca7a3105476e426f309f609 OP_EQUALVERIFY OP_CHECKSIG*276a914b180aab6d36e994f2ca7a3105476e426f309f60988ac*"1HBYjtFSW76eY37PQtwW9zNiUQZBfAWtY78"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:207І@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1L9b6PkGMPBmvscxkPdLkVhN5HZUEkknzj"UOP_DUP OP_HASH160 d20a2d4d71e72b002507f9d3c8740ce8d2326d7d OP_EQUALVERIFY OP_CHECKSIG*276a914d20a2d4d71e72b002507f9d3c8740ce8d2326d7d88ac*"1L9b6PkGMPBmvscxkPdLkVhN5HZUEkknzj8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:80P@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1GTgxhHfGZGVnQkmxea2yNBi6CrhY7nP86"UOP_DUP OP_HASH160 a9960f142c85dd05332a9f7482419b4bf14d56ee OP_EQUALVERIFY OP_CHECKSIG*276a914a9960f142c85dd05332a9f7482419b4bf14d56ee88ac*"1GTgxhHfGZGVnQkmxea2yNBi6CrhY7nP868"J " -C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:81Q@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""17cNfrMSHWcHJyHry6DK5txn4KPhWRjxUD"UOP_DUP OP_HASH160 48816706448f47efe696d2ec8845b86dfc10f556 OP_EQUALVERIFY OP_CHECKSIG*276a91448816706448f47efe696d2ec8845b86dfc10f55688ac*"17cNfrMSHWcHJyHry6DK5txn4KPhWRjxUD8"J " -B2b1a66a1d03dc9852ad1e02bff97f263eb4b29f53b0f44fd9587308dcba8d739:0@2b1a66a1d03dc9852ad1e02bff97f263eb4b29f53b0f44fd9587308dcba8d739"!1jLQq8euFXvrV2fLtxPDM1Tr82ifjUYGc"UOP_DUP OP_HASH160 0801ac7bd9ca763b5956f244a1b42b6e0075f11f OP_EQUALVERIFY OP_CHECKSIG*276a9140801ac7bd9ca763b5956f244a1b42b6e0075f11f88ac*!1jLQq8euFXvrV2fLtxPDM1Tr82ifjUYGc8$J " +C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:81Q@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""17cNfrMSHWcHJyHry6DK5txn4KPhWRjxUD"UOP_DUP OP_HASH160 48816706448f47efe696d2ec8845b86dfc10f556 OP_EQUALVERIFY OP_CHECKSIG*276a91448816706448f47efe696d2ec8845b86dfc10f55688ac*"17cNfrMSHWcHJyHry6DK5txn4KPhWRjxUD8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:82R@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1E364GCuqRhC78UHf8YEBRNHSUURmfx3nP"UOP_DUP OP_HASH160 8efeb0171e50c1495309661b75b4e8fbea5777a6 OP_EQUALVERIFY OP_CHECKSIG*276a9148efeb0171e50c1495309661b75b4e8fbea5777a688ac*"1E364GCuqRhC78UHf8YEBRNHSUURmfx3nP8"J " B9f70bbbb46cbe450adc2f669bccf44f9e53250c19bb26d762fdcd845c448b970:0K@9f70bbbb46cbe450adc2f669bccf44f9e53250c19bb26d762fdcd845c448b970""1J4NiRd9PPYuk88Vk5LybfjwV3KgAEV38C"UOP_DUP OP_HASH160 bb1d8327b16c3872831efe7132c9ec96abdf6010 OP_EQUALVERIFY OP_CHECKSIG*276a914bb1d8327b16c3872831efe7132c9ec96abdf601088ac*"1J4NiRd9PPYuk88Vk5LybfjwV3KgAEV38C8$J " -B95ddb50569ae99f18a49200b14e87f20cdf8b5fc52dd3e7efba3b9a9875ee7c7:0̞@95ddb50569ae99f18a49200b14e87f20cdf8b5fc52dd3e7efba3b9a9875ee7c7""1CLHJSA1Uc8hDrQik2NzXkMx27EU67B2Fe"UOP_DUP OP_HASH160 7c4ee4d8f5758c669c31eb6dea5766319a02c6a4 OP_EQUALVERIFY OP_CHECKSIG*276a9147c4ee4d8f5758c669c31eb6dea5766319a02c6a488ac*"1CLHJSA1Uc8hDrQik2NzXkMx27EU67B2Fe8#J " -Bf1b1838780acb63e8946c83a9a10c60c112bd5dce2593823c98530cc572901cf:0@f1b1838780acb63e8946c83a9a10c60c112bd5dce2593823c98530cc572901cf""19RrMQRrUETFj74r9GbFGwmYM3TGQNw83g"UOP_DUP OP_HASH160 5c742fa7d29b66e9c07b2ca50ca3e0452626cd78 OP_EQUALVERIFY OP_CHECKSIG*276a9145c742fa7d29b66e9c07b2ca50ca3e0452626cd7888ac*"19RrMQRrUETFj74r9GbFGwmYM3TGQNw83g8#J " -Bd950d14a8b303ea1c0930035cf9867cf06b6fb4e338e3f3974283069abcd26f4:0@d950d14a8b303ea1c0930035cf9867cf06b6fb4e338e3f3974283069abcd26f4""1EfF4naXz5iu3E32YXG5CoJz9UPNyC9vYn"UOP_DUP OP_HASH160 95d52ece519eb1581562e5f0e52734848b42d2d4 OP_EQUALVERIFY OP_CHECKSIG*276a91495d52ece519eb1581562e5f0e52734848b42d2d488ac*"1EfF4naXz5iu3E32YXG5CoJz9UPNyC9vYn8ޕ#J " +B95ddb50569ae99f18a49200b14e87f20cdf8b5fc52dd3e7efba3b9a9875ee7c7:0̞@95ddb50569ae99f18a49200b14e87f20cdf8b5fc52dd3e7efba3b9a9875ee7c7""1CLHJSA1Uc8hDrQik2NzXkMx27EU67B2Fe"UOP_DUP OP_HASH160 7c4ee4d8f5758c669c31eb6dea5766319a02c6a4 OP_EQUALVERIFY OP_CHECKSIG*276a9147c4ee4d8f5758c669c31eb6dea5766319a02c6a488ac*"1CLHJSA1Uc8hDrQik2NzXkMx27EU67B2Fe8#J " +Bd950d14a8b303ea1c0930035cf9867cf06b6fb4e338e3f3974283069abcd26f4:0@d950d14a8b303ea1c0930035cf9867cf06b6fb4e338e3f3974283069abcd26f4""1EfF4naXz5iu3E32YXG5CoJz9UPNyC9vYn"UOP_DUP OP_HASH160 95d52ece519eb1581562e5f0e52734848b42d2d4 OP_EQUALVERIFY OP_CHECKSIG*276a91495d52ece519eb1581562e5f0e52734848b42d2d488ac*"1EfF4naXz5iu3E32YXG5CoJz9UPNyC9vYn8ޕ#J " +B31f6b7241bd625cce45d8e02cb5c7df015c24056b103c945b6a8977be2eb60d8:1@31f6b7241bd625cce45d8e02cb5c7df015c24056b103c945b6a8977be2eb60d8""186brzC4CTPeHx5Wkh9NH9NiiT7gkwd2VN"UOP_DUP OP_HASH160 4dd80fbd6d5ced5ae4ec0f8ed9ad2da3d01ac88a OP_EQUALVERIFY OP_CHECKSIG*276a9144dd80fbd6d5ced5ae4ec0f8ed9ad2da3d01ac88a88ac*"186brzC4CTPeHx5Wkh9NH9NiiT7gkwd2VN8$J " B5d12576a70d278d12a5f386aa1507d254837ba689fac75796913917332a4a59f:0@5d12576a70d278d12a5f386aa1507d254837ba689fac75796913917332a4a59f""1CnoH94a6BJxYRiMzWXJftBSGCM6WaLN9s"UOP_DUP OP_HASH160 8152bba8f4a10d8e9db0f6505b90fc62b85d30ed OP_EQUALVERIFY OP_CHECKSIG*276a9148152bba8f4a10d8e9db0f6505b90fc62b85d30ed88ac*"1CnoH94a6BJxYRiMzWXJftBSGCM6WaLN9s8Ѣ#J{" +Bc25bf4c0a8ea5e8c7dfc76b98623b81733354931563c48fa2708ef392202d526:0Ĉ@c25bf4c0a8ea5e8c7dfc76b98623b81733354931563c48fa2708ef392202d526""1GEN1QbtfCJAh9Yqo5cbXj3dqNiyTiMGDS"UOP_DUP OP_HASH160 a710d47d17085d078cf9e0daf796b19cc6e2ed9c OP_EQUALVERIFY OP_CHECKSIG*276a914a710d47d17085d078cf9e0daf796b19cc6e2ed9c88ac*"1GEN1QbtfCJAh9Yqo5cbXj3dqNiyTiMGDS8$J " B28803c879f3395049042182d6f85fd3876a02b52861ee67c1892c17cd18999f2:0@28803c879f3395049042182d6f85fd3876a02b52861ee67c1892c17cd18999f2""1LfuPejxQWyUSpbXeiMYeTLr8WUJLy5WsN"UOP_DUP OP_HASH160 d7c5ee0abb11d85ca099fb7968902052ff1a5586 OP_EQUALVERIFY OP_CHECKSIG*276a914d7c5ee0abb11d85ca099fb7968902052ff1a558688ac*"1LfuPejxQWyUSpbXeiMYeTLr8WUJLy5WsN8#J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:86Vg@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1481HXGsmNLxAwMgsr6HNg2EVpx2yDvytW"UOP_DUP OP_HASH160 223b86e139c0f7b09e233bd2d74a79f17c1a385d OP_EQUALVERIFY OP_CHECKSIG*276a914223b86e139c0f7b09e233bd2d74a79f17c1a385d88ac*"1481HXGsmNLxAwMgsr6HNg2EVpx2yDvytW8"J " B7e19d386520ab9e5825118656d3b5201caea086e38e97c877faa5d33155de71f:1@7e19d386520ab9e5825118656d3b5201caea086e38e97c877faa5d33155de71f""1HYo6vx7nZJuAzGSr8VCuhEsJh8fZ3qV1W"UOP_DUP OP_HASH160 b585643e07e4f5ee2bfffc230dc3011996966205 OP_EQUALVERIFY OP_CHECKSIG*276a914b585643e07e4f5ee2bfffc230dc301199696620588ac*"1HYo6vx7nZJuAzGSr8VCuhEsJh8fZ3qV1W8Ϯ#J " -Bd55c34cd18a7980809cac410871153b72b2b245055388f16676b951db44bc74d:1@d55c34cd18a7980809cac410871153b72b2b245055388f16676b951db44bc74d""1HeM8T2EcH1XK5iG1ecFcLzMCazGLoksd5"UOP_DUP OP_HASH160 b692349af6ec13ac74d7fcec082b60c23cfeab62 OP_EQUALVERIFY OP_CHECKSIG*276a914b692349af6ec13ac74d7fcec082b60c23cfeab6288ac*"1HeM8T2EcH1XK5iG1ecFcLzMCazGLoksd58$J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:87Wg@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1AAJTekiS855LfsshaT3GA2iGf93CEW9JT"UOP_DUP OP_HASH160 647b733e0eac307d90f3be5402616e61893f5695 OP_EQUALVERIFY OP_CHECKSIG*276a914647b733e0eac307d90f3be5402616e61893f569588ac*"1AAJTekiS855LfsshaT3GA2iGf93CEW9JT8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:88X@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""19tYa5BMwxUdbXxrwsPW44CEeB5PFGTvZb"UOP_DUP OP_HASH160 618092e4cc84e5a07426a6dda7a792b1e7a067c3 OP_EQUALVERIFY OP_CHECKSIG*276a914618092e4cc84e5a07426a6dda7a792b1e7a067c388ac*"19tYa5BMwxUdbXxrwsPW44CEeB5PFGTvZb8"J " -B5c9b7c7f548a275c9dce6cc60f06f2600fe1feb06b9abfd567f93d6956fedf22:0 @5c9b7c7f548a275c9dce6cc60f06f2600fe1feb06b9abfd567f93d6956fedf22""1LGm6ZHXTseghsKcagKBGVWwets8R4Ry31"UOP_DUP OP_HASH160 d365704ada279d8a3406c70942e7eec184ca3357 OP_EQUALVERIFY OP_CHECKSIG*276a914d365704ada279d8a3406c70942e7eec184ca335788ac*"1LGm6ZHXTseghsKcagKBGVWwets8R4Ry318#J " +B5c9b7c7f548a275c9dce6cc60f06f2600fe1feb06b9abfd567f93d6956fedf22:0 @5c9b7c7f548a275c9dce6cc60f06f2600fe1feb06b9abfd567f93d6956fedf22""1LGm6ZHXTseghsKcagKBGVWwets8R4Ry31"UOP_DUP OP_HASH160 d365704ada279d8a3406c70942e7eec184ca3357 OP_EQUALVERIFY OP_CHECKSIG*276a914d365704ada279d8a3406c70942e7eec184ca335788ac*"1LGm6ZHXTseghsKcagKBGVWwets8R4Ry318#J " +B5415e0839905b24589be58a560086891c0a163ee8913fab45eea6e366cc229f1:1@5415e0839905b24589be58a560086891c0a163ee8913fab45eea6e366cc229f1""17auHZkTGNr9WjSN8zcTkRKT1TwziqaPFL"UOP_DUP OP_HASH160 483a209421d5011d261365a4b78849f277dea9f6 OP_EQUALVERIFY OP_CHECKSIG*276a914483a209421d5011d261365a4b78849f277dea9f688ac*"17auHZkTGNr9WjSN8zcTkRKT1TwziqaPFL8$J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:91[@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1JjmBhUaKtrweaqo6jvBjbieCCdyFnCSco"UOP_DUP OP_HASH160 c2907df626e51ad9aa17c1808f2896a1a8dd6515 OP_EQUALVERIFY OP_CHECKSIG*276a914c2907df626e51ad9aa17c1808f2896a1a8dd651588ac*"1JjmBhUaKtrweaqo6jvBjbieCCdyFnCSco8"J " +B5415e0839905b24589be58a560086891c0a163ee8913fab45eea6e366cc229f1:0N@5415e0839905b24589be58a560086891c0a163ee8913fab45eea6e366cc229f1""1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY"UOP_DUP OP_HASH160 79a2f7d6d53eaff291543f9aea88eab1376d7db5 OP_EQUALVERIFY OP_CHECKSIG*276a91479a2f7d6d53eaff291543f9aea88eab1376d7db588ac*"1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY8$J " B6235798ed9fa735006fdb72991cef03584dea7440e1b23177663fc7c4bfe513a:0+@6235798ed9fa735006fdb72991cef03584dea7440e1b23177663fc7c4bfe513a""1AFz4PP8RQ8q95KLFaByA54hskpTWtvGec"UOP_DUP OP_HASH160 658e95e04de20d12ed29fd302a9e0a541ae36f27 OP_EQUALVERIFY OP_CHECKSIG*276a914658e95e04de20d12ed29fd302a9e0a541ae36f2788ac*"1AFz4PP8RQ8q95KLFaByA54hskpTWtvGec8ʄ#J " B3ab6fb046daf07d2afd6636ea61d9846823f6557edb26f2d158167174998ec4f:0@3ab6fb046daf07d2afd6636ea61d9846823f6557edb26f2d158167174998ec4f""1NSCkQ84Phyezf8asZn9cC9rBqhUXdNm7B"UOP_DUP OP_HASH160 eb1ed8f293f4729f74f1c512030f08233e0b4f29 OP_EQUALVERIFY OP_CHECKSIG*276a914eb1ed8f293f4729f74f1c512030f08233e0b4f2988ac*"1NSCkQ84Phyezf8asZn9cC9rBqhUXdNm7B8$J " -C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:94^z@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1LiDqSjR6EccYbBt1uoFwQPu8sAM53r3kF"UOP_DUP OP_HASH160 d836289ca06819e4d188a4892bad4fdace897127 OP_EQUALVERIFY OP_CHECKSIG*276a914d836289ca06819e4d188a4892bad4fdace89712788ac*"1LiDqSjR6EccYbBt1uoFwQPu8sAM53r3kF8"J " -B5aa2e6c36eb6a0b0d7fab78c36529279929b859b274ac8eabbc04d6ab36aa74d:0 @5aa2e6c36eb6a0b0d7fab78c36529279929b859b274ac8eabbc04d6ab36aa74d"!1oQkbhUTW4JRsTofbBYUZ32RF1i2cNDcC"UOP_DUP OP_HASH160 08c6f60e6fbbcf0efcac3593a4eeae27b0c71e78 OP_EQUALVERIFY OP_CHECKSIG*276a91408c6f60e6fbbcf0efcac3593a4eeae27b0c71e7888ac*!1oQkbhUTW4JRsTofbBYUZ32RF1i2cNDcC8$J " +C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:94^z@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1LiDqSjR6EccYbBt1uoFwQPu8sAM53r3kF"UOP_DUP OP_HASH160 d836289ca06819e4d188a4892bad4fdace897127 OP_EQUALVERIFY OP_CHECKSIG*276a914d836289ca06819e4d188a4892bad4fdace89712788ac*"1LiDqSjR6EccYbBt1uoFwQPu8sAM53r3kF8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:95_@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""19Z4ka8aVi3FzvrngQUTZmJQEHw68QiyAQ"UOP_DUP OP_HASH160 5dd172cb507d22beb27a45cea9444563547c4e04 OP_EQUALVERIFY OP_CHECKSIG*276a9145dd172cb507d22beb27a45cea9444563547c4e0488ac*"19Z4ka8aVi3FzvrngQUTZmJQEHw68QiyAQ8"J " +B731ff908bb65bcb68870676d12ab9dea00e166b703970943df07979f4db475bf:0@731ff908bb65bcb68870676d12ab9dea00e166b703970943df07979f4db475bf""1GRBwjdmNmA6zLkC1FsCsYZUzuxS4KtrRQ"UOP_DUP OP_HASH160 a91d0153effe2b32afffd6f054244f41189a3b32 OP_EQUALVERIFY OP_CHECKSIG*276a914a91d0153effe2b32afffd6f054244f41189a3b3288ac*"1GRBwjdmNmA6zLkC1FsCsYZUzuxS4KtrRQ8ͤ$J  +" +B731ff908bb65bcb68870676d12ab9dea00e166b703970943df07979f4db475bf:1@731ff908bb65bcb68870676d12ab9dea00e166b703970943df07979f4db475bf""1GRBwjdmNmA6zLkC1FsCsYZUzuxS4KtrRQ"UOP_DUP OP_HASH160 a91d0153effe2b32afffd6f054244f41189a3b32 OP_EQUALVERIFY OP_CHECKSIG*276a914a91d0153effe2b32afffd6f054244f41189a3b3288ac*"1GRBwjdmNmA6zLkC1FsCsYZUzuxS4KtrRQ8ͤ$J " B7f4420c9ca3a64b54f4888e030727b6cb8733d9a8e5494d081bb014c5745f24d:0*@7f4420c9ca3a64b54f4888e030727b6cb8733d9a8e5494d081bb014c5745f24d""1PdtE3tsxkYv8tukqdbkjUZo7eo5RMyAeB"UOP_DUP OP_HASH160 f84c809988b892f165cab6c70bd3b59cdd2ac6dc OP_EQUALVERIFY OP_CHECKSIG*276a914f84c809988b892f165cab6c70bd3b59cdd2ac6dc88ac*"1PdtE3tsxkYv8tukqdbkjUZo7eo5RMyAeB8#J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:97a@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""16tfLL5TEBDUTvYqEXyxFrFFpckTD1Bu9r"UOP_DUP OP_HASH160 409dd78accf66a1eb8c6b38bca6282e0622ffa5c OP_EQUALVERIFY OP_CHECKSIG*276a914409dd78accf66a1eb8c6b38bca6282e0622ffa5c88ac*"16tfLL5TEBDUTvYqEXyxFrFFpckTD1Bu9r8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:98b@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1HKCFWUWdYQpyMeRaRgGonaJWZxFG1aDHw"UOP_DUP OP_HASH160 b2f2e418683086ec3a9587c3f7e19e3f4870a7ba OP_EQUALVERIFY OP_CHECKSIG*276a914b2f2e418683086ec3a9587c3f7e19e3f4870a7ba88ac*"1HKCFWUWdYQpyMeRaRgGonaJWZxFG1aDHw8"J " Ba5f1a58511393f8a35dc25b664dc5c0e3833ffe3b0cf4669f58ee0b837727f9d:0Ѱ@a5f1a58511393f8a35dc25b664dc5c0e3833ffe3b0cf4669f58ee0b837727f9d""1A3SsZBqSggX48pJm1yqmrkihAHiN9xqcA"UOP_DUP OP_HASH160 632f8f7f0f707bac126894bcaac417927fe14de6 OP_EQUALVERIFY OP_CHECKSIG*276a914632f8f7f0f707bac126894bcaac417927fe14de688ac*"1A3SsZBqSggX48pJm1yqmrkihAHiN9xqcA8#J " -Baf166a9e127f9ce3f7306a39ee47ffb7f45d0724d982ecca18ca8d319d3d56ce:0N@af166a9e127f9ce3f7306a39ee47ffb7f45d0724d982ecca18ca8d319d3d56ce""1LFJhZf7sQYH6q8XibrnywK2JTC4rVFqZW"UOP_DUP OP_HASH160 d31efcf041c4c2348f517c8be904572e4452f32b OP_EQUALVERIFY OP_CHECKSIG*276a914d31efcf041c4c2348f517c8be904572e4452f32b88ac*"1LFJhZf7sQYH6q8XibrnywK2JTC4rVFqZW8"J " -Beabc3a6f575f6151c24079adae97004e7f4c628233d1d11a505bfd745c41f7c8:0@eabc3a6f575f6151c24079adae97004e7f4c628233d1d11a505bfd745c41f7c8""15fYn4W6vCoKYjraWkf6QjjiraPE8zxiBL"UOP_DUP OP_HASH160 332ad5f0d270be30b8734ab1f321a657589e3a7c OP_EQUALVERIFY OP_CHECKSIG*276a914332ad5f0d270be30b8734ab1f321a657589e3a7c88ac*"15fYn4W6vCoKYjraWkf6QjjiraPE8zxiBL8#J " +Baf166a9e127f9ce3f7306a39ee47ffb7f45d0724d982ecca18ca8d319d3d56ce:0N@af166a9e127f9ce3f7306a39ee47ffb7f45d0724d982ecca18ca8d319d3d56ce""1LFJhZf7sQYH6q8XibrnywK2JTC4rVFqZW"UOP_DUP OP_HASH160 d31efcf041c4c2348f517c8be904572e4452f32b OP_EQUALVERIFY OP_CHECKSIG*276a914d31efcf041c4c2348f517c8be904572e4452f32b88ac*"1LFJhZf7sQYH6q8XibrnywK2JTC4rVFqZW8"J " B8ed2283661b35a492405783d695c4755fcec649c0bcea4e1c8f6f8c7096122b7:0 @8ed2283661b35a492405783d695c4755fcec649c0bcea4e1c8f6f8c7096122b7""1Af1W2gMtm4vyqktCMQkupurx2PkaYpu1D"UOP_DUP OP_HASH160 69e95b3cde0f132257966cdcfc228fab37c56474 OP_EQUALVERIFY OP_CHECKSIG*276a91469e95b3cde0f132257966cdcfc228fab37c5647488ac*"1Af1W2gMtm4vyqktCMQkupurx2PkaYpu1D8#J " -B08bdcf83f7687943fb59af4d00f081591baf110a3c04efa3dbd2ed2515c55aa1:1@08bdcf83f7687943fb59af4d00f081591baf110a3c04efa3dbd2ed2515c55aa1""1NoMf5cjNmXxxjmTy4vWaWJrEzHJnx9sAa"UOP_DUP OP_HASH160 ef1f04d7b9b5f303df2e88597d3b30f45bf17541 OP_EQUALVERIFY OP_CHECKSIG*276a914ef1f04d7b9b5f303df2e88597d3b30f45bf1754188ac*"1NoMf5cjNmXxxjmTy4vWaWJrEzHJnx9sAa8$J " -B322bfa374c24bbbe5281fba4506f231432ae4c54179d565c010d6302fd471f44:0.@322bfa374c24bbbe5281fba4506f231432ae4c54179d565c010d6302fd471f44""13ABPJq7RNcr6fNeznMkoQuiix4BJkc6iG"UOP_DUP OP_HASH160 17aca9f2b8e7e5b3ab4085c3420a53cf5af20171 OP_EQUALVERIFY OP_CHECKSIG*276a91417aca9f2b8e7e5b3ab4085c3420a53cf5af2017188ac*"13ABPJq7RNcr6fNeznMkoQuiix4BJkc6iG8$J " +B08bdcf83f7687943fb59af4d00f081591baf110a3c04efa3dbd2ed2515c55aa1:1@08bdcf83f7687943fb59af4d00f081591baf110a3c04efa3dbd2ed2515c55aa1""1NoMf5cjNmXxxjmTy4vWaWJrEzHJnx9sAa"UOP_DUP OP_HASH160 ef1f04d7b9b5f303df2e88597d3b30f45bf17541 OP_EQUALVERIFY OP_CHECKSIG*276a914ef1f04d7b9b5f303df2e88597d3b30f45bf1754188ac*"1NoMf5cjNmXxxjmTy4vWaWJrEzHJnx9sAa8$J " +Be4433aa7305080ff0e53f44dc501c29f316ca3466aee097d79d4b10a6fc71daf:0y@e4433aa7305080ff0e53f44dc501c29f316ca3466aee097d79d4b10a6fc71daf""1B3NqFm3BSkZcLvhJWzYuxbTL8aMSLSmwC"UOP_DUP OP_HASH160 6e24506dc8872d117a1c495ec6d046d1ccd9af8e OP_EQUALVERIFY OP_CHECKSIG*276a9146e24506dc8872d117a1c495ec6d046d1ccd9af8e88ac*"1B3NqFm3BSkZcLvhJWzYuxbTL8aMSLSmwC8$J " B36a3b44300f56c39caf0fbd3ea0b420c16c125affdf495ba7c4ca1267dd33aa2:0 @36a3b44300f56c39caf0fbd3ea0b420c16c125affdf495ba7c4ca1267dd33aa2""1EoZuPE7oicULP6MG1rnW9LhwhUs6e1a9i"UOP_DUP OP_HASH160 97683c509f11b2e4a1b151aa5630f8a7b491f6b8 OP_EQUALVERIFY OP_CHECKSIG*276a91497683c509f11b2e4a1b151aa5630f8a7b491f6b888ac*"1EoZuPE7oicULP6MG1rnW9LhwhUs6e1a9i8$J " Bbe5abffbe857870787db77f998c7cc9bd5983c98b7a3a136dd0cc916f3bcab59:0@be5abffbe857870787db77f998c7cc9bd5983c98b7a3a136dd0cc916f3bcab59""1Eb9V9B3vaEcuTfuppjWh3nzvdzyfkPic6"UOP_DUP OP_HASH160 950edc686cc18eab626a28f9adb3220f22fea54f OP_EQUALVERIFY OP_CHECKSIG*276a914950edc686cc18eab626a28f9adb3220f22fea54f88ac*"1Eb9V9B3vaEcuTfuppjWh3nzvdzyfkPic68#J " Bdc3127138752c80cb790af90072a02bc59099b7202f9ec4c72273b2ae6117a03:0@dc3127138752c80cb790af90072a02bc59099b7202f9ec4c72273b2ae6117a03""1FNcRrThNeMaCtYTrXbvCfqLTB56xoz5NN"UOP_DUP OP_HASH160 9da812050bfe03a94d6495853af134b9c2771091 OP_EQUALVERIFY OP_CHECKSIG*276a9149da812050bfe03a94d6495853af134b9c277109188ac*"1FNcRrThNeMaCtYTrXbvCfqLTB56xoz5NN8#J " -B6980c14c1fca29b575f262362ef344a222950137ba43d21d3ada67cbfc2ae846:0F@6980c14c1fca29b575f262362ef344a222950137ba43d21d3ada67cbfc2ae846""1PbRgzXrGEoTHMN7VwU14B4tz2ptWDJXHW"UOP_DUP OP_HASH160 f7d5850bfa45c742d5a2ef30d218089b42286d48 OP_EQUALVERIFY OP_CHECKSIG*276a914f7d5850bfa45c742d5a2ef30d218089b42286d4888ac*"1PbRgzXrGEoTHMN7VwU14B4tz2ptWDJXHW8$J " Bb68b02f5605455655825d018b7f88726eee00409ee224505d427f2f2d10760de:0:@b68b02f5605455655825d018b7f88726eee00409ee224505d427f2f2d10760de""1FgegmFtMGKdpRHdmysDJgC2kWJYR8JrGK"UOP_DUP OP_HASH160 a111711a9877a3e62e9dd4c72054e9b80249bcb4 OP_EQUALVERIFY OP_CHECKSIG*276a914a111711a9877a3e62e9dd4c72054e9b80249bcb488ac*"1FgegmFtMGKdpRHdmysDJgC2kWJYR8JrGK8#J " Bec922882d6db3d23625c18082b53b15fe987882405baa41f0a62d33d4759bbfe:0@ec922882d6db3d23625c18082b53b15fe987882405baa41f0a62d33d4759bbfe""136ZpkcR9C4DkZMHKyGKbRWZxGpHFBe4Fv"UOP_DUP OP_HASH160 16fdbb1bec289110c327ff0d86fd51d6ee153ab4 OP_EQUALVERIFY OP_CHECKSIG*276a91416fdbb1bec289110c327ff0d86fd51d6ee153ab488ac*"136ZpkcR9C4DkZMHKyGKbRWZxGpHFBe4Fv8#J " +B225cb73627a093a4fadd5de97a3614c15d7058ef4e1d0e0d704b3958b8c066a7:0?@225cb73627a093a4fadd5de97a3614c15d7058ef4e1d0e0d704b3958b8c066a7""1NzafaxCf74r1k4AzmvNt6RWK39jVpj5mr"UOP_DUP OP_HASH160 f13e74210e306b762fd896bd1d3c93803ba2bdd9 OP_EQUALVERIFY OP_CHECKSIG*276a914f13e74210e306b762fd896bd1d3c93803ba2bdd988ac*"1NzafaxCf74r1k4AzmvNt6RWK39jVpj5mr8ž$J " Bb1fd06950a74189613ebfa026bfc687bd537ac0e0583b1705cae4af112f87e22:0M@b1fd06950a74189613ebfa026bfc687bd537ac0e0583b1705cae4af112f87e22""18k1zpdibdrWcS3yarwV1hzTJVnGE3adaH"UOP_DUP OP_HASH160 54eb9959f44daa077c34e6d1f8a3415e5d8c03d2 OP_EQUALVERIFY OP_CHECKSIG*276a91454eb9959f44daa077c34e6d1f8a3415e5d8c03d288ac*"18k1zpdibdrWcS3yarwV1hzTJVnGE3adaH8#J " B9e67bec42cd9dbdc3b6e25f6543440be01133a9939fd43c7c1ddc6066473daed:0@9e67bec42cd9dbdc3b6e25f6543440be01133a9939fd43c7c1ddc6066473daed""1M6M59CeeDQfoD1xp5wtqVUGeGcxoZKWTB"UOP_DUP OP_HASH160 dc6559a9de7699959b26699a1631a6f8350bc10c OP_EQUALVERIFY OP_CHECKSIG*276a914dc6559a9de7699959b26699a1631a6f8350bc10c88ac*"1M6M59CeeDQfoD1xp5wtqVUGeGcxoZKWTB8#J " -B981680769c98c784311b75de6e679acf3bcedc551c7c3fe1e5893c3e4b4bc150:03@981680769c98c784311b75de6e679acf3bcedc551c7c3fe1e5893c3e4b4bc150""1HsGNG3FPbdeeqZSs22grVnRqEAQ34iHuY"UOP_DUP OP_HASH160 b903a35212731b3cb8897755df699245e4d8cf8b OP_EQUALVERIFY OP_CHECKSIG*276a914b903a35212731b3cb8897755df699245e4d8cf8b88ac*"1HsGNG3FPbdeeqZSs22grVnRqEAQ34iHuY8†$J " +B981680769c98c784311b75de6e679acf3bcedc551c7c3fe1e5893c3e4b4bc150:03@981680769c98c784311b75de6e679acf3bcedc551c7c3fe1e5893c3e4b4bc150""1HsGNG3FPbdeeqZSs22grVnRqEAQ34iHuY"UOP_DUP OP_HASH160 b903a35212731b3cb8897755df699245e4d8cf8b OP_EQUALVERIFY OP_CHECKSIG*276a914b903a35212731b3cb8897755df699245e4d8cf8b88ac*"1HsGNG3FPbdeeqZSs22grVnRqEAQ34iHuY8†$J " +Bfc7b8d0ef138c97d9df0fc54e3476d03a300eb5f816ed546111114489045321b:0=@fc7b8d0ef138c97d9df0fc54e3476d03a300eb5f816ed546111114489045321b""1NL6t4k35aSK3nSpnnhnz4HsyE732sPPbk"UOP_DUP OP_HASH160 e9f7741626beb9904a5b7457aff429ff82f9d194 OP_EQUALVERIFY OP_CHECKSIG*276a914e9f7741626beb9904a5b7457aff429ff82f9d19488ac*"1NL6t4k35aSK3nSpnnhnz4HsyE732sPPbk8$J " B6efd62b68a972ef1a0f8d89de71523fc7b3ae380d9aa32ca5effcb40bc6b127f:1@6efd62b68a972ef1a0f8d89de71523fc7b3ae380d9aa32ca5effcb40bc6b127f""1DYmfgp5KmSThiQvnFtgDJXiVDrV6wJ1ch"UOP_DUP OP_HASH160 89a3b0bb77ff294599e4fd00c27ff0574e89bfe2 OP_EQUALVERIFY OP_CHECKSIG*276a91489a3b0bb77ff294599e4fd00c27ff0574e89bfe288ac*"1DYmfgp5KmSThiQvnFtgDJXiVDrV6wJ1ch8#J  " -Be9eb89fb957e5e335521a07a1c573b83769e0ac0f172df5fada066ffa2aaea9a:0+@e9eb89fb957e5e335521a07a1c573b83769e0ac0f172df5fada066ffa2aaea9a""14AG9dXyD7YosqajQgJL9Udd1n9f8YKKFz"UOP_DUP OP_HASH160 22a8c43eb0ef93020e5f0fbdd83abecf6176c30d OP_EQUALVERIFY OP_CHECKSIG*276a91422a8c43eb0ef93020e5f0fbdd83abecf6176c30d88ac*"14AG9dXyD7YosqajQgJL9Udd1n9f8YKKFz8#J " -B36b9602c33b680856f4a8066cba92ace6df9d88ec2fe959def92d6ab79e82427:0<@36b9602c33b680856f4a8066cba92ace6df9d88ec2fe959def92d6ab79e82427""1LXczimstpiXeZr88vrm5NgWZSwzMGwZwj"UOP_DUP OP_HASH160 d634ea7f5840d39b860f769d33788894024e0831 OP_EQUALVERIFY OP_CHECKSIG*276a914d634ea7f5840d39b860f769d33788894024e083188ac*"1LXczimstpiXeZr88vrm5NgWZSwzMGwZwj8#J " +Be9eb89fb957e5e335521a07a1c573b83769e0ac0f172df5fada066ffa2aaea9a:0+@e9eb89fb957e5e335521a07a1c573b83769e0ac0f172df5fada066ffa2aaea9a""14AG9dXyD7YosqajQgJL9Udd1n9f8YKKFz"UOP_DUP OP_HASH160 22a8c43eb0ef93020e5f0fbdd83abecf6176c30d OP_EQUALVERIFY OP_CHECKSIG*276a91422a8c43eb0ef93020e5f0fbdd83abecf6176c30d88ac*"14AG9dXyD7YosqajQgJL9Udd1n9f8YKKFz8#J " +B2bb15352ce8604b5d194d5b6e6dee3d670023bca0ef09da8a6eacd1aa0e0a95c:0ß@2bb15352ce8604b5d194d5b6e6dee3d670023bca0ef09da8a6eacd1aa0e0a95c""1CREa5jUqM4XRwz73E8xtsab9Ewzo2CqsF"UOP_DUP OP_HASH160 7d3eb1d69a22eaeae5b51d37c5fad3b87e281553 OP_EQUALVERIFY OP_CHECKSIG*276a9147d3eb1d69a22eaeae5b51d37c5fad3b87e28155388ac*"1CREa5jUqM4XRwz73E8xtsab9Ewzo2CqsF8$J " B9ffa0e35d9f457d7eb0682cd314ffcf9af5e6e3117361e612cc0163ec3256d7f:0@9ffa0e35d9f457d7eb0682cd314ffcf9af5e6e3117361e612cc0163ec3256d7f""1EXrWf6Ld1yokFqTu2EED3dhz8c5PB8D27"UOP_DUP OP_HASH160 946f71aaeaa0446c4f9f7b2605d55fea038bfd67 OP_EQUALVERIFY OP_CHECKSIG*276a914946f71aaeaa0446c4f9f7b2605d55fea038bfd6788ac*"1EXrWf6Ld1yokFqTu2EED3dhz8c5PB8D278#J " +Bf4f0c7c32cf01d58873480b477817e5d58db451692b2797f594b95b8772ced8b:0.@f4f0c7c32cf01d58873480b477817e5d58db451692b2797f594b95b8772ced8b""1HMAkpHc7idr99UcrNy23cU5XAHdra74em"UOP_DUP OP_HASH160 b35279a6f8266b56de4d85602d1a419c552ec97f OP_EQUALVERIFY OP_CHECKSIG*276a914b35279a6f8266b56de4d85602d1a419c552ec97f88ac*"1HMAkpHc7idr99UcrNy23cU5XAHdra74em8$J " +Bf4f0c7c32cf01d58873480b477817e5d58db451692b2797f594b95b8772ced8b:1@f4f0c7c32cf01d58873480b477817e5d58db451692b2797f594b95b8772ced8b""1NHyDFB98SRu1Kn2MWx9JvH5CawCNLnaUs"UOP_DUP OP_HASH160 e990383272a6a7572d2fb503973b3873385e5787 OP_EQUALVERIFY OP_CHECKSIG*276a914e990383272a6a7572d2fb503973b3873385e578788ac*"1NHyDFB98SRu1Kn2MWx9JvH5CawCNLnaUs8$J " B5f3f8401e7b6c507dbd6c8bbce4ce138a9b33994bd6781fe2454971b4d437f1b:05@5f3f8401e7b6c507dbd6c8bbce4ce138a9b33994bd6781fe2454971b4d437f1b""1DwbrGSD2YCuJeEdDz9zd7fKf71YtwZPne"UOP_DUP OP_HASH160 8df50fea527b0ed981031996be79af26cb81aae0 OP_EQUALVERIFY OP_CHECKSIG*276a9148df50fea527b0ed981031996be79af26cb81aae088ac*"1DwbrGSD2YCuJeEdDz9zd7fKf71YtwZPne8#J " Bb293d6263df82898695d179c7864e6358ee61e7b79d2a1523faf0e253b6fa4fb:0x@b293d6263df82898695d179c7864e6358ee61e7b79d2a1523faf0e253b6fa4fb""1GQVEZTpWE5snfyVsXEU54tvDEvcEGvPCU"UOP_DUP OP_HASH160 a8fb05b2a31cc2dbe83ea7c9bbadcf2bf7e93751 OP_EQUALVERIFY OP_CHECKSIG*276a914a8fb05b2a31cc2dbe83ea7c9bbadcf2bf7e9375188ac*"1GQVEZTpWE5snfyVsXEU54tvDEvcEGvPCU8$J " -B982105b6d6c323a33c41af8cb7c1d110d2af1c3e0eb8ce1fbe9a26afc5a0a8ea:0@982105b6d6c323a33c41af8cb7c1d110d2af1c3e0eb8ce1fbe9a26afc5a0a8ea""13FeUTGqoydRvNKYuNN5T2UCqxpncd1dwo"UOP_DUP OP_HASH160 18b55b2f54818d1c62089cb95fb02a4d452fe9af OP_EQUALVERIFY OP_CHECKSIG*276a91418b55b2f54818d1c62089cb95fb02a4d452fe9af88ac*"13FeUTGqoydRvNKYuNN5T2UCqxpncd1dwo8$J " -B5def4c952df73a89f21e5c829fd59054f39472eb930064809fd3d36a358387bd:0@5def4c952df73a89f21e5c829fd59054f39472eb930064809fd3d36a358387bd""1KqSAf6kVmTHSCjHdC6yNFRrJuezZpgcFe"UOP_DUP OP_HASH160 ce9b3cfb3a3a78a04eec6341267f55802bf12dca OP_EQUALVERIFY OP_CHECKSIG*276a914ce9b3cfb3a3a78a04eec6341267f55802bf12dca88ac*"1KqSAf6kVmTHSCjHdC6yNFRrJuezZpgcFe8$J " +Bfd187a8f5d94eedc55b5d4f07b032c3c55e79add2bc4a80de8c0c715f6eb6bcd:0@fd187a8f5d94eedc55b5d4f07b032c3c55e79add2bc4a80de8c0c715f6eb6bcd""1MVM6JBMwyZQWj6bTGGVXUe3395D615Yzk"UOP_DUP OP_HASH160 e0beef19f0b6da8925154ffb40b58eedcbd729b4 OP_EQUALVERIFY OP_CHECKSIG*276a914e0beef19f0b6da8925154ffb40b58eedcbd729b488ac*"1MVM6JBMwyZQWj6bTGGVXUe3395D615Yzk8$J " B6c148d7ec3a4b24e2c37f337b2f6c6c0b9d7200e691dd8b309b202a2226803ec:0@6c148d7ec3a4b24e2c37f337b2f6c6c0b9d7200e691dd8b309b202a2226803ec""12BLpN4kJ9oRkNMJ6VW3FA2vv3p6KGUxQA"UOP_DUP OP_HASH160 0cecd3d53135bdafb2a6bd531bbb9bb57aa21969 OP_EQUALVERIFY OP_CHECKSIG*276a9140cecd3d53135bdafb2a6bd531bbb9bb57aa2196988ac*"12BLpN4kJ9oRkNMJ6VW3FA2vv3p6KGUxQA8ߨ#J " B5bc54a75a034a67c3129ace0aa97571b75dd9e8227279b734f4e356f4f903a8a:0ǧ@5bc54a75a034a67c3129ace0aa97571b75dd9e8227279b734f4e356f4f903a8a""1PTq8QBRqdgWBb5xqujc1WhJzv6sE1hY2G"UOP_DUP OP_HASH160 f665c1d34c0eed9694b958da266469902bde792f OP_EQUALVERIFY OP_CHECKSIG*276a914f665c1d34c0eed9694b958da266469902bde792f88ac*"1PTq8QBRqdgWBb5xqujc1WhJzv6sE1hY2G8#J " -B78e59929559df6879d876df29fc90a725bc3c6c8c67c3bbffb603e0660f200d0:0G@78e59929559df6879d876df29fc90a725bc3c6c8c67c3bbffb603e0660f200d0""12BWCSEcBsrFpjpHNr5FU8EdPwb8oQnTqh"UOP_DUP OP_HASH160 0cf4a8701a5d3b9df09acd4183bd47ae7eb9d6bc OP_EQUALVERIFY OP_CHECKSIG*276a9140cf4a8701a5d3b9df09acd4183bd47ae7eb9d6bc88ac*"12BWCSEcBsrFpjpHNr5FU8EdPwb8oQnTqh8$J " B2f4dc64acb62cafb0d059e102fbc6c042731ebe655b5b7d51f2dbd03fa12e173:0;@2f4dc64acb62cafb0d059e102fbc6c042731ebe655b5b7d51f2dbd03fa12e173""16TdK7q66u2irA2VfjDvXPREjUjcvgHjWh"UOP_DUP OP_HASH160 3be1c18736dd40601ee7a2f31e32934303c70fb7 OP_EQUALVERIFY OP_CHECKSIG*276a9143be1c18736dd40601ee7a2f31e32934303c70fb788ac*"16TdK7q66u2irA2VfjDvXPREjUjcvgHjWh8#J " -Bacdaed41952e17e728469e0a83527aaa11329cd11d78911a996802d011b2539f:0@acdaed41952e17e728469e0a83527aaa11329cd11d78911a996802d011b2539f""168N9ALjsweMQJu5xoJxv1bGPaSnRtf5bV"UOP_DUP OP_HASH160 383d30226ea3f3d5fa57c760e2c0ee9d25dc9f2a OP_EQUALVERIFY OP_CHECKSIG*276a914383d30226ea3f3d5fa57c760e2c0ee9d25dc9f2a88ac*"168N9ALjsweMQJu5xoJxv1bGPaSnRtf5bV8"J " -Bd85d886bfb67f1ead7b3ab0780378c708222bc216c675ecee0657cf6f6ae6e70:0*@d85d886bfb67f1ead7b3ab0780378c708222bc216c675ecee0657cf6f6ae6e70""16QJQA3kY3o84HdhfqCqQQoYtP1Rmk9CCH"UOP_DUP OP_HASH160 3b40b85eb5f03f2572cd11ec2abdaa9cc68d4c56 OP_EQUALVERIFY OP_CHECKSIG*276a9143b40b85eb5f03f2572cd11ec2abdaa9cc68d4c5688ac*"16QJQA3kY3o84HdhfqCqQQoYtP1Rmk9CCH8$J  " -B4e4804a54394ad12f014bb3f6c182ad0ae3b088e253b6af20cf16ee6282a5938:0@4e4804a54394ad12f014bb3f6c182ad0ae3b088e253b6af20cf16ee6282a5938""19NCvv3JmWTz6EbKvmjxoxhpXmgaRHgAJS"UOP_DUP OP_HASH160 5bc3b323aa7926e59da04939bd5f9c36fcc7253d OP_EQUALVERIFY OP_CHECKSIG*276a9145bc3b323aa7926e59da04939bd5f9c36fcc7253d88ac*"19NCvv3JmWTz6EbKvmjxoxhpXmgaRHgAJS8̏$J " +B9f5465b8cf05511992ff69e49bac2f0487b26bd704d2e0aa4c8e7e70e4647633:0@9f5465b8cf05511992ff69e49bac2f0487b26bd704d2e0aa4c8e7e70e4647633""1B8Jyd9YAEQP43WTihsDb65a75dwqreFuo"UOP_DUP OP_HASH160 6f132ce6ebebdb44bd0eaca74f7687a6f0be0169 OP_EQUALVERIFY OP_CHECKSIG*276a9146f132ce6ebebdb44bd0eaca74f7687a6f0be016988ac*"1B8Jyd9YAEQP43WTihsDb65a75dwqreFuo8$J " +Bacdaed41952e17e728469e0a83527aaa11329cd11d78911a996802d011b2539f:0@acdaed41952e17e728469e0a83527aaa11329cd11d78911a996802d011b2539f""168N9ALjsweMQJu5xoJxv1bGPaSnRtf5bV"UOP_DUP OP_HASH160 383d30226ea3f3d5fa57c760e2c0ee9d25dc9f2a OP_EQUALVERIFY OP_CHECKSIG*276a914383d30226ea3f3d5fa57c760e2c0ee9d25dc9f2a88ac*"168N9ALjsweMQJu5xoJxv1bGPaSnRtf5bV8"J " Bdb955aa8f8533f04208f79d58c2fcee3eea8ae8a5f92ae2113323816be99357b:0@db955aa8f8533f04208f79d58c2fcee3eea8ae8a5f92ae2113323816be99357b""1P6YqUZiWXEv9fEgyiLVNW9Gh1PERM18cb"UOP_DUP OP_HASH160 f25f6c16cd1579afd8091cb88d9d7ffabd37005b OP_EQUALVERIFY OP_CHECKSIG*276a914f25f6c16cd1579afd8091cb88d9d7ffabd37005b88ac*"1P6YqUZiWXEv9fEgyiLVNW9Gh1PERM18cb8$J " B2b91df0099343c0117626264c14b1c6b672b5409f94e5a80381d72b1466eb834:0@2b91df0099343c0117626264c14b1c6b672b5409f94e5a80381d72b1466eb834"!1neqRxoVNEFq2fcJrH5hZR1uKxPQsS8yX"UOP_DUP OP_HASH160 08a24d25808ee409852f85ac209be508a64111a6 OP_EQUALVERIFY OP_CHECKSIG*276a91408a24d25808ee409852f85ac209be508a64111a688ac*!1neqRxoVNEFq2fcJrH5hZR1uKxPQsS8yX8ߏ#J " Bb8a9d013591082abdf0273d07a382fe03599ed379f76d759ed1cdaf9dd08c64b:0@b8a9d013591082abdf0273d07a382fe03599ed379f76d759ed1cdaf9dd08c64b""17gBBvzdah4LsT26gMAqLcGGXMSEhSBWhu"UOP_DUP OP_HASH160 49397b6bd3f24f311a793a8d6865dbeb83df73da OP_EQUALVERIFY OP_CHECKSIG*276a91449397b6bd3f24f311a793a8d6865dbeb83df73da88ac*"17gBBvzdah4LsT26gMAqLcGGXMSEhSBWhu8#J " -B70b432c4f9e13cad48238f81a1bf074927ba2f3963a28fc21c803b03484b5e75:0:@70b432c4f9e13cad48238f81a1bf074927ba2f3963a28fc21c803b03484b5e75""1E2ZWyxjA7KLZc5B6V3r2tW5XMtx2BA9e1"UOP_DUP OP_HASH160 8ee531e638fd90018ef1192807f8c7c643dab228 OP_EQUALVERIFY OP_CHECKSIG*276a9148ee531e638fd90018ef1192807f8c7c643dab22888ac*"1E2ZWyxjA7KLZc5B6V3r2tW5XMtx2BA9e18#J " -B71a6eec04a3abf90d8905ff6dfe58538cdbf4c90f363770c2aeeb42ecc27a6d7:1@71a6eec04a3abf90d8905ff6dfe58538cdbf4c90f363770c2aeeb42ecc27a6d7""12UUMtQu2e2H2bYmniSA87zkKXbP3EA9mW"UOP_DUP OP_HASH160 102a32216801451f426276c0c5687e0559a1dafb OP_EQUALVERIFY OP_CHECKSIG*276a914102a32216801451f426276c0c5687e0559a1dafb88ac*"12UUMtQu2e2H2bYmniSA87zkKXbP3EA9mW8$J " -Bbfe30a77a558b1d70e57ca6ca2294f57388f8da9b4e8d760d087f2ab4de76f58:0 @bfe30a77a558b1d70e57ca6ca2294f57388f8da9b4e8d760d087f2ab4de76f58""1J8CMnpoUDmjb41LxX3vMGWtn4ggDhRBvE"UOP_DUP OP_HASH160 bbd68817c89b596f18838cf3c32339900eeb56da OP_EQUALVERIFY OP_CHECKSIG*276a914bbd68817c89b596f18838cf3c32339900eeb56da88ac*"1J8CMnpoUDmjb41LxX3vMGWtn4ggDhRBvE8$J " +Bbfe30a77a558b1d70e57ca6ca2294f57388f8da9b4e8d760d087f2ab4de76f58:0 @bfe30a77a558b1d70e57ca6ca2294f57388f8da9b4e8d760d087f2ab4de76f58""1J8CMnpoUDmjb41LxX3vMGWtn4ggDhRBvE"UOP_DUP OP_HASH160 bbd68817c89b596f18838cf3c32339900eeb56da OP_EQUALVERIFY OP_CHECKSIG*276a914bbd68817c89b596f18838cf3c32339900eeb56da88ac*"1J8CMnpoUDmjb41LxX3vMGWtn4ggDhRBvE8$J " +B7a035f890db52ddb7a4339b2ce5d6b08c7d46283ce2d4a44329000094a9861d7:0@@7a035f890db52ddb7a4339b2ce5d6b08c7d46283ce2d4a44329000094a9861d7""14reEhoEUtyJ8gg9U2J3QJ4jxjZUG8CzrZ"UOP_DUP OP_HASH160 2a4bd7be56d846c94de925f7133abae31a197bd8 OP_EQUALVERIFY OP_CHECKSIG*276a9142a4bd7be56d846c94de925f7133abae31a197bd888ac*"14reEhoEUtyJ8gg9U2J3QJ4jxjZUG8CzrZ8$J " Bba63465ebd93cb991a88d3529d7f984378866025e32f2474b8d1385623e156c6:0F@ba63465ebd93cb991a88d3529d7f984378866025e32f2474b8d1385623e156c6"!1Tse3ew7M9FPTJEgZEuWTKRgL9qLKqH3M"UOP_DUP OP_HASH160 051516096af700e784c3f8ba49dd4e985f6f8cfe OP_EQUALVERIFY OP_CHECKSIG*276a914051516096af700e784c3f8ba49dd4e985f6f8cfe88ac*!1Tse3ew7M9FPTJEgZEuWTKRgL9qLKqH3M8#J " Bc4ffc67251669eb34c062ff38c506d8107270143636d27462f14267793dea41b:0@c4ffc67251669eb34c062ff38c506d8107270143636d27462f14267793dea41b""16qXutKEQD5rxSvQmwW4P3pFgYEN9EP5ND"UOP_DUP OP_HASH160 400666224999ad2ac56d6816c41736e91f9f6afd OP_EQUALVERIFY OP_CHECKSIG*276a914400666224999ad2ac56d6816c41736e91f9f6afd88ac*"16qXutKEQD5rxSvQmwW4P3pFgYEN9EP5ND8$J " -B7fa7c27902d4f23ab509fc276e32c0ae0a6b566b8e93d0056f5bfede25468ee7:0@7fa7c27902d4f23ab509fc276e32c0ae0a6b566b8e93d0056f5bfede25468ee7""15wtseJ33NQMJBPoifz4xWeKAPH3QBn1e3"UOP_DUP OP_HASH160 3642443ff5adbc1be82e34420bcca8922476d9fa OP_EQUALVERIFY OP_CHECKSIG*276a9143642443ff5adbc1be82e34420bcca8922476d9fa88ac*"15wtseJ33NQMJBPoifz4xWeKAPH3QBn1e38#J " -B35a2e54b38ed9d98894e2c38cc0f758c5594c292a5329de9326ec4588b2e3b28:0ӳ/@35a2e54b38ed9d98894e2c38cc0f758c5594c292a5329de9326ec4588b2e3b28""1M7jasowfCHf2bD7ozZSJK1yXrK7o4WNtU"UOP_DUP OP_HASH160 dca88f0ff51d18eb398cae7d9b0e4f24aef0f597 OP_EQUALVERIFY OP_CHECKSIG*276a914dca88f0ff51d18eb398cae7d9b0e4f24aef0f59788ac*"1M7jasowfCHf2bD7ozZSJK1yXrK7o4WNtU8ƒ$J " -B55b046d3bb500a50b2d40fc810890ae78418fe48915fb3260473fa86a1b99cc5:1@55b046d3bb500a50b2d40fc810890ae78418fe48915fb3260473fa86a1b99cc5""14ewaAv6H8LB858RnLrkSfPywg3KWYHsND"UOP_DUP OP_HASH160 28155280b507df346b4897ab2f456d3bb356ef0f OP_EQUALVERIFY OP_CHECKSIG*276a91428155280b507df346b4897ab2f456d3bb356ef0f88ac*"14ewaAv6H8LB858RnLrkSfPywg3KWYHsND8#J " -Bb4efa7d6ac46ec91798318d281e161e3b6c774b210945e7111271b6add53fb18:0׍@b4efa7d6ac46ec91798318d281e161e3b6c774b210945e7111271b6add53fb18""13sYbMtZcD999tMPxh1hifGsvtkK9VsJYZ"UOP_DUP OP_HASH160 1f7f6bf31a45ecf3c290d69ceed94e9dc1accb69 OP_EQUALVERIFY OP_CHECKSIG*276a9141f7f6bf31a45ecf3c290d69ceed94e9dc1accb6988ac*"13sYbMtZcD999tMPxh1hifGsvtkK9VsJYZ8$J " +B7fa7c27902d4f23ab509fc276e32c0ae0a6b566b8e93d0056f5bfede25468ee7:0@7fa7c27902d4f23ab509fc276e32c0ae0a6b566b8e93d0056f5bfede25468ee7""15wtseJ33NQMJBPoifz4xWeKAPH3QBn1e3"UOP_DUP OP_HASH160 3642443ff5adbc1be82e34420bcca8922476d9fa OP_EQUALVERIFY OP_CHECKSIG*276a9143642443ff5adbc1be82e34420bcca8922476d9fa88ac*"15wtseJ33NQMJBPoifz4xWeKAPH3QBn1e38#J " +Bdd325586fb77368087bd68a8d84d28b7baca408ac3fbaceddaacd89e6beea4af:1@dd325586fb77368087bd68a8d84d28b7baca408ac3fbaceddaacd89e6beea4af""14isvvbhVA5ByVZ8oD44g8GgRvqWubYwYM"UOP_DUP OP_HASH160 28d3f21e91f102d7c5561f124b608f12fa347cd1 OP_EQUALVERIFY OP_CHECKSIG*276a91428d3f21e91f102d7c5561f124b608f12fa347cd188ac*"14isvvbhVA5ByVZ8oD44g8GgRvqWubYwYM8Ȣ$J " +Bdde29226a6217894784f487176ce4c3c1eed5cfdd7403c79ddf5e231faae3cbe:0o@dde29226a6217894784f487176ce4c3c1eed5cfdd7403c79ddf5e231faae3cbe""177XjHfz7i15rR3dW3cuXM787AW2e6adcz"UOP_DUP OP_HASH160 430ce6de4857d4f7a68d62ffe0feb4e101b80681 OP_EQUALVERIFY OP_CHECKSIG*276a914430ce6de4857d4f7a68d62ffe0feb4e101b8068188ac*"177XjHfz7i15rR3dW3cuXM787AW2e6adcz8$J " +B0e320c84dcaefd743d7900dc4f543cd92187b70bdd0f1598f832c90ef0767915:0%@0e320c84dcaefd743d7900dc4f543cd92187b70bdd0f1598f832c90ef0767915""1MoeUv4ApbLpwL2qUWkQLu84KuEkeZKzJf"UOP_DUP OP_HASH160 e434f00e8aa96958bbc790cc16415518761bcb17 OP_EQUALVERIFY OP_CHECKSIG*276a914e434f00e8aa96958bbc790cc16415518761bcb1788ac*"1MoeUv4ApbLpwL2qUWkQLu84KuEkeZKzJf8$J " +B55b046d3bb500a50b2d40fc810890ae78418fe48915fb3260473fa86a1b99cc5:1@55b046d3bb500a50b2d40fc810890ae78418fe48915fb3260473fa86a1b99cc5""14ewaAv6H8LB858RnLrkSfPywg3KWYHsND"UOP_DUP OP_HASH160 28155280b507df346b4897ab2f456d3bb356ef0f OP_EQUALVERIFY OP_CHECKSIG*276a91428155280b507df346b4897ab2f456d3bb356ef0f88ac*"14ewaAv6H8LB858RnLrkSfPywg3KWYHsND8#J " +Bdd325586fb77368087bd68a8d84d28b7baca408ac3fbaceddaacd89e6beea4af:0@dd325586fb77368087bd68a8d84d28b7baca408ac3fbaceddaacd89e6beea4af""14isvvbhVA5ByVZ8oD44g8GgRvqWubYwYM"UOP_DUP OP_HASH160 28d3f21e91f102d7c5561f124b608f12fa347cd1 OP_EQUALVERIFY OP_CHECKSIG*276a91428d3f21e91f102d7c5561f124b608f12fa347cd188ac*"14isvvbhVA5ByVZ8oD44g8GgRvqWubYwYM8Ȣ$J  +" B2308dbba44337d89df92ba8b2671f00e762dc407659376bc5d03a10d9710f42d:0@2308dbba44337d89df92ba8b2671f00e762dc407659376bc5d03a10d9710f42d""18yaeZveRm1sMLz9J4hqDVYubscEVMM3Ti"UOP_DUP OP_HASH160 577c43158c075c1f2b50aa9720b9c990c63b5954 OP_EQUALVERIFY OP_CHECKSIG*276a914577c43158c075c1f2b50aa9720b9c990c63b595488ac*"18yaeZveRm1sMLz9J4hqDVYubscEVMM3Ti8#J " -B57c097044ecdeb7db595bc211734df283184347a0db45c31625d73ab11f593c4:0@57c097044ecdeb7db595bc211734df283184347a0db45c31625d73ab11f593c4""1NXjodtwW3FbQfggeMU6Z2S98xQcTAEAQY"UOP_DUP OP_HASH160 ec2ad9f23874cc9f9763d865a09ba623b1df13cb OP_EQUALVERIFY OP_CHECKSIG*276a914ec2ad9f23874cc9f9763d865a09ba623b1df13cb88ac*"1NXjodtwW3FbQfggeMU6Z2S98xQcTAEAQY8ׁ$J  " B2f65b94ebe91af845f430aebb84fd194484a40c21e8035d4d92a960110c6df49:0@2f65b94ebe91af845f430aebb84fd194484a40c21e8035d4d92a960110c6df49""15xv2KK2Ccz8fKhDPQmHr4AdcBJjZnnvNX"UOP_DUP OP_HASH160 3673a46363f4b735b69065bee60f912e5e0a3965 OP_EQUALVERIFY OP_CHECKSIG*276a9143673a46363f4b735b69065bee60f912e5e0a396588ac*"15xv2KK2Ccz8fKhDPQmHr4AdcBJjZnnvNX8$J " B4ad3740fef4916777116bd950b0b7f74a952c786e19e9073f3e7b2b2fbda6a7e:1@4ad3740fef4916777116bd950b0b7f74a952c786e19e9073f3e7b2b2fbda6a7e""19qTYxCAfc2TZ3oFGrvXMsKKFgbUtvRDJ6"UOP_DUP OP_HASH160 60eb22d1108c3f7630345379daa9fdc4c6723f9e OP_EQUALVERIFY OP_CHECKSIG*276a91460eb22d1108c3f7630345379daa9fdc4c6723f9e88ac*"19qTYxCAfc2TZ3oFGrvXMsKKFgbUtvRDJ68#J " Bd4aab64062d79e03471328e9e5547a9f18b721bc7db489cd596c7bfe22d70932:0M@d4aab64062d79e03471328e9e5547a9f18b721bc7db489cd596c7bfe22d70932""1GnYcZNLhCYxKX3HWToD6WJa34Utq5WzhY"UOP_DUP OP_HASH160 ad26fe8a64005648eb147a646a815e8a210fbd04 OP_EQUALVERIFY OP_CHECKSIG*276a914ad26fe8a64005648eb147a646a815e8a210fbd0488ac*"1GnYcZNLhCYxKX3HWToD6WJa34Utq5WzhY8#J " B6a18791e6ee7ccf1d0fde167ec98601df9fba916ef3110ce9d29ba6ebd7e5834:0І@6a18791e6ee7ccf1d0fde167ec98601df9fba916ef3110ce9d29ba6ebd7e5834""132GxBCmw7NdBnSo6GAV8gPjdm2mG1vBJL"UOP_DUP OP_HASH160 162dfba6a2eae8853c366ab0e5036cc4ecac6b17 OP_EQUALVERIFY OP_CHECKSIG*276a914162dfba6a2eae8853c366ab0e5036cc4ecac6b1788ac*"132GxBCmw7NdBnSo6GAV8gPjdm2mG1vBJL8"J " B7a5641077668a871cdfb5cb4fcb4b9a42b75b583c2c99b1358fed3c6b22982e9:0@7a5641077668a871cdfb5cb4fcb4b9a42b75b583c2c99b1358fed3c6b22982e9""1EFBMWJWzJdHpDMgLsbiDa2D6rCCyxY1ty"UOP_DUP OP_HASH160 914819f23c849221095f8e8347beed03438d1cae OP_EQUALVERIFY OP_CHECKSIG*276a914914819f23c849221095f8e8347beed03438d1cae88ac*"1EFBMWJWzJdHpDMgLsbiDa2D6rCCyxY1ty8$J " -B5eeb00aa0df81a196b3e2c41693ba0017dc11e771f44f52285e754fd5646a98a:0ـ@5eeb00aa0df81a196b3e2c41693ba0017dc11e771f44f52285e754fd5646a98a""1EBC1h2VihFcvt1fGnmQvEv5JsGYMhqMWj"UOP_DUP OP_HASH160 9086fcb10ff8af4df41a558d154922385cf3af5a OP_EQUALVERIFY OP_CHECKSIG*276a9149086fcb10ff8af4df41a558d154922385cf3af5a88ac*"1EBC1h2VihFcvt1fGnmQvEv5JsGYMhqMWj8$J " -B0431ec3dc60c8ef1fdfdef88704752af3ec75174ff0ee805f0b9c32099910d14:0Â@0431ec3dc60c8ef1fdfdef88704752af3ec75174ff0ee805f0b9c32099910d14""1BgjYrAa8C8VxwEpEHXQntAJ65qW4S2Jy4"UOP_DUP OP_HASH160 7534ffa0b1442700ee9b58bbe7249d3619d71ad6 OP_EQUALVERIFY OP_CHECKSIG*276a9147534ffa0b1442700ee9b58bbe7249d3619d71ad688ac*"1BgjYrAa8C8VxwEpEHXQntAJ65qW4S2Jy48̏$J " -B5eeb00aa0df81a196b3e2c41693ba0017dc11e771f44f52285e754fd5646a98a:1z@5eeb00aa0df81a196b3e2c41693ba0017dc11e771f44f52285e754fd5646a98a""15MXgGvkoCQTpvaP1LeGXkEeeW9A4NYMQW"UOP_DUP OP_HASH160 2fc26e2c610756ce7bd23bfb85257a73cef49bd0 OP_EQUALVERIFY OP_CHECKSIG*276a9142fc26e2c610756ce7bd23bfb85257a73cef49bd088ac*"15MXgGvkoCQTpvaP1LeGXkEeeW9A4NYMQW8$J " +B18f50d0b76c89d14c9f8e51f03c553026f2a68e11d9457ef0b1db71be8d5fc0a:0@18f50d0b76c89d14c9f8e51f03c553026f2a68e11d9457ef0b1db71be8d5fc0a""1Cm77sP9pnQk1EkssePzVULC1KXc29KJPq"UOP_DUP OP_HASH160 8100cb189d0fa0dcb723695ec65c4e5ce046b9c4 OP_EQUALVERIFY OP_CHECKSIG*276a9148100cb189d0fa0dcb723695ec65c4e5ce046b9c488ac*"1Cm77sP9pnQk1EkssePzVULC1KXc29KJPq8$J " B9b00d0995250d7b9140bc8940c249d0f495f8bb48bfc9dea167eaa602278ed5b:0 @9b00d0995250d7b9140bc8940c249d0f495f8bb48bfc9dea167eaa602278ed5b""1FsWFkK3yf1jGPa43311GcGVDLPjEraeAU"UOP_DUP OP_HASH160 a31efab25afc3fb8a7bb8f35881162f178cff30b OP_EQUALVERIFY OP_CHECKSIG*276a914a31efab25afc3fb8a7bb8f35881162f178cff30b88ac*"1FsWFkK3yf1jGPa43311GcGVDLPjEraeAU8#J " B9bb6939bb3d006376ae520b518d01cfe450db91c23254e001f205194555c2d57:0 @9bb6939bb3d006376ae520b518d01cfe450db91c23254e001f205194555c2d57""15G8kxFbWYSqoQw5v1qUUkLA8PX7oiEfd5"UOP_DUP OP_HASH160 2ebd37ec5cc01ae7380abbd057b34381f65d6308 OP_EQUALVERIFY OP_CHECKSIG*276a9142ebd37ec5cc01ae7380abbd057b34381f65d630888ac*"15G8kxFbWYSqoQw5v1qUUkLA8PX7oiEfd58#J " -B58c04f3ddfd2d5d1274cef713818de5904dbd7c8c88d9f6b257c42c65174117a:1@58c04f3ddfd2d5d1274cef713818de5904dbd7c8c88d9f6b257c42c65174117a""16mFZVWaYupiUmKaBAcExA6PCWjT1QRCvW"UOP_DUP OP_HASH160 3f3715e200eb669443d0aa83c8f45c3d76438240 OP_EQUALVERIFY OP_CHECKSIG*276a9143f3715e200eb669443d0aa83c8f45c3d7643824088ac*"16mFZVWaYupiUmKaBAcExA6PCWjT1QRCvW8Ǒ#J " -B95cf622f54eea5a1b860bd9eb82ae08e01b3e9b8b72e4d0cf0a0028849b04cae:16@95cf622f54eea5a1b860bd9eb82ae08e01b3e9b8b72e4d0cf0a0028849b04cae""1444gj5YXsE1w2yRvu5SLp6U8Ycj95k6Nj"UOP_DUP OP_HASH160 217cb3857043d992321889c62061b3ec91298ee7 OP_EQUALVERIFY OP_CHECKSIG*276a914217cb3857043d992321889c62061b3ec91298ee788ac*"1444gj5YXsE1w2yRvu5SLp6U8Ycj95k6Nj8$J " -B7dd88684e423fba2f35785a8317cc5ca9a1fad6007c1fc7bc0284ab11248b803:0؈ -@7dd88684e423fba2f35785a8317cc5ca9a1fad6007c1fc7bc0284ab11248b803""14yQSTcmSDbnuiT1Ax99aAWWGqqCxPWVEV"UOP_DUP OP_HASH160 2b933cafe45475e9a79ac870213c5aeeef92dd7f OP_EQUALVERIFY OP_CHECKSIG*276a9142b933cafe45475e9a79ac870213c5aeeef92dd7f88ac*"14yQSTcmSDbnuiT1Ax99aAWWGqqCxPWVEV8œ$J " -B57d743b852e987cb7b51b34d37e21d1103df66355e448b19076d2e188f77ce74:0K@57d743b852e987cb7b51b34d37e21d1103df66355e448b19076d2e188f77ce74""1HNxB43L1mswHgQwkwkQdZiDkYxw3sp3Bj"UOP_DUP OP_HASH160 b3a8cdd9c4291801f5a4d02db8c1062d6fbadc45 OP_EQUALVERIFY OP_CHECKSIG*276a914b3a8cdd9c4291801f5a4d02db8c1062d6fbadc4588ac*"1HNxB43L1mswHgQwkwkQdZiDkYxw3sp3Bj8$J " -Bca6216b270d685012ebecb379c8861d595cf36b267e6208e7d41231df937bcb8:1 @ca6216b270d685012ebecb379c8861d595cf36b267e6208e7d41231df937bcb8""18q9N8HGSNFdMEoRnYtDSfzNBtzAy3ayTc"UOP_DUP OP_HASH160 55e3d429c8cb677f3b3111f90f2149c019570453 OP_EQUALVERIFY OP_CHECKSIG*276a91455e3d429c8cb677f3b3111f90f2149c01957045388ac*"18q9N8HGSNFdMEoRnYtDSfzNBtzAy3ayTc8#J " -Befd972f4b9a377e23d3da4ae488c6e917024a9ff5e855eb5cdf134087b524bde:0*@efd972f4b9a377e23d3da4ae488c6e917024a9ff5e855eb5cdf134087b524bde""1KbfKiuFGTUM25TubQzUaZ5pw97SJsLSDB"UOP_DUP OP_HASH160 cc0065a67cd37253a119623b608c978de6d1595b OP_EQUALVERIFY OP_CHECKSIG*276a914cc0065a67cd37253a119623b608c978de6d1595b88ac*"1KbfKiuFGTUM25TubQzUaZ5pw97SJsLSDB8#J " -Bce01801ad24ff4d4720b801440c5370d796958bac8e7117aa78c764f98c5dbb0:0 @ce01801ad24ff4d4720b801440c5370d796958bac8e7117aa78c764f98c5dbb0""189CFwdcA97SzSsczvzzXZQ69a7FtaGXVN"UOP_DUP OP_HASH160 4e559b06820c89d8d8a80af5425891f187a4c205 OP_EQUALVERIFY OP_CHECKSIG*276a9144e559b06820c89d8d8a80af5425891f187a4c20588ac*"189CFwdcA97SzSsczvzzXZQ69a7FtaGXVN8$J " +B58c04f3ddfd2d5d1274cef713818de5904dbd7c8c88d9f6b257c42c65174117a:1@58c04f3ddfd2d5d1274cef713818de5904dbd7c8c88d9f6b257c42c65174117a""16mFZVWaYupiUmKaBAcExA6PCWjT1QRCvW"UOP_DUP OP_HASH160 3f3715e200eb669443d0aa83c8f45c3d76438240 OP_EQUALVERIFY OP_CHECKSIG*276a9143f3715e200eb669443d0aa83c8f45c3d7643824088ac*"16mFZVWaYupiUmKaBAcExA6PCWjT1QRCvW8Ǒ#J " +B9de7c6b14246d44e689fd11986bdf4361d6b01d582aaae85ca4d0b6005552764:0@9de7c6b14246d44e689fd11986bdf4361d6b01d582aaae85ca4d0b6005552764""16fibTACUWtaZhBGNQeb5hDfQGyyBwsF6N"UOP_DUP OP_HASH160 3e2b2808362c6c3d8315aaafcb1f5c58bef0bef5 OP_EQUALVERIFY OP_CHECKSIG*276a9143e2b2808362c6c3d8315aaafcb1f5c58bef0bef588ac*"16fibTACUWtaZhBGNQeb5hDfQGyyBwsF6N8$J " +B4c6e5299cfc1dbbd2c354960df41ac9bf4184fb71b4c2039e18677146e89d4a7:0ǰ@4c6e5299cfc1dbbd2c354960df41ac9bf4184fb71b4c2039e18677146e89d4a7""1NqMKS1NmftC5hZj1ha5cmHemHNRyL5Dmu"UOP_DUP OP_HASH160 ef7f916be3409335f8e70bf055c3e1f7944560fa OP_EQUALVERIFY OP_CHECKSIG*276a914ef7f916be3409335f8e70bf055c3e1f7944560fa88ac*"1NqMKS1NmftC5hZj1ha5cmHemHNRyL5Dmu8$J " +Bbd8125f25be4095f8440a34d2387635975140dd6fef453e32dfce377f9bff969:0M@bd8125f25be4095f8440a34d2387635975140dd6fef453e32dfce377f9bff969""151GYTPfnDYHjQBFGH5WFyQ47nf65vo6KJ"UOP_DUP OP_HASH160 2bed7a2ae4fa3661b7262c74f869bd2972435020 OP_EQUALVERIFY OP_CHECKSIG*276a9142bed7a2ae4fa3661b7262c74f869bd297243502088ac*"151GYTPfnDYHjQBFGH5WFyQ47nf65vo6KJ8$J " +Bca6216b270d685012ebecb379c8861d595cf36b267e6208e7d41231df937bcb8:1 @ca6216b270d685012ebecb379c8861d595cf36b267e6208e7d41231df937bcb8""18q9N8HGSNFdMEoRnYtDSfzNBtzAy3ayTc"UOP_DUP OP_HASH160 55e3d429c8cb677f3b3111f90f2149c019570453 OP_EQUALVERIFY OP_CHECKSIG*276a91455e3d429c8cb677f3b3111f90f2149c01957045388ac*"18q9N8HGSNFdMEoRnYtDSfzNBtzAy3ayTc8#J " +B88d2fecca9bfbdc4a87011030e972d4c329a885d185200945626cf3c8dae3ecb:0@88d2fecca9bfbdc4a87011030e972d4c329a885d185200945626cf3c8dae3ecb""1ExAhqKQLwGunrAmyPvyyKf9fa25347fdA"UOP_DUP OP_HASH160 99089d147ee0b9d8072016a7f2db97b0fb7b1da5 OP_EQUALVERIFY OP_CHECKSIG*276a91499089d147ee0b9d8072016a7f2db97b0fb7b1da588ac*"1ExAhqKQLwGunrAmyPvyyKf9fa25347fdA8٣$J " Bef3a0b5f01279e8765c73d6081b009215931a5d43614ca8b46acce3ea63a1577:0&@ef3a0b5f01279e8765c73d6081b009215931a5d43614ca8b46acce3ea63a1577""19KQRTvgc2ftudDjFzxargYFVHY2XT7b1A"UOP_DUP OP_HASH160 5b3c0b8c987a2eef33478938406f43812b88451e OP_EQUALVERIFY OP_CHECKSIG*276a9145b3c0b8c987a2eef33478938406f43812b88451e88ac*"19KQRTvgc2ftudDjFzxargYFVHY2XT7b1A8#J " B2eed0fe851d65d5998e76afe91d9347f4ee8a7c1912538b8db4e8cd00a43847a:0@2eed0fe851d65d5998e76afe91d9347f4ee8a7c1912538b8db4e8cd00a43847a""1CLr6wd4qKRZmmRaUTRn8rtbf4CcxDPY2V"UOP_DUP OP_HASH160 7c6a468a8e0cf0e0a476440c93826ec5c4fdc67c OP_EQUALVERIFY OP_CHECKSIG*276a9147c6a468a8e0cf0e0a476440c93826ec5c4fdc67c88ac*"1CLr6wd4qKRZmmRaUTRn8rtbf4CcxDPY2V8#J " Bdfae4e5b4c1e39a8d5554e4c74d88d4b9a7fe6cfabc3f6450938fb5e3fc95ec9:0@dfae4e5b4c1e39a8d5554e4c74d88d4b9a7fe6cfabc3f6450938fb5e3fc95ec9""1ACNVq8CCptzyP7ynYT7EazvSGFUEyf9JH"UOP_DUP OP_HASH160 64dfa708e05439ea8bbbbdeb9ba9a45d6f74397a OP_EQUALVERIFY OP_CHECKSIG*276a91464dfa708e05439ea8bbbbdeb9ba9a45d6f74397a88ac*"1ACNVq8CCptzyP7ynYT7EazvSGFUEyf9JH8"J " Bb08528855f60bde1a9fd493e1d518f984a191d5d67e3e753f22ab379325a9433:0@b08528855f60bde1a9fd493e1d518f984a191d5d67e3e753f22ab379325a9433""1Aayg7s3jQCVZkFi5YEKZFQUke54oBwjdJ"UOP_DUP OP_HASH160 69262b12150e848576ff2288dd09771b5c06dafd OP_EQUALVERIFY OP_CHECKSIG*276a91469262b12150e848576ff2288dd09771b5c06dafd88ac*"1Aayg7s3jQCVZkFi5YEKZFQUke54oBwjdJ8#J " -Ba5203d90db2c05dcb72edd670501eb7a1a92236bd05b6d94bdef8b371c130306:0@a5203d90db2c05dcb72edd670501eb7a1a92236bd05b6d94bdef8b371c130306""169zhhW4bgAPxDPvvN2Fao3PhnCuTdu3RN"UOP_DUP OP_HASH160 388c1fa1c7422826f0b5a6628be26f4595134bbd OP_EQUALVERIFY OP_CHECKSIG*276a914388c1fa1c7422826f0b5a6628be26f4595134bbd88ac*"169zhhW4bgAPxDPvvN2Fao3PhnCuTdu3RN8$J " -B4985dae726d73b4e470356660120d99b73cf6169726bfad7a4d2c59b8328079f:0J@4985dae726d73b4e470356660120d99b73cf6169726bfad7a4d2c59b8328079f""1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY"UOP_DUP OP_HASH160 79a2f7d6d53eaff291543f9aea88eab1376d7db5 OP_EQUALVERIFY OP_CHECKSIG*276a91479a2f7d6d53eaff291543f9aea88eab1376d7db588ac*"1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY8#J " -B0160fc7f29a2c4de404825b7079d9cb5f7bf016b65e9ebf83c28fd9641c6edae:0@0160fc7f29a2c4de404825b7079d9cb5f7bf016b65e9ebf83c28fd9641c6edae""1AStbY7JG7AmJF4Z1M8E7qHxtZbW9CG4ux"UOP_DUP OP_HASH160 679e99cf0468d96a92c8bfc7ec4a2fa7d6fb7c5c OP_EQUALVERIFY OP_CHECKSIG*276a914679e99cf0468d96a92c8bfc7ec4a2fa7d6fb7c5c88ac*"1AStbY7JG7AmJF4Z1M8E7qHxtZbW9CG4ux8ғ$J " +Bca71aee1c07b7f6ee697c9b7b88fde70fe1dea3dac12db9c044ce1a6eefd8949:0J@ca71aee1c07b7f6ee697c9b7b88fde70fe1dea3dac12db9c044ce1a6eefd8949""18Js53SC7UvxichoymPq1vQgruzguhLwDc"UOP_DUP OP_HASH160 5029bf76ef134d7cb016d9660f56a3f81d0a205e OP_EQUALVERIFY OP_CHECKSIG*276a9145029bf76ef134d7cb016d9660f56a3f81d0a205e88ac*"18Js53SC7UvxichoymPq1vQgruzguhLwDc8$J " Bedd7927329666a7153d182d990bdb5e621eaefc0fb7dc336f74b33bde88ff5f5:1@edd7927329666a7153d182d990bdb5e621eaefc0fb7dc336f74b33bde88ff5f5""1BZWN35GgM8bSL2VMfgAb4cijcp3VaXpp7"UOP_DUP OP_HASH160 73d714504f702294e8c0b250d3ed42ff1245e862 OP_EQUALVERIFY OP_CHECKSIG*276a91473d714504f702294e8c0b250d3ed42ff1245e86288ac*"1BZWN35GgM8bSL2VMfgAb4cijcp3VaXpp78#J " -B00c37b9d62aeff679e2daa52bbe880b772b7244a632834933894f5fc72c7f753:0@00c37b9d62aeff679e2daa52bbe880b772b7244a632834933894f5fc72c7f753""17Avd1bPSJeLR8zTTc76jCRJNZpNPrA73M"UOP_DUP OP_HASH160 43b14240f236715252a0a4b02e88b3061ad9184d OP_EQUALVERIFY OP_CHECKSIG*276a91443b14240f236715252a0a4b02e88b3061ad9184d88ac*"17Avd1bPSJeLR8zTTc76jCRJNZpNPrA73M8#J " -Bbd17e4387b0df0d65a3a982a7f28e1703811b8b79cf7675555435ae68a4e5336:0@bd17e4387b0df0d65a3a982a7f28e1703811b8b79cf7675555435ae68a4e5336""1EfvLsCqbAP9n1DBAss3FPzRFRJGmw9M7y"UOP_DUP OP_HASH160 95f5f8464399c65207c16b5ca585b08aefde5027 OP_EQUALVERIFY OP_CHECKSIG*276a91495f5f8464399c65207c16b5ca585b08aefde502788ac*"1EfvLsCqbAP9n1DBAss3FPzRFRJGmw9M7y8$J " +Bcc9187cb55e3e094577d7b19cab5562e2f9174523798f7ca819557f489728cfd:0(@cc9187cb55e3e094577d7b19cab5562e2f9174523798f7ca819557f489728cfd""18a5dAmEuxY9ApP14sP6kG7WmRgkQiUru2"UOP_DUP OP_HASH160 530a778091696beb32f8494925a3c357d8b5e815 OP_EQUALVERIFY OP_CHECKSIG*276a914530a778091696beb32f8494925a3c357d8b5e81588ac*"18a5dAmEuxY9ApP14sP6kG7WmRgkQiUru28$J " +B00c37b9d62aeff679e2daa52bbe880b772b7244a632834933894f5fc72c7f753:0@00c37b9d62aeff679e2daa52bbe880b772b7244a632834933894f5fc72c7f753""17Avd1bPSJeLR8zTTc76jCRJNZpNPrA73M"UOP_DUP OP_HASH160 43b14240f236715252a0a4b02e88b3061ad9184d OP_EQUALVERIFY OP_CHECKSIG*276a91443b14240f236715252a0a4b02e88b3061ad9184d88ac*"17Avd1bPSJeLR8zTTc76jCRJNZpNPrA73M8#J " Be94e3f784cf5f5a6c0949fb4dc6f1b85b2366cebdddcd36af54ffabf13b6d2c1:0@e94e3f784cf5f5a6c0949fb4dc6f1b85b2366cebdddcd36af54ffabf13b6d2c1""19h5ha3bnvJmeFkSYsC1NLGf9aBjAzk5CW"UOP_DUP OP_HASH160 5f559152bbfce81856ce60a926963c4623fa5cb8 OP_EQUALVERIFY OP_CHECKSIG*276a9145f559152bbfce81856ce60a926963c4623fa5cb888ac*"19h5ha3bnvJmeFkSYsC1NLGf9aBjAzk5CW8$J " Ba1f7f7fc82c60b571c718e8db5d6268962f8e1943b7c70e8553327f067ec5c79:0J@a1f7f7fc82c60b571c718e8db5d6268962f8e1943b7c70e8553327f067ec5c79""1FGMDxNYsjsLgCyjJnupUno9dB5kyLiXAg"UOP_DUP OP_HASH160 9c78e1cb40d7e0cd971d4f8740a31074ff4a025a OP_EQUALVERIFY OP_CHECKSIG*276a9149c78e1cb40d7e0cd971d4f8740a31074ff4a025a88ac*"1FGMDxNYsjsLgCyjJnupUno9dB5kyLiXAg8$J " Bc14382e906add3e621b1d9689becad7dfdbbe88e734bbb24244913a208722048:0U@c14382e906add3e621b1d9689becad7dfdbbe88e734bbb24244913a208722048""12Fxbo5f8a9wU4svyVGDWFrTHzyAQgqf5c"UOP_DUP OP_HASH160 0dcc5c992b506d84eb5f0c5ee63962787372af87 OP_EQUALVERIFY OP_CHECKSIG*276a9140dcc5c992b506d84eb5f0c5ee63962787372af8788ac*"12Fxbo5f8a9wU4svyVGDWFrTHzyAQgqf5c8#J " B1691070cca260e911149d0938a75f794242a4c071f64606df9413dab4d728a1e:0@1691070cca260e911149d0938a75f794242a4c071f64606df9413dab4d728a1e"!1G6YwxHixkcjbBSjnMKnbpptKfedTpDvW"UOP_DUP OP_HASH160 02dadf7e064277d1e134b6cd5d6abc0f0ec45365 OP_EQUALVERIFY OP_CHECKSIG*276a91402dadf7e064277d1e134b6cd5d6abc0f0ec4536588ac*!1G6YwxHixkcjbBSjnMKnbpptKfedTpDvW8˴#J " -Bd8cfdcd03fd05368413aebc77cde6a956f7cd863b1356e7e5823cf56ab6fcd2d:0N@d8cfdcd03fd05368413aebc77cde6a956f7cd863b1356e7e5823cf56ab6fcd2d"!1ZYavuT4yKiUfvX8waifaKVVMUfbwnUe3"UOP_DUP OP_HASH160 0627ad3591437b81ea4c5630d145477ee64e0673 OP_EQUALVERIFY OP_CHECKSIG*276a9140627ad3591437b81ea4c5630d145477ee64e067388ac*!1ZYavuT4yKiUfvX8waifaKVVMUfbwnUe38#J " -B75207f42927c03fb62b402336b0dbf83ccb0e1919ba6f1d6405bb65c8f0b84ee:0@75207f42927c03fb62b402336b0dbf83ccb0e1919ba6f1d6405bb65c8f0b84ee""1N3FJysigDWhCyEP3TQG9PZR2dwYsy6HXL"UOP_DUP OP_HASH160 e6c76b35072d5cf464fbcfdf65badcea33de9934 OP_EQUALVERIFY OP_CHECKSIG*276a914e6c76b35072d5cf464fbcfdf65badcea33de993488ac*"1N3FJysigDWhCyEP3TQG9PZR2dwYsy6HXL8$J " +Bd8cfdcd03fd05368413aebc77cde6a956f7cd863b1356e7e5823cf56ab6fcd2d:0N@d8cfdcd03fd05368413aebc77cde6a956f7cd863b1356e7e5823cf56ab6fcd2d"!1ZYavuT4yKiUfvX8waifaKVVMUfbwnUe3"UOP_DUP OP_HASH160 0627ad3591437b81ea4c5630d145477ee64e0673 OP_EQUALVERIFY OP_CHECKSIG*276a9140627ad3591437b81ea4c5630d145477ee64e067388ac*!1ZYavuT4yKiUfvX8waifaKVVMUfbwnUe38#J " B682c95f1fe1e8de067d691013c968223af3849b95acf04dda6554c2c37f9d33c:1(@682c95f1fe1e8de067d691013c968223af3849b95acf04dda6554c2c37f9d33c""13FEybmTXBXwKeZ3RX1raKThD9t5xMBhEs"UOP_DUP OP_HASH160 18a1bdd20dfd15ff47665fb2610d495ab90832ab OP_EQUALVERIFY OP_CHECKSIG*276a91418a1bdd20dfd15ff47665fb2610d495ab90832ab88ac*"13FEybmTXBXwKeZ3RX1raKThD9t5xMBhEs8#J " B93d9cbec919511bda40a10f4e719ef17c95c0c11e0fe9966c3233361e00b8745:0=@93d9cbec919511bda40a10f4e719ef17c95c0c11e0fe9966c3233361e00b8745""17xAurkaDpzDoJk9gRRCZeV7ATsnpkBZYj"UOP_DUP OP_HASH160 4c3fe7fae20bdfa6386a3c6ad0bf7fa4038f1f1b OP_EQUALVERIFY OP_CHECKSIG*276a9144c3fe7fae20bdfa6386a3c6ad0bf7fa4038f1f1b88ac*"17xAurkaDpzDoJk9gRRCZeV7ATsnpkBZYj8#J  " -B39b3491cfb88de3daec290686f56e4f11c5c715251650e76531875339fbf9795:1%@39b3491cfb88de3daec290686f56e4f11c5c715251650e76531875339fbf9795""1798Hce67wRRvYzmTdRdZuKW9oUvD8nUqM"UOP_DUP OP_HASH160 435a2a31f04f80e0cf92b2156626c1f6277b82be OP_EQUALVERIFY OP_CHECKSIG*276a914435a2a31f04f80e0cf92b2156626c1f6277b82be88ac*"1798Hce67wRRvYzmTdRdZuKW9oUvD8nUqM8$J " -B771f56a33cdd9dbe058cc83da1221c771dab44d9334d55f14b9559408ca21e85:1=@771f56a33cdd9dbe058cc83da1221c771dab44d9334d55f14b9559408ca21e85""1HbubfBQai9Bsjq9zCasUbaHi3WT1EXVgm"UOP_DUP OP_HASH160 b61c0fbc82840103b127a448c8506bdeef5643fe OP_EQUALVERIFY OP_CHECKSIG*276a914b61c0fbc82840103b127a448c8506bdeef5643fe88ac*"1HbubfBQai9Bsjq9zCasUbaHi3WT1EXVgm8#J " -B7ba84cdac5d905e2e9c1593da058d1bc7fe81e1614e485c3bfa27f288dbe73ca:0@7ba84cdac5d905e2e9c1593da058d1bc7fe81e1614e485c3bfa27f288dbe73ca""15zY9fev1eLbdWLP2ECv4fAKDVctGYPcre"UOP_DUP OP_HASH160 36c2371657463b3cca3599d8e68136e44950dca1 OP_EQUALVERIFY OP_CHECKSIG*276a91436c2371657463b3cca3599d8e68136e44950dca188ac*"15zY9fev1eLbdWLP2ECv4fAKDVctGYPcre8$J " +B771f56a33cdd9dbe058cc83da1221c771dab44d9334d55f14b9559408ca21e85:1=@771f56a33cdd9dbe058cc83da1221c771dab44d9334d55f14b9559408ca21e85""1HbubfBQai9Bsjq9zCasUbaHi3WT1EXVgm"UOP_DUP OP_HASH160 b61c0fbc82840103b127a448c8506bdeef5643fe OP_EQUALVERIFY OP_CHECKSIG*276a914b61c0fbc82840103b127a448c8506bdeef5643fe88ac*"1HbubfBQai9Bsjq9zCasUbaHi3WT1EXVgm8#J " +B92bbc5d3cb6fccf447969e0d0b5382f125e71aae6134a00c61fe3e9a9197d39d:0@92bbc5d3cb6fccf447969e0d0b5382f125e71aae6134a00c61fe3e9a9197d39d""19fad3pdGhPw9pcDqRWx4sVDVJ1agzuUBw"UOP_DUP OP_HASH160 5f0ce0efa422d74efaedbc295f611d6d61cc41c6 OP_EQUALVERIFY OP_CHECKSIG*276a9145f0ce0efa422d74efaedbc295f611d6d61cc41c688ac*"19fad3pdGhPw9pcDqRWx4sVDVJ1agzuUBw8Ÿ$J " +B29ae3fdbc1c9d5f75f31735ba26cf30486eca4eecf63525a39ddbf68cdda751b:0@29ae3fdbc1c9d5f75f31735ba26cf30486eca4eecf63525a39ddbf68cdda751b""169PFVvbksdNWhzow8HQJowWdNvDMNmCFV"UOP_DUP OP_HASH160 386e87ab650dc0b73b30d839517101005921b806 OP_EQUALVERIFY OP_CHECKSIG*276a914386e87ab650dc0b73b30d839517101005921b80688ac*"169PFVvbksdNWhzow8HQJowWdNvDMNmCFV8$J " Bb0ac32f8bfb4670ebade618f6a29f0dcf3e71401bc329b3974f8cd09435e9302:0@b0ac32f8bfb4670ebade618f6a29f0dcf3e71401bc329b3974f8cd09435e9302""1ERb4ebFfT2yrAdKVRkyRuD4yQFkafaNNp"UOP_DUP OP_HASH160 93400d73c57db41ac19aa5ba51a99073c65a7a34 OP_EQUALVERIFY OP_CHECKSIG*276a91493400d73c57db41ac19aa5ba51a99073c65a7a3488ac*"1ERb4ebFfT2yrAdKVRkyRuD4yQFkafaNNp8#J " -Ba4f78ed55b0bc8d45e330e43a83abf2ec715198e290ed8a595d7abcfe74d3ef5:0@a4f78ed55b0bc8d45e330e43a83abf2ec715198e290ed8a595d7abcfe74d3ef5""19S5Lbd4Rsqxedqxs6BS8pjyfSP5YzPnaf"UOP_DUP OP_HASH160 5c7f06c1b4147218225f8a75026c78cc89f87203 OP_EQUALVERIFY OP_CHECKSIG*276a9145c7f06c1b4147218225f8a75026c78cc89f8720388ac*"19S5Lbd4Rsqxedqxs6BS8pjyfSP5YzPnaf8#J " -B38a628b745102d4150c11fcd4e68a6ec1064b6f2ada532fa5920debf89415daf:0T@38a628b745102d4150c11fcd4e68a6ec1064b6f2ada532fa5920debf89415daf""13A5wHXKpKVXqQxTTd5aSNp1ucFtCrVTAG"UOP_DUP OP_HASH160 17a81d944ab3a1a9b4c5f634aa7cdc71a9405b06 OP_EQUALVERIFY OP_CHECKSIG*276a91417a81d944ab3a1a9b4c5f634aa7cdc71a9405b0688ac*"13A5wHXKpKVXqQxTTd5aSNp1ucFtCrVTAG8$J " -B64755af788971b1d804ab887743b74127c410e30d5066ff28855438dc554b5fa:0o@64755af788971b1d804ab887743b74127c410e30d5066ff28855438dc554b5fa""1Q7PqXchhLYqxjZF427CSYtU8nDqz7P7WH"UOP_DUP OP_HASH160 fd8073affb9e242b6eb844142767deab85cd8f1b OP_EQUALVERIFY OP_CHECKSIG*276a914fd8073affb9e242b6eb844142767deab85cd8f1b88ac*"1Q7PqXchhLYqxjZF427CSYtU8nDqz7P7WH8"J " +B64755af788971b1d804ab887743b74127c410e30d5066ff28855438dc554b5fa:0o@64755af788971b1d804ab887743b74127c410e30d5066ff28855438dc554b5fa""1Q7PqXchhLYqxjZF427CSYtU8nDqz7P7WH"UOP_DUP OP_HASH160 fd8073affb9e242b6eb844142767deab85cd8f1b OP_EQUALVERIFY OP_CHECKSIG*276a914fd8073affb9e242b6eb844142767deab85cd8f1b88ac*"1Q7PqXchhLYqxjZF427CSYtU8nDqz7P7WH8"J " +B30ca33094dd0c2540a62251666df62205aefe391dac73ea45fb765b35ff822dc:0r@30ca33094dd0c2540a62251666df62205aefe391dac73ea45fb765b35ff822dc""1EN6MD5HtinyAtHEH6aW4VJ7Q42vuh2dMz"UOP_DUP OP_HASH160 9296d5c3e192efe00d253fa181fbb8366bd566cb OP_EQUALVERIFY OP_CHECKSIG*276a9149296d5c3e192efe00d253fa181fbb8366bd566cb88ac*"1EN6MD5HtinyAtHEH6aW4VJ7Q42vuh2dMz8$J " B8b0427cc2ded88a2b32eab07d242790b268c09ebf4d081023dc672cefc503559:1@8b0427cc2ded88a2b32eab07d242790b268c09ebf4d081023dc672cefc503559""1BqPmPiQBU8baRt2wqdbr62L34qijAEPFS"UOP_DUP OP_HASH160 76d83a42ab308c1477f6894f6f44e44e5f2c11f0 OP_EQUALVERIFY OP_CHECKSIG*276a91476d83a42ab308c1477f6894f6f44e44e5f2c11f088ac*"1BqPmPiQBU8baRt2wqdbr62L34qijAEPFS8#J " -Bb8f606a7db6f5425714486a01ea0c24dfd1941aa83b4cc9c10c8380fb6cc648a:0N@b8f606a7db6f5425714486a01ea0c24dfd1941aa83b4cc9c10c8380fb6cc648a""12Emp7XCM9a7pPoLsYJbQFyHM67SnuMNKF"UOP_DUP OP_HASH160 0d92f0d188515b835fb05dfe6b7bc2e6ce761d66 OP_EQUALVERIFY OP_CHECKSIG*276a9140d92f0d188515b835fb05dfe6b7bc2e6ce761d6688ac*"12Emp7XCM9a7pPoLsYJbQFyHM67SnuMNKF8#J " B2dc397acb72b9bba69a36b3b6525654585746ec18be153e5d8c77f04eafc6bcd:0H@2dc397acb72b9bba69a36b3b6525654585746ec18be153e5d8c77f04eafc6bcd""1DzV8xy3gybkKAWQbu2UCJRdx3j7yA8u3V"UOP_DUP OP_HASH160 8e80b5037fa4adb605d678ae50001a8e60015042 OP_EQUALVERIFY OP_CHECKSIG*276a9148e80b5037fa4adb605d678ae50001a8e6001504288ac*"1DzV8xy3gybkKAWQbu2UCJRdx3j7yA8u3V8$J " B4b3004276272502f0779a433774b26e077dd73f2cfc20394b0c5401ff26e2886:0@4b3004276272502f0779a433774b26e077dd73f2cfc20394b0c5401ff26e2886""12E56GqqHFhDD4AmkPWjDaL2rSdMFfkq5K"UOP_DUP OP_HASH160 0d70f2be035344c4717be105dd843d83b65eef04 OP_EQUALVERIFY OP_CHECKSIG*276a9140d70f2be035344c4717be105dd843d83b65eef0488ac*"12E56GqqHFhDD4AmkPWjDaL2rSdMFfkq5K8$J " Bd333e190b895cfa1d1edf04cb8c8f7264a2d01203c8ed855a7923eef053fb70a:09@d333e190b895cfa1d1edf04cb8c8f7264a2d01203c8ed855a7923eef053fb70a""1FcVZn2xXfTNS5Fib8yZDQMrRL87GPR6YG"UOP_DUP OP_HASH160 a0482a22888428b8e1966acb4a02ea34ecfb2c53 OP_EQUALVERIFY OP_CHECKSIG*276a914a0482a22888428b8e1966acb4a02ea34ecfb2c5388ac*"1FcVZn2xXfTNS5Fib8yZDQMrRL87GPR6YG8#J " -Bf015135664dc0b7aaa621b3d2443b061f036367eb83ac67fc9731695c871dc98:0@f015135664dc0b7aaa621b3d2443b061f036367eb83ac67fc9731695c871dc98""1LZagunHqzaoWBfCy88RQNibbBcdL8jAYU"UOP_DUP OP_HASH160 d693d273f44945c2f7e7ff2b58de2ae26c7155f0 OP_EQUALVERIFY OP_CHECKSIG*276a914d693d273f44945c2f7e7ff2b58de2ae26c7155f088ac*"1LZagunHqzaoWBfCy88RQNibbBcdL8jAYU8#J " -B40476679a8c0f61874659081656639e099a96effa5711d0f02b76fff49f50525:1@40476679a8c0f61874659081656639e099a96effa5711d0f02b76fff49f50525""148qQCN6Xzi4CDvrFj7rBxwodg38eKKdrJ"UOP_DUP OP_HASH160 2263b0f9baec0cf5769bb483d57cf838dff0bcb1 OP_EQUALVERIFY OP_CHECKSIG*276a9142263b0f9baec0cf5769bb483d57cf838dff0bcb188ac*"148qQCN6Xzi4CDvrFj7rBxwodg38eKKdrJ8Ό$J " -B559bfe96529844c32f130a4e61756342399f5b16862a32a0da25ce56b4c4a01b:0 @559bfe96529844c32f130a4e61756342399f5b16862a32a0da25ce56b4c4a01b""16kT5Rnv96o7A6F8JHBgtwbKjDc85VvHAC"UOP_DUP OP_HASH160 3f10485f4e7c09ce1f4b9ef484af5842834522b8 OP_EQUALVERIFY OP_CHECKSIG*276a9143f10485f4e7c09ce1f4b9ef484af5842834522b888ac*"16kT5Rnv96o7A6F8JHBgtwbKjDc85VvHAC8Ȕ$J " -B7a6a072d090682206038af618a36fe8833d365c5a9ca198024a9c397cb1b7717:0#@7a6a072d090682206038af618a36fe8833d365c5a9ca198024a9c397cb1b7717""1Jb7fZpkPzmyuqodN4oGMuQpE6jQrVJfkp"UOP_DUP OP_HASH160 c0edd8398c6de6f0013e7af59be1656a0b289ef3 OP_EQUALVERIFY OP_CHECKSIG*276a914c0edd8398c6de6f0013e7af59be1656a0b289ef388ac*"1Jb7fZpkPzmyuqodN4oGMuQpE6jQrVJfkp8#J " -B742f52416a66a4dcda04815cb5d0e0aba4a4c6616ee55fa5959bd7f9d855e9f9:0@742f52416a66a4dcda04815cb5d0e0aba4a4c6616ee55fa5959bd7f9d855e9f9""1Ci1RQisRySHEHaD8piS5R3CCdkRAvY8B1"UOP_DUP OP_HASH160 806aca136553b7e731a875f0e9a2f2af98552463 OP_EQUALVERIFY OP_CHECKSIG*276a914806aca136553b7e731a875f0e9a2f2af9855246388ac*"1Ci1RQisRySHEHaD8piS5R3CCdkRAvY8B18ą$J  " -B4099eac2e6cb21e5bd4c87f860c73fb407d8c7f0bee842bee9bb6974eeb94e40:1@4099eac2e6cb21e5bd4c87f860c73fb407d8c7f0bee842bee9bb6974eeb94e40""1LVBCwQmHqjapqnM9oSSu2hE7xwH7KjU1r"UOP_DUP OP_HASH160 d5be8e646075881f13c25a71df4aeb627c8fd0bd OP_EQUALVERIFY OP_CHECKSIG*276a914d5be8e646075881f13c25a71df4aeb627c8fd0bd88ac*"1LVBCwQmHqjapqnM9oSSu2hE7xwH7KjU1r8$J " -B528f53de0e2565f176a0f625c97f22640c9f610a9c481a2cdebcd60120f5b072:0 @528f53de0e2565f176a0f625c97f22640c9f610a9c481a2cdebcd60120f5b072""1DJbwWp3uhFEYKXwVrhUTQcn21hiwf4Yvn"UOP_DUP OP_HASH160 86f5bf42c1e3aae0222a79cf80a097cbc8df1a86 OP_EQUALVERIFY OP_CHECKSIG*276a91486f5bf42c1e3aae0222a79cf80a097cbc8df1a8688ac*"1DJbwWp3uhFEYKXwVrhUTQcn21hiwf4Yvn8$J " -B5b1462b84996af6194466ef6797b6a25968906b15791d08bf0f7441decde4281:0@5b1462b84996af6194466ef6797b6a25968906b15791d08bf0f7441decde4281""1819Bks7cnY62xtiRVKzzAe1CqcrqAVs4s"UOP_DUP OP_HASH160 4ccfb69eaa5a12ea6f2615e2bdfc6b31eeab51f7 OP_EQUALVERIFY OP_CHECKSIG*276a9144ccfb69eaa5a12ea6f2615e2bdfc6b31eeab51f788ac*"1819Bks7cnY62xtiRVKzzAe1CqcrqAVs4s8#J " +Bf015135664dc0b7aaa621b3d2443b061f036367eb83ac67fc9731695c871dc98:0@f015135664dc0b7aaa621b3d2443b061f036367eb83ac67fc9731695c871dc98""1LZagunHqzaoWBfCy88RQNibbBcdL8jAYU"UOP_DUP OP_HASH160 d693d273f44945c2f7e7ff2b58de2ae26c7155f0 OP_EQUALVERIFY OP_CHECKSIG*276a914d693d273f44945c2f7e7ff2b58de2ae26c7155f088ac*"1LZagunHqzaoWBfCy88RQNibbBcdL8jAYU8#J " +B555f854c8dc726f0cff7809be76ca77425e09a200b0a5fcf8fa40a44dfb912fe:0@555f854c8dc726f0cff7809be76ca77425e09a200b0a5fcf8fa40a44dfb912fe""15rrkzbHDKZujLJVgekTuGm4bi7gqLgzXu"UOP_DUP OP_HASH160 354e6bebc1673c1be27ba9299bcca59c63ef25b1 OP_EQUALVERIFY OP_CHECKSIG*276a914354e6bebc1673c1be27ba9299bcca59c63ef25b188ac*"15rrkzbHDKZujLJVgekTuGm4bi7gqLgzXu8$J " +Bf8d7fac77df8e8822025790343298fbce066c9b8d05fdc0d5ab32aa0106ef1c0:0@f8d7fac77df8e8822025790343298fbce066c9b8d05fdc0d5ab32aa0106ef1c0""1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY"UOP_DUP OP_HASH160 79a2f7d6d53eaff291543f9aea88eab1376d7db5 OP_EQUALVERIFY OP_CHECKSIG*276a91479a2f7d6d53eaff291543f9aea88eab1376d7db588ac*"1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY8ؤ$J " +Bf8d7fac77df8e8822025790343298fbce066c9b8d05fdc0d5ab32aa0106ef1c0:1@f8d7fac77df8e8822025790343298fbce066c9b8d05fdc0d5ab32aa0106ef1c0""1GTDHNaAWp3wnXgR5X2HQxMm56jqyKRkaz"UOP_DUP OP_HASH160 a97ef4596ffdc939527928802ea753360713f987 OP_EQUALVERIFY OP_CHECKSIG*276a914a97ef4596ffdc939527928802ea753360713f98788ac*"1GTDHNaAWp3wnXgR5X2HQxMm56jqyKRkaz8ؤ$J " +B79af5d2f503b63a39e56d8d8c71b049c7755514a50f8516f6325849a80f78814:0 @79af5d2f503b63a39e56d8d8c71b049c7755514a50f8516f6325849a80f78814""1BuMGw4hLqnhysXREXDGh65SYAHm4tg6Qy"UOP_DUP OP_HASH160 7797cff3a2ef19deab9a00f0e2c5d0b5b38db38f OP_EQUALVERIFY OP_CHECKSIG*276a9147797cff3a2ef19deab9a00f0e2c5d0b5b38db38f88ac*"1BuMGw4hLqnhysXREXDGh65SYAHm4tg6Qy8$J " +B7a6a072d090682206038af618a36fe8833d365c5a9ca198024a9c397cb1b7717:0#@7a6a072d090682206038af618a36fe8833d365c5a9ca198024a9c397cb1b7717""1Jb7fZpkPzmyuqodN4oGMuQpE6jQrVJfkp"UOP_DUP OP_HASH160 c0edd8398c6de6f0013e7af59be1656a0b289ef3 OP_EQUALVERIFY OP_CHECKSIG*276a914c0edd8398c6de6f0013e7af59be1656a0b289ef388ac*"1Jb7fZpkPzmyuqodN4oGMuQpE6jQrVJfkp8#J " +B600b756aa662fad99e89f31915959e37cfa43e33dbda169ecca6fde114eccab1:0@600b756aa662fad99e89f31915959e37cfa43e33dbda169ecca6fde114eccab1""14E6XZK8KCo2yF5dFPbxzPLGDjTndfCMyv"UOP_DUP OP_HASH160 236265ffc4302576482a1ee040b41ecb4ad51bc4 OP_EQUALVERIFY OP_CHECKSIG*276a914236265ffc4302576482a1ee040b41ecb4ad51bc488ac*"14E6XZK8KCo2yF5dFPbxzPLGDjTndfCMyv8$J  +" B075b5dcf7835ef85df86f7fc02cc1b8173c48ebe83f0b8123ffd4ec33d71bad8:07@075b5dcf7835ef85df86f7fc02cc1b8173c48ebe83f0b8123ffd4ec33d71bad8""1LMnVJpYtQBL25KQHyYUMs2v5fPKmK5QCU"UOP_DUP OP_HASH160 d458ae3eb5128aeaab679ec917fe1f48a690213a OP_EQUALVERIFY OP_CHECKSIG*276a914d458ae3eb5128aeaab679ec917fe1f48a690213a88ac*"1LMnVJpYtQBL25KQHyYUMs2v5fPKmK5QCU8#J " B4fba28a182f055c3fdf5b5e2ec51be8ee46e5e5b396e30ff9428048a7511d0ae:08@4fba28a182f055c3fdf5b5e2ec51be8ee46e5e5b396e30ff9428048a7511d0ae""1NVCrg8RWmYa2AjcVL8yfCKrjriyMMyRwT"UOP_DUP OP_HASH160 ebb02f879b7f3ec44edc1993a371ccd86de69e03 OP_EQUALVERIFY OP_CHECKSIG*276a914ebb02f879b7f3ec44edc1993a371ccd86de69e0388ac*"1NVCrg8RWmYa2AjcVL8yfCKrjriyMMyRwT8#J " Bf6a36e1e49f58dbd055e09639f68c1f3f7a9e295df963f5847e16f4050ecac71:0V@f6a36e1e49f58dbd055e09639f68c1f3f7a9e295df963f5847e16f4050ecac71""1BvkgBpxcHQU9Y3npnYcNtmPgmgNm1Dmha"UOP_DUP OP_HASH160 77dbc32c46f08d4a001e2d065feb6451a2cdc95d OP_EQUALVERIFY OP_CHECKSIG*276a91477dbc32c46f08d4a001e2d065feb6451a2cdc95d88ac*"1BvkgBpxcHQU9Y3npnYcNtmPgmgNm1Dmha8#J " +B83c671f86c27016e2b9a2604577e4582bd9d236fe255f419ff41579898614b4c:0@83c671f86c27016e2b9a2604577e4582bd9d236fe255f419ff41579898614b4c""1AzBcUndR8moqeZvZcPkEJUaDk3Zoizw3y"UOP_DUP OP_HASH160 6d89b338b4006f80fe0dadd33c7e81972ba1c01c OP_EQUALVERIFY OP_CHECKSIG*276a9146d89b338b4006f80fe0dadd33c7e81972ba1c01c88ac*"1AzBcUndR8moqeZvZcPkEJUaDk3Zoizw3y8$J " B3d4a1bb409c44c8735d7690ea8d84bd5c992ee19e20718a65a5c7681d5782e36:0g@3d4a1bb409c44c8735d7690ea8d84bd5c992ee19e20718a65a5c7681d5782e36""1MsYZQS2UXbDMVapNi6GMFqPm3KLExEVfP"UOP_DUP OP_HASH160 e4f1a85a97d6b79ec612838bb546f404eeda9dff OP_EQUALVERIFY OP_CHECKSIG*276a914e4f1a85a97d6b79ec612838bb546f404eeda9dff88ac*"1MsYZQS2UXbDMVapNi6GMFqPm3KLExEVfP8#J " -Ba3d6e47f30477e85aae1090d3936ebfa9ef10f26290ba7cabfc86c07d932b850:0,@a3d6e47f30477e85aae1090d3936ebfa9ef10f26290ba7cabfc86c07d932b850""1PRcWBqrRMCXywMEAhmp7SnNPD4qhZdp1w"UOP_DUP OP_HASH160 f5fa630d76015dd4366692e68482031905eb3d92 OP_EQUALVERIFY OP_CHECKSIG*276a914f5fa630d76015dd4366692e68482031905eb3d9288ac*"1PRcWBqrRMCXywMEAhmp7SnNPD4qhZdp1w8Ѓ$J " +Ba3d6e47f30477e85aae1090d3936ebfa9ef10f26290ba7cabfc86c07d932b850:0,@a3d6e47f30477e85aae1090d3936ebfa9ef10f26290ba7cabfc86c07d932b850""1PRcWBqrRMCXywMEAhmp7SnNPD4qhZdp1w"UOP_DUP OP_HASH160 f5fa630d76015dd4366692e68482031905eb3d92 OP_EQUALVERIFY OP_CHECKSIG*276a914f5fa630d76015dd4366692e68482031905eb3d9288ac*"1PRcWBqrRMCXywMEAhmp7SnNPD4qhZdp1w8Ѓ$J " +B94847f2d6ce06961ddb30765ebefa41217a36fc34a2f8565fe46fc4af4cde627:0 @94847f2d6ce06961ddb30765ebefa41217a36fc34a2f8565fe46fc4af4cde627""1KpPk1WWbHsnEauYsLgTioA8Hg6nfQiEaA"UOP_DUP OP_HASH160 ce68cc48cbfc83bd25b610c1d672cc81869b8370 OP_EQUALVERIFY OP_CHECKSIG*276a914ce68cc48cbfc83bd25b610c1d672cc81869b837088ac*"1KpPk1WWbHsnEauYsLgTioA8Hg6nfQiEaA8$J " B78c968729e694ede8ecc3b4ae74a4826f57627dbbd644a2de3b26dd9d8a62cf9:0І@78c968729e694ede8ecc3b4ae74a4826f57627dbbd644a2de3b26dd9d8a62cf9"!1eKMxkDZZ9epCFRXwho3cdesVYA1BxVth"UOP_DUP OP_HASH160 070eb7c8f1faf2d0235b31f3d4000254e46485c3 OP_EQUALVERIFY OP_CHECKSIG*276a914070eb7c8f1faf2d0235b31f3d4000254e46485c388ac*!1eKMxkDZZ9epCFRXwho3cdesVYA1BxVth8Lj$J " B21ea0700d87ad424b322d8c3c9924fc89b6d35cbc54373f004b316f247b43db5:0@21ea0700d87ad424b322d8c3c9924fc89b6d35cbc54373f004b316f247b43db5""126CJfgm2mjJJAJFfhq1LegeHMxVGqPDEJ"UOP_DUP OP_HASH160 0bf3a4673dbbed6ac6bf123e562438558e946797 OP_EQUALVERIFY OP_CHECKSIG*276a9140bf3a4673dbbed6ac6bf123e562438558e94679788ac*"126CJfgm2mjJJAJFfhq1LegeHMxVGqPDEJ8"J " B27ceab90146d77c5f9a0f5cb674ded9c7c97a70cbdd24235c6fdb16724e243e3:0%@27ceab90146d77c5f9a0f5cb674ded9c7c97a70cbdd24235c6fdb16724e243e3""1NpPA7nh3gPe2FRozYuuJVBWF5Pm5rT8q1"UOP_DUP OP_HASH160 ef50b0038fb36c1c2b0fa971b34bf79fb474f145 OP_EQUALVERIFY OP_CHECKSIG*276a914ef50b0038fb36c1c2b0fa971b34bf79fb474f14588ac*"1NpPA7nh3gPe2FRozYuuJVBWF5Pm5rT8q18#J " Bea85f648c87950ad94f28deea852722eb16ab77f3c8ce534991caf60176ee73e:1@ea85f648c87950ad94f28deea852722eb16ab77f3c8ce534991caf60176ee73e""1Krwf1G4JmkQj9BgtL1x1QSQbNXJgXeJnF"UOP_DUP OP_HASH160 cee44527ec31daff2af630f24cd52b520c3e91b3 OP_EQUALVERIFY OP_CHECKSIG*276a914cee44527ec31daff2af630f24cd52b520c3e91b388ac*"1Krwf1G4JmkQj9BgtL1x1QSQbNXJgXeJnF8#J " Bfd791ea9b7dd1f04766dfcfc628ce1545d2192851be3736cf8753010fbeedb14:0?@fd791ea9b7dd1f04766dfcfc628ce1545d2192851be3736cf8753010fbeedb14""16HaiALB2hwBrxBRY4X21q8i5t4XDQvfVs"UOP_DUP OP_HASH160 39fb6c791e2ca2a6223f2d73696e958e6b63e30e OP_EQUALVERIFY OP_CHECKSIG*276a91439fb6c791e2ca2a6223f2d73696e958e6b63e30e88ac*"16HaiALB2hwBrxBRY4X21q8i5t4XDQvfVs8$J " Babb082b245be2f209cdf2259d937e602b950fce214fe8fb62de53b3b80f92c36:0N@abb082b245be2f209cdf2259d937e602b950fce214fe8fb62de53b3b80f92c36""1P7SMhzf68gvchcsx42m6D1qaSkmavWYhN"UOP_DUP OP_HASH160 f28a6e135c485e7e3e531e6353a3dbd6b0764646 OP_EQUALVERIFY OP_CHECKSIG*276a914f28a6e135c485e7e3e531e6353a3dbd6b076464688ac*"1P7SMhzf68gvchcsx42m6D1qaSkmavWYhN8ܓ#J " -Be1fd022aa338735d935544be25379ad7633279b3f6e6e795c1a12f07304d8a6f:0"@e1fd022aa338735d935544be25379ad7633279b3f6e6e795c1a12f07304d8a6f""19MaRgPGea7Bbkbb2EUo82dKRtHr8ydC2c"UOP_DUP OP_HASH160 5ba53a4b1eda2fe7ee33908f092a75a9466daf7c OP_EQUALVERIFY OP_CHECKSIG*276a9145ba53a4b1eda2fe7ee33908f092a75a9466daf7c88ac*"19MaRgPGea7Bbkbb2EUo82dKRtHr8ydC2c8#J " -Bf21ac18abd3d9480fcdaef00873a2753cfeaeb2979c5f56489907e4e946433c3:0@f21ac18abd3d9480fcdaef00873a2753cfeaeb2979c5f56489907e4e946433c3""126Dstbr4oWpmNn9YtrUQUVBm7MdLWdDTE"UOP_DUP OP_HASH160 0bf4f4823274a3314d34ac82d602adf2a72e4160 OP_EQUALVERIFY OP_CHECKSIG*276a9140bf4f4823274a3314d34ac82d602adf2a72e416088ac*"126Dstbr4oWpmNn9YtrUQUVBm7MdLWdDTE8$J " +Be1fd022aa338735d935544be25379ad7633279b3f6e6e795c1a12f07304d8a6f:0"@e1fd022aa338735d935544be25379ad7633279b3f6e6e795c1a12f07304d8a6f""19MaRgPGea7Bbkbb2EUo82dKRtHr8ydC2c"UOP_DUP OP_HASH160 5ba53a4b1eda2fe7ee33908f092a75a9466daf7c OP_EQUALVERIFY OP_CHECKSIG*276a9145ba53a4b1eda2fe7ee33908f092a75a9466daf7c88ac*"19MaRgPGea7Bbkbb2EUo82dKRtHr8ydC2c8#J " +Bafdbf47131095891df8158a22c5a1526d43188450be5cbd909fb805bdaf37823:0@afdbf47131095891df8158a22c5a1526d43188450be5cbd909fb805bdaf37823""1NHXrAcFPVKKHXCAqtXRVBpJum1RdUR36E"UOP_DUP OP_HASH160 e97b0c1522315a2ab34977052f5260b522fb0dba OP_EQUALVERIFY OP_CHECKSIG*276a914e97b0c1522315a2ab34977052f5260b522fb0dba88ac*"1NHXrAcFPVKKHXCAqtXRVBpJum1RdUR36E8$J " Bad2155a4391adfa36636972303e0619ffff3779972a4dbff1393593b0b176739:0@ad2155a4391adfa36636972303e0619ffff3779972a4dbff1393593b0b176739""1NKHWJdMy2ubBxc5vS763K2CqyhdDEmz1H"UOP_DUP OP_HASH160 e9cfe81a57487e32506bdd885403ce1983a79749 OP_EQUALVERIFY OP_CHECKSIG*276a914e9cfe81a57487e32506bdd885403ce1983a7974988ac*"1NKHWJdMy2ubBxc5vS763K2CqyhdDEmz1H8#J " B31db9f7ee18ab3ae8164251633d4edd58bbd300cb8b3638b0edcc058e2cf66d1:0N@31db9f7ee18ab3ae8164251633d4edd58bbd300cb8b3638b0edcc058e2cf66d1""17FZ8NtsemTfDeoAZ4ivjciegdNFo2r3yW"UOP_DUP OP_HASH160 44916587b74da33139103c29e4a1225e9d7d51fc OP_EQUALVERIFY OP_CHECKSIG*276a91444916587b74da33139103c29e4a1225e9d7d51fc88ac*"17FZ8NtsemTfDeoAZ4ivjciegdNFo2r3yW8#J " Ba6428f38883e60b7eba2ecba5f3c52b6bc481e663509a34010cf2e37bfe81234:1@a6428f38883e60b7eba2ecba5f3c52b6bc481e663509a34010cf2e37bfe81234""1C7PyNDnEmvjLhUwKmh2hKMxXm3JW3E4MX"UOP_DUP OP_HASH160 79df0e288eda5b49e8b866ea068b8ffce62c6afd OP_EQUALVERIFY OP_CHECKSIG*276a91479df0e288eda5b49e8b866ea068b8ffce62c6afd88ac*"1C7PyNDnEmvjLhUwKmh2hKMxXm3JW3E4MX8#J " B1577bcc10432bebf5dba30f1711c780ae196bfe0036e45d4a2c6e4116666ecb3:0=@1577bcc10432bebf5dba30f1711c780ae196bfe0036e45d4a2c6e4116666ecb3""1DvjgZd7WhWQCLbBRDhCDp48yHSU4RopHF"UOP_DUP OP_HASH160 8dcb2f42c30056722b8d7e863310c7f6cca05230 OP_EQUALVERIFY OP_CHECKSIG*276a9148dcb2f42c30056722b8d7e863310c7f6cca0523088ac*"1DvjgZd7WhWQCLbBRDhCDp48yHSU4RopHF8$J " -B54c927449a552129a47130b7788c1fd0e760689d490c24b9d3c7dcaa82d7e023:0@54c927449a552129a47130b7788c1fd0e760689d490c24b9d3c7dcaa82d7e023""1Hj1KsxYE1Kop7QjnKdtJmR1naA7mtm8TW"UOP_DUP OP_HASH160 b773c1304caf17a8414e78bb40821842c97b71ec OP_EQUALVERIFY OP_CHECKSIG*276a914b773c1304caf17a8414e78bb40821842c97b71ec88ac*"1Hj1KsxYE1Kop7QjnKdtJmR1naA7mtm8TW8"J " -B0a8cf9a1f5d9ef16cf2af153141bc4154a6c978dfdf3e3322eb884989ed4a11c:0E@0a8cf9a1f5d9ef16cf2af153141bc4154a6c978dfdf3e3322eb884989ed4a11c""18pw7w9qsop2n8zzwCaS7tTDRL5LehKBMZ"UOP_DUP OP_HASH160 55d99b7f60cb57c0d5eb150b877b76ab00b8657a OP_EQUALVERIFY OP_CHECKSIG*276a91455d99b7f60cb57c0d5eb150b877b76ab00b8657a88ac*"18pw7w9qsop2n8zzwCaS7tTDRL5LehKBMZ8#J " +B54c927449a552129a47130b7788c1fd0e760689d490c24b9d3c7dcaa82d7e023:0@54c927449a552129a47130b7788c1fd0e760689d490c24b9d3c7dcaa82d7e023""1Hj1KsxYE1Kop7QjnKdtJmR1naA7mtm8TW"UOP_DUP OP_HASH160 b773c1304caf17a8414e78bb40821842c97b71ec OP_EQUALVERIFY OP_CHECKSIG*276a914b773c1304caf17a8414e78bb40821842c97b71ec88ac*"1Hj1KsxYE1Kop7QjnKdtJmR1naA7mtm8TW8"J " Be6302937cf2cbe5d951a0c98b2cd1c30f6612f88096501b6762db428cfe812cc:0͏@e6302937cf2cbe5d951a0c98b2cd1c30f6612f88096501b6762db428cfe812cc""1Aea6WoD5zxfsN8QvBP9x31ZdY7qA63hL5"UOP_DUP OP_HASH160 69d426256f840f18dd7f146ea04ab0d78f9332f6 OP_EQUALVERIFY OP_CHECKSIG*276a91469d426256f840f18dd7f146ea04ab0d78f9332f688ac*"1Aea6WoD5zxfsN8QvBP9x31ZdY7qA63hL58"J " -B6052bb8615f98dade231b31f761ffd6cbbc6d834ca1a77c8bc0bb8ba3b454f55:1@6052bb8615f98dade231b31f761ffd6cbbc6d834ca1a77c8bc0bb8ba3b454f55""1FVv8cp53ih3su2KxD3fen8RRrqyTz4JvD"UOP_DUP OP_HASH160 9f09c27c3a1d9b92010a484de889acd385bceec6 OP_EQUALVERIFY OP_CHECKSIG*276a9149f09c27c3a1d9b92010a484de889acd385bceec688ac*"1FVv8cp53ih3su2KxD3fen8RRrqyTz4JvD8ύ#J  " -B72285161d92908731992e4feae0b8eff7f71836fdd0da748c82e376075b1cf07:0@72285161d92908731992e4feae0b8eff7f71836fdd0da748c82e376075b1cf07""1MJAw8vCGqKp4odhWUtG4agfKsqBTaF6rw"UOP_DUP OP_HASH160 dea1e10630194917f58536b3d50a318143b3e581 OP_EQUALVERIFY OP_CHECKSIG*276a914dea1e10630194917f58536b3d50a318143b3e58188ac*"1MJAw8vCGqKp4odhWUtG4agfKsqBTaF6rw8$J " -B42da0ddfd096ce1591816cfcf6eca624f3bca54d197be0bfcf11e1442d4e86a2:0@42da0ddfd096ce1591816cfcf6eca624f3bca54d197be0bfcf11e1442d4e86a2""14cYQFh7XSqUxSdh2FpEzDwN5f1xTwhKYF"UOP_DUP OP_HASH160 27a125ef32b34798e4b535e2034b8a819d6ffba1 OP_EQUALVERIFY OP_CHECKSIG*276a91427a125ef32b34798e4b535e2034b8a819d6ffba188ac*"14cYQFh7XSqUxSdh2FpEzDwN5f1xTwhKYF8#J " -B2071ee8c654f2cd142d7b963a550e3ab687c0acf96cabadcefa0636280ac2478:0u@2071ee8c654f2cd142d7b963a550e3ab687c0acf96cabadcefa0636280ac2478""1PdtE3tsxkYv8tukqdbkjUZo7eo5RMyAeB"UOP_DUP OP_HASH160 f84c809988b892f165cab6c70bd3b59cdd2ac6dc OP_EQUALVERIFY OP_CHECKSIG*276a914f84c809988b892f165cab6c70bd3b59cdd2ac6dc88ac*"1PdtE3tsxkYv8tukqdbkjUZo7eo5RMyAeB8#J " -B3068e6071b9bca78c81fef1d88e04a44ea117fb92d25e49a493de57bf13b5950:0y@3068e6071b9bca78c81fef1d88e04a44ea117fb92d25e49a493de57bf13b5950""1KDU8CsZZYT4XjSz8hhyr6F7GtceiEL1WM"UOP_DUP OP_HASH160 c7cde5d6adf01549d19e739f5f3aa8a61cdfd129 OP_EQUALVERIFY OP_CHECKSIG*276a914c7cde5d6adf01549d19e739f5f3aa8a61cdfd12988ac*"1KDU8CsZZYT4XjSz8hhyr6F7GtceiEL1WM8$J " +B6052bb8615f98dade231b31f761ffd6cbbc6d834ca1a77c8bc0bb8ba3b454f55:1@6052bb8615f98dade231b31f761ffd6cbbc6d834ca1a77c8bc0bb8ba3b454f55""1FVv8cp53ih3su2KxD3fen8RRrqyTz4JvD"UOP_DUP OP_HASH160 9f09c27c3a1d9b92010a484de889acd385bceec6 OP_EQUALVERIFY OP_CHECKSIG*276a9149f09c27c3a1d9b92010a484de889acd385bceec688ac*"1FVv8cp53ih3su2KxD3fen8RRrqyTz4JvD8ύ#J  " +B295f9718f778eaec516401752ef8165f7e1649091154004625228dad06010aae:0=@295f9718f778eaec516401752ef8165f7e1649091154004625228dad06010aae""1F3Qgz4FdYXUwJjKwYbZNBMTka2axbqSun"UOP_DUP OP_HASH160 9a065e2784bc5bf134e2452f7728e7118ac78064 OP_EQUALVERIFY OP_CHECKSIG*276a9149a065e2784bc5bf134e2452f7728e7118ac7806488ac*"1F3Qgz4FdYXUwJjKwYbZNBMTka2axbqSun8$J " +B72285161d92908731992e4feae0b8eff7f71836fdd0da748c82e376075b1cf07:0@72285161d92908731992e4feae0b8eff7f71836fdd0da748c82e376075b1cf07""1MJAw8vCGqKp4odhWUtG4agfKsqBTaF6rw"UOP_DUP OP_HASH160 dea1e10630194917f58536b3d50a318143b3e581 OP_EQUALVERIFY OP_CHECKSIG*276a914dea1e10630194917f58536b3d50a318143b3e58188ac*"1MJAw8vCGqKp4odhWUtG4agfKsqBTaF6rw8$J " +Be421ba5d0c98b114d1a43013d5806360e65970df5ee35054043bba6f4111e411:0@e421ba5d0c98b114d1a43013d5806360e65970df5ee35054043bba6f4111e411""1KcGPWYHeoqbj9V5JejVL8BBYsZrLaJAgG"UOP_DUP OP_HASH160 cc1dab08c2b961b54f68d0b4c461ce893f08f75a OP_EQUALVERIFY OP_CHECKSIG*276a914cc1dab08c2b961b54f68d0b4c461ce893f08f75a88ac*"1KcGPWYHeoqbj9V5JejVL8BBYsZrLaJAgG8Ȣ$J " +B91f6bc1df0b8d86d3897e4f48082b9653a6f9260e615d91ed522bae7cce9de16:0@91f6bc1df0b8d86d3897e4f48082b9653a6f9260e615d91ed522bae7cce9de16""166YTMMRS4zUh8MXm2dfx3UmjbN4L3vEYm"UOP_DUP OP_HASH160 37e4f7297c15637a78226a8c63436c6efd6d979a OP_EQUALVERIFY OP_CHECKSIG*276a91437e4f7297c15637a78226a8c63436c6efd6d979a88ac*"166YTMMRS4zUh8MXm2dfx3UmjbN4L3vEYm8ǟ$J " B92fa057de7d9f7b5cfbfe12baabcd67f39d5117c81a34bf926f2b0d672ea789a:0@92fa057de7d9f7b5cfbfe12baabcd67f39d5117c81a34bf926f2b0d672ea789a""1CE6Bx7tcJwAXtgsyLn2n29eeLdLjmjWf6"UOP_DUP OP_HASH160 7b231f5d32961418b23d4183e27cc9fd7b836011 OP_EQUALVERIFY OP_CHECKSIG*276a9147b231f5d32961418b23d4183e27cc9fd7b83601188ac*"1CE6Bx7tcJwAXtgsyLn2n29eeLdLjmjWf68ǒ$J " B7cfdec0d125ba919e9a1ec9f7453b64f28405fc149e8463b01904dd75d6fba9e:0@7cfdec0d125ba919e9a1ec9f7453b64f28405fc149e8463b01904dd75d6fba9e""1PaghCSX13vgd5ear2sqif2Ph1Wm2QyQHe"UOP_DUP OP_HASH160 f7b1a0c9a058a445a09e7ebf4da75f1709933354 OP_EQUALVERIFY OP_CHECKSIG*276a914f7b1a0c9a058a445a09e7ebf4da75f170993335488ac*"1PaghCSX13vgd5ear2sqif2Ph1Wm2QyQHe8˧#J " B93af93211799e686ea38108d702fb6690fef2c7c4113a814e5e078d4653f35a7:09@93af93211799e686ea38108d702fb6690fef2c7c4113a814e5e078d4653f35a7""1GNT76e7m3s2xFybsTn9U65RKJjB6YbZjd"UOP_DUP OP_HASH160 a89869d5916b9e90e96057d400fc12140b843882 OP_EQUALVERIFY OP_CHECKSIG*276a914a89869d5916b9e90e96057d400fc12140b84388288ac*"1GNT76e7m3s2xFybsTn9U65RKJjB6YbZjd8#J " -Bcbcb06d5f7eceefd4508e1852c990019703ec712a3daaceaca281e186871dfc8:0@cbcb06d5f7eceefd4508e1852c990019703ec712a3daaceaca281e186871dfc8""1L5dYbM6FVsTtJob56YaBdjjpA5eHpnYuC"UOP_DUP OP_HASH160 d14a8f494bdee7600b3872c0685bf70f5094376b OP_EQUALVERIFY OP_CHECKSIG*276a914d14a8f494bdee7600b3872c0685bf70f5094376b88ac*"1L5dYbM6FVsTtJob56YaBdjjpA5eHpnYuC8#J " +Bcbcb06d5f7eceefd4508e1852c990019703ec712a3daaceaca281e186871dfc8:0@cbcb06d5f7eceefd4508e1852c990019703ec712a3daaceaca281e186871dfc8""1L5dYbM6FVsTtJob56YaBdjjpA5eHpnYuC"UOP_DUP OP_HASH160 d14a8f494bdee7600b3872c0685bf70f5094376b OP_EQUALVERIFY OP_CHECKSIG*276a914d14a8f494bdee7600b3872c0685bf70f5094376b88ac*"1L5dYbM6FVsTtJob56YaBdjjpA5eHpnYuC8#J " +B57e685d8b74c4253508e8556fb218fc65c48c1561c5f100b55371e685e2d05d0:0ʍ@57e685d8b74c4253508e8556fb218fc65c48c1561c5f100b55371e685e2d05d0""1PPRUr7B1ZF7BRoGjXn7oaTRaM179fd1xd"UOP_DUP OP_HASH160 f5905a76aba2acea3a70e0867276fa48c5872bd0 OP_EQUALVERIFY OP_CHECKSIG*276a914f5905a76aba2acea3a70e0867276fa48c5872bd088ac*"1PPRUr7B1ZF7BRoGjXn7oaTRaM179fd1xd8Ý$J " B72285161d92908731992e4feae0b8eff7f71836fdd0da748c82e376075b1cf07:1'@72285161d92908731992e4feae0b8eff7f71836fdd0da748c82e376075b1cf07""1Q7ZtB3tmE2zcSn4QGVAi5wjza25dqdEwf"UOP_DUP OP_HASH160 fd88d66a2ba0707706e368707256a3e707a37187 OP_EQUALVERIFY OP_CHECKSIG*276a914fd88d66a2ba0707706e368707256a3e707a3718788ac*"1Q7ZtB3tmE2zcSn4QGVAi5wjza25dqdEwf8$J " B848c15e1c06e310cb602e392d31848a37793c3a034e2064bcee96a4f3a78a570:0@848c15e1c06e310cb602e392d31848a37793c3a034e2064bcee96a4f3a78a570""1N8ipYypQgjA7v97voSwtEVoQq6CvJnUGx"UOP_DUP OP_HASH160 e7d0766ff2087e0b0e631977a50a379c31d4e593 OP_EQUALVERIFY OP_CHECKSIG*276a914e7d0766ff2087e0b0e631977a50a379c31d4e59388ac*"1N8ipYypQgjA7v97voSwtEVoQq6CvJnUGx8Ќ$J " -B51bc88cec635f90a4c1dd8c25b839aa4042fd5c5c4ee1ee8b5fde7fc60e32c0e:0J@51bc88cec635f90a4c1dd8c25b839aa4042fd5c5c4ee1ee8b5fde7fc60e32c0e""17zsgnXTs3NPhkMkUj2dvtmREPb29T2RXj"UOP_DUP OP_HASH160 4cc2c667dd5890e49661b23b9338b23057c7077c OP_EQUALVERIFY OP_CHECKSIG*276a9144cc2c667dd5890e49661b23b9338b23057c7077c88ac*"17zsgnXTs3NPhkMkUj2dvtmREPb29T2RXj8#J " -Bce4c9077445ee8c3d08c9e92bf1d7da9b150d401f4be39874af254a9ee4f8b47:0@ce4c9077445ee8c3d08c9e92bf1d7da9b150d401f4be39874af254a9ee4f8b47""1243zi2fCc1xR1KZu8BdSD6KroFLqrFGwb"UOP_DUP OP_HASH160 0b8bdface0fa4baef8f47d8961ce36964ea3dccb OP_EQUALVERIFY OP_CHECKSIG*276a9140b8bdface0fa4baef8f47d8961ce36964ea3dccb88ac*"1243zi2fCc1xR1KZu8BdSD6KroFLqrFGwb8ݮ#J " +B51bc88cec635f90a4c1dd8c25b839aa4042fd5c5c4ee1ee8b5fde7fc60e32c0e:0J@51bc88cec635f90a4c1dd8c25b839aa4042fd5c5c4ee1ee8b5fde7fc60e32c0e""17zsgnXTs3NPhkMkUj2dvtmREPb29T2RXj"UOP_DUP OP_HASH160 4cc2c667dd5890e49661b23b9338b23057c7077c OP_EQUALVERIFY OP_CHECKSIG*276a9144cc2c667dd5890e49661b23b9338b23057c7077c88ac*"17zsgnXTs3NPhkMkUj2dvtmREPb29T2RXj8#J " +Bc986f1bfeb81b3c894745e0873a2a2df9a013bc5f64ff57825dcad84ce20f0d3:1Ǚ@c986f1bfeb81b3c894745e0873a2a2df9a013bc5f64ff57825dcad84ce20f0d3""1EfX5sChuzKF9pftJJBHt1FtsMu1sjsdBw"UOP_DUP OP_HASH160 95e28df3e4d5398b2355d3edafcc1e548a740321 OP_EQUALVERIFY OP_CHECKSIG*276a91495e28df3e4d5398b2355d3edafcc1e548a74032188ac*"1EfX5sChuzKF9pftJJBHt1FtsMu1sjsdBw8Ȣ$J " +Bce4c9077445ee8c3d08c9e92bf1d7da9b150d401f4be39874af254a9ee4f8b47:0@ce4c9077445ee8c3d08c9e92bf1d7da9b150d401f4be39874af254a9ee4f8b47""1243zi2fCc1xR1KZu8BdSD6KroFLqrFGwb"UOP_DUP OP_HASH160 0b8bdface0fa4baef8f47d8961ce36964ea3dccb OP_EQUALVERIFY OP_CHECKSIG*276a9140b8bdface0fa4baef8f47d8961ce36964ea3dccb88ac*"1243zi2fCc1xR1KZu8BdSD6KroFLqrFGwb8ݮ#J " +Bc986f1bfeb81b3c894745e0873a2a2df9a013bc5f64ff57825dcad84ce20f0d3:0@c986f1bfeb81b3c894745e0873a2a2df9a013bc5f64ff57825dcad84ce20f0d3""1EfX5sChuzKF9pftJJBHt1FtsMu1sjsdBw"UOP_DUP OP_HASH160 95e28df3e4d5398b2355d3edafcc1e548a740321 OP_EQUALVERIFY OP_CHECKSIG*276a91495e28df3e4d5398b2355d3edafcc1e548a74032188ac*"1EfX5sChuzKF9pftJJBHt1FtsMu1sjsdBw8Ȣ$J  +" Bf61f8bbb928daf7757686ac769f6b1f4f1c2adf2576a5e962ef2f2e137cfe127:0@@f61f8bbb928daf7757686ac769f6b1f4f1c2adf2576a5e962ef2f2e137cfe127""1JWmvWH4bZB2vZC2GzftRSnfacNdNPur6F"UOP_DUP OP_HASH160 c01bb35c515c470dd6dd3977d02b3c1b5f09c12c OP_EQUALVERIFY OP_CHECKSIG*276a914c01bb35c515c470dd6dd3977d02b3c1b5f09c12c88ac*"1JWmvWH4bZB2vZC2GzftRSnfacNdNPur6F8$J " -B9162174195cec935240962ff3322d380194b1c9cf15f3e80fb58a574deb05531:0@9162174195cec935240962ff3322d380194b1c9cf15f3e80fb58a574deb05531""12jPZk9GmNsRvN7yH9SdcsG6Yco4KTXt9R"UOP_DUP OP_HASH160 12fc6e9f243a28a6a4490457f3b53f2506f7e157 OP_EQUALVERIFY OP_CHECKSIG*276a91412fc6e9f243a28a6a4490457f3b53f2506f7e15788ac*"12jPZk9GmNsRvN7yH9SdcsG6Yco4KTXt9R8$J " +B9162174195cec935240962ff3322d380194b1c9cf15f3e80fb58a574deb05531:0@9162174195cec935240962ff3322d380194b1c9cf15f3e80fb58a574deb05531""12jPZk9GmNsRvN7yH9SdcsG6Yco4KTXt9R"UOP_DUP OP_HASH160 12fc6e9f243a28a6a4490457f3b53f2506f7e157 OP_EQUALVERIFY OP_CHECKSIG*276a91412fc6e9f243a28a6a4490457f3b53f2506f7e15788ac*"12jPZk9GmNsRvN7yH9SdcsG6Yco4KTXt9R8$J " +B5335b7ad4c6f5ad0af146471c5e79da46e1e94691fab439a4779430d9a7ae249:1@5335b7ad4c6f5ad0af146471c5e79da46e1e94691fab439a4779430d9a7ae249""12fZsZyBUJiuvJ1fg96pDCWmH3tJvFjjPA"UOP_DUP OP_HASH160 12435f54b82b5b67ce8cd211480d48128b89e6d3 OP_EQUALVERIFY OP_CHECKSIG*276a91412435f54b82b5b67ce8cd211480d48128b89e6d388ac*"12fZsZyBUJiuvJ1fg96pDCWmH3tJvFjjPA8Σ$J " +B5335b7ad4c6f5ad0af146471c5e79da46e1e94691fab439a4779430d9a7ae249:0g@5335b7ad4c6f5ad0af146471c5e79da46e1e94691fab439a4779430d9a7ae249""12fZsZyBUJiuvJ1fg96pDCWmH3tJvFjjPA"UOP_DUP OP_HASH160 12435f54b82b5b67ce8cd211480d48128b89e6d3 OP_EQUALVERIFY OP_CHECKSIG*276a91412435f54b82b5b67ce8cd211480d48128b89e6d388ac*"12fZsZyBUJiuvJ1fg96pDCWmH3tJvFjjPA8Σ$J  +" +B224a5c0119076236c8a887226a0ee891b390b935b34d4d4493d8956561ad214a:0@224a5c0119076236c8a887226a0ee891b390b935b34d4d4493d8956561ad214a""12JHrZmZuTiBPjsc1bQXcNvQxR48aRQSuw"UOP_DUP OP_HASH160 0e3d44412be15eb94d7ab7b671f9ef5369207b10 OP_EQUALVERIFY OP_CHECKSIG*276a9140e3d44412be15eb94d7ab7b671f9ef5369207b1088ac*"12JHrZmZuTiBPjsc1bQXcNvQxR48aRQSuw8Ȣ$J " Bc9e70d740972e3ea72d4353a0a14507824f2f561887450bdd81b538583514235:0@c9e70d740972e3ea72d4353a0a14507824f2f561887450bdd81b538583514235""1KGtQKA1WaXbkYGt9KDbk2mCozuF5Hxe2R"UOP_DUP OP_HASH160 c873696687dc1017768278830885f3baae266599 OP_EQUALVERIFY OP_CHECKSIG*276a914c873696687dc1017768278830885f3baae26659988ac*"1KGtQKA1WaXbkYGt9KDbk2mCozuF5Hxe2R8#J " +Bcb3c35dcb32c70e1f9f2603850b48486be91a3e1e5aff442aa7ab81416b29e6a:0!@cb3c35dcb32c70e1f9f2603850b48486be91a3e1e5aff442aa7ab81416b29e6a""1JYUFbSG8TERdJUPA8apbkQGWH7Y4ZV5oj"UOP_DUP OP_HASH160 c06dc819c0871840a45bcf251cc2674f9e24c3e1 OP_EQUALVERIFY OP_CHECKSIG*276a914c06dc819c0871840a45bcf251cc2674f9e24c3e188ac*"1JYUFbSG8TERdJUPA8apbkQGWH7Y4ZV5oj8נ$J " B0d8912f53b41515266504895d80148a35f14f55275cab78d9a1e4a545cd6c289:0@0d8912f53b41515266504895d80148a35f14f55275cab78d9a1e4a545cd6c289""1NPDKLt8KDsRcxJCJAPERLpyPaRMEPbjhG"UOP_DUP OP_HASH160 ea8e12deb1869ca06a8d9bfcff8cbd188c34ff8b OP_EQUALVERIFY OP_CHECKSIG*276a914ea8e12deb1869ca06a8d9bfcff8cbd188c34ff8b88ac*"1NPDKLt8KDsRcxJCJAPERLpyPaRMEPbjhG8$J " -B68769560bb636aff766787130c531eeba66a754344c2ccbbfc0ee481172a31b8:0@68769560bb636aff766787130c531eeba66a754344c2ccbbfc0ee481172a31b8""194Zrge1QjgNF314qqDpYz5AKSsvSKkxto"UOP_DUP OP_HASH160 586dae7501cf6499a34b99dbf6fd77e8b9f55750 OP_EQUALVERIFY OP_CHECKSIG*276a914586dae7501cf6499a34b99dbf6fd77e8b9f5575088ac*"194Zrge1QjgNF314qqDpYz5AKSsvSKkxto8#J " +B68769560bb636aff766787130c531eeba66a754344c2ccbbfc0ee481172a31b8:0@68769560bb636aff766787130c531eeba66a754344c2ccbbfc0ee481172a31b8""194Zrge1QjgNF314qqDpYz5AKSsvSKkxto"UOP_DUP OP_HASH160 586dae7501cf6499a34b99dbf6fd77e8b9f55750 OP_EQUALVERIFY OP_CHECKSIG*276a914586dae7501cf6499a34b99dbf6fd77e8b9f5575088ac*"194Zrge1QjgNF314qqDpYz5AKSsvSKkxto8#J " +B58fec4a093fcaf789d138cbebc0d5aedd6fad32e992844c85b6bf745ad0e3d4d:0@58fec4a093fcaf789d138cbebc0d5aedd6fad32e992844c85b6bf745ad0e3d4d""14F5PSPXWQ7XbXPvzhu5jKZ7FeZtDG4PFJ"UOP_DUP OP_HASH160 2391dcdf2f952cb6f03eca3342619b75869a6445 OP_EQUALVERIFY OP_CHECKSIG*276a9142391dcdf2f952cb6f03eca3342619b75869a644588ac*"14F5PSPXWQ7XbXPvzhu5jKZ7FeZtDG4PFJ8$J " B8e9206b45fa390b549adf11c491cb743196a04a68ce39b9685ac719bbc5511f6:0@8e9206b45fa390b549adf11c491cb743196a04a68ce39b9685ac719bbc5511f6""1PsqeMMLGatH4o3hK9bAdTDbWdSQGwNCeL"UOP_DUP OP_HASH160 faf02bd92dab1a4d53182d1e1351900974173b14 OP_EQUALVERIFY OP_CHECKSIG*276a914faf02bd92dab1a4d53182d1e1351900974173b1488ac*"1PsqeMMLGatH4o3hK9bAdTDbWdSQGwNCeL8#J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:224 @4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""112ZP1RHmVyxGknTtDR8bvRKyQuhVNc1Xo"UOP_DUP OP_HASH160 004b71e86d863b05927eb8f6db2d5ec72256a9fc OP_EQUALVERIFY OP_CHECKSIG*276a914004b71e86d863b05927eb8f6db2d5ec72256a9fc88ac*"112ZP1RHmVyxGknTtDR8bvRKyQuhVNc1Xo8"J " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:225@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""14Cictu1JaHoR3wCF4uq9D3LxcxZvk4FYs"UOP_DUP OP_HASH160 231fb1d285c546099b10aa844925f24fcdabe180 OP_EQUALVERIFY OP_CHECKSIG*276a914231fb1d285c546099b10aa844925f24fcdabe18088ac*"14Cictu1JaHoR3wCF4uq9D3LxcxZvk4FYs8"J " -Bdb069e1b32993a1e0eede0c4617fb55b29c37ced089c0effd43f132a385c054e:0@db069e1b32993a1e0eede0c4617fb55b29c37ced089c0effd43f132a385c054e""1EwohuE4wHL6YscHpiFPzsyBD8TZs2jGkS"UOP_DUP OP_HASH160 98f715ab6556b64b2511b84529eac29a448d0869 OP_EQUALVERIFY OP_CHECKSIG*276a91498f715ab6556b64b2511b84529eac29a448d086988ac*"1EwohuE4wHL6YscHpiFPzsyBD8TZs2jGkS8Å$J  " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:220@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1LpTRDi1tLqX74u23F5ZdnjXV7bhxwaxX8"UOP_DUP OP_HASH160 d963fe0c2b2a708a40cbc014e15a0d7a997cb6ed OP_EQUALVERIFY OP_CHECKSIG*276a914d963fe0c2b2a708a40cbc014e15a0d7a997cb6ed88ac*"1LpTRDi1tLqX74u23F5ZdnjXV7bhxwaxX88"J " -B242d571083f4097d1321989048917e73976bca7317d8fef156f08d8c678aafeb:0@242d571083f4097d1321989048917e73976bca7317d8fef156f08d8c678aafeb""17c9xsXFij6U1Ncn3n3vwi1GEM6gHEVn6K"UOP_DUP OP_HASH160 4876cba8eef91ad3b925fd4014d0627fa0d4d3a8 OP_EQUALVERIFY OP_CHECKSIG*276a9144876cba8eef91ad3b925fd4014d0627fa0d4d3a888ac*"17c9xsXFij6U1Ncn3n3vwi1GEM6gHEVn6K8$J " +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:225@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""14Cictu1JaHoR3wCF4uq9D3LxcxZvk4FYs"UOP_DUP OP_HASH160 231fb1d285c546099b10aa844925f24fcdabe180 OP_EQUALVERIFY OP_CHECKSIG*276a914231fb1d285c546099b10aa844925f24fcdabe18088ac*"14Cictu1JaHoR3wCF4uq9D3LxcxZvk4FYs8"J " +Bb8a9be99b5a92ac02081b35c1c57d48ec7c5a303f349c1d362c7afe98964a073:0&@b8a9be99b5a92ac02081b35c1c57d48ec7c5a303f349c1d362c7afe98964a073""19ak4sce8DgAXLB1FjbbGrAN1JSTd16TLw"UOP_DUP OP_HASH160 5e22aeef451276bbb85538c85ccba37de2d8360e OP_EQUALVERIFY OP_CHECKSIG*276a9145e22aeef451276bbb85538c85ccba37de2d8360e88ac*"19ak4sce8DgAXLB1FjbbGrAN1JSTd16TLw8$J " +Bbd69e6a2b902ffa33d1f7a382f1ac974760c5aab18a3f9ca5cde9a1262127999:0S@bd69e6a2b902ffa33d1f7a382f1ac974760c5aab18a3f9ca5cde9a1262127999""1MMCXqXEVYzmkusnaXX8d4vEwu4p5UBCkz"UOP_DUP OP_HASH160 df3476081091fc6ba7c9b176e5d06b0a64172763 OP_EQUALVERIFY OP_CHECKSIG*276a914df3476081091fc6ba7c9b176e5d06b0a6417276388ac*"1MMCXqXEVYzmkusnaXX8d4vEwu4p5UBCkz8$J " B2ff53582b365ef677efce003663081a508f79001fa92bcfdd9fe6b3f797a8f34:1<@2ff53582b365ef677efce003663081a508f79001fa92bcfdd9fe6b3f797a8f34""1NC3WstVWvNW1HHZHjTXTCCfBWtJwcazLA"UOP_DUP OP_HASH160 e871510a2ba41d5a3d2870235fb57773fbe03b35 OP_EQUALVERIFY OP_CHECKSIG*276a914e871510a2ba41d5a3d2870235fb57773fbe03b3588ac*"1NC3WstVWvNW1HHZHjTXTCCfBWtJwcazLA8#J " B2144eb4cb9ff258387501791a9f40591f1f1603fca309b5d5b8352467005d657:0*@2144eb4cb9ff258387501791a9f40591f1f1603fca309b5d5b8352467005d657""1GVE8vneg96Dx83rHpFwpcguWpzyD3skng"UOP_DUP OP_HASH160 a9e07fe80187628a3f7da25f7ea94e6e9d318dca OP_EQUALVERIFY OP_CHECKSIG*276a914a9e07fe80187628a3f7da25f7ea94e6e9d318dca88ac*"1GVE8vneg96Dx83rHpFwpcguWpzyD3skng8$J " -Bc25d8d65bfbe0c1565bf86dbdf042600a39b944d748d0d50369926d471621cd0:0@@c25d8d65bfbe0c1565bf86dbdf042600a39b944d748d0d50369926d471621cd0""1P1ib1xtambbG3kF3LPer4r8vSgV5DHSMy"UOP_DUP OP_HASH160 f1757b5dc48ff9c82e71005eaf368fdcc29c8c7a OP_EQUALVERIFY OP_CHECKSIG*276a914f1757b5dc48ff9c82e71005eaf368fdcc29c8c7a88ac*"1P1ib1xtambbG3kF3LPer4r8vSgV5DHSMy8$J " +Bfacd64d253f02483ad035dbfe6b98aec04e4ca7704c87ad39211d8ab71031a8c:0F@facd64d253f02483ad035dbfe6b98aec04e4ca7704c87ad39211d8ab71031a8c""13pn77j8mTGcoXfgVZNjJpfX5gg5VT7KRG"UOP_DUP OP_HASH160 1ef9743302587b3bdb1522ec76e69573aba70743 OP_EQUALVERIFY OP_CHECKSIG*276a9141ef9743302587b3bdb1522ec76e69573aba7074388ac*"13pn77j8mTGcoXfgVZNjJpfX5gg5VT7KRG8$J " Be2b1d8b6ad4609e4714456cd5bb1a7978db262747acf28f09601af64b0f1ea46:0*@e2b1d8b6ad4609e4714456cd5bb1a7978db262747acf28f09601af64b0f1ea46""1KNGsSgcSxV9ejh6AVyiDbktM9JXkVTNQq"UOP_DUP OP_HASH160 c9783f2591c94b05d5a036301f5f97282594b572 OP_EQUALVERIFY OP_CHECKSIG*276a914c9783f2591c94b05d5a036301f5f97282594b57288ac*"1KNGsSgcSxV9ejh6AVyiDbktM9JXkVTNQq8#J " Becc8d8280e354fca90603f28a6f3c89fd4f83adcd153ce458d5adaf1fd45072f:0@ecc8d8280e354fca90603f28a6f3c89fd4f83adcd153ce458d5adaf1fd45072f""1LGo8tXvk76rmknWAgT5fQHZvDGi77fsEY"UOP_DUP OP_HASH160 d3672447b584e172e7b2dcd049f4ff35244acc66 OP_EQUALVERIFY OP_CHECKSIG*276a914d3672447b584e172e7b2dcd049f4ff35244acc6688ac*"1LGo8tXvk76rmknWAgT5fQHZvDGi77fsEY8#J " B6ac140feb33d9a2f0c9bacc796f0d6926c1909f0a5c8afe8bb898e5a6b156fbb:0 @6ac140feb33d9a2f0c9bacc796f0d6926c1909f0a5c8afe8bb898e5a6b156fbb""19Ep37dumf5rBWLLjGNmgCrd2E7fBktnQy"UOP_DUP OP_HASH160 5a5dad86375b9c7bf9ae1023f0fa293ffd13cb59 OP_EQUALVERIFY OP_CHECKSIG*276a9145a5dad86375b9c7bf9ae1023f0fa293ffd13cb5988ac*"19Ep37dumf5rBWLLjGNmgCrd2E7fBktnQy8֓#J  " +B96069a040a1a32506d7003d96e680fa716c924cdc768627c411820a109a7998b:0u@96069a040a1a32506d7003d96e680fa716c924cdc768627c411820a109a7998b""18Ga5byxYTPahmgKdYFVN4rDvqAD22T5Hk"UOP_DUP OP_HASH160 4fbabbb16e649867c1cbc520ee92017aebe59f11 OP_EQUALVERIFY OP_CHECKSIG*276a9144fbabbb16e649867c1cbc520ee92017aebe59f1188ac*"18Ga5byxYTPahmgKdYFVN4rDvqAD22T5Hk8$J " +Bb8a18a6ff0e5abdc6e00c3a8b56dd851e101871482c5cf2bd1fd1ea083157bc8:0ͣy@b8a18a6ff0e5abdc6e00c3a8b56dd851e101871482c5cf2bd1fd1ea083157bc8""1NfmmADEskqaErewgmSRJrgF4TPtq7ejKG"UOP_DUP OP_HASH160 edafd01abc98a14916f3bc00d6ad30297fbe35fa OP_EQUALVERIFY OP_CHECKSIG*276a914edafd01abc98a14916f3bc00d6ad30297fbe35fa88ac*"1NfmmADEskqaErewgmSRJrgF4TPtq7ejKG8$J " B5f7e6e634376cce2e781b7205f0e87b9e027de4b436e7d68641bd32b29702212:0 @5f7e6e634376cce2e781b7205f0e87b9e027de4b436e7d68641bd32b29702212""1KEVmUU9jTmmz5P55JWz5Uv7tM1FezYNX6"UOP_DUP OP_HASH160 c7ffaf569568142fcb3dd4c3d9176f6c2e5d49c4 OP_EQUALVERIFY OP_CHECKSIG*276a914c7ffaf569568142fcb3dd4c3d9176f6c2e5d49c488ac*"1KEVmUU9jTmmz5P55JWz5Uv7tM1FezYNX68#J " -B8923b6c9d7df81187fe7c0e55bfb7ba4e4030322ade413628eb11d127f88bdd8:0@8923b6c9d7df81187fe7c0e55bfb7ba4e4030322ade413628eb11d127f88bdd8""12Emp7XCM9a7pPoLsYJbQFyHM67SnuMNKF"UOP_DUP OP_HASH160 0d92f0d188515b835fb05dfe6b7bc2e6ce761d66 OP_EQUALVERIFY OP_CHECKSIG*276a9140d92f0d188515b835fb05dfe6b7bc2e6ce761d6688ac*"12Emp7XCM9a7pPoLsYJbQFyHM67SnuMNKF8"J " -B759389450d11ec75cf6720c1e82ff2f4e73b8d81df3dda043b717b89e76654a9:0 @759389450d11ec75cf6720c1e82ff2f4e73b8d81df3dda043b717b89e76654a9""1P3J1dT189gQnbig52RLYKBXN5kZRs9zFe"UOP_DUP OP_HASH160 f1c1cc91965561b669ec589b13c5ed4b34c268bf OP_EQUALVERIFY OP_CHECKSIG*276a914f1c1cc91965561b669ec589b13c5ed4b34c268bf88ac*"1P3J1dT189gQnbig52RLYKBXN5kZRs9zFe8#J " +Bf0da353289705f13e83ee451964be71be50bf8599dd572884ed87bf0bcee195d:0F@f0da353289705f13e83ee451964be71be50bf8599dd572884ed87bf0bcee195d""1MTjrSYuBywL2jrW8XpmL7jNye94mGYaUj"UOP_DUP OP_HASH160 e0711a221e7f8e86cf844e6a5910ae1cde49fc6a OP_EQUALVERIFY OP_CHECKSIG*276a914e0711a221e7f8e86cf844e6a5910ae1cde49fc6a88ac*"1MTjrSYuBywL2jrW8XpmL7jNye94mGYaUj8ț$J " +B759389450d11ec75cf6720c1e82ff2f4e73b8d81df3dda043b717b89e76654a9:0 @759389450d11ec75cf6720c1e82ff2f4e73b8d81df3dda043b717b89e76654a9""1P3J1dT189gQnbig52RLYKBXN5kZRs9zFe"UOP_DUP OP_HASH160 f1c1cc91965561b669ec589b13c5ed4b34c268bf OP_EQUALVERIFY OP_CHECKSIG*276a914f1c1cc91965561b669ec589b13c5ed4b34c268bf88ac*"1P3J1dT189gQnbig52RLYKBXN5kZRs9zFe8#J " +Bd5886e2ae2bfacb5ab112e29bfd0075aac2f93ac5c1e1de1a3a5d5aff0de650d:1@d5886e2ae2bfacb5ab112e29bfd0075aac2f93ac5c1e1de1a3a5d5aff0de650d""13JNgdrxah2juxudQ8qyXWUoZ8YGZ2oATa"UOP_DUP OP_HASH160 19396c5c65dab74cb4025e9fb724d2df4eb83a25 OP_EQUALVERIFY OP_CHECKSIG*276a91419396c5c65dab74cb4025e9fb724d2df4eb83a2588ac*"13JNgdrxah2juxudQ8qyXWUoZ8YGZ2oATa8$J " +Bd5886e2ae2bfacb5ab112e29bfd0075aac2f93ac5c1e1de1a3a5d5aff0de650d:0@d5886e2ae2bfacb5ab112e29bfd0075aac2f93ac5c1e1de1a3a5d5aff0de650d""13JNgdrxah2juxudQ8qyXWUoZ8YGZ2oATa"UOP_DUP OP_HASH160 19396c5c65dab74cb4025e9fb724d2df4eb83a25 OP_EQUALVERIFY OP_CHECKSIG*276a91419396c5c65dab74cb4025e9fb724d2df4eb83a2588ac*"13JNgdrxah2juxudQ8qyXWUoZ8YGZ2oATa8$J  +" Ba9faa3db2ef90f629a75f14d62c1b0adac6f2054418a03b36d9470fcc03859b3:0O@a9faa3db2ef90f629a75f14d62c1b0adac6f2054418a03b36d9470fcc03859b3""1Ksk8zHVDaBYoX1M3MuEftYCdo9LsoPotF"UOP_DUP OP_HASH160 cf0b125e4a135f8a4b8393a8d3265dcfc7310d04 OP_EQUALVERIFY OP_CHECKSIG*276a914cf0b125e4a135f8a4b8393a8d3265dcfc7310d0488ac*"1Ksk8zHVDaBYoX1M3MuEftYCdo9LsoPotF8#J  " -B6bae46df9fe59c60404170a81bf79b467dfd924d3aad0ea56723ffbb26647ba4:0@6bae46df9fe59c60404170a81bf79b467dfd924d3aad0ea56723ffbb26647ba4""18SWznURSh9CF2Ppz5REYYzdpoDB7A66mz"UOP_DUP OP_HASH160 519c51b490f5142a64b16cbb82fbd4f8955cd9b6 OP_EQUALVERIFY OP_CHECKSIG*276a914519c51b490f5142a64b16cbb82fbd4f8955cd9b688ac*"18SWznURSh9CF2Ppz5REYYzdpoDB7A66mz8$J " -B58dae32df3ff623ee6d3f223f15e979de203a484c6430a01ce7708be38207cb2:0@58dae32df3ff623ee6d3f223f15e979de203a484c6430a01ce7708be38207cb2""1BREc6kN8jERnerTYa5TxpnC67erbBb1zL"UOP_DUP OP_HASH160 724699122f47e241dca53c7e97cc91de3567f6f2 OP_EQUALVERIFY OP_CHECKSIG*276a914724699122f47e241dca53c7e97cc91de3567f6f288ac*"1BREc6kN8jERnerTYa5TxpnC67erbBb1zL8̏$J " +B6bae46df9fe59c60404170a81bf79b467dfd924d3aad0ea56723ffbb26647ba4:0@6bae46df9fe59c60404170a81bf79b467dfd924d3aad0ea56723ffbb26647ba4""18SWznURSh9CF2Ppz5REYYzdpoDB7A66mz"UOP_DUP OP_HASH160 519c51b490f5142a64b16cbb82fbd4f8955cd9b6 OP_EQUALVERIFY OP_CHECKSIG*276a914519c51b490f5142a64b16cbb82fbd4f8955cd9b688ac*"18SWznURSh9CF2Ppz5REYYzdpoDB7A66mz8$J " B2e2ddd0d9f3aba002f1de507ae299ef81d19c3194767c0453c8e84c2450abde1:0@2e2ddd0d9f3aba002f1de507ae299ef81d19c3194767c0453c8e84c2450abde1""1M8NPP75T7KEmiaowR3EeNUvHyVfeC1kSy"UOP_DUP OP_HASH160 dcc747898ff10a19e7bed7d1637100d47bbad4f5 OP_EQUALVERIFY OP_CHECKSIG*276a914dcc747898ff10a19e7bed7d1637100d47bbad4f588ac*"1M8NPP75T7KEmiaowR3EeNUvHyVfeC1kSy8#J  " Be963adfd09faaba3fbc56ee2e7bb65855eca51161ce36c15106885b243e7d0c5:1 @e963adfd09faaba3fbc56ee2e7bb65855eca51161ce36c15106885b243e7d0c5""19UPsq9EwEiRzLAep6D6oGAK7877FWS9U8"UOP_DUP OP_HASH160 5cef555ede1895ae67bef2eac458d4938f3bc58c OP_EQUALVERIFY OP_CHECKSIG*276a9145cef555ede1895ae67bef2eac458d4938f3bc58c88ac*"19UPsq9EwEiRzLAep6D6oGAK7877FWS9U88#J " -B09409a4b18b21634e4ecb31a25424d6f30e3220ce491ff13c3b504ca59c7ee83:0@09409a4b18b21634e4ecb31a25424d6f30e3220ce491ff13c3b504ca59c7ee83""14wwPZMX2Su3ZnWhwVjjg8j1q9aUmCdhoD"UOP_DUP OP_HASH160 2b4c3daa38ce56d019770740964449131617d074 OP_EQUALVERIFY OP_CHECKSIG*276a9142b4c3daa38ce56d019770740964449131617d07488ac*"14wwPZMX2Su3ZnWhwVjjg8j1q9aUmCdhoD8$J " -B09409a4b18b21634e4ecb31a25424d6f30e3220ce491ff13c3b504ca59c7ee83:1 @09409a4b18b21634e4ecb31a25424d6f30e3220ce491ff13c3b504ca59c7ee83""1GkCaT59iiX3xSyUXiM4xyrD6AubpuEoon"UOP_DUP OP_HASH160 acb56fd6a8cadd54b4e9971d9509bbdc007ef669 OP_EQUALVERIFY OP_CHECKSIG*276a914acb56fd6a8cadd54b4e9971d9509bbdc007ef66988ac*"1GkCaT59iiX3xSyUXiM4xyrD6AubpuEoon8$J " +B47a4d6e74c512bce032dcccc405dde33e0bfee9f2ab866cc753f685a444b04d6:0ݨ@47a4d6e74c512bce032dcccc405dde33e0bfee9f2ab866cc753f685a444b04d6""1Euxt9nfN1JjQ1eQwmYKfBzLZgk8WEdCaC"UOP_DUP OP_HASH160 989de9bfbbe1950a5976740f4515e0d7419e74cd OP_EQUALVERIFY OP_CHECKSIG*276a914989de9bfbbe1950a5976740f4515e0d7419e74cd88ac*"1Euxt9nfN1JjQ1eQwmYKfBzLZgk8WEdCaC8$J " Bd304a87d66cd3ea8011d113c1c934167126a5bc167ade4459528c6dd291bfb3e:0܌@d304a87d66cd3ea8011d113c1c934167126a5bc167ade4459528c6dd291bfb3e""1MtkXURo1trgKfR7r8F7fjK5Dg1BQzE5Zc"UOP_DUP OP_HASH160 e52c1019fc2e6b2e9e54ef9e3310c8abefdb8951 OP_EQUALVERIFY OP_CHECKSIG*276a914e52c1019fc2e6b2e9e54ef9e3310c8abefdb895188ac*"1MtkXURo1trgKfR7r8F7fjK5Dg1BQzE5Zc8܉#J " B9d1346fe408a5244f84392acd57e8cc1d936a833a105da0205cae4329affea19:0@9d1346fe408a5244f84392acd57e8cc1d936a833a105da0205cae4329affea19""1NXVt5P7p89PQFpcaPdmjeNnknZtDYRYWh"UOP_DUP OP_HASH160 ec1f3a87c9a85d241d5301632962f7216ceacd5d OP_EQUALVERIFY OP_CHECKSIG*276a914ec1f3a87c9a85d241d5301632962f7216ceacd5d88ac*"1NXVt5P7p89PQFpcaPdmjeNnknZtDYRYWh8$J " -Bdeb1514e26b8e64746b0f2c51bf06956a4515b62c0d55dda59232b9c4e4ceaff:0F@deb1514e26b8e64746b0f2c51bf06956a4515b62c0d55dda59232b9c4e4ceaff""1AZKuK6GtR4qRJrobAx2Yf87j72AR9Tn55"UOP_DUP OP_HASH160 68d638ab891202e8848fe89388696630b5e81312 OP_EQUALVERIFY OP_CHECKSIG*276a91468d638ab891202e8848fe89388696630b5e8131288ac*"1AZKuK6GtR4qRJrobAx2Yf87j72AR9Tn558܁$J " +Bdeb1514e26b8e64746b0f2c51bf06956a4515b62c0d55dda59232b9c4e4ceaff:0F@deb1514e26b8e64746b0f2c51bf06956a4515b62c0d55dda59232b9c4e4ceaff""1AZKuK6GtR4qRJrobAx2Yf87j72AR9Tn55"UOP_DUP OP_HASH160 68d638ab891202e8848fe89388696630b5e81312 OP_EQUALVERIFY OP_CHECKSIG*276a91468d638ab891202e8848fe89388696630b5e8131288ac*"1AZKuK6GtR4qRJrobAx2Yf87j72AR9Tn558܁$J " +B1c2fda1dcf2f85f40f6ad6ec489f2c37a12b3fe83fec062466f3e42e58cfe908:0@1c2fda1dcf2f85f40f6ad6ec489f2c37a12b3fe83fec062466f3e42e58cfe908""1K737Z3GHMrwvzuaiPgGYc4xr1rVzxuwDF"UOP_DUP OP_HASH160 c6968611272fd414691cae971a0a02d1f8a2f1eb OP_EQUALVERIFY OP_CHECKSIG*276a914c6968611272fd414691cae971a0a02d1f8a2f1eb88ac*"1K737Z3GHMrwvzuaiPgGYc4xr1rVzxuwDF8̢$J  +" +B1c2fda1dcf2f85f40f6ad6ec489f2c37a12b3fe83fec062466f3e42e58cfe908:1 @1c2fda1dcf2f85f40f6ad6ec489f2c37a12b3fe83fec062466f3e42e58cfe908""1K737Z3GHMrwvzuaiPgGYc4xr1rVzxuwDF"UOP_DUP OP_HASH160 c6968611272fd414691cae971a0a02d1f8a2f1eb OP_EQUALVERIFY OP_CHECKSIG*276a914c6968611272fd414691cae971a0a02d1f8a2f1eb88ac*"1K737Z3GHMrwvzuaiPgGYc4xr1rVzxuwDF8̢$J " B73363993459c027e203fa90e1b23124c8fe2244b8936320e6fba36ebb378718e:0N@73363993459c027e203fa90e1b23124c8fe2244b8936320e6fba36ebb378718e""1CYkpbRNN8Z1ubagrjY2yVuFQUMQcbdRxD"UOP_DUP OP_HASH160 7eaadba6b27972b5e229a1bff7a4cb0c114d339d OP_EQUALVERIFY OP_CHECKSIG*276a9147eaadba6b27972b5e229a1bff7a4cb0c114d339d88ac*"1CYkpbRNN8Z1ubagrjY2yVuFQUMQcbdRxD8#J " B50d628177a644542646c110077dc7884d0e0a9eb3a24b308dc47e15428c729e9:0@50d628177a644542646c110077dc7884d0e0a9eb3a24b308dc47e15428c729e9""1A7XB71xJYUwVphBd7HvhThUJ91sYdSX2e"UOP_DUP OP_HASH160 63f4d0e4162306774df5afe0054f82c6de59e44c OP_EQUALVERIFY OP_CHECKSIG*276a91463f4d0e4162306774df5afe0054f82c6de59e44c88ac*"1A7XB71xJYUwVphBd7HvhThUJ91sYdSX2e8#J " B021fd148c2869f196356bd37e7df811ef19fdbb07d58fb93fa00dd55909f8443:0o@021fd148c2869f196356bd37e7df811ef19fdbb07d58fb93fa00dd55909f8443""1A9MV4CmhHhm7Km9CZKCYQqRNtfzjeZiia"UOP_DUP OP_HASH160 644d8f063d1ab6126b143415907481f4fc405c37 OP_EQUALVERIFY OP_CHECKSIG*276a914644d8f063d1ab6126b143415907481f4fc405c3788ac*"1A9MV4CmhHhm7Km9CZKCYQqRNtfzjeZiia8#J " B1b1cd5cf6612c98e5a1f8a777409c807e2eb0662d0a12f037ddf71cc6fc8190c:0Q@1b1cd5cf6612c98e5a1f8a777409c807e2eb0662d0a12f037ddf71cc6fc8190c""15wwo4U9zuHzPP835s9YpyYhNnfYxDRv8K"UOP_DUP OP_HASH160 3644b47517e8ea4f75f624b1003668a46da3ba0f OP_EQUALVERIFY OP_CHECKSIG*276a9143644b47517e8ea4f75f624b1003668a46da3ba0f88ac*"15wwo4U9zuHzPP835s9YpyYhNnfYxDRv8K8#J " Bec11348d78d78b3c36f1005ad9b6e5b8a3a663b367ef86f45235dca459a06d4e:0@ec11348d78d78b3c36f1005ad9b6e5b8a3a663b367ef86f45235dca459a06d4e""1PirzkHyuKCb1vLXfm1AjwLPXWF5rHGDKT"UOP_DUP OP_HASH160 f93d8e511a936fb396f5a11821739ea7b6f919df OP_EQUALVERIFY OP_CHECKSIG*276a914f93d8e511a936fb396f5a11821739ea7b6f919df88ac*"1PirzkHyuKCb1vLXfm1AjwLPXWF5rHGDKT8#J " -B272febacae7d803ea8f61f64846f6c577685f9c4ac07a4450e43d3478a5c3928:1@272febacae7d803ea8f61f64846f6c577685f9c4ac07a4450e43d3478a5c3928""1NbhV5cNRWZbqmUbg6rQE7Sa6vKrQiFvF9"UOP_DUP OP_HASH160 ecea941fba9346bac5df675900779b9e46d7c549 OP_EQUALVERIFY OP_CHECKSIG*276a914ecea941fba9346bac5df675900779b9e46d7c54988ac*"1NbhV5cNRWZbqmUbg6rQE7Sa6vKrQiFvF98#J " -B1f7f0220fec33b63d9370165a20edbb5c39d524cb3749a68db2204dc6ef8cd70:0@1f7f0220fec33b63d9370165a20edbb5c39d524cb3749a68db2204dc6ef8cd70""1GzWKnsQkWNuB1zeH55AKCjX6Cb6AYhPnM"UOP_DUP OP_HASH160 af6a13337f4169a1ad74539a602f13c99c71c466 OP_EQUALVERIFY OP_CHECKSIG*276a914af6a13337f4169a1ad74539a602f13c99c71c46688ac*"1GzWKnsQkWNuB1zeH55AKCjX6Cb6AYhPnM8$J " -Bc70749f9e5872eae7fd34194d0767943bb18d51b922e956705e60078654f94a4:0 @c70749f9e5872eae7fd34194d0767943bb18d51b922e956705e60078654f94a4""157jbZC5sUfHCYdfVza1hFepeELvoF2hKL"UOP_DUP OP_HASH160 2d268e5a8c768b1acb7d9bba731f67bac1ab4e3b OP_EQUALVERIFY OP_CHECKSIG*276a9142d268e5a8c768b1acb7d9bba731f67bac1ab4e3b88ac*"157jbZC5sUfHCYdfVza1hFepeELvoF2hKL8ν#J " -B01878c4a79c4b58ebadf12fde9a370e73ce7e413079d93e39f480588e63aafdb:0 @01878c4a79c4b58ebadf12fde9a370e73ce7e413079d93e39f480588e63aafdb""1NiDtqofN25PR2rQytFECEBAj77fNio2ax"UOP_DUP OP_HASH160 ee2675883d847127315248a58167a82b7af9dcb4 OP_EQUALVERIFY OP_CHECKSIG*276a914ee2675883d847127315248a58167a82b7af9dcb488ac*"1NiDtqofN25PR2rQytFECEBAj77fNio2ax8ߕ$J " -Bc6b9ad8ea4088ea198b195fa8217e35090dfd64c3ab4ddd8a93c7988127bbd4d:1 -@c6b9ad8ea4088ea198b195fa8217e35090dfd64c3ab4ddd8a93c7988127bbd4d""19QV4sS6uQJPFCvwMATMkWYbKU9aT3BTEk"UOP_DUP OP_HASH160 5c3200972144cb968342ac5bb93eebbe4cf70927 OP_EQUALVERIFY OP_CHECKSIG*276a9145c3200972144cb968342ac5bb93eebbe4cf7092788ac*"19QV4sS6uQJPFCvwMATMkWYbKU9aT3BTEk8$J " -B11789dab1bac0b7536753388e6a175cd42f17f2d8327e0622c442e9a5a546b4d:0@11789dab1bac0b7536753388e6a175cd42f17f2d8327e0622c442e9a5a546b4d""19egd7zobNApbrWNSUg6XCwzkzVgABVwbd"UOP_DUP OP_HASH160 5ee178e742691895c93f3de22c5de92d196e9c48 OP_EQUALVERIFY OP_CHECKSIG*276a9145ee178e742691895c93f3de22c5de92d196e9c4888ac*"19egd7zobNApbrWNSUg6XCwzkzVgABVwbd8ц$J " -B068642220a7715e89b516e28c96612e11d04051ea291b210850f3bddb9a92a2a:06@068642220a7715e89b516e28c96612e11d04051ea291b210850f3bddb9a92a2a""1FaWTRdJB7z2U2cD3mTHSfBfFzv6uz1MMc"UOP_DUP OP_HASH160 9fe81375177649689e34ae58e6c8373520a99415 OP_EQUALVERIFY OP_CHECKSIG*276a9149fe81375177649689e34ae58e6c8373520a9941588ac*"1FaWTRdJB7z2U2cD3mTHSfBfFzv6uz1MMc8$J " +B272febacae7d803ea8f61f64846f6c577685f9c4ac07a4450e43d3478a5c3928:1@272febacae7d803ea8f61f64846f6c577685f9c4ac07a4450e43d3478a5c3928""1NbhV5cNRWZbqmUbg6rQE7Sa6vKrQiFvF9"UOP_DUP OP_HASH160 ecea941fba9346bac5df675900779b9e46d7c549 OP_EQUALVERIFY OP_CHECKSIG*276a914ecea941fba9346bac5df675900779b9e46d7c54988ac*"1NbhV5cNRWZbqmUbg6rQE7Sa6vKrQiFvF98#J " +B9d67fbbe8df34bba143df641454aca72932949abdf71dbe3b98db35c0f501ca0:0 @9d67fbbe8df34bba143df641454aca72932949abdf71dbe3b98db35c0f501ca0""1KftiGLyvukwBvgge1afVmsP7VFDKbmfpK"UOP_DUP OP_HASH160 cccd3cb99cdaae63d6212e6fec0e339acb210ca9 OP_EQUALVERIFY OP_CHECKSIG*276a914cccd3cb99cdaae63d6212e6fec0e339acb210ca988ac*"1KftiGLyvukwBvgge1afVmsP7VFDKbmfpK8$J " +Bc70749f9e5872eae7fd34194d0767943bb18d51b922e956705e60078654f94a4:0 @c70749f9e5872eae7fd34194d0767943bb18d51b922e956705e60078654f94a4""157jbZC5sUfHCYdfVza1hFepeELvoF2hKL"UOP_DUP OP_HASH160 2d268e5a8c768b1acb7d9bba731f67bac1ab4e3b OP_EQUALVERIFY OP_CHECKSIG*276a9142d268e5a8c768b1acb7d9bba731f67bac1ab4e3b88ac*"157jbZC5sUfHCYdfVza1hFepeELvoF2hKL8ν#J " +Bd8a2b223b5f72b2d74049a79736d9fbcb6e47d49b4548bf7bf9a11f997a2cab6:0@d8a2b223b5f72b2d74049a79736d9fbcb6e47d49b4548bf7bf9a11f997a2cab6""19M85vbc71GAkhEhuW1PAD8zoLH74tibA2"UOP_DUP OP_HASH160 5b8f3d5bbb4d5f457d84a15b87cae60718a36ed9 OP_EQUALVERIFY OP_CHECKSIG*276a9145b8f3d5bbb4d5f457d84a15b87cae60718a36ed988ac*"19M85vbc71GAkhEhuW1PAD8zoLH74tibA28И$J " +B56786ea835651f2eeaebb237d0d429724a4ef297fc47fb47e6ff199007b16cf1:0@56786ea835651f2eeaebb237d0d429724a4ef297fc47fb47e6ff199007b16cf1""1Adfiv8qCZHeSjQ1vsoZ9kES1TG7xPQmir"UOP_DUP OP_HASH160 69a86e45df028060f6d26e82d4406794492402b5 OP_EQUALVERIFY OP_CHECKSIG*276a91469a86e45df028060f6d26e82d4406794492402b588ac*"1Adfiv8qCZHeSjQ1vsoZ9kES1TG7xPQmir8Ȣ$J  +" +B8b2941ed503fdd4961187d47cbe4e8b4fa7627b07aff6b10d92830505ef99d50:0@8b2941ed503fdd4961187d47cbe4e8b4fa7627b07aff6b10d92830505ef99d50""1BAAFoFAUzcnpVeS2YhCjQF3G3o16sEgQo"UOP_DUP OP_HASH160 6f6cba2f4a1762e418c6688d17a3a7f5bb282aae OP_EQUALVERIFY OP_CHECKSIG*276a9146f6cba2f4a1762e418c6688d17a3a7f5bb282aae88ac*"1BAAFoFAUzcnpVeS2YhCjQF3G3o16sEgQo8$J " +Be2b80216a45b5cbbc24ccc20558aa4fc2cee5a25ecab8b899f5808e5713ce3da:0@e2b80216a45b5cbbc24ccc20558aa4fc2cee5a25ecab8b899f5808e5713ce3da""14aigvv6j6mgYsRCryvFcEmbnC4sWWNzNi"UOP_DUP OP_HASH160 2748e7629c166f7754e49a5ef9bfe89ae5cb033a OP_EQUALVERIFY OP_CHECKSIG*276a9142748e7629c166f7754e49a5ef9bfe89ae5cb033a88ac*"14aigvv6j6mgYsRCryvFcEmbnC4sWWNzNi8$J  +" +B5c8acce2c5d47d14abb7de38549cb754ef816d8792aad6a26dd9e38d5848999c:0@5c8acce2c5d47d14abb7de38549cb754ef816d8792aad6a26dd9e38d5848999c""1Fex2XkAiG9pRNgvbJoEi3VLeFwfpaF4Fi"UOP_DUP OP_HASH160 a0bf15d42637a3ee31d5c3d922ff0be9da64e1ae OP_EQUALVERIFY OP_CHECKSIG*276a914a0bf15d42637a3ee31d5c3d922ff0be9da64e1ae88ac*"1Fex2XkAiG9pRNgvbJoEi3VLeFwfpaF4Fi8$J " +B11789dab1bac0b7536753388e6a175cd42f17f2d8327e0622c442e9a5a546b4d:0@11789dab1bac0b7536753388e6a175cd42f17f2d8327e0622c442e9a5a546b4d""19egd7zobNApbrWNSUg6XCwzkzVgABVwbd"UOP_DUP OP_HASH160 5ee178e742691895c93f3de22c5de92d196e9c48 OP_EQUALVERIFY OP_CHECKSIG*276a9145ee178e742691895c93f3de22c5de92d196e9c4888ac*"19egd7zobNApbrWNSUg6XCwzkzVgABVwbd8ц$J " B7fa252aa20aff95bba5cd3a6bc880c6136eb365a85546da53da97984214462aa:0@7fa252aa20aff95bba5cd3a6bc880c6136eb365a85546da53da97984214462aa""1135y2V5pvvNw4sxq73Jx7seASCL5XAj7k"UOP_DUP OP_HASH160 0064fa30219b603fd96d4f9dbdd45346eb5c7fc8 OP_EQUALVERIFY OP_CHECKSIG*276a9140064fa30219b603fd96d4f9dbdd45346eb5c7fc888ac*"1135y2V5pvvNw4sxq73Jx7seASCL5XAj7k8$J " -B20ea78977144af3691c07e2cea733cf9c5037da4da4f53df3f1c6ee36b6064b3:1@20ea78977144af3691c07e2cea733cf9c5037da4da4f53df3f1c6ee36b6064b3""15Zi4Qh5zGFnYS9bo5dSZhVT8rbaydz1Vj"UOP_DUP OP_HASH160 3210168a1a09a8b39ba3d62d7511d2068a569bc4 OP_EQUALVERIFY OP_CHECKSIG*276a9143210168a1a09a8b39ba3d62d7511d2068a569bc488ac*"15Zi4Qh5zGFnYS9bo5dSZhVT8rbaydz1Vj8˒#J " -B2da0e347b7f7699627140beedb21264f8f6b08a6ba074b27ca1ac7d036418858:0 @2da0e347b7f7699627140beedb21264f8f6b08a6ba074b27ca1ac7d036418858""17iHDkRGrn3PrgCPLZ9Eso4qHaGxvborQL"UOP_DUP OP_HASH160 499f59476b55fa4e7306432468dd5069bf75666b OP_EQUALVERIFY OP_CHECKSIG*276a914499f59476b55fa4e7306432468dd5069bf75666b88ac*"17iHDkRGrn3PrgCPLZ9Eso4qHaGxvborQL8ȓ$J " +B4aa4ceb4cc920df91a2864a7544fefc668afc5c3c41a72c61ed195916dd3302d:1ؗ@4aa4ceb4cc920df91a2864a7544fefc668afc5c3c41a72c61ed195916dd3302d""1JfX7XfGxp8H4QyLT1Yu15K8jQwbY4i3CM"UOP_DUP OP_HASH160 c1c314e1ff09134a8400f9c38af1d621adc6653c OP_EQUALVERIFY OP_CHECKSIG*276a914c1c314e1ff09134a8400f9c38af1d621adc6653c88ac*"1JfX7XfGxp8H4QyLT1Yu15K8jQwbY4i3CM8$J " +B50064b821286b1b8dc5420bc9565d85295c65177e93455a3250326b8dcf90f0e:0@50064b821286b1b8dc5420bc9565d85295c65177e93455a3250326b8dcf90f0e""1G15hmMd5xgsCJUQLiGmGYQMTrqJYhJLUa"UOP_DUP OP_HASH160 a48dcfff5c4e41f0968353efb0ca19c31f3bf941 OP_EQUALVERIFY OP_CHECKSIG*276a914a48dcfff5c4e41f0968353efb0ca19c31f3bf94188ac*"1G15hmMd5xgsCJUQLiGmGYQMTrqJYhJLUa8$J " +B92d31ce448451b15ad8ee72b5e4d514863933cef8bcbbda0b1bfd0dba47823e6:0@92d31ce448451b15ad8ee72b5e4d514863933cef8bcbbda0b1bfd0dba47823e6""1D4Doe76vZbcN5dZArQxJ21nUDgG6odtAB"UOP_DUP OP_HASH160 843d7215aabf854dfa9977733af9bb5c33b73b12 OP_EQUALVERIFY OP_CHECKSIG*276a914843d7215aabf854dfa9977733af9bb5c33b73b1288ac*"1D4Doe76vZbcN5dZArQxJ21nUDgG6odtAB8$J " +B439c5f1162c2f965ba4896830a2b56c97201996bf0ad04b067497c815a5d92e8:0/@439c5f1162c2f965ba4896830a2b56c97201996bf0ad04b067497c815a5d92e8"!1bknG4HfxTQ2qM2WisJ2TSjeFhogE6W32"UOP_DUP OP_HASH160 0692b04dc19e351c3cb1732a7975a94e65e057d0 OP_EQUALVERIFY OP_CHECKSIG*276a9140692b04dc19e351c3cb1732a7975a94e65e057d088ac*!1bknG4HfxTQ2qM2WisJ2TSjeFhogE6W328$J " +B20ea78977144af3691c07e2cea733cf9c5037da4da4f53df3f1c6ee36b6064b3:1@20ea78977144af3691c07e2cea733cf9c5037da4da4f53df3f1c6ee36b6064b3""15Zi4Qh5zGFnYS9bo5dSZhVT8rbaydz1Vj"UOP_DUP OP_HASH160 3210168a1a09a8b39ba3d62d7511d2068a569bc4 OP_EQUALVERIFY OP_CHECKSIG*276a9143210168a1a09a8b39ba3d62d7511d2068a569bc488ac*"15Zi4Qh5zGFnYS9bo5dSZhVT8rbaydz1Vj8˒#J " Be1028703b0349e7def38c8339b51705a61cd56b44fa0c2a8aad19fb653f3a5e3:0@e1028703b0349e7def38c8339b51705a61cd56b44fa0c2a8aad19fb653f3a5e3""1BLvbY2msLrsN8ikM7wLVXtf7Yfe6kZvLM"UOP_DUP OP_HASH160 7175e67badd6a554027bc630a34e033005a178ad OP_EQUALVERIFY OP_CHECKSIG*276a9147175e67badd6a554027bc630a34e033005a178ad88ac*"1BLvbY2msLrsN8ikM7wLVXtf7Yfe6kZvLM8#J " Ba714507644e51966644919fcab580d8a0f1ab576cd19512c5973e8d0d1e85b2f:0@a714507644e51966644919fcab580d8a0f1ab576cd19512c5973e8d0d1e85b2f""19sXwKA1ctiGWCmah211w21imgpHK1UBsS"UOP_DUP OP_HASH160 614fa0f8858a45f2109003becb1bfc8a8ffd81b9 OP_EQUALVERIFY OP_CHECKSIG*276a914614fa0f8858a45f2109003becb1bfc8a8ffd81b988ac*"19sXwKA1ctiGWCmah211w21imgpHK1UBsS8#J " B1e9e3c79da9ece781aec02ae58be96ce32facd40b46385a6e1179304ee657f56:0Ɛ@1e9e3c79da9ece781aec02ae58be96ce32facd40b46385a6e1179304ee657f56""16d1LNzUKVqhCx2ZffcKchGLC8b8NAxjGV"UOP_DUP OP_HASH160 3da7e1e8990af982d12f910749882a548ae85d66 OP_EQUALVERIFY OP_CHECKSIG*276a9143da7e1e8990af982d12f910749882a548ae85d6688ac*"16d1LNzUKVqhCx2ZffcKchGLC8b8NAxjGV8$J " -Bc5a967f48790d82d3527376d00a1d5f9768d751d067bc6d33068656c87a764aa:0@c5a967f48790d82d3527376d00a1d5f9768d751d067bc6d33068656c87a764aa""17CqgC8CcoXP6StpvpyyVsQFQkAhgcRK9c"UOP_DUP OP_HASH160 440df675523cc32bcc12b689c1ee40cb305ffdd4 OP_EQUALVERIFY OP_CHECKSIG*276a914440df675523cc32bcc12b689c1ee40cb305ffdd488ac*"17CqgC8CcoXP6StpvpyyVsQFQkAhgcRK9c8#J " -B1fbd61b91f3a90adca7241b32423f234d0ff08a99445117c5babaf9b321736da:1a@1fbd61b91f3a90adca7241b32423f234d0ff08a99445117c5babaf9b321736da""14TPjfJokBQ8kAYbU4WCoaafhK3E6FAyrS"UOP_DUP OP_HASH160 25e62bc7dfcbb66754cec65c981f10266a981c36 OP_EQUALVERIFY OP_CHECKSIG*276a91425e62bc7dfcbb66754cec65c981f10266a981c3688ac*"14TPjfJokBQ8kAYbU4WCoaafhK3E6FAyrS8#J " -B2ff49269678c9f8d0fc736a8360aa3f41bb1336c2cb4ec09080f340b589f9d1e:0@2ff49269678c9f8d0fc736a8360aa3f41bb1336c2cb4ec09080f340b589f9d1e""1Dx7cErUBmy6YapaxkdQrDLgoibA639tGo"UOP_DUP OP_HASH160 8e0de72c77fa9307ca7c6337308fecb5e7eeaf18 OP_EQUALVERIFY OP_CHECKSIG*276a9148e0de72c77fa9307ca7c6337308fecb5e7eeaf1888ac*"1Dx7cErUBmy6YapaxkdQrDLgoibA639tGo8$J " +Bc5a967f48790d82d3527376d00a1d5f9768d751d067bc6d33068656c87a764aa:0@c5a967f48790d82d3527376d00a1d5f9768d751d067bc6d33068656c87a764aa""17CqgC8CcoXP6StpvpyyVsQFQkAhgcRK9c"UOP_DUP OP_HASH160 440df675523cc32bcc12b689c1ee40cb305ffdd4 OP_EQUALVERIFY OP_CHECKSIG*276a914440df675523cc32bcc12b689c1ee40cb305ffdd488ac*"17CqgC8CcoXP6StpvpyyVsQFQkAhgcRK9c8#J " +Bb50bf683773bfc79d2b0b2dc6d92f06417d03096ebb57b24da8f612b0169baee:0 @b50bf683773bfc79d2b0b2dc6d92f06417d03096ebb57b24da8f612b0169baee"!1VxKDZMzxFqv7h6b7FqPipVHJzH29Ukjp"UOP_DUP OP_HASH160 0579d21fc0b516ba36e70580fffd7142bf22345b OP_EQUALVERIFY OP_CHECKSIG*276a9140579d21fc0b516ba36e70580fffd7142bf22345b88ac*!1VxKDZMzxFqv7h6b7FqPipVHJzH29Ukjp8ܘ$J " +B1fbd61b91f3a90adca7241b32423f234d0ff08a99445117c5babaf9b321736da:1a@1fbd61b91f3a90adca7241b32423f234d0ff08a99445117c5babaf9b321736da""14TPjfJokBQ8kAYbU4WCoaafhK3E6FAyrS"UOP_DUP OP_HASH160 25e62bc7dfcbb66754cec65c981f10266a981c36 OP_EQUALVERIFY OP_CHECKSIG*276a91425e62bc7dfcbb66754cec65c981f10266a981c3688ac*"14TPjfJokBQ8kAYbU4WCoaafhK3E6FAyrS8#J " +Bd30e00ae42ae4c005020ae3d26b31fecd2f6296b6a7f32ce1b4d6ef39d9453ec:0b@d30e00ae42ae4c005020ae3d26b31fecd2f6296b6a7f32ce1b4d6ef39d9453ec""1QBDiM6DKJShA3r6sbr5sz5jD4KwGMDnc3"UOP_DUP OP_HASH160 fe39aa312fe215c334248666507cdfad5ec4b359 OP_EQUALVERIFY OP_CHECKSIG*276a914fe39aa312fe215c334248666507cdfad5ec4b35988ac*"1QBDiM6DKJShA3r6sbr5sz5jD4KwGMDnc38$J " B304e35ad8f8abdeec99147df35c181b84e6a449c1a07c63c8b6b7749ab8daace:0@304e35ad8f8abdeec99147df35c181b84e6a449c1a07c63c8b6b7749ab8daace""181b4kiQuDfb28uT9zZzRTwwYcXW24Ng2y"UOP_DUP OP_HASH160 4ce550f7d5e76b2dee8a99bfa8e5c7abbe4f8bbf OP_EQUALVERIFY OP_CHECKSIG*276a9144ce550f7d5e76b2dee8a99bfa8e5c7abbe4f8bbf88ac*"181b4kiQuDfb28uT9zZzRTwwYcXW24Ng2y8ғ$J" B304e35ad8f8abdeec99147df35c181b84e6a449c1a07c63c8b6b7749ab8daace:1@304e35ad8f8abdeec99147df35c181b84e6a449c1a07c63c8b6b7749ab8daace""181b4kiQuDfb28uT9zZzRTwwYcXW24Ng2y"UOP_DUP OP_HASH160 4ce550f7d5e76b2dee8a99bfa8e5c7abbe4f8bbf OP_EQUALVERIFY OP_CHECKSIG*276a9144ce550f7d5e76b2dee8a99bfa8e5c7abbe4f8bbf88ac*"181b4kiQuDfb28uT9zZzRTwwYcXW24Ng2y8ғ$J " +B070a3bd050834bf3683e5da2734be91199f6d16ccfbc502b69f59753fc08781b:0F@070a3bd050834bf3683e5da2734be91199f6d16ccfbc502b69f59753fc08781b""1AVN3Q69oKuzP4es6wSnFhq9fGP5KSpPez"UOP_DUP OP_HASH160 681657ea12a6bfb97155c47ee39298211666073e OP_EQUALVERIFY OP_CHECKSIG*276a914681657ea12a6bfb97155c47ee39298211666073e88ac*"1AVN3Q69oKuzP4es6wSnFhq9fGP5KSpPez8$J " B36cd8563fb54c59e8a1f40d553e287026d8b6d8b7c1d74431b9b656c7b689ef8:0N@36cd8563fb54c59e8a1f40d553e287026d8b6d8b7c1d74431b9b656c7b689ef8""1FFDEi1Thevos2kvuMpXihScpDrzTXK69W"UOP_DUP OP_HASH160 9c41cc7ed4d8455cfefb3e1991349099e4d8d3a5 OP_EQUALVERIFY OP_CHECKSIG*276a9149c41cc7ed4d8455cfefb3e1991349099e4d8d3a588ac*"1FFDEi1Thevos2kvuMpXihScpDrzTXK69W8#J " -Bdff6983f5a1c767f2e9630e94e69270b09360c65a184c126cd6ca9ea962a2747:0;@dff6983f5a1c767f2e9630e94e69270b09360c65a184c126cd6ca9ea962a2747""13BBmAUZvZPKkdd9DJuFhtpyYUXz1uGXpi"UOP_DUP OP_HASH160 17dd64f626bfdb9df68a49a3c83a7beff0833e00 OP_EQUALVERIFY OP_CHECKSIG*276a91417dd64f626bfdb9df68a49a3c83a7beff0833e0088ac*"13BBmAUZvZPKkdd9DJuFhtpyYUXz1uGXpi8Ê$J " +Bdff6983f5a1c767f2e9630e94e69270b09360c65a184c126cd6ca9ea962a2747:0;@dff6983f5a1c767f2e9630e94e69270b09360c65a184c126cd6ca9ea962a2747""13BBmAUZvZPKkdd9DJuFhtpyYUXz1uGXpi"UOP_DUP OP_HASH160 17dd64f626bfdb9df68a49a3c83a7beff0833e00 OP_EQUALVERIFY OP_CHECKSIG*276a91417dd64f626bfdb9df68a49a3c83a7beff0833e0088ac*"13BBmAUZvZPKkdd9DJuFhtpyYUXz1uGXpi8Ê$J " +Bf830f4bb92bd99f7b3b49f7a4713f50ff3d6fc944824d56b3680d40c080db5ea:0@f830f4bb92bd99f7b3b49f7a4713f50ff3d6fc944824d56b3680d40c080db5ea""16LchtSvD9MPddXF61RYn1RzNRz8fnLDt6"UOP_DUP OP_HASH160 3a8e56519f244e467f183223e4ab529f49a72dea OP_EQUALVERIFY OP_CHECKSIG*276a9143a8e56519f244e467f183223e4ab529f49a72dea88ac*"16LchtSvD9MPddXF61RYn1RzNRz8fnLDt68Ρ$J " B193e02d206123caf621b8e3085025d418b2d6c30631344f2c683715660e505a0:0D@193e02d206123caf621b8e3085025d418b2d6c30631344f2c683715660e505a0""1F91SRAfvhkX3e5L9dhYSxF4rtvhmNC2E7"UOP_DUP OP_HASH160 9b15745860416635ef9223f31619d1301eb7d692 OP_EQUALVERIFY OP_CHECKSIG*276a9149b15745860416635ef9223f31619d1301eb7d69288ac*"1F91SRAfvhkX3e5L9dhYSxF4rtvhmNC2E78$J " -B558e8cf34f79087cd30afc78c8721c9956c78ba63d44f0227e53ce2d4888caf6:0@558e8cf34f79087cd30afc78c8721c9956c78ba63d44f0227e53ce2d4888caf6""1Ha4k1ZS2Q3sSM4ushF6FqVrP2KyR6YbPD"UOP_DUP OP_HASH160 b5c2dcd105661b24ed0cc037963832f428222c1e OP_EQUALVERIFY OP_CHECKSIG*276a914b5c2dcd105661b24ed0cc037963832f428222c1e88ac*"1Ha4k1ZS2Q3sSM4ushF6FqVrP2KyR6YbPD8Ŕ$J " -B60223f991aa17f530b995e30e534a325054e45445ac90c272f8dba63a1a3c31c:0'@60223f991aa17f530b995e30e534a325054e45445ac90c272f8dba63a1a3c31c""1BJBMBfrDHtdMmM5V1qQH8n2bk3AXLncyQ"UOP_DUP OP_HASH160 70f0f79e8ce9dcfa4fe5eb8701877d77e3e834d6 OP_EQUALVERIFY OP_CHECKSIG*276a91470f0f79e8ce9dcfa4fe5eb8701877d77e3e834d688ac*"1BJBMBfrDHtdMmM5V1qQH8n2bk3AXLncyQ8$J  " -B8bba1832f0f6d09b2228f219ed8ef9f9bc07f3f19cb5858ea046c21654b4bbf4:1$@8bba1832f0f6d09b2228f219ed8ef9f9bc07f3f19cb5858ea046c21654b4bbf4""12A28amVwK5ZiHBCMyzGiwNBuBVw7EKq6R"UOP_DUP OP_HASH160 0cacd035fa6e54ddef592554f8ebf0c1b2c46b82 OP_EQUALVERIFY OP_CHECKSIG*276a9140cacd035fa6e54ddef592554f8ebf0c1b2c46b8288ac*"12A28amVwK5ZiHBCMyzGiwNBuBVw7EKq6R8#J  " B798241698e08bec6bd203a4800238e5720387790b26d445472bdae194802cbce:0@798241698e08bec6bd203a4800238e5720387790b26d445472bdae194802cbce""17rrWD5BVbx2R8DVxRGkN3FqkppB2mKrjQ"UOP_DUP OP_HASH160 4b3e75d92cbe31be1780884a73ce41f4b72ec2e6 OP_EQUALVERIFY OP_CHECKSIG*276a9144b3e75d92cbe31be1780884a73ce41f4b72ec2e688ac*"17rrWD5BVbx2R8DVxRGkN3FqkppB2mKrjQ8#J " -B08d2fb04d60e478d67b061f2b0239190e49986d552419251dbc325ed4ac491bc:0@08d2fb04d60e478d67b061f2b0239190e49986d552419251dbc325ed4ac491bc""1EcGqapgwbugiLmU6vpyFi8QRao5GgSbVT"UOP_DUP OP_HASH160 95456a1945d986270ce2bce8463ced3b8b56979e OP_EQUALVERIFY OP_CHECKSIG*276a91495456a1945d986270ce2bce8463ced3b8b56979e88ac*"1EcGqapgwbugiLmU6vpyFi8QRao5GgSbVT8ڔ$J " -Bc85a1de8d7c346531358f03f06f4669da1fb6963d72887a4187cddc77a496805:0@c85a1de8d7c346531358f03f06f4669da1fb6963d72887a4187cddc77a496805""1DrooACWhhH1uKQi7iJwTuXag8m2zi8Wfq"UOP_DUP OP_HASH160 8d0cf46943f47322a025915c0b795a6c126a28b3 OP_EQUALVERIFY OP_CHECKSIG*276a9148d0cf46943f47322a025915c0b795a6c126a28b388ac*"1DrooACWhhH1uKQi7iJwTuXag8m2zi8Wfq8#J " -Be486827dc5f3ec04a71d17e573c441a4f9f5a8915343547bdb96af524d53937a:0@e486827dc5f3ec04a71d17e573c441a4f9f5a8915343547bdb96af524d53937a""1Cr2aPPDSnmtLzVZneweTQ9zaidLtPYRap"UOP_DUP OP_HASH160 81ef14bd10addd0909e56a8d954025032f961589 OP_EQUALVERIFY OP_CHECKSIG*276a91481ef14bd10addd0909e56a8d954025032f96158988ac*"1Cr2aPPDSnmtLzVZneweTQ9zaidLtPYRap8#J " -B1ebcc7321de77fa01eb217feba041d8e205a1b2f3c4409c90140b04690227609:0@1ebcc7321de77fa01eb217feba041d8e205a1b2f3c4409c90140b04690227609""1Jv7kmcgtk9ez7GRbpfmg1idWDNPnS1cVh"UOP_DUP OP_HASH160 c485d2a25ffde3190a7d003d0081f54bab4b7047 OP_EQUALVERIFY OP_CHECKSIG*276a914c485d2a25ffde3190a7d003d0081f54bab4b704788ac*"1Jv7kmcgtk9ez7GRbpfmg1idWDNPnS1cVh8#J " +Bc85a1de8d7c346531358f03f06f4669da1fb6963d72887a4187cddc77a496805:0@c85a1de8d7c346531358f03f06f4669da1fb6963d72887a4187cddc77a496805""1DrooACWhhH1uKQi7iJwTuXag8m2zi8Wfq"UOP_DUP OP_HASH160 8d0cf46943f47322a025915c0b795a6c126a28b3 OP_EQUALVERIFY OP_CHECKSIG*276a9148d0cf46943f47322a025915c0b795a6c126a28b388ac*"1DrooACWhhH1uKQi7iJwTuXag8m2zi8Wfq8#J " +Bd05eea6b650acd31c4a1d8b4b8f3aa7b2256c066a55e6ceff7c1dfd247c3356d:1W@d05eea6b650acd31c4a1d8b4b8f3aa7b2256c066a55e6ceff7c1dfd247c3356d""1Boi59q5GFmELcLWMGbP74V5FH4hrbD3cv"UOP_DUP OP_HASH160 7686ad4a6c776e6690838fdac386a41b3a6828b5 OP_EQUALVERIFY OP_CHECKSIG*276a9147686ad4a6c776e6690838fdac386a41b3a6828b588ac*"1Boi59q5GFmELcLWMGbP74V5FH4hrbD3cv8ۤ$J " +Bd05eea6b650acd31c4a1d8b4b8f3aa7b2256c066a55e6ceff7c1dfd247c3356d:0@d05eea6b650acd31c4a1d8b4b8f3aa7b2256c066a55e6ceff7c1dfd247c3356d""1Boi59q5GFmELcLWMGbP74V5FH4hrbD3cv"UOP_DUP OP_HASH160 7686ad4a6c776e6690838fdac386a41b3a6828b5 OP_EQUALVERIFY OP_CHECKSIG*276a9147686ad4a6c776e6690838fdac386a41b3a6828b588ac*"1Boi59q5GFmELcLWMGbP74V5FH4hrbD3cv8ۤ$J  +" +Be486827dc5f3ec04a71d17e573c441a4f9f5a8915343547bdb96af524d53937a:0@e486827dc5f3ec04a71d17e573c441a4f9f5a8915343547bdb96af524d53937a""1Cr2aPPDSnmtLzVZneweTQ9zaidLtPYRap"UOP_DUP OP_HASH160 81ef14bd10addd0909e56a8d954025032f961589 OP_EQUALVERIFY OP_CHECKSIG*276a91481ef14bd10addd0909e56a8d954025032f96158988ac*"1Cr2aPPDSnmtLzVZneweTQ9zaidLtPYRap8#J " Be3ddff4078149b3268496f072d78f0783edefce4e148774dca57577196719851:0@e3ddff4078149b3268496f072d78f0783edefce4e148774dca57577196719851""1581oJa7ZFhnqwVkmPxSs7Wonp2cDc1PXA"UOP_DUP OP_HASH160 2d3414ce94c76e615e0edebfc9754752672f8e19 OP_EQUALVERIFY OP_CHECKSIG*276a9142d3414ce94c76e615e0edebfc9754752672f8e1988ac*"1581oJa7ZFhnqwVkmPxSs7Wonp2cDc1PXA8#J " B7865fe689cf94f208110abd45f28bca75c235a085106208fd15481b53ce3b199:0@7865fe689cf94f208110abd45f28bca75c235a085106208fd15481b53ce3b199""17Bsf64s4BRQJFfh3DMxhLLpRqEYkMJWmy"UOP_DUP OP_HASH160 43df334c8416ab1242acef495f30b32741c1a2ed OP_EQUALVERIFY OP_CHECKSIG*276a91443df334c8416ab1242acef495f30b32741c1a2ed88ac*"17Bsf64s4BRQJFfh3DMxhLLpRqEYkMJWmy8"J " B7a10f1fcf2b0738c6da36f00d2c94ea146349a7d99cd4cea767429140dae473b:0@7a10f1fcf2b0738c6da36f00d2c94ea146349a7d99cd4cea767429140dae473b""1KZgEsHDP73VQw3NKBNuJwttJBGog1hmS7"UOP_DUP OP_HASH160 cba0547c67d8f1732e860be98eadeff78e4f4d0c OP_EQUALVERIFY OP_CHECKSIG*276a914cba0547c67d8f1732e860be98eadeff78e4f4d0c88ac*"1KZgEsHDP73VQw3NKBNuJwttJBGog1hmS78Ô$J " @@ -91656,15 +98548,20 @@ B18a94ee88c047f9bf0dd2618f33e710059e997f800692663290d2d731a18aab2:0 B09faf3b3d3b67d93724c1ed811f4d230ace476a8097d7c4b86ad9b651e1e8273:09@09faf3b3d3b67d93724c1ed811f4d230ace476a8097d7c4b86ad9b651e1e8273""1KD8NcwbubhmSJx3FVSYuTNcd6LXYc3Pc8"UOP_DUP OP_HASH160 c7bd68fd38105e06ca2f9a9a94bb5b960d235a28 OP_EQUALVERIFY OP_CHECKSIG*276a914c7bd68fd38105e06ca2f9a9a94bb5b960d235a2888ac*"1KD8NcwbubhmSJx3FVSYuTNcd6LXYc3Pc88"J " Bbdee38bb1dc6ca1037c6dd9a887a04f44fe4df0de6c06767d4a345035725b18d:0@bdee38bb1dc6ca1037c6dd9a887a04f44fe4df0de6c06767d4a345035725b18d""1AVmkD5hGe7dk7vmtusYEQRTcT9qogTpk2"UOP_DUP OP_HASH160 682a2155155d51b417172a6100168f4bd56fe04d OP_EQUALVERIFY OP_CHECKSIG*276a914682a2155155d51b417172a6100168f4bd56fe04d88ac*"1AVmkD5hGe7dk7vmtusYEQRTcT9qogTpk28$J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:194@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""12Q5Uis5eZHUHmv2gNksuxWRPxD4c6CDuz"UOP_DUP OP_HASH160 0f556e50b84005ebcced574ef28ee5428f3cbf8d OP_EQUALVERIFY OP_CHECKSIG*276a9140f556e50b84005ebcced574ef28ee5428f3cbf8d88ac*"12Q5Uis5eZHUHmv2gNksuxWRPxD4c6CDuz8"J " -B1205e96cb27efd3ed7aa2a38a025735a49e6e8a24fec2eb1cdbaff75b8805610:0?@1205e96cb27efd3ed7aa2a38a025735a49e6e8a24fec2eb1cdbaff75b8805610""1HcgthuQtg86agQVe68Ep9Yz4VrF2KodB9"UOP_DUP OP_HASH160 b641def4ef452c1bec4ad7eb6d89b2db7fa6027e OP_EQUALVERIFY OP_CHECKSIG*276a914b641def4ef452c1bec4ad7eb6d89b2db7fa6027e88ac*"1HcgthuQtg86agQVe68Ep9Yz4VrF2KodB98#J " -Bb35309957d0dd60b3de5a0d0b8c20bfab2fcf92714faa747a39bccba9ea3ff8f:0#@b35309957d0dd60b3de5a0d0b8c20bfab2fcf92714faa747a39bccba9ea3ff8f""12Emp7XCM9a7pPoLsYJbQFyHM67SnuMNKF"UOP_DUP OP_HASH160 0d92f0d188515b835fb05dfe6b7bc2e6ce761d66 OP_EQUALVERIFY OP_CHECKSIG*276a9140d92f0d188515b835fb05dfe6b7bc2e6ce761d6688ac*"12Emp7XCM9a7pPoLsYJbQFyHM67SnuMNKF8ć#J " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:195@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1JDugJeHYuzX7biJ7Nw6KSABVy21d5rqWo"UOP_DUP OP_HASH160 bceb1a5b9dbd9aee2ecb3905b408e8f3bb9693d8 OP_EQUALVERIFY OP_CHECKSIG*276a914bceb1a5b9dbd9aee2ecb3905b408e8f3bb9693d888ac*"1JDugJeHYuzX7biJ7Nw6KSABVy21d5rqWo8"J " +B1205e96cb27efd3ed7aa2a38a025735a49e6e8a24fec2eb1cdbaff75b8805610:0?@1205e96cb27efd3ed7aa2a38a025735a49e6e8a24fec2eb1cdbaff75b8805610""1HcgthuQtg86agQVe68Ep9Yz4VrF2KodB9"UOP_DUP OP_HASH160 b641def4ef452c1bec4ad7eb6d89b2db7fa6027e OP_EQUALVERIFY OP_CHECKSIG*276a914b641def4ef452c1bec4ad7eb6d89b2db7fa6027e88ac*"1HcgthuQtg86agQVe68Ep9Yz4VrF2KodB98#J " +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:195@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1JDugJeHYuzX7biJ7Nw6KSABVy21d5rqWo"UOP_DUP OP_HASH160 bceb1a5b9dbd9aee2ecb3905b408e8f3bb9693d8 OP_EQUALVERIFY OP_CHECKSIG*276a914bceb1a5b9dbd9aee2ecb3905b408e8f3bb9693d888ac*"1JDugJeHYuzX7biJ7Nw6KSABVy21d5rqWo8"J " +Bf1afb4689e25e1d9963d0511d2c12bfe580dd2e1d2bbb0a1ebe2f916d277313f:0@f1afb4689e25e1d9963d0511d2c12bfe580dd2e1d2bbb0a1ebe2f916d277313f""1EByYoX6Yp5j9htCASM7BLMS1d3MdzBLyC"UOP_DUP OP_HASH160 90acffbbd7df131b9da573bf0511b54c1204f478 OP_EQUALVERIFY OP_CHECKSIG*276a91490acffbbd7df131b9da573bf0511b54c1204f47888ac*"1EByYoX6Yp5j9htCASM7BLMS1d3MdzBLyC8$J " B1e1f13d434eb65fd236c674a825a74750ab752d5402e8fc811d32b716492b447:1@1e1f13d434eb65fd236c674a825a74750ab752d5402e8fc811d32b716492b447""1JQ5G6QbKf7gapJpBC3ipnmbPP8UJM4Fzi"UOP_DUP OP_HASH160 bed742ff11de0ad885899a09b7175ba64b5c650a OP_EQUALVERIFY OP_CHECKSIG*276a914bed742ff11de0ad885899a09b7175ba64b5c650a88ac*"1JQ5G6QbKf7gapJpBC3ipnmbPP8UJM4Fzi8#J  " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:197@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1961fVVFMnQunrKVtWVsBsReLvL6q6VT3R"UOP_DUP OP_HASH160 58b3a3dadeef75a30004204348af85a47cfea651 OP_EQUALVERIFY OP_CHECKSIG*276a91458b3a3dadeef75a30004204348af85a47cfea65188ac*"1961fVVFMnQunrKVtWVsBsReLvL6q6VT3R8"J " +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:197@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1961fVVFMnQunrKVtWVsBsReLvL6q6VT3R"UOP_DUP OP_HASH160 58b3a3dadeef75a30004204348af85a47cfea651 OP_EQUALVERIFY OP_CHECKSIG*276a91458b3a3dadeef75a30004204348af85a47cfea65188ac*"1961fVVFMnQunrKVtWVsBsReLvL6q6VT3R8"J " +B5e958d59ef77129d60ddc6165e488cbc0a78b0f1bbb630d50ca4d0a1ce39fe49:0@5e958d59ef77129d60ddc6165e488cbc0a78b0f1bbb630d50ca4d0a1ce39fe49""18UJnf9M2aqZNjEQBvJYRnQL3MqKVVzUWW"UOP_DUP OP_HASH160 51f2f59f52e6190c1a71281bd5768890e36b9524 OP_EQUALVERIFY OP_CHECKSIG*276a91451f2f59f52e6190c1a71281bd5768890e36b952488ac*"18UJnf9M2aqZNjEQBvJYRnQL3MqKVVzUWW8$J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:190@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1MhJmVFgxYDGXBWE74396E9ZmSXLJupmSm"UOP_DUP OP_HASH160 e301fc3d2590a23efec997ccd117201ad8f56184 OP_EQUALVERIFY OP_CHECKSIG*276a914e301fc3d2590a23efec997ccd117201ad8f5618488ac*"1MhJmVFgxYDGXBWE74396E9ZmSXLJupmSm8"J " -Ba50321df600fc4bf84b7f44b380cde327633280c4cb6afa0c270dd18ccf4c6eb:0@a50321df600fc4bf84b7f44b380cde327633280c4cb6afa0c270dd18ccf4c6eb""1KoFCPs4kFFQgf2Vz5x8u5aaSt5K5Tq92r"UOP_DUP OP_HASH160 ce313fbb45da6b8e11407d8e7114df9ec54a0781 OP_EQUALVERIFY OP_CHECKSIG*276a914ce313fbb45da6b8e11407d8e7114df9ec54a078188ac*"1KoFCPs4kFFQgf2Vz5x8u5aaSt5K5Tq92r8ؕ$J " -B33ba41bf4abf236220d93bc83c13c588f41cee9162d7da84e4ba043decba8cf7:0@33ba41bf4abf236220d93bc83c13c588f41cee9162d7da84e4ba043decba8cf7""12ev17pd5yCM35ouVL4hS9FGbcH2BRx8gr"UOP_DUP OP_HASH160 1223c29ebb9e62c71e624ee48ce9da06896ad847 OP_EQUALVERIFY OP_CHECKSIG*276a9141223c29ebb9e62c71e624ee48ce9da06896ad84788ac*"12ev17pd5yCM35ouVL4hS9FGbcH2BRx8gr8#J " -Bb6993a3e59174c11bbdb68cbf114aead03343c0cab40a8cb2dec1b2f964f0528:0@b6993a3e59174c11bbdb68cbf114aead03343c0cab40a8cb2dec1b2f964f0528""1QFEGeyQBjA13AjRkjQXCAPZ2rGB7LtgSf"UOP_DUP OP_HASH160 fefbcb2ce499595fc7e2dddc66b6e77fe543b44c OP_EQUALVERIFY OP_CHECKSIG*276a914fefbcb2ce499595fc7e2dddc66b6e77fe543b44c88ac*"1QFEGeyQBjA13AjRkjQXCAPZ2rGB7LtgSf8"J " +Ba50321df600fc4bf84b7f44b380cde327633280c4cb6afa0c270dd18ccf4c6eb:0@a50321df600fc4bf84b7f44b380cde327633280c4cb6afa0c270dd18ccf4c6eb""1KoFCPs4kFFQgf2Vz5x8u5aaSt5K5Tq92r"UOP_DUP OP_HASH160 ce313fbb45da6b8e11407d8e7114df9ec54a0781 OP_EQUALVERIFY OP_CHECKSIG*276a914ce313fbb45da6b8e11407d8e7114df9ec54a078188ac*"1KoFCPs4kFFQgf2Vz5x8u5aaSt5K5Tq92r8ؕ$J " +Bdc6d1d5668f568ed269f41546f8173b5d8995f2f71dc97e6ecdc750a9fa2c5ee:0@dc6d1d5668f568ed269f41546f8173b5d8995f2f71dc97e6ecdc750a9fa2c5ee""1NRzRjMgUcjDbsgMXLTecSaUGYErPiKfvr"UOP_DUP OP_HASH160 eb148fc9d98dcb1ba9cf497ce26b2ed0c63a756c OP_EQUALVERIFY OP_CHECKSIG*276a914eb148fc9d98dcb1ba9cf497ce26b2ed0c63a756c88ac*"1NRzRjMgUcjDbsgMXLTecSaUGYErPiKfvr8$J " +B818727490ea37a84183f5e95d816a86996bc0b178befba7cdaa89f328efe8f30:0L@818727490ea37a84183f5e95d816a86996bc0b178befba7cdaa89f328efe8f30""1ALwQWPURf69tZvvrMWR9GcaS22B1nvGqa"UOP_DUP OP_HASH160 667e7358e1ca17cda6e37f9210e6f67f99b8e5fc OP_EQUALVERIFY OP_CHECKSIG*276a914667e7358e1ca17cda6e37f9210e6f67f99b8e5fc88ac*"1ALwQWPURf69tZvvrMWR9GcaS22B1nvGqa8$J " +B31840597f60c7f36f7b66869758d552570529de813ddded00f65d3550fe5a64c:0@31840597f60c7f36f7b66869758d552570529de813ddded00f65d3550fe5a64c""1BuwzbsNmVhSQqryUUw6VmJKuxXZXvWFbh"UOP_DUP OP_HASH160 77b4cb36658f66094915c2b32af41b12164844ec OP_EQUALVERIFY OP_CHECKSIG*276a91477b4cb36658f66094915c2b32af41b12164844ec88ac*"1BuwzbsNmVhSQqryUUw6VmJKuxXZXvWFbh8$J " +Bb6993a3e59174c11bbdb68cbf114aead03343c0cab40a8cb2dec1b2f964f0528:0@b6993a3e59174c11bbdb68cbf114aead03343c0cab40a8cb2dec1b2f964f0528""1QFEGeyQBjA13AjRkjQXCAPZ2rGB7LtgSf"UOP_DUP OP_HASH160 fefbcb2ce499595fc7e2dddc66b6e77fe543b44c OP_EQUALVERIFY OP_CHECKSIG*276a914fefbcb2ce499595fc7e2dddc66b6e77fe543b44c88ac*"1QFEGeyQBjA13AjRkjQXCAPZ2rGB7LtgSf8"J " +Bc558f56427a55040e8b3e212c1829aa6865180e7f84c3cca2a1ffa1d7c310316:0 +@c558f56427a55040e8b3e212c1829aa6865180e7f84c3cca2a1ffa1d7c310316""1Bcw9iuwS5Nm1PpV1m8Y8bv8V5PxhKcRJK"UOP_DUP OP_HASH160 747d04db3429a5361cba5b718c6e20aff685f043 OP_EQUALVERIFY OP_CHECKSIG*276a914747d04db3429a5361cba5b718c6e20aff685f04388ac*"1Bcw9iuwS5Nm1PpV1m8Y8bv8V5PxhKcRJK8$J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:183N@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""14Kx2iNpmUg1ZefDFinwcwx1oSzLh5abGo"UOP_DUP OP_HASH160 247dcd0f107934bb372fc6a5fcc9e1dbf8fe50be OP_EQUALVERIFY OP_CHECKSIG*276a914247dcd0f107934bb372fc6a5fcc9e1dbf8fe50be88ac*"14Kx2iNpmUg1ZefDFinwcwx1oSzLh5abGo8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:182I@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1PU7DoYDHWi2impz86Fvu3ZgsREaBnGJBW"UOP_DUP OP_HASH160 f67330e66b3c8da3e841c89f27f5b72fa41c5735 OP_EQUALVERIFY OP_CHECKSIG*276a914f67330e66b3c8da3e841c89f27f5b72fa41c573588ac*"1PU7DoYDHWi2impz86Fvu3ZgsREaBnGJBW8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:185@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1G3RTdM2tSwkSB5tgno3aETHDdR3Cc2r92"UOP_DUP OP_HASH160 a4ff22d6ee380bbb799b234a7d6eb0a18d30f991 OP_EQUALVERIFY OP_CHECKSIG*276a914a4ff22d6ee380bbb799b234a7d6eb0a18d30f99188ac*"1G3RTdM2tSwkSB5tgno3aETHDdR3Cc2r928"J " @@ -91673,61 +98570,57 @@ B078ea6a58b49f1f63d231c0fdc6f58958eb2e22b8dbca4a23e0f81081753f82e:1 D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:187@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""16kMZonmnNXrZvSqGuXVjpWWTZnSVG3xJb"UOP_DUP OP_HASH160 3f0baebefb6b12b3fe657300c3ab17959d962ad1 OP_EQUALVERIFY OP_CHECKSIG*276a9143f0baebefb6b12b3fe657300c3ab17959d962ad188ac*"16kMZonmnNXrZvSqGuXVjpWWTZnSVG3xJb8"J " B078ea6a58b49f1f63d231c0fdc6f58958eb2e22b8dbca4a23e0f81081753f82e:0@078ea6a58b49f1f63d231c0fdc6f58958eb2e22b8dbca4a23e0f81081753f82e""1AV2e3cizdiyraqDXfXGBMBiHikpRfwqjt"UOP_DUP OP_HASH160 6806259bd75d85c96b4aef8f2f9ee50f9db3e519 OP_EQUALVERIFY OP_CHECKSIG*276a9146806259bd75d85c96b4aef8f2f9ee50f9db3e51988ac*"1AV2e3cizdiyraqDXfXGBMBiHikpRfwqjt8#J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:186@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1N8bDbnGwxC4gi2DLSttRNvxPan1kYWynW"UOP_DUP OP_HASH160 e7ca1dc5f30566a39031625cdf07193ca46119e4 OP_EQUALVERIFY OP_CHECKSIG*276a914e7ca1dc5f30566a39031625cdf07193ca46119e488ac*"1N8bDbnGwxC4gi2DLSttRNvxPan1kYWynW8"J " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:189 @4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""153NNHXQxnH5v6AXv8F5zdhPsdjkQfxB7v"UOP_DUP OP_HASH160 2c532bdb620fe39dfd21a6cde9e04e00eddf7194 OP_EQUALVERIFY OP_CHECKSIG*276a9142c532bdb620fe39dfd21a6cde9e04e00eddf719488ac*"153NNHXQxnH5v6AXv8F5zdhPsdjkQfxB7v8"J " -B9c644465435069e765596df10e9827b2bc77af04ba0fd5531cffc1276cdc47c8:1@9c644465435069e765596df10e9827b2bc77af04ba0fd5531cffc1276cdc47c8""126cZr34uvP81UP3rLmZMcmKUSFhRZYxob"UOP_DUP OP_HASH160 0c07e5149713842b5c8beb26523af0d2ebb6be20 OP_EQUALVERIFY OP_CHECKSIG*276a9140c07e5149713842b5c8beb26523af0d2ebb6be2088ac*"126cZr34uvP81UP3rLmZMcmKUSFhRZYxob8#J " +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:189 @4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""153NNHXQxnH5v6AXv8F5zdhPsdjkQfxB7v"UOP_DUP OP_HASH160 2c532bdb620fe39dfd21a6cde9e04e00eddf7194 OP_EQUALVERIFY OP_CHECKSIG*276a9142c532bdb620fe39dfd21a6cde9e04e00eddf719488ac*"153NNHXQxnH5v6AXv8F5zdhPsdjkQfxB7v8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:188@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""13CRGMgcxG2gAoEECVENrUoMTaHwzqPdp4"UOP_DUP OP_HASH160 181915154f19328d59e7746fc897fc506073f60d OP_EQUALVERIFY OP_CHECKSIG*276a914181915154f19328d59e7746fc897fc506073f60d88ac*"13CRGMgcxG2gAoEECVENrUoMTaHwzqPdp48"J " B22e10035b711398132693c5f6bad53c0171c828e2b779ad7fab1cae70f0a1691:0@22e10035b711398132693c5f6bad53c0171c828e2b779ad7fab1cae70f0a1691"!1jDZHQYEKM7NsL3DhTi2Ex5ceACkFbZz7"UOP_DUP OP_HASH160 07fbf3bdfe6c4b1cfd24a9a8d1fd598c50bfaca5 OP_EQUALVERIFY OP_CHECKSIG*276a91407fbf3bdfe6c4b1cfd24a9a8d1fd598c50bfaca588ac*!1jDZHQYEKM7NsL3DhTi2Ex5ceACkFbZz78#J " B94067a3038ee946357358f852b4e2519902ad0dae3be73dba3bf4abe2ef96e64:0@94067a3038ee946357358f852b4e2519902ad0dae3be73dba3bf4abe2ef96e64""14s7KVFFR8grWmdvXFzWVfTHwNZgw1gNux"UOP_DUP OP_HASH160 2a627337285a3325dcde14ff1a9b1ea1aa9cd6d2 OP_EQUALVERIFY OP_CHECKSIG*276a9142a627337285a3325dcde14ff1a9b1ea1aa9cd6d288ac*"14s7KVFFR8grWmdvXFzWVfTHwNZgw1gNux8#J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:181@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""19WUHxD8L5KHdWAyRYYcsid6bps593R7z6"UOP_DUP OP_HASH160 5d53da02c872a2d4fdd28b1fde115f59dc9dd94c OP_EQUALVERIFY OP_CHECKSIG*276a9145d53da02c872a2d4fdd28b1fde115f59dc9dd94c88ac*"19WUHxD8L5KHdWAyRYYcsid6bps593R7z68"J " Bba3c0b5ed1bc3608565de10616afbca28627366fb3a43e4aeac2220bf2f2ea27:0@ba3c0b5ed1bc3608565de10616afbca28627366fb3a43e4aeac2220bf2f2ea27"!1uKFvqcWzrqyg8kJCovgZHMhRPSdPCWeq"UOP_DUP OP_HASH160 09e4ded9b275b811a742de2ea08de97207c38a2c OP_EQUALVERIFY OP_CHECKSIG*276a91409e4ded9b275b811a742de2ea08de97207c38a2c88ac*!1uKFvqcWzrqyg8kJCovgZHMhRPSdPCWeq8Ѣ#J{" -Bfa4281374aaa126fa5d8913ec1aa82dbb61d9eb0cba3f82b2db8cac5e7772a5e:0q@fa4281374aaa126fa5d8913ec1aa82dbb61d9eb0cba3f82b2db8cac5e7772a5e""12LDemroZLSvfh6b819ySZ9CnuTYL7FJSJ"UOP_DUP OP_HASH160 0e9a96fd503d76eaf48ab654e20720638c65f222 OP_EQUALVERIFY OP_CHECKSIG*276a9140e9a96fd503d76eaf48ab654e20720638c65f22288ac*"12LDemroZLSvfh6b819ySZ9CnuTYL7FJSJ8"J " -B4e08f7309e306096d3c5d6360bb202d864c8bb4234bddbc2b67f21519cd56d5e:0@4e08f7309e306096d3c5d6360bb202d864c8bb4234bddbc2b67f21519cd56d5e""1DZNNdHtqbccWGbeqjXyVTDAHe4gbAktoA"UOP_DUP OP_HASH160 89c0a94deb8fbe2ab67e7ac3dbb6508f4263ec18 OP_EQUALVERIFY OP_CHECKSIG*276a91489c0a94deb8fbe2ab67e7ac3dbb6508f4263ec1888ac*"1DZNNdHtqbccWGbeqjXyVTDAHe4gbAktoA8$J  " +Bfa4281374aaa126fa5d8913ec1aa82dbb61d9eb0cba3f82b2db8cac5e7772a5e:0q@fa4281374aaa126fa5d8913ec1aa82dbb61d9eb0cba3f82b2db8cac5e7772a5e""12LDemroZLSvfh6b819ySZ9CnuTYL7FJSJ"UOP_DUP OP_HASH160 0e9a96fd503d76eaf48ab654e20720638c65f222 OP_EQUALVERIFY OP_CHECKSIG*276a9140e9a96fd503d76eaf48ab654e20720638c65f22288ac*"12LDemroZLSvfh6b819ySZ9CnuTYL7FJSJ8"J " B7dfdbd5fc19b1b309bc9df034e12083c8d08f251cd0852891c522ba89ff72f09:0@7dfdbd5fc19b1b309bc9df034e12083c8d08f251cd0852891c522ba89ff72f09""1MqSnRP8hhKfUPgmx1fNDF331XAtCNFtdX"UOP_DUP OP_HASH160 e48c0126c298153e1ce25786f28bac7113fdc2a5 OP_EQUALVERIFY OP_CHECKSIG*276a914e48c0126c298153e1ce25786f28bac7113fdc2a588ac*"1MqSnRP8hhKfUPgmx1fNDF331XAtCNFtdX8#J " B8682b6e654079c7e1f1a82a3d4dfefef0381f9d166164561fd22dbb869607285:0N@8682b6e654079c7e1f1a82a3d4dfefef0381f9d166164561fd22dbb869607285""12E56GqqHFhDD4AmkPWjDaL2rSdMFfkq5K"UOP_DUP OP_HASH160 0d70f2be035344c4717be105dd843d83b65eef04 OP_EQUALVERIFY OP_CHECKSIG*276a9140d70f2be035344c4717be105dd843d83b65eef0488ac*"12E56GqqHFhDD4AmkPWjDaL2rSdMFfkq5K8̌$J " B21fb1eb68b5f6b3231cd8ac2c57777d6911aaff25bfdeff20f9815bb14fd3c98:0@21fb1eb68b5f6b3231cd8ac2c57777d6911aaff25bfdeff20f9815bb14fd3c98""1CB7LpwbB5Yjuod8F6piXGoFmttKfX34nV"UOP_DUP OP_HASH160 7a92d64eb9b144b3aa92e422a2dd0780c4ad6a1b OP_EQUALVERIFY OP_CHECKSIG*276a9147a92d64eb9b144b3aa92e422a2dd0780c4ad6a1b88ac*"1CB7LpwbB5Yjuod8F6piXGoFmttKfX34nV8#J{" -B85c9ee49fb35cc6ae58f3bd6c43dd0ee4ef0d75c204e34766a73f35275e13562:0@85c9ee49fb35cc6ae58f3bd6c43dd0ee4ef0d75c204e34766a73f35275e13562""1LJPXFT1o9W6q9TYBtTw5AT32ZRTH1XvK3"UOP_DUP OP_HASH160 d3b442e2dadd55ef4b5abd264a22970bec8ee7c8 OP_EQUALVERIFY OP_CHECKSIG*276a914d3b442e2dadd55ef4b5abd264a22970bec8ee7c888ac*"1LJPXFT1o9W6q9TYBtTw5AT32ZRTH1XvK38$J " -B8b96513340555bf15a36a17865505e70c499ceb07f63c750d8afefed36519a1f:0@8b96513340555bf15a36a17865505e70c499ceb07f63c750d8afefed36519a1f""1NgDDa1K1FsLgCbwGdez939hmdZYFfimGH"UOP_DUP OP_HASH160 edc50fdcd38dd9c8a9e294e53cd2c3a1391186f2 OP_EQUALVERIFY OP_CHECKSIG*276a914edc50fdcd38dd9c8a9e294e53cd2c3a1391186f288ac*"1NgDDa1K1FsLgCbwGdez939hmdZYFfimGH8$J " +B85c9ee49fb35cc6ae58f3bd6c43dd0ee4ef0d75c204e34766a73f35275e13562:0@85c9ee49fb35cc6ae58f3bd6c43dd0ee4ef0d75c204e34766a73f35275e13562""1LJPXFT1o9W6q9TYBtTw5AT32ZRTH1XvK3"UOP_DUP OP_HASH160 d3b442e2dadd55ef4b5abd264a22970bec8ee7c8 OP_EQUALVERIFY OP_CHECKSIG*276a914d3b442e2dadd55ef4b5abd264a22970bec8ee7c888ac*"1LJPXFT1o9W6q9TYBtTw5AT32ZRTH1XvK38$J " B6b02d3b05fd95f12753d1aa9bb4cd8d225782bfc0a93f3c14031bd020c3fb9a9:0'@6b02d3b05fd95f12753d1aa9bb4cd8d225782bfc0a93f3c14031bd020c3fb9a9"!1vdPHqGK5n6LB89XVuj8qCNayPBHr462p"UOP_DUP OP_HASH160 0a246b06ac9cb245848201f0c36f7f922f48bb3c OP_EQUALVERIFY OP_CHECKSIG*276a9140a246b06ac9cb245848201f0c36f7f922f48bb3c88ac*!1vdPHqGK5n6LB89XVuj8qCNayPBHr462p8#J " -Be396f3e6d727e98234fe862e588fcce2ac9004ed0731f942c373219e04f8c6f6:0@e396f3e6d727e98234fe862e588fcce2ac9004ed0731f942c373219e04f8c6f6""1L4PYFhF7fBfnS7XHBMsxJuYZqSm2jtqmg"UOP_DUP OP_HASH160 d10e73c77549ee938cec6cbbe649eee6b5296279 OP_EQUALVERIFY OP_CHECKSIG*276a914d10e73c77549ee938cec6cbbe649eee6b529627988ac*"1L4PYFhF7fBfnS7XHBMsxJuYZqSm2jtqmg8#J " -Bb52f49569f5e429f658f8eca1c98d7af56517d42cfc3f9122aa00fdef1d7d9dc:0@b52f49569f5e429f658f8eca1c98d7af56517d42cfc3f9122aa00fdef1d7d9dc""15zwn9kbeiTNQYEA4vzv6hdfV6S46VFppd"UOP_DUP OP_HASH160 36d5f091364c0209aa5c2246ec9a960c5c74ce59 OP_EQUALVERIFY OP_CHECKSIG*276a91436d5f091364c0209aa5c2246ec9a960c5c74ce5988ac*"15zwn9kbeiTNQYEA4vzv6hdfV6S46VFppd8׈$J " +Be396f3e6d727e98234fe862e588fcce2ac9004ed0731f942c373219e04f8c6f6:0@e396f3e6d727e98234fe862e588fcce2ac9004ed0731f942c373219e04f8c6f6""1L4PYFhF7fBfnS7XHBMsxJuYZqSm2jtqmg"UOP_DUP OP_HASH160 d10e73c77549ee938cec6cbbe649eee6b5296279 OP_EQUALVERIFY OP_CHECKSIG*276a914d10e73c77549ee938cec6cbbe649eee6b529627988ac*"1L4PYFhF7fBfnS7XHBMsxJuYZqSm2jtqmg8#J " +Bccd0ac951367b18306cab55dbe84a4cfe686f3d5cc086bec105a9ca3ec880c1d:0@ccd0ac951367b18306cab55dbe84a4cfe686f3d5cc086bec105a9ca3ec880c1d""1Bjjy4G1ZSXVAk6vqTzmBcs28cqmGCm5ex"UOP_DUP OP_HASH160 75c69848092a6b2961d3015ed8707ed867d6b6fb OP_EQUALVERIFY OP_CHECKSIG*276a91475c69848092a6b2961d3015ed8707ed867d6b6fb88ac*"1Bjjy4G1ZSXVAk6vqTzmBcs28cqmGCm5ex8$J " B8d07b2916d7a114854bbc7356bc97b55fafed2362cce6d942a88b00fa90d6177:1@8d07b2916d7a114854bbc7356bc97b55fafed2362cce6d942a88b00fa90d6177""1CDNbaJxJgaKMAfgJ37Ch9gtCdvLrernaS"UOP_DUP OP_HASH160 7b006716795e7aef4eca2d16a8add954fe7b59c2 OP_EQUALVERIFY OP_CHECKSIG*276a9147b006716795e7aef4eca2d16a8add954fe7b59c288ac*"1CDNbaJxJgaKMAfgJ37Ch9gtCdvLrernaS8#J " +Bce9389dd9d29ee74acc17a424e28a01c0bf6dd93c0a433dacbef8b588291d7c5:0@ce9389dd9d29ee74acc17a424e28a01c0bf6dd93c0a433dacbef8b588291d7c5""1HMggdfEb8J52qx87Xw8DGNuBrhvHspCKi"UOP_DUP OP_HASH160 b36b752e34956a86b68b60228a0f45f1acfa41ae OP_EQUALVERIFY OP_CHECKSIG*276a914b36b752e34956a86b68b60228a0f45f1acfa41ae88ac*"1HMggdfEb8J52qx87Xw8DGNuBrhvHspCKi8$J " Bb54ea7f58f967befdad88d61fc15c21db4a808886ef57644918a51fa187f356b:0?@b54ea7f58f967befdad88d61fc15c21db4a808886ef57644918a51fa187f356b""16SZuXZiMi1vLv2WCZK17jAKopqXf99CYL"UOP_DUP OP_HASH160 3bae7f0761a612ae91122ea6be219af1d0993670 OP_EQUALVERIFY OP_CHECKSIG*276a9143bae7f0761a612ae91122ea6be219af1d099367088ac*"16SZuXZiMi1vLv2WCZK17jAKopqXf99CYL8#J " B9a1ff1820c2372cb88dd7398552a7e5b1d508b8677dfa8b169c1d0f2ce9af40e:0@9a1ff1820c2372cb88dd7398552a7e5b1d508b8677dfa8b169c1d0f2ce9af40e""1BW7MjbSfweQJVGzUMJghNK5ccM9YaGhX2"UOP_DUP OP_HASH160 7332a0b0951b38123d3a181d9880dc999f4f3bb2 OP_EQUALVERIFY OP_CHECKSIG*276a9147332a0b0951b38123d3a181d9880dc999f4f3bb288ac*"1BW7MjbSfweQJVGzUMJghNK5ccM9YaGhX28$J " -B3f0c81bea2115406f902ff9b91ea8632f1a917182f063d52b3076befe5b1d72d:0@3f0c81bea2115406f902ff9b91ea8632f1a917182f063d52b3076befe5b1d72d""1BMkFZZRHYAtVuQHhntYySSkvWHiUzWzUz"UOP_DUP OP_HASH160 719dae65a638038985635ac316ba2b746b13b89e OP_EQUALVERIFY OP_CHECKSIG*276a914719dae65a638038985635ac316ba2b746b13b89e88ac*"1BMkFZZRHYAtVuQHhntYySSkvWHiUzWzUz8#J " -B7d5af6e03c8043884d1d04d67fab7458155aca885c1fc60d253a3fdf053d8b04:0@7d5af6e03c8043884d1d04d67fab7458155aca885c1fc60d253a3fdf053d8b04""12mUd3s9Jbxq5kER67SpG7qjJFX7Dy7CxM"UOP_DUP OP_HASH160 13617c436e876df91feb310fd44623a526492741 OP_EQUALVERIFY OP_CHECKSIG*276a91413617c436e876df91feb310fd44623a52649274188ac*"12mUd3s9Jbxq5kER67SpG7qjJFX7Dy7CxM8$J " +B3f0c81bea2115406f902ff9b91ea8632f1a917182f063d52b3076befe5b1d72d:0@3f0c81bea2115406f902ff9b91ea8632f1a917182f063d52b3076befe5b1d72d""1BMkFZZRHYAtVuQHhntYySSkvWHiUzWzUz"UOP_DUP OP_HASH160 719dae65a638038985635ac316ba2b746b13b89e OP_EQUALVERIFY OP_CHECKSIG*276a914719dae65a638038985635ac316ba2b746b13b89e88ac*"1BMkFZZRHYAtVuQHhntYySSkvWHiUzWzUz8#J " B6d7d6c7bd6f6d99a4ded3f4ffca4b3c2ff94a4317404959c0069e1784da2645a:0@6d7d6c7bd6f6d99a4ded3f4ffca4b3c2ff94a4317404959c0069e1784da2645a""16TLe1s3f1EBXjgiVQw8LA4XdXMfvXPm1G"UOP_DUP OP_HASH160 3bd3d6497c6f973cb951c4ff0dca69ec722c0dfc OP_EQUALVERIFY OP_CHECKSIG*276a9143bd3d6497c6f973cb951c4ff0dca69ec722c0dfc88ac*"16TLe1s3f1EBXjgiVQw8LA4XdXMfvXPm1G8ֿ#J " B732b86b832669893a2e0609a41bef06d102e9e8c5b2371c30f4cd949d53d410e:0І@732b86b832669893a2e0609a41bef06d102e9e8c5b2371c30f4cd949d53d410e""1JU5UUPcn47LBf7VEhUsuGzEeGqvBE9HXi"UOP_DUP OP_HASH160 bf991a8d1563d1b35c06a28f044a45148064d491 OP_EQUALVERIFY OP_CHECKSIG*276a914bf991a8d1563d1b35c06a28f044a45148064d49188ac*"1JU5UUPcn47LBf7VEhUsuGzEeGqvBE9HXi8#J " Bf796348215c78601812822b59531e62392845c5815694fd4b5c23d9b31d3c11c:0@f796348215c78601812822b59531e62392845c5815694fd4b5c23d9b31d3c11c""12tqegvxkvQJWwCVyA83cY2ES1DvJzfYLv"UOP_DUP OP_HASH160 14c5f35d62deae4ce61f1c90a7c5d4667914ad66 OP_EQUALVERIFY OP_CHECKSIG*276a91414c5f35d62deae4ce61f1c90a7c5d4667914ad6688ac*"12tqegvxkvQJWwCVyA83cY2ES1DvJzfYLv8#J " B386c8c43d9a0f2c8312ccc75ae4cb90491398ce87d8bbaac5bf0166599bf735f:0k@386c8c43d9a0f2c8312ccc75ae4cb90491398ce87d8bbaac5bf0166599bf735f""1Ndkv5t78SRTE5rFPxPcQE68EhbD8Hz2sL"UOP_DUP OP_HASH160 ed4e4651a6b84e2a2bd1914be82024a544b8ea9a OP_EQUALVERIFY OP_CHECKSIG*276a914ed4e4651a6b84e2a2bd1914be82024a544b8ea9a88ac*"1Ndkv5t78SRTE5rFPxPcQE68EhbD8Hz2sL8$J " B2e1eda41be09f32aba0f07a70ef7667f9aedaecf54d11fb22be931caf486d48f:0@2e1eda41be09f32aba0f07a70ef7667f9aedaecf54d11fb22be931caf486d48f""1NB2mccLhKZ6BWSJ1pHrFd3EkN4piKnbEn"UOP_DUP OP_HASH160 e8404726d1ed1240ff77d54610d2384b195f3aaa OP_EQUALVERIFY OP_CHECKSIG*276a914e8404726d1ed1240ff77d54610d2384b195f3aaa88ac*"1NB2mccLhKZ6BWSJ1pHrFd3EkN4piKnbEn8#J " Bb7d0475eeafe0254013829b9650a94fb9750b42eaa83afa30efcd3ec903dff50:0@b7d0475eeafe0254013829b9650a94fb9750b42eaa83afa30efcd3ec903dff50""1CaR2ZaBSG3m4YVyumxpxD1r5a69zNuk2r"UOP_DUP OP_HASH160 7efb2ac2420b94bca4861d2854ff0797f4f8343d OP_EQUALVERIFY OP_CHECKSIG*276a9147efb2ac2420b94bca4861d2854ff0797f4f8343d88ac*"1CaR2ZaBSG3m4YVyumxpxD1r5a69zNuk2r8#J " -B7515338e8324acc7deafc297897e9add53bfbaeda468cd602717f01b76d3c5cf:0@7515338e8324acc7deafc297897e9add53bfbaeda468cd602717f01b76d3c5cf""18SgaFs1iUUwK9mfmh8vwwMrQNF8vKjcTU"UOP_DUP OP_HASH160 51a450507d63ab0a03e686b76ea029505885458a OP_EQUALVERIFY OP_CHECKSIG*276a91451a450507d63ab0a03e686b76ea029505885458a88ac*"18SgaFs1iUUwK9mfmh8vwwMrQNF8vKjcTU8$J " -B06da439ccd64ec1ab6e79686ea7432777dd802cedc4cd2e77eb072bc32fd1cfb:1@06da439ccd64ec1ab6e79686ea7432777dd802cedc4cd2e77eb072bc32fd1cfb""1HPZxse8VvoTAW9kJAt4XiMTscEEYeSSrP"UOP_DUP OP_HASH160 b3c6ae1b218d8762d546d10ef251a15d93d2b4fd OP_EQUALVERIFY OP_CHECKSIG*276a914b3c6ae1b218d8762d546d10ef251a15d93d2b4fd88ac*"1HPZxse8VvoTAW9kJAt4XiMTscEEYeSSrP8֋$J " -B759f40209ceadfbce6bc9800c66ec10070cbad19e625c3f7c0128dc72bcc8fae:0@759f40209ceadfbce6bc9800c66ec10070cbad19e625c3f7c0128dc72bcc8fae""1MEgSGGVs2tRGzym2jDpStr5UJsGkKvKnC"UOP_DUP OP_HASH160 ddf8d7a36a38b2c85a161b84e2dca193115f73fb OP_EQUALVERIFY OP_CHECKSIG*276a914ddf8d7a36a38b2c85a161b84e2dca193115f73fb88ac*"1MEgSGGVs2tRGzym2jDpStr5UJsGkKvKnC8$J " +B7515338e8324acc7deafc297897e9add53bfbaeda468cd602717f01b76d3c5cf:0@7515338e8324acc7deafc297897e9add53bfbaeda468cd602717f01b76d3c5cf""18SgaFs1iUUwK9mfmh8vwwMrQNF8vKjcTU"UOP_DUP OP_HASH160 51a450507d63ab0a03e686b76ea029505885458a OP_EQUALVERIFY OP_CHECKSIG*276a91451a450507d63ab0a03e686b76ea029505885458a88ac*"18SgaFs1iUUwK9mfmh8vwwMrQNF8vKjcTU8$J " +B996a92b6b1e3ae61d604acb36fb34837013241e62a6e3d0580c9c779fa6a86e2:0@996a92b6b1e3ae61d604acb36fb34837013241e62a6e3d0580c9c779fa6a86e2""1Cm3s6NArmDNgmQHuCHHfqaV715T41FRcr"UOP_DUP OP_HASH160 80fe138f5f3ac3ba7663f755005537d74843a9bb OP_EQUALVERIFY OP_CHECKSIG*276a91480fe138f5f3ac3ba7663f755005537d74843a9bb88ac*"1Cm3s6NArmDNgmQHuCHHfqaV715T41FRcr8מ$J " +Ba30012faeeaa171cd819426553d0b852d7e0f054f1a2d838ad274d751365559f:0@a30012faeeaa171cd819426553d0b852d7e0f054f1a2d838ad274d751365559f""16BPtNzYXNLFVypoLfZeRCy6H9mSSx2f21"UOP_DUP OP_HASH160 38cfe486b5357f8b9754d575b5c2b2affbf9ec49 OP_EQUALVERIFY OP_CHECKSIG*276a91438cfe486b5357f8b9754d575b5c2b2affbf9ec4988ac*"16BPtNzYXNLFVypoLfZeRCy6H9mSSx2f218$J " +Bb17d3e33a8dd1bf3d4b95d942f3b91243290ab945c5e56e3c4db86021f3accf2:0@b17d3e33a8dd1bf3d4b95d942f3b91243290ab945c5e56e3c4db86021f3accf2""13u9Ubsc64boJa4F9vN6p2VHzxPuTy67nZ"UOP_DUP OP_HASH160 1fccf4f6dea7d04db0f3986e5cd243db3ddd5452 OP_EQUALVERIFY OP_CHECKSIG*276a9141fccf4f6dea7d04db0f3986e5cd243db3ddd545288ac*"13u9Ubsc64boJa4F9vN6p2VHzxPuTy67nZ8$J " +Bca7f1a4e7f51c6a2e49968fba2467df0733345445ce1a3205745d3a5956d7d50:0 +@ca7f1a4e7f51c6a2e49968fba2467df0733345445ce1a3205745d3a5956d7d50""15RSYMgnYeRSckA6Eh4LzN3BKXJXbrMDTK"UOP_DUP OP_HASH160 307fce746bc41fec6e35e3e6f1fa8de7a6748bc4 OP_EQUALVERIFY OP_CHECKSIG*276a914307fce746bc41fec6e35e3e6f1fa8de7a6748bc488ac*"15RSYMgnYeRSckA6Eh4LzN3BKXJXbrMDTK8Ġ$J " B77ae0250307aa19167ad5b54a38a157dae82a7fa5e827f2681aed0e102562102:0@77ae0250307aa19167ad5b54a38a157dae82a7fa5e827f2681aed0e102562102""19zEY3sePxgwd8AGasvL3UjRMfrEAAismh"UOP_DUP OP_HASH160 629403cb66e4a8bc435b9fa24e215144f474cc67 OP_EQUALVERIFY OP_CHECKSIG*276a914629403cb66e4a8bc435b9fa24e215144f474cc6788ac*"19zEY3sePxgwd8AGasvL3UjRMfrEAAismh8#J " B0688a6ff17a0625aabdf6c487b2c273d661936356aa7a92ad7ea76a143760463:0.@0688a6ff17a0625aabdf6c487b2c273d661936356aa7a92ad7ea76a143760463""1N7N8tcnmR4boaBf35Xq8aZGAEuKrrEnkJ"UOP_DUP OP_HASH160 e78ec7dc1cd20cf68cde19b9391b0318d50820df OP_EQUALVERIFY OP_CHECKSIG*276a914e78ec7dc1cd20cf68cde19b9391b0318d50820df88ac*"1N7N8tcnmR4boaBf35Xq8aZGAEuKrrEnkJ8#J " -Bbc0d673f71adc62995fbce8eaa79234de84fc229af4cdfe0555ec3b058e5f05c:0@bc0d673f71adc62995fbce8eaa79234de84fc229af4cdfe0555ec3b058e5f05c""19CRLjr2ZrcCQgEiULSFizZq9ZvtL58FPK"UOP_DUP OP_HASH160 59e9e66ec9f64a5c7b9ed6189c7ffa5719ce45f8 OP_EQUALVERIFY OP_CHECKSIG*276a91459e9e66ec9f64a5c7b9ed6189c7ffa5719ce45f888ac*"19CRLjr2ZrcCQgEiULSFizZq9ZvtL58FPK8#J " -B44d76edb94d06406ee707cced31b5bfff77713d9219d3fbe718f56bc94d5ba81:0@44d76edb94d06406ee707cced31b5bfff77713d9219d3fbe718f56bc94d5ba81""1DqZh7NZ7wbenfzSXY9CpxYCySwGGfiQFk"UOP_DUP OP_HASH160 8cd0c3ddbd472a52ded302c93d7aac8a4db27158 OP_EQUALVERIFY OP_CHECKSIG*276a9148cd0c3ddbd472a52ded302c93d7aac8a4db2715888ac*"1DqZh7NZ7wbenfzSXY9CpxYCySwGGfiQFk8#J  " +Bbc0d673f71adc62995fbce8eaa79234de84fc229af4cdfe0555ec3b058e5f05c:0@bc0d673f71adc62995fbce8eaa79234de84fc229af4cdfe0555ec3b058e5f05c""19CRLjr2ZrcCQgEiULSFizZq9ZvtL58FPK"UOP_DUP OP_HASH160 59e9e66ec9f64a5c7b9ed6189c7ffa5719ce45f8 OP_EQUALVERIFY OP_CHECKSIG*276a91459e9e66ec9f64a5c7b9ed6189c7ffa5719ce45f888ac*"19CRLjr2ZrcCQgEiULSFizZq9ZvtL58FPK8#J " +Be9d2e753d358f543b1b63e3e5e6006d485b1e90ff5940fcfda3370bec484a645:0Ξ@e9d2e753d358f543b1b63e3e5e6006d485b1e90ff5940fcfda3370bec484a645""18VwCSn7HSRZ3abEhx2QiY541Eim261CaA"UOP_DUP OP_HASH160 5241c4e1112a38100232fc14f5f168c01c8cc7d6 OP_EQUALVERIFY OP_CHECKSIG*276a9145241c4e1112a38100232fc14f5f168c01c8cc7d688ac*"18VwCSn7HSRZ3abEhx2QiY541Eim261CaA8$J " B1737c663d401579b15e8e7c7d6508276c90993231c9efe194a9220c77647c8bd:1@1737c663d401579b15e8e7c7d6508276c90993231c9efe194a9220c77647c8bd""1PPVZAEtNvMzHs71GuR54mrNYLdt8zqAWW"UOP_DUP OP_HASH160 f593c125391ea266fcd27621ece645cfc0b37396 OP_EQUALVERIFY OP_CHECKSIG*276a914f593c125391ea266fcd27621ece645cfc0b3739688ac*"1PPVZAEtNvMzHs71GuR54mrNYLdt8zqAWW8#J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:19@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1BTPnihYRvQB991qpX7un2XqAffjNzNUDK"UOP_DUP OP_HASH160 72af187440a82973fd52cb8752dbc4ae0854e6b0 OP_EQUALVERIFY OP_CHECKSIG*276a91472af187440a82973fd52cb8752dbc4ae0854e6b088ac*"1BTPnihYRvQB991qpX7un2XqAffjNzNUDK8"J " B04c5597abfe1ae68f2a2dcc84fc06b30fbc71cf0dfa68d2c565897b1253723c4:0@04c5597abfe1ae68f2a2dcc84fc06b30fbc71cf0dfa68d2c565897b1253723c4""1Ps72qp4a5bBTZqtUBsfNDx864ZBwi7yQR"UOP_DUP OP_HASH160 facc99b2d4d879432f67ff1480e93d528bdce75a OP_EQUALVERIFY OP_CHECKSIG*276a914facc99b2d4d879432f67ff1480e93d528bdce75a88ac*"1Ps72qp4a5bBTZqtUBsfNDx864ZBwi7yQR8#J " B866ad2b1b639dc4796fabb281c937972ba0adc11d8f783548e195f3a17d77084:1@866ad2b1b639dc4796fabb281c937972ba0adc11d8f783548e195f3a17d77084""13EkCR3ZFATFRfxa6KcrWZ3Xe9dZVRaqma"UOP_DUP OP_HASH160 1889b7cb4ad36e4c2ce864b1ec882ef2d48bd038 OP_EQUALVERIFY OP_CHECKSIG*276a9141889b7cb4ad36e4c2ce864b1ec882ef2d48bd03888ac*"13EkCR3ZFATFRfxa6KcrWZ3Xe9dZVRaqma8"J " Ba775eceda66d49ce1892200a42d0d61bb66c5d5716ac6b6ae8585ac59f3d87e3:0@@a775eceda66d49ce1892200a42d0d61bb66c5d5716ac6b6ae8585ac59f3d87e3""1MGUk6QBssChk3o644Sdfjp5XXXMQqnqoe"UOP_DUP OP_HASH160 de4fe9ed753db6f26edcb4a2c1ba1878b3f3fa3c OP_EQUALVERIFY OP_CHECKSIG*276a914de4fe9ed753db6f26edcb4a2c1ba1878b3f3fa3c88ac*"1MGUk6QBssChk3o644Sdfjp5XXXMQqnqoe8$J " -Be6314b75c0ac7d58dbe9b52060c372893a204947cbcaeec4ab1ec7b00b4f13ce:0@e6314b75c0ac7d58dbe9b52060c372893a204947cbcaeec4ab1ec7b00b4f13ce""1GTYeUTkn6Ek87CHQqv4PK98DGxRh7Jp1W"UOP_DUP OP_HASH160 a98f1e5c11fc807861a0a608e1ea133195908470 OP_EQUALVERIFY OP_CHECKSIG*276a914a98f1e5c11fc807861a0a608e1ea13319590847088ac*"1GTYeUTkn6Ek87CHQqv4PK98DGxRh7Jp1W8$J " -B081ab28611be9630608158d415f0baabb07f7a78fbe9de84ae6fbe48eb169ee3:0f@081ab28611be9630608158d415f0baabb07f7a78fbe9de84ae6fbe48eb169ee3""1E3tW8wAEpTSeH4dXByYpN5uqfptKnLSeJ"UOP_DUP OP_HASH160 8f257588a7d2a21f39321132d6bb6c9c43d13a18 OP_EQUALVERIFY OP_CHECKSIG*276a9148f257588a7d2a21f39321132d6bb6c9c43d13a1888ac*"1E3tW8wAEpTSeH4dXByYpN5uqfptKnLSeJ8$J " +Be6314b75c0ac7d58dbe9b52060c372893a204947cbcaeec4ab1ec7b00b4f13ce:0@e6314b75c0ac7d58dbe9b52060c372893a204947cbcaeec4ab1ec7b00b4f13ce""1GTYeUTkn6Ek87CHQqv4PK98DGxRh7Jp1W"UOP_DUP OP_HASH160 a98f1e5c11fc807861a0a608e1ea133195908470 OP_EQUALVERIFY OP_CHECKSIG*276a914a98f1e5c11fc807861a0a608e1ea13319590847088ac*"1GTYeUTkn6Ek87CHQqv4PK98DGxRh7Jp1W8$J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:10 -N@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""18b5pYaVDJWtEsN7uhhNsfi5Hx7yNwAGfE"UOP_DUP OP_HASH160 533b0be734a300ef5a2cc32c582467f4a4e6df1a OP_EQUALVERIFY OP_CHECKSIG*276a914533b0be734a300ef5a2cc32c582467f4a4e6df1a88ac*"18b5pYaVDJWtEsN7uhhNsfi5Hx7yNwAGfE8"J " -B9f207717822e3fe4fc32b69542c86cc7bb2dd137ad8cd667f0d44920b0c67a9c:0!@9f207717822e3fe4fc32b69542c86cc7bb2dd137ad8cd667f0d44920b0c67a9c""1NcVnpRE7KMr1yowxH26oFEqJAMUVVyvd6"UOP_DUP OP_HASH160 ed113b96b51d3a433ca7c1c597272e0673a987fa OP_EQUALVERIFY OP_CHECKSIG*276a914ed113b96b51d3a433ca7c1c597272e0673a987fa88ac*"1NcVnpRE7KMr1yowxH26oFEqJAMUVVyvd68#J " +N@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""18b5pYaVDJWtEsN7uhhNsfi5Hx7yNwAGfE"UOP_DUP OP_HASH160 533b0be734a300ef5a2cc32c582467f4a4e6df1a OP_EQUALVERIFY OP_CHECKSIG*276a914533b0be734a300ef5a2cc32c582467f4a4e6df1a88ac*"18b5pYaVDJWtEsN7uhhNsfi5Hx7yNwAGfE8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:11 M@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1MtiJRAvbk3LNsfxKtz5a11idURToo5jLk"UOP_DUP OP_HASH160 e52a3499c981597c7d5aaff72b77de1deda05a94 OP_EQUALVERIFY OP_CHECKSIG*276a914e52a3499c981597c7d5aaff72b77de1deda05a9488ac*"1MtiJRAvbk3LNsfxKtz5a11idURToo5jLk8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:12 @4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1FcVZn2xXfTNS5Fib8yZDQMrRL87GPR6YG"UOP_DUP OP_HASH160 a0482a22888428b8e1966acb4a02ea34ecfb2c53 OP_EQUALVERIFY OP_CHECKSIG*276a914a0482a22888428b8e1966acb4a02ea34ecfb2c5388ac*"1FcVZn2xXfTNS5Fib8yZDQMrRL87GPR6YG8"J " -C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:13 @4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1JUfXRSWpGmHgUZaPqFzNYCoJhtGNFsCkA"UOP_DUP OP_HASH160 bfb587267d878a2576625f2c92f474b51c045de8 OP_EQUALVERIFY OP_CHECKSIG*276a914bfb587267d878a2576625f2c92f474b51c045de888ac*"1JUfXRSWpGmHgUZaPqFzNYCoJhtGNFsCkA8"J " -C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:15@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1CPX2HuSeW4Kzfs3sjuuPPxteLzZUNb66D"UOP_DUP OP_HASH160 7ceb989a750d8a52f0b2b1d5867c68b35a009795 OP_EQUALVERIFY OP_CHECKSIG*276a9147ceb989a750d8a52f0b2b1d5867c68b35a00979588ac*"1CPX2HuSeW4Kzfs3sjuuPPxteLzZUNb66D8"J " -B6584f49f6c5b850b76fdc804f05c93e21eb6dd8c7530074c676fc63668138074:0R@6584f49f6c5b850b76fdc804f05c93e21eb6dd8c7530074c676fc63668138074""136JtbyP5SoEJsbvEv7LR3xqemQK98Xb8G"UOP_DUP OP_HASH160 16f143d3d91183a422b859e35e1cbaa7a0ce0d2a OP_EQUALVERIFY OP_CHECKSIG*276a91416f143d3d91183a422b859e35e1cbaa7a0ce0d2a88ac*"136JtbyP5SoEJsbvEv7LR3xqemQK98Xb8G8$J " +C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:13 @4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1JUfXRSWpGmHgUZaPqFzNYCoJhtGNFsCkA"UOP_DUP OP_HASH160 bfb587267d878a2576625f2c92f474b51c045de8 OP_EQUALVERIFY OP_CHECKSIG*276a914bfb587267d878a2576625f2c92f474b51c045de888ac*"1JUfXRSWpGmHgUZaPqFzNYCoJhtGNFsCkA8"J " +B8131ee058e6f70e9a72a1488b8055f8266fd81de35df99a3ff778fe2c6166332:0@8131ee058e6f70e9a72a1488b8055f8266fd81de35df99a3ff778fe2c6166332"!1N9cb7ARzpbwiyV3DHEGzxxzZrERXAaw7"UOP_DUP OP_HASH160 03ffeceacd68d64448bae8ca100ba28644669790 OP_EQUALVERIFY OP_CHECKSIG*276a91403ffeceacd68d64448bae8ca100ba2864466979088ac*!1N9cb7ARzpbwiyV3DHEGzxxzZrERXAaw78$J " +C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:15@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1CPX2HuSeW4Kzfs3sjuuPPxteLzZUNb66D"UOP_DUP OP_HASH160 7ceb989a750d8a52f0b2b1d5867c68b35a009795 OP_EQUALVERIFY OP_CHECKSIG*276a9147ceb989a750d8a52f0b2b1d5867c68b35a00979588ac*"1CPX2HuSeW4Kzfs3sjuuPPxteLzZUNb66D8"J " +B5030735a966e7c38ee92c559faecda2c6bf36cd123331f0be22176ddb50cdeaa:1@5030735a966e7c38ee92c559faecda2c6bf36cd123331f0be22176ddb50cdeaa""15qHWJusA45J54Wt4H4LQB2vBDVY196zZg"UOP_DUP OP_HASH160 35023f4be8265eaedfad8169712633a250f450c0 OP_EQUALVERIFY OP_CHECKSIG*276a91435023f4be8265eaedfad8169712633a250f450c088ac*"15qHWJusA45J54Wt4H4LQB2vBDVY196zZg8$J " B5b78bbd2447cb4bb26c6967196d8f18ccd1ff7d86d09d430e3dfacb4495f0ae2:0>@5b78bbd2447cb4bb26c6967196d8f18ccd1ff7d86d09d430e3dfacb4495f0ae2""1AydJmzMmt2gR1nPRtv9LQ3EfFvtp2DxJG"UOP_DUP OP_HASH160 6d6ebba82ed205d44a1ce895a1d0ca372c55253e OP_EQUALVERIFY OP_CHECKSIG*276a9146d6ebba82ed205d44a1ce895a1d0ca372c55253e88ac*"1AydJmzMmt2gR1nPRtv9LQ3EfFvtp2DxJG8݆$J " -Bd442e91d02b9efe2cedd612d953b136a786e597dfc5ecb302770864f159a45dc:0.@d442e91d02b9efe2cedd612d953b136a786e597dfc5ecb302770864f159a45dc""13KahHnkDHq76Tn3bttLg6UJMgenu2Q6sc"UOP_DUP OP_HASH160 1973dda208690a283a8bf35f7a1d150a5160a648 OP_EQUALVERIFY OP_CHECKSIG*276a9141973dda208690a283a8bf35f7a1d150a5160a64888ac*"13KahHnkDHq76Tn3bttLg6UJMgenu2Q6sc8$J " B3fab62266407887d8d43096f5a31bdfe0ad1072d43e8f86d49a4ed8a1f9c7514:0@3fab62266407887d8d43096f5a31bdfe0ad1072d43e8f86d49a4ed8a1f9c7514""1MvbutpzxkvH7DEbKAJRxiRLeDBDQagd2A"UOP_DUP OP_HASH160 e585b46644e626e30d4734cf285adf7fbb40d1be OP_EQUALVERIFY OP_CHECKSIG*276a914e585b46644e626e30d4734cf285adf7fbb40d1be88ac*"1MvbutpzxkvH7DEbKAJRxiRLeDBDQagd2A8#J " -Bba65407fa7a2716c954e5204650711802774ebc352d9b6d9fb6ddc7c3242d103:0s@ba65407fa7a2716c954e5204650711802774ebc352d9b6d9fb6ddc7c3242d103""1CjV2SGgeydzcW7xDrjAcQnG7oZjdtwVjo"UOP_DUP OP_HASH160 80b23f768d9694dd1f09e738f7b83162fdc6dbc6 OP_EQUALVERIFY OP_CHECKSIG*276a91480b23f768d9694dd1f09e738f7b83162fdc6dbc688ac*"1CjV2SGgeydzcW7xDrjAcQnG7oZjdtwVjo8$J " -B46aea75272a8276e74e80aa91d314bf9fdc5ae9acf0ca0ac48bfd0b24df4620e:0ۀ@46aea75272a8276e74e80aa91d314bf9fdc5ae9acf0ca0ac48bfd0b24df4620e""14tZAMqhYJeKSg1PUs8c51DQsH5rDj6FHb"UOP_DUP OP_HASH160 2aa870385ca534586c784447e06dec2c7aa8a7cd OP_EQUALVERIFY OP_CHECKSIG*276a9142aa870385ca534586c784447e06dec2c7aa8a7cd88ac*"14tZAMqhYJeKSg1PUs8c51DQsH5rDj6FHb8$J " B17a51bdff99ed1fed7cc162efc0e6689d7111c0b82f91303f6a36356d168e5b4:0@17a51bdff99ed1fed7cc162efc0e6689d7111c0b82f91303f6a36356d168e5b4""1J8sLkxFoaMfdpkaUmcAhqgREYsVHFf2a5"UOP_DUP OP_HASH160 bbf7128357fe06fbbec4649c9f17dd4b01a860f8 OP_EQUALVERIFY OP_CHECKSIG*276a914bbf7128357fe06fbbec4649c9f17dd4b01a860f888ac*"1J8sLkxFoaMfdpkaUmcAhqgREYsVHFf2a58#J " B576d224a1a118fdb5c26963e91ea5b8b3f917e7683bfc8c4b0174c905df8f144:0%@576d224a1a118fdb5c26963e91ea5b8b3f917e7683bfc8c4b0174c905df8f144""1HNSpXjUzCQNTTUruvoDrD8C8XqyCW6UqC"UOP_DUP OP_HASH160 b3904cfe46bf8ede2b71482a33b674cf450d6038 OP_EQUALVERIFY OP_CHECKSIG*276a914b3904cfe46bf8ede2b71482a33b674cf450d603888ac*"1HNSpXjUzCQNTTUruvoDrD8C8XqyCW6UqC8$J " Bed7db7acd9512a7ee82dd380abd5d2596e3a763b0660ce4ff395b689a084ea83:0‰@ed7db7acd9512a7ee82dd380abd5d2596e3a763b0660ce4ff395b689a084ea83""1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY"UOP_DUP OP_HASH160 79a2f7d6d53eaff291543f9aea88eab1376d7db5 OP_EQUALVERIFY OP_CHECKSIG*276a91479a2f7d6d53eaff291543f9aea88eab1376d7db588ac*"1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY8$J " @@ -91737,151 +98630,167 @@ C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:27 C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:28@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1GR5GDz4i6K4WrPTxtV6Nps6Bir5EgV2iN"UOP_DUP OP_HASH160 a9176d90083f8a52d3dfdfae6677d82e1924023f OP_EQUALVERIFY OP_CHECKSIG*276a914a9176d90083f8a52d3dfdfae6677d82e1924023f88ac*"1GR5GDz4i6K4WrPTxtV6Nps6Bir5EgV2iN8"J " Bbedbe23ae37d04ff30b8cb48002b5e8aef6ec6ea0489f926b6c59b4594d270f0:0@bedbe23ae37d04ff30b8cb48002b5e8aef6ec6ea0489f926b6c59b4594d270f0""17sPsbd3b1r5eoqzCPY53dQt7LVwrG28hv"UOP_DUP OP_HASH160 4b58a54b1c4e8a6a132460bdfd86986b111888cc OP_EQUALVERIFY OP_CHECKSIG*276a9144b58a54b1c4e8a6a132460bdfd86986b111888cc88ac*"17sPsbd3b1r5eoqzCPY53dQt7LVwrG28hv8#J " Bed3def05d37a18f99dbbdc3619671d97ee5570c3cf3515db089e3196bc7982ad:0)@ed3def05d37a18f99dbbdc3619671d97ee5570c3cf3515db089e3196bc7982ad""1Myef3AV1L3cVUZC1p1Z6bA8EUwGQcJtnf"UOP_DUP OP_HASH160 e6193e370e5eaf5a9174cae1b02b201b16343298 OP_EQUALVERIFY OP_CHECKSIG*276a914e6193e370e5eaf5a9174cae1b02b201b1634329888ac*"1Myef3AV1L3cVUZC1p1Z6bA8EUwGQcJtnf8$J " -B13f8527aa6bf3ba35a346bc78423579b69e06b94d2a64cc2615d23b2fa76401a:0*@13f8527aa6bf3ba35a346bc78423579b69e06b94d2a64cc2615d23b2fa76401a""1F8d3aDMMzKJQkfzZrRiPqtx2aishEy1cM"UOP_DUP OP_HASH160 9b02c2d21a2db26aa3eed87c922f93a5153530ae OP_EQUALVERIFY OP_CHECKSIG*276a9149b02c2d21a2db26aa3eed87c922f93a5153530ae88ac*"1F8d3aDMMzKJQkfzZrRiPqtx2aishEy1cM8#J " +B13f8527aa6bf3ba35a346bc78423579b69e06b94d2a64cc2615d23b2fa76401a:0*@13f8527aa6bf3ba35a346bc78423579b69e06b94d2a64cc2615d23b2fa76401a""1F8d3aDMMzKJQkfzZrRiPqtx2aishEy1cM"UOP_DUP OP_HASH160 9b02c2d21a2db26aa3eed87c922f93a5153530ae OP_EQUALVERIFY OP_CHECKSIG*276a9149b02c2d21a2db26aa3eed87c922f93a5153530ae88ac*"1F8d3aDMMzKJQkfzZrRiPqtx2aishEy1cM8#J " +B2b52bd696d9ba1208bad7ded345a60e3d277d4177e041826b83b31ca2602db4d:1@2b52bd696d9ba1208bad7ded345a60e3d277d4177e041826b83b31ca2602db4d""1CT6W8hvhNWKVKFQoDwJgL4PYCLqWPVV71"UOP_DUP OP_HASH160 7d98caad706bfd7e01a011cc5a7e8cb9c68c0b7a OP_EQUALVERIFY OP_CHECKSIG*276a9147d98caad706bfd7e01a011cc5a7e8cb9c68c0b7a88ac*"1CT6W8hvhNWKVKFQoDwJgL4PYCLqWPVV718$J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:20g@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1BaHWWpgrzaASSFtDhj187VrzCgXsij9hw"UOP_DUP OP_HASH160 73fcc3f6b870215c4a743fbf31b49db9108cf2b2 OP_EQUALVERIFY OP_CHECKSIG*276a91473fcc3f6b870215c4a743fbf31b49db9108cf2b288ac*"1BaHWWpgrzaASSFtDhj187VrzCgXsij9hw8"J " -C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:21g@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""18v3BRrWtGf4LYu3Kqj8JhGNy7GyGmaJ2K"UOP_DUP OP_HASH160 56d0befe54f22f52f9bd6b5c04613b6c79b5c882 OP_EQUALVERIFY OP_CHECKSIG*276a91456d0befe54f22f52f9bd6b5c04613b6c79b5c88288ac*"18v3BRrWtGf4LYu3Kqj8JhGNy7GyGmaJ2K8"J " -C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:22@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1EFvzUhuwrsadzxE1dRhPyLjBr6D7rmbDy"UOP_DUP OP_HASH160 916c872f60732e947ad808c71c8505469d08f234 OP_EQUALVERIFY OP_CHECKSIG*276a914916c872f60732e947ad808c71c8505469d08f23488ac*"1EFvzUhuwrsadzxE1dRhPyLjBr6D7rmbDy8"J " -C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:24'@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1N49PvSRfL9kE29sfAprtkRSMW5cJQtTrr"UOP_DUP OP_HASH160 e6f2e5b5875638fd03c3ece0c1d18d469254ae7c OP_EQUALVERIFY OP_CHECKSIG*276a914e6f2e5b5875638fd03c3ece0c1d18d469254ae7c88ac*"1N49PvSRfL9kE29sfAprtkRSMW5cJQtTrr8"J " -C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:25̢@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1ACKmKBH39WsUFNyHsycsibrwMRNvPeQNn"UOP_DUP OP_HASH160 64dd5efd474660124b0a7579d6a131e65cbf4891 OP_EQUALVERIFY OP_CHECKSIG*276a91464dd5efd474660124b0a7579d6a131e65cbf489188ac*"1ACKmKBH39WsUFNyHsycsibrwMRNvPeQNn8"J " +C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:21g@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""18v3BRrWtGf4LYu3Kqj8JhGNy7GyGmaJ2K"UOP_DUP OP_HASH160 56d0befe54f22f52f9bd6b5c04613b6c79b5c882 OP_EQUALVERIFY OP_CHECKSIG*276a91456d0befe54f22f52f9bd6b5c04613b6c79b5c88288ac*"18v3BRrWtGf4LYu3Kqj8JhGNy7GyGmaJ2K8"J " +Ba7d4df6ced82847ea66a95fac21e50b415f99f3ce10f4110517c3c7fcb094acf:0@a7d4df6ced82847ea66a95fac21e50b415f99f3ce10f4110517c3c7fcb094acf""12mNiP5oix79sGq1rnxmT2VtAGxKPxfVSf"UOP_DUP OP_HASH160 135c8db7e02273b7137c4cbb5a3722b21af8f3bd OP_EQUALVERIFY OP_CHECKSIG*276a914135c8db7e02273b7137c4cbb5a3722b21af8f3bd88ac*"12mNiP5oix79sGq1rnxmT2VtAGxKPxfVSf8$J  +" +B2b52bd696d9ba1208bad7ded345a60e3d277d4177e041826b83b31ca2602db4d:0@2b52bd696d9ba1208bad7ded345a60e3d277d4177e041826b83b31ca2602db4d""1GoY4Q6oK9h4da1BbH3q5jJ9jgDPGgv8v9"UOP_DUP OP_HASH160 ad56f2892341faa1a02f2457ee8a95b684457f69 OP_EQUALVERIFY OP_CHECKSIG*276a914ad56f2892341faa1a02f2457ee8a95b684457f6988ac*"1GoY4Q6oK9h4da1BbH3q5jJ9jgDPGgv8v98$J " +C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:22@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1EFvzUhuwrsadzxE1dRhPyLjBr6D7rmbDy"UOP_DUP OP_HASH160 916c872f60732e947ad808c71c8505469d08f234 OP_EQUALVERIFY OP_CHECKSIG*276a914916c872f60732e947ad808c71c8505469d08f23488ac*"1EFvzUhuwrsadzxE1dRhPyLjBr6D7rmbDy8"J " +Ba7d4df6ced82847ea66a95fac21e50b415f99f3ce10f4110517c3c7fcb094acf:1\@a7d4df6ced82847ea66a95fac21e50b415f99f3ce10f4110517c3c7fcb094acf""12mNiP5oix79sGq1rnxmT2VtAGxKPxfVSf"UOP_DUP OP_HASH160 135c8db7e02273b7137c4cbb5a3722b21af8f3bd OP_EQUALVERIFY OP_CHECKSIG*276a914135c8db7e02273b7137c4cbb5a3722b21af8f3bd88ac*"12mNiP5oix79sGq1rnxmT2VtAGxKPxfVSf8$J " +C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:24'@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1N49PvSRfL9kE29sfAprtkRSMW5cJQtTrr"UOP_DUP OP_HASH160 e6f2e5b5875638fd03c3ece0c1d18d469254ae7c OP_EQUALVERIFY OP_CHECKSIG*276a914e6f2e5b5875638fd03c3ece0c1d18d469254ae7c88ac*"1N49PvSRfL9kE29sfAprtkRSMW5cJQtTrr8"J " Bd11b282b963ab6b05012f3e281231e66146cc374d86b151c18ebe6389504459b:1@d11b282b963ab6b05012f3e281231e66146cc374d86b151c18ebe6389504459b""1BzFMktrwAa1nEu5APHTduBHXcw8TwMyCi"UOP_DUP OP_HASH160 7884f3f885a32034063545b2dae6992f47bc63d4 OP_EQUALVERIFY OP_CHECKSIG*276a9147884f3f885a32034063545b2dae6992f47bc63d488ac*"1BzFMktrwAa1nEu5APHTduBHXcw8TwMyCi8Ӡ#J " +B5ca2ab1d9971619f31d96f480b94aef9ef0614cf8ecfb33b6fd78673c4b4394e:0@5ca2ab1d9971619f31d96f480b94aef9ef0614cf8ecfb33b6fd78673c4b4394e""12aC2PU8qcKrtfhpfhxyLW2WqVLUUBi5ST"UOP_DUP OP_HASH160 113f0e09361dcc88df02cace300321d93c00a264 OP_EQUALVERIFY OP_CHECKSIG*276a914113f0e09361dcc88df02cace300321d93c00a26488ac*"12aC2PU8qcKrtfhpfhxyLW2WqVLUUBi5ST8$J " B0549e6b6e15ce8388ddd2c7b676aff16b7228e7b198dd889b45017c981519fb0:0@0549e6b6e15ce8388ddd2c7b676aff16b7228e7b198dd889b45017c981519fb0""14wc1RXTue8jMUQn2pHYJGgBFEVPouvsP1"UOP_DUP OP_HASH160 2b3c0fd8d64d153bedf76b55c765a3ef3e361510 OP_EQUALVERIFY OP_CHECKSIG*276a9142b3c0fd8d64d153bedf76b55c765a3ef3e36151088ac*"14wc1RXTue8jMUQn2pHYJGgBFEVPouvsP18#J " +Bdff59617851f13a8b35a757fc21ae47e4fe6c666ebbecbc8cefe342347766546:0h@dff59617851f13a8b35a757fc21ae47e4fe6c666ebbecbc8cefe342347766546""16NUbCL6yzedVwD1mS7UySJpKeuCxBDQUa"UOP_DUP OP_HASH160 3ae8650d4352200e9646719464add236b8eb3adb OP_EQUALVERIFY OP_CHECKSIG*276a9143ae8650d4352200e9646719464add236b8eb3adb88ac*"16NUbCL6yzedVwD1mS7UySJpKeuCxBDQUa8$J " Be62b519917f70b621fd924f811bfdc95f0c5d30a3ac9d49775094984fc786f98:0U@e62b519917f70b621fd924f811bfdc95f0c5d30a3ac9d49775094984fc786f98""19BSkQUDuA3GXZecBjbh7LXf8MHJX5698b"UOP_DUP OP_HASH160 59baa8d72b7feb6d9e48ad71e7d381360d1b12c5 OP_EQUALVERIFY OP_CHECKSIG*276a91459baa8d72b7feb6d9e48ad71e7d381360d1b12c588ac*"19BSkQUDuA3GXZecBjbh7LXf8MHJX5698b8#J " -B34bb7e9965486dd8e4d2e4e18afc0b4c4599ccd60db8a8aa88165a98bcf64aa7:0@34bb7e9965486dd8e4d2e4e18afc0b4c4599ccd60db8a8aa88165a98bcf64aa7""1L3zQ8w4caQBMgtArWKjjHFudAqpjg3wGR"UOP_DUP OP_HASH160 d0fb22d1b20876f252f2160d69c97b4f17f895f8 OP_EQUALVERIFY OP_CHECKSIG*276a914d0fb22d1b20876f252f2160d69c97b4f17f895f888ac*"1L3zQ8w4caQBMgtArWKjjHFudAqpjg3wGR8ڑ$J " -B68aa9629aefebdb723d6ebe9d2d6a6e8464ef02a49d6e3cbcdbf92fba116c463:0=@68aa9629aefebdb723d6ebe9d2d6a6e8464ef02a49d6e3cbcdbf92fba116c463""16rSZf3HHJHWfcK4RXCYbXhK5SoD59MA6m"UOP_DUP OP_HASH160 403259990228bd74bb71e5d791f41d8f64de2182 OP_EQUALVERIFY OP_CHECKSIG*276a914403259990228bd74bb71e5d791f41d8f64de218288ac*"16rSZf3HHJHWfcK4RXCYbXhK5SoD59MA6m8$J  " +Bbedb68dc628beb00bc20d0010cad48c9fe291f544c10f47a5428d83fe6ac97c6:0=@bedb68dc628beb00bc20d0010cad48c9fe291f544c10f47a5428d83fe6ac97c6""1Etu9ZTXYYP81TWVtVsVaT1Mr16K27pKcp"UOP_DUP OP_HASH160 986a613dafec0a264306835e72205adbb233ed77 OP_EQUALVERIFY OP_CHECKSIG*276a914986a613dafec0a264306835e72205adbb233ed7788ac*"1Etu9ZTXYYP81TWVtVsVaT1Mr16K27pKcp8$J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:39'л@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1HdRZRQSX7kEXE1SvM4UgzkAMa8e5PLvug"UOP_DUP OP_HASH160 b6657ceb75565700f9c800d716dbb060d2e11521 OP_EQUALVERIFY OP_CHECKSIG*276a914b6657ceb75565700f9c800d716dbb060d2e1152188ac*"1HdRZRQSX7kEXE1SvM4UgzkAMa8e5PLvug8"J " B9061baa501395a04138fb930b285f8df2303f77fb55d95feb077fa627a77f625:0@9061baa501395a04138fb930b285f8df2303f77fb55d95feb077fa627a77f625""1GmkmmWvPydmk17V2JGE5PnwUX9Y3qx4AX"UOP_DUP OP_HASH160 ad00ba5cd140ee9cc6c670b5d6d9194d14770c9a OP_EQUALVERIFY OP_CHECKSIG*276a914ad00ba5cd140ee9cc6c670b5d6d9194d14770c9a88ac*"1GmkmmWvPydmk17V2JGE5PnwUX9Y3qx4AX8#J{" Bc4fa984a63233a7c0d6a768e4a8c4bc9517daf14f1086b26c95f8d6b12ab3ac0:0@c4fa984a63233a7c0d6a768e4a8c4bc9517daf14f1086b26c95f8d6b12ab3ac0""1M7r8NmQApcax1BSjgANbt3HpHboxgiXGb"UOP_DUP OP_HASH160 dcae054ed3d277adcb9b55899c33405904811bb4 OP_EQUALVERIFY OP_CHECKSIG*276a914dcae054ed3d277adcb9b55899c33405904811bb488ac*"1M7r8NmQApcax1BSjgANbt3HpHboxgiXGb8#J " -B21b81a5af0b1713cb30b8e9359e0a6738e3976e1f397840882540f61db7681a3:0H@21b81a5af0b1713cb30b8e9359e0a6738e3976e1f397840882540f61db7681a3""1M3mdmzzFWbqPTeYUYNdKqBvyeM5F9zF4E"UOP_DUP OP_HASH160 dbe89b32a51bcf1a37b8560d00bb5069e6f6442b OP_EQUALVERIFY OP_CHECKSIG*276a914dbe89b32a51bcf1a37b8560d00bb5069e6f6442b88ac*"1M3mdmzzFWbqPTeYUYNdKqBvyeM5F9zF4E8$J " -Be3b9a21c50d07bf67bcfb2af98fdfcc11a078535a738806e028ed77bb13bdd0c:08@e3b9a21c50d07bf67bcfb2af98fdfcc11a078535a738806e028ed77bb13bdd0c""12Emp7XCM9a7pPoLsYJbQFyHM67SnuMNKF"UOP_DUP OP_HASH160 0d92f0d188515b835fb05dfe6b7bc2e6ce761d66 OP_EQUALVERIFY OP_CHECKSIG*276a9140d92f0d188515b835fb05dfe6b7bc2e6ce761d6688ac*"12Emp7XCM9a7pPoLsYJbQFyHM67SnuMNKF8"J " +B21b81a5af0b1713cb30b8e9359e0a6738e3976e1f397840882540f61db7681a3:0H@21b81a5af0b1713cb30b8e9359e0a6738e3976e1f397840882540f61db7681a3""1M3mdmzzFWbqPTeYUYNdKqBvyeM5F9zF4E"UOP_DUP OP_HASH160 dbe89b32a51bcf1a37b8560d00bb5069e6f6442b OP_EQUALVERIFY OP_CHECKSIG*276a914dbe89b32a51bcf1a37b8560d00bb5069e6f6442b88ac*"1M3mdmzzFWbqPTeYUYNdKqBvyeM5F9zF4E8$J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:30@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1DaVs2GaaarAXLkwxWBCVsPTzkJFzZPsGR"UOP_DUP OP_HASH160 89f7544d12aada076dbe871d32331d8ef03205d2 OP_EQUALVERIFY OP_CHECKSIG*276a91489f7544d12aada076dbe871d32331d8ef03205d288ac*"1DaVs2GaaarAXLkwxWBCVsPTzkJFzZPsGR8"J " -C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:31g@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1NGZhtYwiab5ZRS6RbXMTFjPHHNBPT3TKJ"UOP_DUP OP_HASH160 e94c2e7f2e55c76e6d579ec95051ab0b91ddb2a6 OP_EQUALVERIFY OP_CHECKSIG*276a914e94c2e7f2e55c76e6d579ec95051ab0b91ddb2a688ac*"1NGZhtYwiab5ZRS6RbXMTFjPHHNBPT3TKJ8"J " -B1cc9e3dd967b2681872b77befffda0629ec0f1790920d0d1293938b165da8d50:0@1cc9e3dd967b2681872b77befffda0629ec0f1790920d0d1293938b165da8d50""1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY"UOP_DUP OP_HASH160 79a2f7d6d53eaff291543f9aea88eab1376d7db5 OP_EQUALVERIFY OP_CHECKSIG*276a91479a2f7d6d53eaff291543f9aea88eab1376d7db588ac*"1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY8$J " -C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:33!N@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""15W9kS5HKBuRV8Qnc7MTLKA754Hdk3twwq"UOP_DUP OP_HASH160 3163de82e6e3e7777e06a54123475dc9553d1ace OP_EQUALVERIFY OP_CHECKSIG*276a9143163de82e6e3e7777e06a54123475dc9553d1ace88ac*"15W9kS5HKBuRV8Qnc7MTLKA754Hdk3twwq8"J " -Ba66789e5b8a2628ac310b42a482d6d7da8644443ffb629b1abc407815f59ba2f:0D@a66789e5b8a2628ac310b42a482d6d7da8644443ffb629b1abc407815f59ba2f""18sGXYfQfP4NhAcAMYoc5gx8SZatufy9cU"UOP_DUP OP_HASH160 564aa3bb16af6df6325009c2d5bf5f1f32b1aac3 OP_EQUALVERIFY OP_CHECKSIG*276a914564aa3bb16af6df6325009c2d5bf5f1f32b1aac388ac*"18sGXYfQfP4NhAcAMYoc5gx8SZatufy9cU8$J " +C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:31g@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1NGZhtYwiab5ZRS6RbXMTFjPHHNBPT3TKJ"UOP_DUP OP_HASH160 e94c2e7f2e55c76e6d579ec95051ab0b91ddb2a6 OP_EQUALVERIFY OP_CHECKSIG*276a914e94c2e7f2e55c76e6d579ec95051ab0b91ddb2a688ac*"1NGZhtYwiab5ZRS6RbXMTFjPHHNBPT3TKJ8"J " +B5f008817d0194bb9e67c25d2402d25460ef6fcd81ee846ee0e9f469158eb0fd6:05@5f008817d0194bb9e67c25d2402d25460ef6fcd81ee846ee0e9f469158eb0fd6""1PSnGT8ZJRGnaEqgWRFVGhoQwqptaPy3do"UOP_DUP OP_HASH160 f632f3e87726706dca89961277f50ec8f3f3f979 OP_EQUALVERIFY OP_CHECKSIG*276a914f632f3e87726706dca89961277f50ec8f3f3f97988ac*"1PSnGT8ZJRGnaEqgWRFVGhoQwqptaPy3do8֡$J " +C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:33!N@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""15W9kS5HKBuRV8Qnc7MTLKA754Hdk3twwq"UOP_DUP OP_HASH160 3163de82e6e3e7777e06a54123475dc9553d1ace OP_EQUALVERIFY OP_CHECKSIG*276a9143163de82e6e3e7777e06a54123475dc9553d1ace88ac*"15W9kS5HKBuRV8Qnc7MTLKA754Hdk3twwq8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:34"@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1Ctt7JJg4U25sL4UNwcH2rMjR6uveZeDzj"UOP_DUP OP_HASH160 827942cf66ea64029c8012ca1812b21074972220 OP_EQUALVERIFY OP_CHECKSIG*276a914827942cf66ea64029c8012ca1812b2107497222088ac*"1Ctt7JJg4U25sL4UNwcH2rMjR6uveZeDzj8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:35#@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""19RjKPu8iaKA3N85Amc3JNnqTVqjcjmCiU"UOP_DUP OP_HASH160 5c6e505de30a0da9aae1082986481ed86ce5fa84 OP_EQUALVERIFY OP_CHECKSIG*276a9145c6e505de30a0da9aae1082986481ed86ce5fa8488ac*"19RjKPu8iaKA3N85Amc3JNnqTVqjcjmCiU8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:36$@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""15v87BJjVG7BjuK13SLnhUn6xgy4EkgdEK"UOP_DUP OP_HASH160 35ec7b38435da9cb92eb3a882e219fe4c260aa96 OP_EQUALVERIFY OP_CHECKSIG*276a91435ec7b38435da9cb92eb3a882e219fe4c260aa9688ac*"15v87BJjVG7BjuK13SLnhUn6xgy4EkgdEK8"J " Bc26a21dc03b6afcd3bdaa89e5f3a5e271864e9393fb4c43c14db13081bee9e9b:0@c26a21dc03b6afcd3bdaa89e5f3a5e271864e9393fb4c43c14db13081bee9e9b""1At3oBqfZDMEn98JWkgDtE7JCBZJEQjiD1"UOP_DUP OP_HASH160 6c60ae2c16bfc73c85c4b8d9db74ca7ee2e1b107 OP_EQUALVERIFY OP_CHECKSIG*276a9146c60ae2c16bfc73c85c4b8d9db74ca7ee2e1b10788ac*"1At3oBqfZDMEn98JWkgDtE7JCBZJEQjiD18$J " -Bdfa30216181d8752f9310334e5e1d2b841c351fc15de33c5abd867fe4aeae40b:0(@dfa30216181d8752f9310334e5e1d2b841c351fc15de33c5abd867fe4aeae40b""1L2P2GMY3kLJQjSSpkiGzcroxGeFmvtakz"UOP_DUP OP_HASH160 d0ad3050aee7afc045233d9a32c45d429ac34075 OP_EQUALVERIFY OP_CHECKSIG*276a914d0ad3050aee7afc045233d9a32c45d429ac3407588ac*"1L2P2GMY3kLJQjSSpkiGzcroxGeFmvtakz8#J " -Bb9d524d9c0a9356f40eead3a6d8e1a637103edbc7cec3ead5a7cd50c67474182:0Đ@b9d524d9c0a9356f40eead3a6d8e1a637103edbc7cec3ead5a7cd50c67474182""13B5HnVtxMqsg98AdP3YbJ7nQb5FH73XDW"UOP_DUP OP_HASH160 17d7fde5a73d06a6d7dffd2e90cec360927e787b OP_EQUALVERIFY OP_CHECKSIG*276a91417d7fde5a73d06a6d7dffd2e90cec360927e787b88ac*"13B5HnVtxMqsg98AdP3YbJ7nQb5FH73XDW8$J " B76c3a4ff3bf51236fac5fbf7d0559c0d88c1c11f62652af13721f501f22ebab6:01@76c3a4ff3bf51236fac5fbf7d0559c0d88c1c11f62652af13721f501f22ebab6""18VXJ9sSHFuCdxhAY3nm4grkBUbiHGRtyx"UOP_DUP OP_HASH160 522dd128aaacdf829c84ccbe22853ca072bdb421 OP_EQUALVERIFY OP_CHECKSIG*276a914522dd128aaacdf829c84ccbe22853ca072bdb42188ac*"18VXJ9sSHFuCdxhAY3nm4grkBUbiHGRtyx8݈#J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:40(@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1Fdqe1AGgVLBepqPHm5moYiRmAjp283a64"UOP_DUP OP_HASH160 a08956274c565126aa0fa82ea0ee971789e74b6c OP_EQUALVERIFY OP_CHECKSIG*276a914a08956274c565126aa0fa82ea0ee971789e74b6c88ac*"1Fdqe1AGgVLBepqPHm5moYiRmAjp283a648"J " B456a4bcf0352468a3440fabb5720372bb04e1ede39b2b26dd5cc13acd2d76a80:0@456a4bcf0352468a3440fabb5720372bb04e1ede39b2b26dd5cc13acd2d76a80""13zVguwCeHisuqZww3DijmqaoyiYaQsZBm"UOP_DUP OP_HASH160 20cfe8b78b09393aa8a64185d626ebb52b8ee71c OP_EQUALVERIFY OP_CHECKSIG*276a91420cfe8b78b09393aa8a64185d626ebb52b8ee71c88ac*"13zVguwCeHisuqZww3DijmqaoyiYaQsZBm8#J " Bb717f2654984f8ff692b74db9c3e131cf56b85da7cb90d6ba6c94ceaaeb7c76e:0]@b717f2654984f8ff692b74db9c3e131cf56b85da7cb90d6ba6c94ceaaeb7c76e""1GdUW5eePksBs1jawMLgCFbRGs16JpB65L"UOP_DUP OP_HASH160 ab6fd18143a18b6c58df9414f21053f9a204cd98 OP_EQUALVERIFY OP_CHECKSIG*276a914ab6fd18143a18b6c58df9414f21053f9a204cd9888ac*"1GdUW5eePksBs1jawMLgCFbRGs16JpB65L8#J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:491@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1PmLnFHNbVn8PJn4MPeEPUi7fL7Ft1PTsc"UOP_DUP OP_HASH160 f9b594c72da50dc3bb105c1c779385dba7bf2a29 OP_EQUALVERIFY OP_CHECKSIG*276a914f9b594c72da50dc3bb105c1c779385dba7bf2a2988ac*"1PmLnFHNbVn8PJn4MPeEPUi7fL7Ft1PTsc8"J " B73b6ab91e915ec17fce76f79125a690298c23ed763ff9d13dc632b2ab0b76218:0@73b6ab91e915ec17fce76f79125a690298c23ed763ff9d13dc632b2ab0b76218""1GrDoWnuhS75fXQuWthzzSFuXp7x3d33rr"UOP_DUP OP_HASH160 add8f496879ce97184fe4e40658181291ba14de4 OP_EQUALVERIFY OP_CHECKSIG*276a914add8f496879ce97184fe4e40658181291ba14de488ac*"1GrDoWnuhS75fXQuWthzzSFuXp7x3d33rr8$J " -Be01c921d15824175a94545e02109160b4c1dbcbc1498dd855993e8fdaf3ab248:0@e01c921d15824175a94545e02109160b4c1dbcbc1498dd855993e8fdaf3ab248""1A7nZuvu3Ev8gsPdSUjtRdA39PA9ndz59K"UOP_DUP OP_HASH160 6401aa6648db440f71e6112e84eec324b0ba86ef OP_EQUALVERIFY OP_CHECKSIG*276a9146401aa6648db440f71e6112e84eec324b0ba86ef88ac*"1A7nZuvu3Ev8gsPdSUjtRdA39PA9ndz59K8$J " +Bee8eb5afe19890a208aad317119ce931b508a40e0b1a885a60c465f493a17dbf:0@ee8eb5afe19890a208aad317119ce931b508a40e0b1a885a60c465f493a17dbf""13MUgPViPUawQA7CFv9DP2BJqM1CPTTv4a"UOP_DUP OP_HASH160 19cfad185eac4a1e6a906aa187c6b4991bb9642f OP_EQUALVERIFY OP_CHECKSIG*276a91419cfad185eac4a1e6a906aa187c6b4991bb9642f88ac*"13MUgPViPUawQA7CFv9DP2BJqM1CPTTv4a8$J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:41)@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""18c6EucisrQhy6RoeJH3DYsLgsru7dRYkg"UOP_DUP OP_HASH160 536bd027119e6b96acd5b42940481f237e2eca12 OP_EQUALVERIFY OP_CHECKSIG*276a914536bd027119e6b96acd5b42940481f237e2eca1288ac*"18c6EucisrQhy6RoeJH3DYsLgsru7dRYkg8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:42*@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""18SQjgHGHZJkejYz2KfTyp7gYBCfRiJhge"UOP_DUP OP_HASH160 519717db6487f387f7168171f4d2146517ff432c OP_EQUALVERIFY OP_CHECKSIG*276a914519717db6487f387f7168171f4d2146517ff432c88ac*"18SQjgHGHZJkejYz2KfTyp7gYBCfRiJhge8"J " Bda6004c4156daa9e8f24be8f4bd9ef29816782c4887d019f584382c09682e366:0b@da6004c4156daa9e8f24be8f4bd9ef29816782c4887d019f584382c09682e366""1BDxzZuuQsKnHk9Fqaz8epPkVR5u855Su2"UOP_DUP OP_HASH160 7024fd5667e09f737ed26f28b3f73a79edaad9c7 OP_EQUALVERIFY OP_CHECKSIG*276a9147024fd5667e09f737ed26f28b3f73a79edaad9c788ac*"1BDxzZuuQsKnHk9Fqaz8epPkVR5u855Su28#J " -C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:44,@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""198mVaL6Q6nFy7KtPkxTcTdVo7YLHVfy7X"UOP_DUP OP_HASH160 59390f0112ba77bffa87bc1fee15ab172af8ebbe OP_EQUALVERIFY OP_CHECKSIG*276a91459390f0112ba77bffa87bc1fee15ab172af8ebbe88ac*"198mVaL6Q6nFy7KtPkxTcTdVo7YLHVfy7X8"J " -B72449073a6daa2ef84a9afc20e51d7e360fde4b77a92ab89062644ed8ef64f36:0 @72449073a6daa2ef84a9afc20e51d7e360fde4b77a92ab89062644ed8ef64f36""15xM4NbqRjQifr7eTfXi3QKa4QC5oVcyoU"UOP_DUP OP_HASH160 36581fee4d8b0b3766c150ded2adfb7e9b8db57f OP_EQUALVERIFY OP_CHECKSIG*276a91436581fee4d8b0b3766c150ded2adfb7e9b8db57f88ac*"15xM4NbqRjQifr7eTfXi3QKa4QC5oVcyoU8̏$J " +C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:44,@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""198mVaL6Q6nFy7KtPkxTcTdVo7YLHVfy7X"UOP_DUP OP_HASH160 59390f0112ba77bffa87bc1fee15ab172af8ebbe OP_EQUALVERIFY OP_CHECKSIG*276a91459390f0112ba77bffa87bc1fee15ab172af8ebbe88ac*"198mVaL6Q6nFy7KtPkxTcTdVo7YLHVfy7X8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:46. @4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1NuJChdCvjFpMDHy592MRBY42LY3RpqXuS"UOP_DUP OP_HASH160 f03ea17921a186073e49dde67b8649400c4ad9ff OP_EQUALVERIFY OP_CHECKSIG*276a914f03ea17921a186073e49dde67b8649400c4ad9ff88ac*"1NuJChdCvjFpMDHy592MRBY42LY3RpqXuS8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:47/@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""13CQMN2gfF2LuxPatW1AawRUWKQQmjxyoq"UOP_DUP OP_HASH160 181851d454dafb3980c14b05f0e24a680f9dd83f OP_EQUALVERIFY OP_CHECKSIG*276a914181851d454dafb3980c14b05f0e24a680f9dd83f88ac*"13CQMN2gfF2LuxPatW1AawRUWKQQmjxyoq8"J " +Bf0eba9548a31732e1c77362c2552b6561d47859981b51fa7b159032de3ec7e0b:0@f0eba9548a31732e1c77362c2552b6561d47859981b51fa7b159032de3ec7e0b""1Q98Nu75FNPw7ujJZK43opqC3Q1rpFyL2n"UOP_DUP OP_HASH160 fdd461130391509b7e09737004748472083960a8 OP_EQUALVERIFY OP_CHECKSIG*276a914fdd461130391509b7e09737004748472083960a888ac*"1Q98Nu75FNPw7ujJZK43opqC3Q1rpFyL2n8$J  +" B92baeb230846622988569875d5b3c6beb57a84156e5c5e5381ef8fc964bfd804:0@92baeb230846622988569875d5b3c6beb57a84156e5c5e5381ef8fc964bfd804""15oLqPgh8zowKF89MnCzj7SNN6LpqWCs5V"UOP_DUP OP_HASH160 34a431b9d5af892617f828ebc84af5949f62c39b OP_EQUALVERIFY OP_CHECKSIG*276a91434a431b9d5af892617f828ebc84af5949f62c39b88ac*"15oLqPgh8zowKF89MnCzj7SNN6LpqWCs5V8$J " B190a194ec0ab2daac12c94a86dbf4d64765ccc0fedae93298a6ee0374908bb2e:0˶@190a194ec0ab2daac12c94a86dbf4d64765ccc0fedae93298a6ee0374908bb2e""1M6M59CeeDQfoD1xp5wtqVUGeGcxoZKWTB"UOP_DUP OP_HASH160 dc6559a9de7699959b26699a1631a6f8350bc10c OP_EQUALVERIFY OP_CHECKSIG*276a914dc6559a9de7699959b26699a1631a6f8350bc10c88ac*"1M6M59CeeDQfoD1xp5wtqVUGeGcxoZKWTB8#J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:502Ԓ@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""19RjKPu8iaKA3N85Amc3JNnqTVqjcjmCiU"UOP_DUP OP_HASH160 5c6e505de30a0da9aae1082986481ed86ce5fa84 OP_EQUALVERIFY OP_CHECKSIG*276a9145c6e505de30a0da9aae1082986481ed86ce5fa8488ac*"19RjKPu8iaKA3N85Amc3JNnqTVqjcjmCiU8"J " -B870ca58782c46e8c1a79bd95c335456d7f0a99158cb9bcb9649882dcdb732337:1І@870ca58782c46e8c1a79bd95c335456d7f0a99158cb9bcb9649882dcdb732337""1LbezRaFHYFTDi6dfD3b1dBtfvVPqugiy7"UOP_DUP OP_HASH160 d6f83ebee7d99d9e33d321b2cf66c73ccce9fd47 OP_EQUALVERIFY OP_CHECKSIG*276a914d6f83ebee7d99d9e33d321b2cf66c73ccce9fd4788ac*"1LbezRaFHYFTDi6dfD3b1dBtfvVPqugiy78#J  " +B870ca58782c46e8c1a79bd95c335456d7f0a99158cb9bcb9649882dcdb732337:1І@870ca58782c46e8c1a79bd95c335456d7f0a99158cb9bcb9649882dcdb732337""1LbezRaFHYFTDi6dfD3b1dBtfvVPqugiy7"UOP_DUP OP_HASH160 d6f83ebee7d99d9e33d321b2cf66c73ccce9fd47 OP_EQUALVERIFY OP_CHECKSIG*276a914d6f83ebee7d99d9e33d321b2cf66c73ccce9fd4788ac*"1LbezRaFHYFTDi6dfD3b1dBtfvVPqugiy78#J  " +Bf0eba9548a31732e1c77362c2552b6561d47859981b51fa7b159032de3ec7e0b:1@f0eba9548a31732e1c77362c2552b6561d47859981b51fa7b159032de3ec7e0b""1Q98Nu75FNPw7ujJZK43opqC3Q1rpFyL2n"UOP_DUP OP_HASH160 fdd461130391509b7e09737004748472083960a8 OP_EQUALVERIFY OP_CHECKSIG*276a914fdd461130391509b7e09737004748472083960a888ac*"1Q98Nu75FNPw7ujJZK43opqC3Q1rpFyL2n8$J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:513@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""15NRCb6qK3NsMKBGDuxte3pryoxPw8GvTU"UOP_DUP OP_HASH160 2fed7076153b1b98377d51461b179c0befcca250 OP_EQUALVERIFY OP_CHECKSIG*276a9142fed7076153b1b98377d51461b179c0befcca25088ac*"15NRCb6qK3NsMKBGDuxte3pryoxPw8GvTU8"J " B701d1f08b862431c67323ecf85fdba3d5e65cf009402882bc782d293f90dbd8f:0T@701d1f08b862431c67323ecf85fdba3d5e65cf009402882bc782d293f90dbd8f""1N8uXPiogMb5XhZMB8AontHSNeBX4eAc3M"UOP_DUP OP_HASH160 e7d965e45417d3e3522399bf902f9dd518fbd9f8 OP_EQUALVERIFY OP_CHECKSIG*276a914e7d965e45417d3e3522399bf902f9dd518fbd9f888ac*"1N8uXPiogMb5XhZMB8AontHSNeBX4eAc3M8#J " -Bf2e6aace5a7ab8ce51eebceb012b10b8eb99b10e602cc5fc085e8fbb42f8f948:0@f2e6aace5a7ab8ce51eebceb012b10b8eb99b10e602cc5fc085e8fbb42f8f948""14SN2yyTtkPSUqVmqqBqQDLeRQUDjr11C7"UOP_DUP OP_HASH160 25b455b84a6feb002b2030ebad57905079b48ef2 OP_EQUALVERIFY OP_CHECKSIG*276a91425b455b84a6feb002b2030ebad57905079b48ef288ac*"14SN2yyTtkPSUqVmqqBqQDLeRQUDjr11C78#J " +Bf2e6aace5a7ab8ce51eebceb012b10b8eb99b10e602cc5fc085e8fbb42f8f948:0@f2e6aace5a7ab8ce51eebceb012b10b8eb99b10e602cc5fc085e8fbb42f8f948""14SN2yyTtkPSUqVmqqBqQDLeRQUDjr11C7"UOP_DUP OP_HASH160 25b455b84a6feb002b2030ebad57905079b48ef2 OP_EQUALVERIFY OP_CHECKSIG*276a91425b455b84a6feb002b2030ebad57905079b48ef288ac*"14SN2yyTtkPSUqVmqqBqQDLeRQUDjr11C78#J " +B0a53ad7fb3c303cedb0e548afb08d7d8d330efdb9ceabf8f575c858a288d2758:0?@0a53ad7fb3c303cedb0e548afb08d7d8d330efdb9ceabf8f575c858a288d2758""1CTKHaH2D37SfLtpMenN8LoDo7GMkdmVEP"UOP_DUP OP_HASH160 7da3767a80ede9517577cbc550da9c87dd7fa51e OP_EQUALVERIFY OP_CHECKSIG*276a9147da3767a80ede9517577cbc550da9c87dd7fa51e88ac*"1CTKHaH2D37SfLtpMenN8LoDo7GMkdmVEP8$J " B2af75fba9f043ac8d8e79b02406f325c019fbcadada807efd9f3491fc46deac9:0@2af75fba9f043ac8d8e79b02406f325c019fbcadada807efd9f3491fc46deac9""1N4bAqeuRw46T9EoQYN9CFUfDtXwzknAbs"UOP_DUP OP_HASH160 e70869a803153cdc6dc9f3275de33d9ca7647a58 OP_EQUALVERIFY OP_CHECKSIG*276a914e70869a803153cdc6dc9f3275de33d9ca7647a5888ac*"1N4bAqeuRw46T9EoQYN9CFUfDtXwzknAbs8#J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:535@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""18Pi59HKRcjh2pFzJsytGDtN7ERDj179WM"UOP_DUP OP_HASH160 511450fc1960d3275cf92012773c7d5a8ed69bfe OP_EQUALVERIFY OP_CHECKSIG*276a914511450fc1960d3275cf92012773c7d5a8ed69bfe88ac*"18Pi59HKRcjh2pFzJsytGDtN7ERDj179WM8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:546@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""16oHnYhXM9RnCYcppMvkuJxnnzHk1PHtFG"UOP_DUP OP_HASH160 3f99c65a0b796a239bf44d89bdadce819adce3a3 OP_EQUALVERIFY OP_CHECKSIG*276a9143f99c65a0b796a239bf44d89bdadce819adce3a388ac*"16oHnYhXM9RnCYcppMvkuJxnnzHk1PHtFG8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:557Б@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""17Z8y7JmFY53kSvHVg3VgBR6ZxkWFrvLtJ"UOP_DUP OP_HASH160 47e4b760fdd390649cd3fb6691d123e4ef4ccc92 OP_EQUALVERIFY OP_CHECKSIG*276a91447e4b760fdd390649cd3fb6691d123e4ef4ccc9288ac*"17Z8y7JmFY53kSvHVg3VgBR6ZxkWFrvLtJ8"J " C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:568g@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""15kJYVduFYWipKTUVJeJKzdwXii9qBo5Xc"UOP_DUP OP_HASH160 3411089d17fab05ea78d560b0e6c0a49c678c722 OP_EQUALVERIFY OP_CHECKSIG*276a9143411089d17fab05ea78d560b0e6c0a49c678c72288ac*"15kJYVduFYWipKTUVJeJKzdwXii9qBo5Xc8"J " B034874c52b051bbd8f63fd1f241391b3606059c461031f8b7f752a39723ad106:1@034874c52b051bbd8f63fd1f241391b3606059c461031f8b7f752a39723ad106""18PddJegX1yHWjgVfa487n3rKdfvdyabbh"UOP_DUP OP_HASH160 51109afdf7add8037d6a0b58abdad8ac18d8d2ff OP_EQUALVERIFY OP_CHECKSIG*276a91451109afdf7add8037d6a0b58abdad8ac18d8d2ff88ac*"18PddJegX1yHWjgVfa487n3rKdfvdyabbh8#J " -Ba6c533d0ffc6c53b4fb5effdf8846a306110197ab53244eab0a11bdc43b38748:0T@a6c533d0ffc6c53b4fb5effdf8846a306110197ab53244eab0a11bdc43b38748""1BVJ1ukEDD81kf2kEVrz8csL1szDn55Pf2"UOP_DUP OP_HASH160 730b1bd67eb570d12d147c896df9397f643d3ed9 OP_EQUALVERIFY OP_CHECKSIG*276a914730b1bd67eb570d12d147c896df9397f643d3ed988ac*"1BVJ1ukEDD81kf2kEVrz8csL1szDn55Pf28#J " -Ba1583e4d060afcd66e79714a96c698955deff6e51ce910bcfeaa3e6d5a77c22d:0@a1583e4d060afcd66e79714a96c698955deff6e51ce910bcfeaa3e6d5a77c22d""1DK8EGoBkikcARjHRn2mUZ1QLdFL8hFTxS"UOP_DUP OP_HASH160 870f07f27f31bc88065a940120002f4337325402 OP_EQUALVERIFY OP_CHECKSIG*276a914870f07f27f31bc88065a940120002f433732540288ac*"1DK8EGoBkikcARjHRn2mUZ1QLdFL8hFTxS8#J " +Ba6c533d0ffc6c53b4fb5effdf8846a306110197ab53244eab0a11bdc43b38748:0T@a6c533d0ffc6c53b4fb5effdf8846a306110197ab53244eab0a11bdc43b38748""1BVJ1ukEDD81kf2kEVrz8csL1szDn55Pf2"UOP_DUP OP_HASH160 730b1bd67eb570d12d147c896df9397f643d3ed9 OP_EQUALVERIFY OP_CHECKSIG*276a914730b1bd67eb570d12d147c896df9397f643d3ed988ac*"1BVJ1ukEDD81kf2kEVrz8csL1szDn55Pf28#J " +B1df1a805faf92d86401b7b23b9d55155313f0b7e470382cd21b3c0c7653592b0:0"@1df1a805faf92d86401b7b23b9d55155313f0b7e470382cd21b3c0c7653592b0""1GaM8DBvMEmBTQnDfxogrcvEPHTHbK4Px9"UOP_DUP OP_HASH160 aad86994c0efe882bfcb4e2a1a3f9db4d642f3c0 OP_EQUALVERIFY OP_CHECKSIG*276a914aad86994c0efe882bfcb4e2a1a3f9db4d642f3c088ac*"1GaM8DBvMEmBTQnDfxogrcvEPHTHbK4Px98$J " +Ba1583e4d060afcd66e79714a96c698955deff6e51ce910bcfeaa3e6d5a77c22d:0@a1583e4d060afcd66e79714a96c698955deff6e51ce910bcfeaa3e6d5a77c22d""1DK8EGoBkikcARjHRn2mUZ1QLdFL8hFTxS"UOP_DUP OP_HASH160 870f07f27f31bc88065a940120002f4337325402 OP_EQUALVERIFY OP_CHECKSIG*276a914870f07f27f31bc88065a940120002f433732540288ac*"1DK8EGoBkikcARjHRn2mUZ1QLdFL8hFTxS8#J " +Bc6f2fac55b9e6338e0ae0b9116e78f7d5ea65d093f7c76a66a822c5b900c78af:0@c6f2fac55b9e6338e0ae0b9116e78f7d5ea65d093f7c76a66a822c5b900c78af""15tAbFuXM7APoMsAK6U2RS1m6FViHZc2PE"UOP_DUP OP_HASH160 358db919a642d92782bead01af50282898731c27 OP_EQUALVERIFY OP_CHECKSIG*276a914358db919a642d92782bead01af50282898731c2788ac*"15tAbFuXM7APoMsAK6U2RS1m6FViHZc2PE8$J " B2bacb4112a3803c3c1c46c192853e627274e7a897aa58f26d8ced9a8ecbb8b16:0@2bacb4112a3803c3c1c46c192853e627274e7a897aa58f26d8ced9a8ecbb8b16""1AiEfTkFmoyw9QodUU6Mp9KKWpSUkFiYbi"UOP_DUP OP_HASH160 6a859785f9f1850a50d40dc3f435212c0cc859dc OP_EQUALVERIFY OP_CHECKSIG*276a9146a859785f9f1850a50d40dc3f435212c0cc859dc88ac*"1AiEfTkFmoyw9QodUU6Mp9KKWpSUkFiYbi8$J " -C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:60<@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1AVUitqXXTKm8e1CyUcjMyGRGyugJTcwMA"UOP_DUP OP_HASH160 681beb9f4e74b74987ddd01720d6eb4797e4b800 OP_EQUALVERIFY OP_CHECKSIG*276a914681beb9f4e74b74987ddd01720d6eb4797e4b80088ac*"1AVUitqXXTKm8e1CyUcjMyGRGyugJTcwMA8"J " -C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:62>@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""15UMSrPjbiK3CjVEeN9rNguPx9tDxvA7ED"UOP_DUP OP_HASH160 310ccd23dcd0fca3005418a7c09a8fe8df047c90 OP_EQUALVERIFY OP_CHECKSIG*276a914310ccd23dcd0fca3005418a7c09a8fe8df047c9088ac*"15UMSrPjbiK3CjVEeN9rNguPx9tDxvA7ED8"J " -B7f969fea62e11c36c1249b2f67468c2f054b173d723c8dba12455234823bf843:0@7f969fea62e11c36c1249b2f67468c2f054b173d723c8dba12455234823bf843""1Hj1KsxYE1Kop7QjnKdtJmR1naA7mtm8TW"UOP_DUP OP_HASH160 b773c1304caf17a8414e78bb40821842c97b71ec OP_EQUALVERIFY OP_CHECKSIG*276a914b773c1304caf17a8414e78bb40821842c97b71ec88ac*"1Hj1KsxYE1Kop7QjnKdtJmR1naA7mtm8TW8"J " -B1b8fe5513129ee5483e2cef6c1ec632eeb8783842c8022f12ee96a347530077e:0@1b8fe5513129ee5483e2cef6c1ec632eeb8783842c8022f12ee96a347530077e""1GwjqrWD6SXuCQKpXhyKLVPbAE7yLN4B5U"UOP_DUP OP_HASH160 aee41c94d36a73ad65539b19b1f92d5fd94abdf6 OP_EQUALVERIFY OP_CHECKSIG*276a914aee41c94d36a73ad65539b19b1f92d5fd94abdf688ac*"1GwjqrWD6SXuCQKpXhyKLVPbAE7yLN4B5U8$J " +C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:60<@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1AVUitqXXTKm8e1CyUcjMyGRGyugJTcwMA"UOP_DUP OP_HASH160 681beb9f4e74b74987ddd01720d6eb4797e4b800 OP_EQUALVERIFY OP_CHECKSIG*276a914681beb9f4e74b74987ddd01720d6eb4797e4b80088ac*"1AVUitqXXTKm8e1CyUcjMyGRGyugJTcwMA8"J " +Bece33293157f621d477e2d5196f20176725544a2675af44638ebfcf10a907b1d:0H@ece33293157f621d477e2d5196f20176725544a2675af44638ebfcf10a907b1d""17JNoNuGT2u5xhnvy6S21A9HemFnaQhLrR"UOP_DUP OP_HASH160 451a06011aaba3e30f8106b88304581f78f38f0b OP_EQUALVERIFY OP_CHECKSIG*276a914451a06011aaba3e30f8106b88304581f78f38f0b88ac*"17JNoNuGT2u5xhnvy6S21A9HemFnaQhLrR8$J " +C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:62>@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""15UMSrPjbiK3CjVEeN9rNguPx9tDxvA7ED"UOP_DUP OP_HASH160 310ccd23dcd0fca3005418a7c09a8fe8df047c90 OP_EQUALVERIFY OP_CHECKSIG*276a914310ccd23dcd0fca3005418a7c09a8fe8df047c9088ac*"15UMSrPjbiK3CjVEeN9rNguPx9tDxvA7ED8"J " +B584ec0fb2866dd22fb12c3bd5ed9029774f5868fd07bbe1274ce172161f7a25b:1@584ec0fb2866dd22fb12c3bd5ed9029774f5868fd07bbe1274ce172161f7a25b""1GzjTWkNp6ZRmiRnmXx2HDKNfmyfbtp6XB"UOP_DUP OP_HASH160 af7509ba263e10715b3f15481196d55e9442c138 OP_EQUALVERIFY OP_CHECKSIG*276a914af7509ba263e10715b3f15481196d55e9442c13888ac*"1GzjTWkNp6ZRmiRnmXx2HDKNfmyfbtp6XB8$J " +B584ec0fb2866dd22fb12c3bd5ed9029774f5868fd07bbe1274ce172161f7a25b:0O@584ec0fb2866dd22fb12c3bd5ed9029774f5868fd07bbe1274ce172161f7a25b""1GzjTWkNp6ZRmiRnmXx2HDKNfmyfbtp6XB"UOP_DUP OP_HASH160 af7509ba263e10715b3f15481196d55e9442c138 OP_EQUALVERIFY OP_CHECKSIG*276a914af7509ba263e10715b3f15481196d55e9442c13888ac*"1GzjTWkNp6ZRmiRnmXx2HDKNfmyfbtp6XB8$J  +" +B7f969fea62e11c36c1249b2f67468c2f054b173d723c8dba12455234823bf843:0@7f969fea62e11c36c1249b2f67468c2f054b173d723c8dba12455234823bf843""1Hj1KsxYE1Kop7QjnKdtJmR1naA7mtm8TW"UOP_DUP OP_HASH160 b773c1304caf17a8414e78bb40821842c97b71ec OP_EQUALVERIFY OP_CHECKSIG*276a914b773c1304caf17a8414e78bb40821842c97b71ec88ac*"1Hj1KsxYE1Kop7QjnKdtJmR1naA7mtm8TW8"J " B07cdb613efcfb9810af4746e701cfae6ea7fb56b5be468a4e169c05c4d2016e7:0N@07cdb613efcfb9810af4746e701cfae6ea7fb56b5be468a4e169c05c4d2016e7""1L8PtA5oEFVqdgfMLBNPB7BPkpGL7vyE3w"UOP_DUP OP_HASH160 d1d0670e792e40e1a7b1c801ebd9afd49310dbd8 OP_EQUALVERIFY OP_CHECKSIG*276a914d1d0670e792e40e1a7b1c801ebd9afd49310dbd888ac*"1L8PtA5oEFVqdgfMLBNPB7BPkpGL7vyE3w8"J " -B9d1bdb1f01583c8bd361681c53c04a73bf930f318d0b31ac0938223846990cd7:0@9d1bdb1f01583c8bd361681c53c04a73bf930f318d0b31ac0938223846990cd7"!1PvCLbf1VwB1yi7XS6h2v4A1241FXHchk"UOP_DUP OP_HASH160 04558e7779393164e47e02f0e4218fff3408be47 OP_EQUALVERIFY OP_CHECKSIG*276a91404558e7779393164e47e02f0e4218fff3408be4788ac*!1PvCLbf1VwB1yi7XS6h2v4A1241FXHchk8#J " -Bdec0bc4cd6f93d28da516186f5ff3509c20b013f031516870d74046c86522349:1@dec0bc4cd6f93d28da516186f5ff3509c20b013f031516870d74046c86522349""1Dj1wQKSeXjUjUv2m8vKvwtSEU6TonStpi"UOP_DUP OP_HASH160 8b93c3453b7f5fbaa9663cb2fa978cc26a1b03b2 OP_EQUALVERIFY OP_CHECKSIG*276a9148b93c3453b7f5fbaa9663cb2fa978cc26a1b03b288ac*"1Dj1wQKSeXjUjUv2m8vKvwtSEU6TonStpi8$J " -B12d0745f56efa193ff7dfa264700f182af72900f045c2b6a615d9721b4da3da4:0'@12d0745f56efa193ff7dfa264700f182af72900f045c2b6a615d9721b4da3da4""1H2YebZVHwzXQFWaUKrxZjweED4VFGaitD"UOP_DUP OP_HASH160 afccd8db15a8036e9980c819d9413a3894cca5e3 OP_EQUALVERIFY OP_CHECKSIG*276a914afccd8db15a8036e9980c819d9413a3894cca5e388ac*"1H2YebZVHwzXQFWaUKrxZjweED4VFGaitD8$J " -Be5a4d3b9825650fc88dfd0226f579a890b6b4191f6c555f52f12157a83b9dcf8:0´@e5a4d3b9825650fc88dfd0226f579a890b6b4191f6c555f52f12157a83b9dcf8""15CWCwT6bmypwFoniHXjJKrF5fucQiz46G"UOP_DUP OP_HASH160 2e0d7561c8801b5dd14c0d2bc12dfd2f7c2b1ae1 OP_EQUALVERIFY OP_CHECKSIG*276a9142e0d7561c8801b5dd14c0d2bc12dfd2f7c2b1ae188ac*"15CWCwT6bmypwFoniHXjJKrF5fucQiz46G8$J " +B9d1bdb1f01583c8bd361681c53c04a73bf930f318d0b31ac0938223846990cd7:0@9d1bdb1f01583c8bd361681c53c04a73bf930f318d0b31ac0938223846990cd7"!1PvCLbf1VwB1yi7XS6h2v4A1241FXHchk"UOP_DUP OP_HASH160 04558e7779393164e47e02f0e4218fff3408be47 OP_EQUALVERIFY OP_CHECKSIG*276a91404558e7779393164e47e02f0e4218fff3408be4788ac*!1PvCLbf1VwB1yi7XS6h2v4A1241FXHchk8#J " +B12d0745f56efa193ff7dfa264700f182af72900f045c2b6a615d9721b4da3da4:0'@12d0745f56efa193ff7dfa264700f182af72900f045c2b6a615d9721b4da3da4""1H2YebZVHwzXQFWaUKrxZjweED4VFGaitD"UOP_DUP OP_HASH160 afccd8db15a8036e9980c819d9413a3894cca5e3 OP_EQUALVERIFY OP_CHECKSIG*276a914afccd8db15a8036e9980c819d9413a3894cca5e388ac*"1H2YebZVHwzXQFWaUKrxZjweED4VFGaitD8$J " +Bfa545823ae0d2445c90b59bb2fdf8f58870c0d3e67114ab1487d65bc37fd2308:0B@fa545823ae0d2445c90b59bb2fdf8f58870c0d3e67114ab1487d65bc37fd2308""12TUkVYUKjMRw6ZfKhe7gcFnkeoqh1o37o"UOP_DUP OP_HASH160 0ffa1aef0eefa138b7d842c7a5a5aa596203ab54 OP_EQUALVERIFY OP_CHECKSIG*276a9140ffa1aef0eefa138b7d842c7a5a5aa596203ab5488ac*"12TUkVYUKjMRw6ZfKhe7gcFnkeoqh1o37o8$J  +" Bf3d7853df1f89f705e7527b446f3b58aa320baab395fc7fed00fe6c90a5be1cd:1@f3d7853df1f89f705e7527b446f3b58aa320baab395fc7fed00fe6c90a5be1cd""1B4z6YwiesiocPRMxr7hpr7v2q2MT5X7x6"UOP_DUP OP_HASH160 6e722ab46ac7084b613a466f12385b4b82dff0cc OP_EQUALVERIFY OP_CHECKSIG*276a9146e722ab46ac7084b613a466f12385b4b82dff0cc88ac*"1B4z6YwiesiocPRMxr7hpr7v2q2MT5X7x68#J " -B81c0c514bc11541cb62bd4f6b7d2495108b1718653a07cb0c267b41e77f11fa9:0@81c0c514bc11541cb62bd4f6b7d2495108b1718653a07cb0c267b41e77f11fa9""16VDZ9FMDxuduh9wVhdtCmsa7frnqrLLjE"UOP_DUP OP_HASH160 3c2ec16b8a6e3fffd61e2e0ecff7660a7072a110 OP_EQUALVERIFY OP_CHECKSIG*276a9143c2ec16b8a6e3fffd61e2e0ecff7660a7072a11088ac*"16VDZ9FMDxuduh9wVhdtCmsa7frnqrLLjE8#J " -Bb1fcc3fe52def0794a4bafec6cba96ec5418bd23d5e0d3920fb0876c60e658d0:0@b1fcc3fe52def0794a4bafec6cba96ec5418bd23d5e0d3920fb0876c60e658d0""1CNRKdvgVscK8aveKcZygZLwgJdfzLb7Cm"UOP_DUP OP_HASH160 7cb66bd61d9e2897fd753ef18c4c0a02a9bbe30f OP_EQUALVERIFY OP_CHECKSIG*276a9147cb66bd61d9e2897fd753ef18c4c0a02a9bbe30f88ac*"1CNRKdvgVscK8aveKcZygZLwgJdfzLb7Cm8$J " +B81c0c514bc11541cb62bd4f6b7d2495108b1718653a07cb0c267b41e77f11fa9:0@81c0c514bc11541cb62bd4f6b7d2495108b1718653a07cb0c267b41e77f11fa9""16VDZ9FMDxuduh9wVhdtCmsa7frnqrLLjE"UOP_DUP OP_HASH160 3c2ec16b8a6e3fffd61e2e0ecff7660a7072a110 OP_EQUALVERIFY OP_CHECKSIG*276a9143c2ec16b8a6e3fffd61e2e0ecff7660a7072a11088ac*"16VDZ9FMDxuduh9wVhdtCmsa7frnqrLLjE8#J " +Bfa545823ae0d2445c90b59bb2fdf8f58870c0d3e67114ab1487d65bc37fd2308:1@fa545823ae0d2445c90b59bb2fdf8f58870c0d3e67114ab1487d65bc37fd2308""12TUkVYUKjMRw6ZfKhe7gcFnkeoqh1o37o"UOP_DUP OP_HASH160 0ffa1aef0eefa138b7d842c7a5a5aa596203ab54 OP_EQUALVERIFY OP_CHECKSIG*276a9140ffa1aef0eefa138b7d842c7a5a5aa596203ab5488ac*"12TUkVYUKjMRw6ZfKhe7gcFnkeoqh1o37o8$J " +B617039deccfb5fce9151f62c8e215086c446a982a805a638bab1328047de1b27:19@617039deccfb5fce9151f62c8e215086c446a982a805a638bab1328047de1b27""1Jfc8BMDpfPcAbfoTj3QPDvmQdXy3xCHdq"UOP_DUP OP_HASH160 c1c743c464e1dd8015efa901a3f0e39b81244646 OP_EQUALVERIFY OP_CHECKSIG*276a914c1c743c464e1dd8015efa901a3f0e39b8124464688ac*"1Jfc8BMDpfPcAbfoTj3QPDvmQdXy3xCHdq8Х$J " +B617039deccfb5fce9151f62c8e215086c446a982a805a638bab1328047de1b27:0^@617039deccfb5fce9151f62c8e215086c446a982a805a638bab1328047de1b27""1Jfc8BMDpfPcAbfoTj3QPDvmQdXy3xCHdq"UOP_DUP OP_HASH160 c1c743c464e1dd8015efa901a3f0e39b81244646 OP_EQUALVERIFY OP_CHECKSIG*276a914c1c743c464e1dd8015efa901a3f0e39b8124464688ac*"1Jfc8BMDpfPcAbfoTj3QPDvmQdXy3xCHdq8Х$J  +" Be9d3bba9962c5341674f08c9cd59074ced721d61f124edea07d6ba858eba0f61:0=@e9d3bba9962c5341674f08c9cd59074ced721d61f124edea07d6ba858eba0f61""1K65TdKsV8zfrBTdyH1oSoZ46wHTh32yYD"UOP_DUP OP_HASH160 c66810f0294c40c00a369021f549de01da9594ee OP_EQUALVERIFY OP_CHECKSIG*276a914c66810f0294c40c00a369021f549de01da9594ee88ac*"1K65TdKsV8zfrBTdyH1oSoZ46wHTh32yYD8#J " B09d29b66cfde2b3afdea4322f93ef2bb3ba498fec8cdb5b1a160308977215783:01@09d29b66cfde2b3afdea4322f93ef2bb3ba498fec8cdb5b1a160308977215783""19iYJdKqQ851jQayjTzr8Q36DMSFQdTr7e"UOP_DUP OP_HASH160 5f9c311f59acc911893fac75f48ecbe9061a3de3 OP_EQUALVERIFY OP_CHECKSIG*276a9145f9c311f59acc911893fac75f48ecbe9061a3de388ac*"19iYJdKqQ851jQayjTzr8Q36DMSFQdTr7e8#J " B7fe95ae149dea9fc93a7ada9d1b19547cccd0d2e0f5224792f9f12dfd9c31cce:0ܬ@7fe95ae149dea9fc93a7ada9d1b19547cccd0d2e0f5224792f9f12dfd9c31cce""1FkyCA8GmdpXVDJ9bG8rSw1DwGZXLgS6Wu"UOP_DUP OP_HASH160 a1e28dea4ad86b58f4f6ddefb9590d24af63234e OP_EQUALVERIFY OP_CHECKSIG*276a914a1e28dea4ad86b58f4f6ddefb9590d24af63234e88ac*"1FkyCA8GmdpXVDJ9bG8rSw1DwGZXLgS6Wu8#J  " -B5fc1a4094c8258b736c47c368224aeedae25e9f52ce3eb745990858917344be2:0@5fc1a4094c8258b736c47c368224aeedae25e9f52ce3eb745990858917344be2""1HMg5sWET1eupiVXSntAU7h8ekDTwynzUP"UOP_DUP OP_HASH160 b36af51ab13c6ad74985ae492314da5ce35bf29b OP_EQUALVERIFY OP_CHECKSIG*276a914b36af51ab13c6ad74985ae492314da5ce35bf29b88ac*"1HMg5sWET1eupiVXSntAU7h8ekDTwynzUP8#J " +B5fc1a4094c8258b736c47c368224aeedae25e9f52ce3eb745990858917344be2:0@5fc1a4094c8258b736c47c368224aeedae25e9f52ce3eb745990858917344be2""1HMg5sWET1eupiVXSntAU7h8ekDTwynzUP"UOP_DUP OP_HASH160 b36af51ab13c6ad74985ae492314da5ce35bf29b OP_EQUALVERIFY OP_CHECKSIG*276a914b36af51ab13c6ad74985ae492314da5ce35bf29b88ac*"1HMg5sWET1eupiVXSntAU7h8ekDTwynzUP8#J " +B2392ab2f2389466e8a5c3b942c0a00d2b1d13ca142bbf51a1f4bcd496cdb89af:0ߌ@2392ab2f2389466e8a5c3b942c0a00d2b1d13ca142bbf51a1f4bcd496cdb89af""1P4h9NhViPSE4YefjZAEnreNgHmC8Q6cAQ"UOP_DUP OP_HASH160 f20586a5fcc2591686a9ed8a0ced843b8ba1cf34 OP_EQUALVERIFY OP_CHECKSIG*276a914f20586a5fcc2591686a9ed8a0ced843b8ba1cf3488ac*"1P4h9NhViPSE4YefjZAEnreNgHmC8Q6cAQ8$J " +B81a4c34373db3a897f3ccc8aa922b73fa4fd9db20a0d66c7778c802ce173e6f6:0+@81a4c34373db3a897f3ccc8aa922b73fa4fd9db20a0d66c7778c802ce173e6f6""14JizZHNGPD85p2yqEyMXmpvVYGJRH4AgF"UOP_DUP OP_HASH160 2442808d3119bec5ea4688396ebf56d697e433d1 OP_EQUALVERIFY OP_CHECKSIG*276a9142442808d3119bec5ea4688396ebf56d697e433d188ac*"14JizZHNGPD85p2yqEyMXmpvVYGJRH4AgF8$J " +Bbea919af1fffce5da79b723483d08cc94aaa2201c5676f9b1ac86ba9aab01e11:0Ė@bea919af1fffce5da79b723483d08cc94aaa2201c5676f9b1ac86ba9aab01e11""16bDav1aBEANurLKgnPwGKCiqApMRydfq2"UOP_DUP OP_HASH160 3d5146dd891d2aad7b371ed16b97d11f7160d04a OP_EQUALVERIFY OP_CHECKSIG*276a9143d5146dd891d2aad7b371ed16b97d11f7160d04a88ac*"16bDav1aBEANurLKgnPwGKCiqApMRydfq28Ý$J " B693a58dd052e04a8415be28c60ede57b221234760a564356a31b34fe98749549:0 @693a58dd052e04a8415be28c60ede57b221234760a564356a31b34fe98749549""1D5La7cv8BaZDE3Gza7RYQQj4YJZt7uutY"UOP_DUP OP_HASH160 8473829f6703c9f9a27c3f6202d67ab8da7ab0f6 OP_EQUALVERIFY OP_CHECKSIG*276a9148473829f6703c9f9a27c3f6202d67ab8da7ab0f688ac*"1D5La7cv8BaZDE3Gza7RYQQj4YJZt7uutY8$J " Bc9b2453d3f0ea3379787e334f36edd6663a569881c196f410b8a08cfc4ada041:0;@c9b2453d3f0ea3379787e334f36edd6663a569881c196f410b8a08cfc4ada041""12ekiGDgP2CBLWRHAvsKSEgemXSiz3Gyi1"UOP_DUP OP_HASH160 121c013c4b8394a437ad8b753c7f71bc4dfd23c5 OP_EQUALVERIFY OP_CHECKSIG*276a914121c013c4b8394a437ad8b753c7f71bc4dfd23c588ac*"12ekiGDgP2CBLWRHAvsKSEgemXSiz3Gyi18#J " B0ad8760d36bd6c661e60fbee97845f50b2f0a6e151050df0cc29d4a1eb5f2b0c:0h@0ad8760d36bd6c661e60fbee97845f50b2f0a6e151050df0cc29d4a1eb5f2b0c""1CcpRsNQgU2P1iyqNnSDZj2ftjh4XTZpuz"UOP_DUP OP_HASH160 7f6f88a8b569bbcf1b9ddb1211231f3f26e7d028 OP_EQUALVERIFY OP_CHECKSIG*276a9147f6f88a8b569bbcf1b9ddb1211231f3f26e7d02888ac*"1CcpRsNQgU2P1iyqNnSDZj2ftjh4XTZpuz8#J " B9690e04f9fb32cb4720f609d704ed01b06c48869db130e999b8eecd0ebc9a0cc:0P@9690e04f9fb32cb4720f609d704ed01b06c48869db130e999b8eecd0ebc9a0cc""1CbjZiryBViu1XPmX2NACEdHPiYw28xzoe"UOP_DUP OP_HASH160 7f3b0e9e254a1129ab15d128b0e418480629323a OP_EQUALVERIFY OP_CHECKSIG*276a9147f3b0e9e254a1129ab15d128b0e418480629323a88ac*"1CbjZiryBViu1XPmX2NACEdHPiYw28xzoe8#J " B14f28b045f236231bfc782072c62a91379494e6c16dd71e92675af586b60748f:0@14f28b045f236231bfc782072c62a91379494e6c16dd71e92675af586b60748f""1CQgDCyxatcuyXikgwecm9PpVzCHP7sbi7"UOP_DUP OP_HASH160 7d23ae969258ac5058302420443197db5e0fdbae OP_EQUALVERIFY OP_CHECKSIG*276a9147d23ae969258ac5058302420443197db5e0fdbae88ac*"1CQgDCyxatcuyXikgwecm9PpVzCHP7sbi78#J  " -Bb2d557386a67105e167a6451e84eafa32ccd2cef9332626eec897cf115d073f8:0J@b2d557386a67105e167a6451e84eafa32ccd2cef9332626eec897cf115d073f8""15rtmbqFwvZCzmsJrrX2eBpuDuz9hMcREQ"UOP_DUP OP_HASH160 3550198e41124912f072113e08e82a4a79ab68b6 OP_EQUALVERIFY OP_CHECKSIG*276a9143550198e41124912f072113e08e82a4a79ab68b688ac*"15rtmbqFwvZCzmsJrrX2eBpuDuz9hMcREQ8#J " -B6917187cec1b4731d1a447446b3bf02950b69f81b392126ec1040ade6eb4a117:0 @6917187cec1b4731d1a447446b3bf02950b69f81b392126ec1040ade6eb4a117""1KMnuyBLtnZ51atbKwe1fFSzfwfPhfyeig"UOP_DUP OP_HASH160 c960e8e865a699dabbab8d792aff1de71973f708 OP_EQUALVERIFY OP_CHECKSIG*276a914c960e8e865a699dabbab8d792aff1de71973f70888ac*"1KMnuyBLtnZ51atbKwe1fFSzfwfPhfyeig8#J " Bc3cda7ca6e3818c3987e9d3e60cff586787f88a37ac443c19c3455578ebbdb5a:0@c3cda7ca6e3818c3987e9d3e60cff586787f88a37ac443c19c3455578ebbdb5a""167w1LjVTj3AR3mP5S9xTgoBcKyNyNpVSd"UOP_DUP OP_HASH160 382834de3d3946e9eef0c2e47c87e0c5ce7edfe4 OP_EQUALVERIFY OP_CHECKSIG*276a914382834de3d3946e9eef0c2e47c87e0c5ce7edfe488ac*"167w1LjVTj3AR3mP5S9xTgoBcKyNyNpVSd8$J " Bff818236f4dd77b6f5a47ad2d88ded61b35d3d22d3d6f8c5f0e808d986c430f6:0@ff818236f4dd77b6f5a47ad2d88ded61b35d3d22d3d6f8c5f0e808d986c430f6""1Aj9M7zcyzz84VrGme3Dqk6Et2j2zRToo7"UOP_DUP OP_HASH160 6ab191f1cc6e0f5bad6cd74332d9104eb0c21a11 OP_EQUALVERIFY OP_CHECKSIG*276a9146ab191f1cc6e0f5bad6cd74332d9104eb0c21a1188ac*"1Aj9M7zcyzz84VrGme3Dqk6Et2j2zRToo78#J  " Be27a50f6b722d92f6b6f2e8082a2ba7db87ed703aab17aeda9a4cb7366ea363a:0@e27a50f6b722d92f6b6f2e8082a2ba7db87ed703aab17aeda9a4cb7366ea363a""1DLhEMQ5Ee8KX9eqMhszLy7yVpXXh7ktG5"UOP_DUP OP_HASH160 875afec2d3cbc6bf71b581b5a548bb5818502f65 OP_EQUALVERIFY OP_CHECKSIG*276a914875afec2d3cbc6bf71b581b5a548bb5818502f6588ac*"1DLhEMQ5Ee8KX9eqMhszLy7yVpXXh7ktG58#J " Bab45f0a1f2dd904bd5ad53415d17e18608c9edee231fb7b269a15aaeb6ec4a46:0@ab45f0a1f2dd904bd5ad53415d17e18608c9edee231fb7b269a15aaeb6ec4a46""1AVUJ6XxKD3e1zxHpE4n2dGbViF9h3TBqh"UOP_DUP OP_HASH160 681b90410e0eb3416bae5a0de4d15ea79c2af262 OP_EQUALVERIFY OP_CHECKSIG*276a914681b90410e0eb3416bae5a0de4d15ea79c2af26288ac*"1AVUJ6XxKD3e1zxHpE4n2dGbViF9h3TBqh8#J " B3073f816df5943950d2d06828e85c4e4072a985187970e85d12c9b2c235f744e:0/@3073f816df5943950d2d06828e85c4e4072a985187970e85d12c9b2c235f744e""1NsTGmBG93aT8v3W4ZN8kB1WYgdeTEtJxU"UOP_DUP OP_HASH160 efe55ebf1e5dce747d85b5060d53ce6e9befcde6 OP_EQUALVERIFY OP_CHECKSIG*276a914efe55ebf1e5dce747d85b5060d53ce6e9befcde688ac*"1NsTGmBG93aT8v3W4ZN8kB1WYgdeTEtJxU8Ê$J " -B7f40053baea9e11ae52539823ededae627805d140f14f2d719327d5a5fa647b8:1 @7f40053baea9e11ae52539823ededae627805d140f14f2d719327d5a5fa647b8""196UfHmYeWbTAiP2BD9YL9sF8X9ixQUk6k"UOP_DUP OP_HASH160 58ca2cf521d6bc061d5e790ca2b995a7d07b11f9 OP_EQUALVERIFY OP_CHECKSIG*276a91458ca2cf521d6bc061d5e790ca2b995a7d07b11f988ac*"196UfHmYeWbTAiP2BD9YL9sF8X9ixQUk6k8ɽ#J " -Bc63d73f88fd56f7cd6fdd4a439ab32286121e9ba029958e7268ffff6530625d4:0M@c63d73f88fd56f7cd6fdd4a439ab32286121e9ba029958e7268ffff6530625d4""13oMMepywtmpKuuaASpUqSwfnn6FGFL9Vy"UOP_DUP OP_HASH160 1eb460d1ee7741a16050cdb583bcc44346fc79b3 OP_EQUALVERIFY OP_CHECKSIG*276a9141eb460d1ee7741a16050cdb583bcc44346fc79b388ac*"13oMMepywtmpKuuaASpUqSwfnn6FGFL9Vy8$J " -B1339d19611c9914b8504e8be114eeecaa3026fabb11324d930b45717c5a76068:0@1339d19611c9914b8504e8be114eeecaa3026fabb11324d930b45717c5a76068""1JR4TRmZEVmhZPRWaknBFGznVdqxjN4SYY"UOP_DUP OP_HASH160 bf07018b1d948fb7c3b9c60eb3c51a7de87ec7d1 OP_EQUALVERIFY OP_CHECKSIG*276a914bf07018b1d948fb7c3b9c60eb3c51a7de87ec7d188ac*"1JR4TRmZEVmhZPRWaknBFGznVdqxjN4SYY8#J " -B835ad10613479b0ffd0c253799f6518078ada8cd9c053a576b5851a353bde053:0L@835ad10613479b0ffd0c253799f6518078ada8cd9c053a576b5851a353bde053""1NPGyk2y1yh8ihomMAFFTeoaRa5rih9ivb"UOP_DUP OP_HASH160 ea9121719ea43dcba7ef07e5a6b8189d2cd14a6b OP_EQUALVERIFY OP_CHECKSIG*276a914ea9121719ea43dcba7ef07e5a6b8189d2cd14a6b88ac*"1NPGyk2y1yh8ihomMAFFTeoaRa5rih9ivb8$J " -B01947a31521b4cbb762335a470499ddeb2b99d11d282b38a54da4d8b2d6cf2d1:0n@01947a31521b4cbb762335a470499ddeb2b99d11d282b38a54da4d8b2d6cf2d1""1Hb3fskxvsZgLCkBbzGsHXrVuUBdTCEBFb"UOP_DUP OP_HASH160 b5f2625f0dcc33764db90469896df4108797b907 OP_EQUALVERIFY OP_CHECKSIG*276a914b5f2625f0dcc33764db90469896df4108797b90788ac*"1Hb3fskxvsZgLCkBbzGsHXrVuUBdTCEBFb8ߕ$J " +B7f40053baea9e11ae52539823ededae627805d140f14f2d719327d5a5fa647b8:1 @7f40053baea9e11ae52539823ededae627805d140f14f2d719327d5a5fa647b8""196UfHmYeWbTAiP2BD9YL9sF8X9ixQUk6k"UOP_DUP OP_HASH160 58ca2cf521d6bc061d5e790ca2b995a7d07b11f9 OP_EQUALVERIFY OP_CHECKSIG*276a91458ca2cf521d6bc061d5e790ca2b995a7d07b11f988ac*"196UfHmYeWbTAiP2BD9YL9sF8X9ixQUk6k8ɽ#J " +Beac33d2d03d2ed7eba3081c62fcff06d79a8d4b82dc8755afdcabfa501da6745:0@eac33d2d03d2ed7eba3081c62fcff06d79a8d4b82dc8755afdcabfa501da6745""133srewg9R6FMxzaVVyL8wLGZHazaxBzK7"UOP_DUP OP_HASH160 167b893954a24ee62b30339bf3d2f331ccef1f0d OP_EQUALVERIFY OP_CHECKSIG*276a914167b893954a24ee62b30339bf3d2f331ccef1f0d88ac*"133srewg9R6FMxzaVVyL8wLGZHazaxBzK78$J " +B1339d19611c9914b8504e8be114eeecaa3026fabb11324d930b45717c5a76068:0@1339d19611c9914b8504e8be114eeecaa3026fabb11324d930b45717c5a76068""1JR4TRmZEVmhZPRWaknBFGznVdqxjN4SYY"UOP_DUP OP_HASH160 bf07018b1d948fb7c3b9c60eb3c51a7de87ec7d1 OP_EQUALVERIFY OP_CHECKSIG*276a914bf07018b1d948fb7c3b9c60eb3c51a7de87ec7d188ac*"1JR4TRmZEVmhZPRWaknBFGznVdqxjN4SYY8#J " B984ccd4d019f8a0f97f401621b71ab98f5d9a1460beee287e32409e15e751e42:0@984ccd4d019f8a0f97f401621b71ab98f5d9a1460beee287e32409e15e751e42""1DD7GSUpRZGUKxJ3kHjSJqn3s85q6mPXhx"UOP_DUP OP_HASH160 85ebbb50e13f74cf180d072c4e4e0d67ac6616ce OP_EQUALVERIFY OP_CHECKSIG*276a91485ebbb50e13f74cf180d072c4e4e0d67ac6616ce88ac*"1DD7GSUpRZGUKxJ3kHjSJqn3s85q6mPXhx8И#J{" -B6df0cdba4f8770e11da1a4665cdb81c4dc06e75e7784a96f6f984e6032f03f4b:0'@6df0cdba4f8770e11da1a4665cdb81c4dc06e75e7784a96f6f984e6032f03f4b""1Nr6iPvNgy92CNXVRoxcxMmcF6za8W2ijq"UOP_DUP OP_HASH160 efa3cb0c003a7f245e6ea161e419acd41c30b51b OP_EQUALVERIFY OP_CHECKSIG*276a914efa3cb0c003a7f245e6ea161e419acd41c30b51b88ac*"1Nr6iPvNgy92CNXVRoxcxMmcF6za8W2ijq8$J " +B6df0cdba4f8770e11da1a4665cdb81c4dc06e75e7784a96f6f984e6032f03f4b:0'@6df0cdba4f8770e11da1a4665cdb81c4dc06e75e7784a96f6f984e6032f03f4b""1Nr6iPvNgy92CNXVRoxcxMmcF6za8W2ijq"UOP_DUP OP_HASH160 efa3cb0c003a7f245e6ea161e419acd41c30b51b OP_EQUALVERIFY OP_CHECKSIG*276a914efa3cb0c003a7f245e6ea161e419acd41c30b51b88ac*"1Nr6iPvNgy92CNXVRoxcxMmcF6za8W2ijq8$J " +Bc46af777a000a329cc27deadfe9bf225fedccf7efda1e138c216a76fd3d416f1:0@c46af777a000a329cc27deadfe9bf225fedccf7efda1e138c216a76fd3d416f1""1HLTdD4rAcgffAEJgdsffd7deMBVsq1RNF"UOP_DUP OP_HASH160 b330240111076388d393f9d8d9d1222c0fabe801 OP_EQUALVERIFY OP_CHECKSIG*276a914b330240111076388d393f9d8d9d1222c0fabe80188ac*"1HLTdD4rAcgffAEJgdsffd7deMBVsq1RNF8ڡ$J " B17dc6054b77f15b5d496e6107b7a3bc0ee943b44d98efdd26c9972472277bb0c:0@17dc6054b77f15b5d496e6107b7a3bc0ee943b44d98efdd26c9972472277bb0c""162mg98DJVLe6FnesGP7o832yUcdgmJtcY"UOP_DUP OP_HASH160 372e5669a98ed8d6e1c44ae457e1102556494061 OP_EQUALVERIFY OP_CHECKSIG*276a914372e5669a98ed8d6e1c44ae457e110255649406188ac*"162mg98DJVLe6FnesGP7o832yUcdgmJtcY8$J " -B4a054fc0203bdfc2e1ff2b2eb2f550f8e06211467edb45d8bf4183df8d8d591c:0@4a054fc0203bdfc2e1ff2b2eb2f550f8e06211467edb45d8bf4183df8d8d591c"!1kr6sAye47EGVJYiq5h9Y6KyNviVx47et"UOP_DUP OP_HASH160 084adfb87de17264c63acd2d95023d0b2ec3c3ae OP_EQUALVERIFY OP_CHECKSIG*276a914084adfb87de17264c63acd2d95023d0b2ec3c3ae88ac*!1kr6sAye47EGVJYiq5h9Y6KyNviVx47et8#J " -B6df0cdba4f8770e11da1a4665cdb81c4dc06e75e7784a96f6f984e6032f03f4b:1@6df0cdba4f8770e11da1a4665cdb81c4dc06e75e7784a96f6f984e6032f03f4b""1BqmDqvhh7GjdCN2FA6G5W4g2GrdGe9njh"UOP_DUP OP_HASH160 76ea23614935c6a2c8400b82f8003def65fa2a6b OP_EQUALVERIFY OP_CHECKSIG*276a91476ea23614935c6a2c8400b82f8003def65fa2a6b88ac*"1BqmDqvhh7GjdCN2FA6G5W4g2GrdGe9njh8$J " -B8a2295fa0f985f9b701ae2c49b2a425ed6f8f4668fdd76128e4451b53d31db15:1@8a2295fa0f985f9b701ae2c49b2a425ed6f8f4668fdd76128e4451b53d31db15""1Lzw6ZE56oEZGrvjH8zvowJZpMApmuA34y"UOP_DUP OP_HASH160 db5f41b0ad8f3fd9b4fbca37f137bddadb585fab OP_EQUALVERIFY OP_CHECKSIG*276a914db5f41b0ad8f3fd9b4fbca37f137bddadb585fab88ac*"1Lzw6ZE56oEZGrvjH8zvowJZpMApmuA34y8#J " +B4a054fc0203bdfc2e1ff2b2eb2f550f8e06211467edb45d8bf4183df8d8d591c:0@4a054fc0203bdfc2e1ff2b2eb2f550f8e06211467edb45d8bf4183df8d8d591c"!1kr6sAye47EGVJYiq5h9Y6KyNviVx47et"UOP_DUP OP_HASH160 084adfb87de17264c63acd2d95023d0b2ec3c3ae OP_EQUALVERIFY OP_CHECKSIG*276a914084adfb87de17264c63acd2d95023d0b2ec3c3ae88ac*!1kr6sAye47EGVJYiq5h9Y6KyNviVx47et8#J " +Be7ace82686cdf05261f6731adb9e427cbbdc49835fe0e19fbc0a7230c4a0bf32:0 @e7ace82686cdf05261f6731adb9e427cbbdc49835fe0e19fbc0a7230c4a0bf32""1JZ77NutdGsDJ2pFM1cywPS1oJoFMDnTLh"UOP_DUP OP_HASH160 c08c8ca82793821b6199cdd8eb664564d755c718 OP_EQUALVERIFY OP_CHECKSIG*276a914c08c8ca82793821b6199cdd8eb664564d755c71888ac*"1JZ77NutdGsDJ2pFM1cywPS1oJoFMDnTLh8$J " +Bf510e21a776e37698363e0155f9bed39b8be7c584c241ac0f2dabb808a80bc81:0I@f510e21a776e37698363e0155f9bed39b8be7c584c241ac0f2dabb808a80bc81""1G2TE7gg54eFWk55xZXpqwkwXrnQXT33B9"UOP_DUP OP_HASH160 a4d031f7a4bab62d6b7818fbffda658c318bf64d OP_EQUALVERIFY OP_CHECKSIG*276a914a4d031f7a4bab62d6b7818fbffda658c318bf64d88ac*"1G2TE7gg54eFWk55xZXpqwkwXrnQXT33B98$J " Bef3782d1f5b67a7603720ca6bd9526769055d62844873556b4f82c908bc3c34b:0@ef3782d1f5b67a7603720ca6bd9526769055d62844873556b4f82c908bc3c34b"!1jjQP1t22iix5zpmpgLGJvNVa3M3THVWU"UOP_DUP OP_HASH160 0814dde12da81042cc8c06182ebcbae81c518360 OP_EQUALVERIFY OP_CHECKSIG*276a9140814dde12da81042cc8c06182ebcbae81c51836088ac*!1jjQP1t22iix5zpmpgLGJvNVa3M3THVWU8#J " Bdec0bc4cd6f93d28da516186f5ff3509c20b013f031516870d74046c86522349:0@dec0bc4cd6f93d28da516186f5ff3509c20b013f031516870d74046c86522349""1AiEfTkFmoyw9QodUU6Mp9KKWpSUkFiYbi"UOP_DUP OP_HASH160 6a859785f9f1850a50d40dc3f435212c0cc859dc OP_EQUALVERIFY OP_CHECKSIG*276a9146a859785f9f1850a50d40dc3f435212c0cc859dc88ac*"1AiEfTkFmoyw9QodUU6Mp9KKWpSUkFiYbi8$J " B7aedc95bce7d925de04436db62f830c223a2fd437f0fb2dcf4a3b6775ebab820:1@7aedc95bce7d925de04436db62f830c223a2fd437f0fb2dcf4a3b6775ebab820""17x2uTxF8x1b8agg8TLrf8ot8hzCjemN6g"UOP_DUP OP_HASH160 4c3938f289b79a045bcbfaeb7a80c6a4b1fa94c3 OP_EQUALVERIFY OP_CHECKSIG*276a9144c3938f289b79a045bcbfaeb7a80c6a4b1fa94c388ac*"17x2uTxF8x1b8agg8TLrf8ot8hzCjemN6g8#J  " B91da93a8b28f437cb6fdb80393a4d19131169f287fea99ce72d0a438cd82e874:0@91da93a8b28f437cb6fdb80393a4d19131169f287fea99ce72d0a438cd82e874""1DcC6hbw8vrPQeHfGZBqHx63hR8tahwk64"UOP_DUP OP_HASH160 8a49551af66885bc4884b31a2d8532413e634f91 OP_EQUALVERIFY OP_CHECKSIG*276a9148a49551af66885bc4884b31a2d8532413e634f9188ac*"1DcC6hbw8vrPQeHfGZBqHx63hR8tahwk648"J " Be52ef2d3f119c9b9c7dd433b52da4ddcd25c75b348dbbdcb6f2de19fc33667f2:1@e52ef2d3f119c9b9c7dd433b52da4ddcd25c75b348dbbdcb6f2de19fc33667f2""12C3LqeDbMKoi1CNBP3bAoULUXimiKuSM6"UOP_DUP OP_HASH160 0d0ea80a241a170265233ba1c55e262d9d75fac1 OP_EQUALVERIFY OP_CHECKSIG*276a9140d0ea80a241a170265233ba1c55e262d9d75fac188ac*"12C3LqeDbMKoi1CNBP3bAoULUXimiKuSM68$J " Bc662d33bdf5efb359bfe4b698c4f4cf94450a5cb7d98fd80bd4d75d779d7e82e:05@c662d33bdf5efb359bfe4b698c4f4cf94450a5cb7d98fd80bd4d75d779d7e82e""1H1uNEAT92h3tjcBu3qUAz1aKYcLWLB3dF"UOP_DUP OP_HASH160 afadb9b7cb3f13d8b8c69f4c3de1391a1ff24ee0 OP_EQUALVERIFY OP_CHECKSIG*276a914afadb9b7cb3f13d8b8c69f4c3de1391a1ff24ee088ac*"1H1uNEAT92h3tjcBu3qUAz1aKYcLWLB3dF8#J " -Bae34c87e3fce1f90ec878626bd68f27ba4e4c9fe9dcd98187985a4333d7cc8b0:0@ae34c87e3fce1f90ec878626bd68f27ba4e4c9fe9dcd98187985a4333d7cc8b0""1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY"UOP_DUP OP_HASH160 79a2f7d6d53eaff291543f9aea88eab1376d7db5 OP_EQUALVERIFY OP_CHECKSIG*276a91479a2f7d6d53eaff291543f9aea88eab1376d7db588ac*"1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY8Δ$J " -B28de2e2fd214d3a3cb1bb1345b53855ccb33cb9d382c38956113859123447d2f:0y@28de2e2fd214d3a3cb1bb1345b53855ccb33cb9d382c38956113859123447d2f""1BjhhqnsnApdgQi3pDwotqu6r5w9bWTNNm"UOP_DUP OP_HASH160 75c4b4d3997ad0a644f9044674ae51b4653db59e OP_EQUALVERIFY OP_CHECKSIG*276a91475c4b4d3997ad0a644f9044674ae51b4653db59e88ac*"1BjhhqnsnApdgQi3pDwotqu6r5w9bWTNNm8$J " +Bae34c87e3fce1f90ec878626bd68f27ba4e4c9fe9dcd98187985a4333d7cc8b0:0@ae34c87e3fce1f90ec878626bd68f27ba4e4c9fe9dcd98187985a4333d7cc8b0""1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY"UOP_DUP OP_HASH160 79a2f7d6d53eaff291543f9aea88eab1376d7db5 OP_EQUALVERIFY OP_CHECKSIG*276a91479a2f7d6d53eaff291543f9aea88eab1376d7db588ac*"1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY8Δ$J " B106f598588d547e770ceb8a5f259d38f3f34c41118507df9df7b738792e675b0:0+@106f598588d547e770ceb8a5f259d38f3f34c41118507df9df7b738792e675b0""15Mp5XGZXvVGbHVRCrP5rfmAaH2pNBCR4z"UOP_DUP OP_HASH160 2fd01efece48a7a0e843c9228e481fa7f124e152 OP_EQUALVERIFY OP_CHECKSIG*276a9142fd01efece48a7a0e843c9228e481fa7f124e15288ac*"15Mp5XGZXvVGbHVRCrP5rfmAaH2pNBCR4z8#J " -B0c3a4f6c571eddd8cfd0c8640d0494422d1d8c119e87f7e74e6dadcc935aa013:1̾@0c3a4f6c571eddd8cfd0c8640d0494422d1d8c119e87f7e74e6dadcc935aa013""1JgZjeMJDQSAFE5hufrzdn1DrEzwzyaQJX"UOP_DUP OP_HASH160 c1f5afd48a77a3172b974ed82c1a8c8f215ba0ec OP_EQUALVERIFY OP_CHECKSIG*276a914c1f5afd48a77a3172b974ed82c1a8c8f215ba0ec88ac*"1JgZjeMJDQSAFE5hufrzdn1DrEzwzyaQJX8ϩ#J " -B4e6e7771c4e8fce5f89e0b1b45f79988cc8607ad62639fcdd3295b4a24ee27bd:0@4e6e7771c4e8fce5f89e0b1b45f79988cc8607ad62639fcdd3295b4a24ee27bd""12eNGuKFxuZytbbtB8rXhpGPJMGVxeB9X1"UOP_DUP OP_HASH160 12094670863eb40525dff0463757f777feadb9c2 OP_EQUALVERIFY OP_CHECKSIG*276a91412094670863eb40525dff0463757f777feadb9c288ac*"12eNGuKFxuZytbbtB8rXhpGPJMGVxeB9X18$J " +B0c3a4f6c571eddd8cfd0c8640d0494422d1d8c119e87f7e74e6dadcc935aa013:1̾@0c3a4f6c571eddd8cfd0c8640d0494422d1d8c119e87f7e74e6dadcc935aa013""1JgZjeMJDQSAFE5hufrzdn1DrEzwzyaQJX"UOP_DUP OP_HASH160 c1f5afd48a77a3172b974ed82c1a8c8f215ba0ec OP_EQUALVERIFY OP_CHECKSIG*276a914c1f5afd48a77a3172b974ed82c1a8c8f215ba0ec88ac*"1JgZjeMJDQSAFE5hufrzdn1DrEzwzyaQJX8ϩ#J " +B9296e2d5e9513a64cb48641329fa52e6133beffc136f82f3467e6d4dda86ed21:0@9296e2d5e9513a64cb48641329fa52e6133beffc136f82f3467e6d4dda86ed21""1HAUUncPhE2Uz1Vxz4chp7oy6FDhbcEAXB"UOP_DUP OP_HASH160 b14cb1cf9444c5cf8149e62f76c9587c2216f75b OP_EQUALVERIFY OP_CHECKSIG*276a914b14cb1cf9444c5cf8149e62f76c9587c2216f75b88ac*"1HAUUncPhE2Uz1Vxz4chp7oy6FDhbcEAXB8ǚ$J " B5e903fb43ab94ff676ca8576d152bcdccde984dc04069fb8ac97fb7518a5be57:0@5e903fb43ab94ff676ca8576d152bcdccde984dc04069fb8ac97fb7518a5be57""14fj5A7huaH2bgeJxUYim1a7NiKLhqhquc"UOP_DUP OP_HASH160 283b4db673602913fd8793630f7f05452e6aaeee OP_EQUALVERIFY OP_CHECKSIG*276a914283b4db673602913fd8793630f7f05452e6aaeee88ac*"14fj5A7huaH2bgeJxUYim1a7NiKLhqhquc8#J " B55bb788a1fe9a921ddf0758c1bc42ef5148773f87527149c10baf489efbfc92d:0N@55bb788a1fe9a921ddf0758c1bc42ef5148773f87527149c10baf489efbfc92d""1HG5jess5MkcLsREBQDe3MHek74oWAkjEE"UOP_DUP OP_HASH160 b25c3472e2438b559f603307e89bd5ad5833bb2f OP_EQUALVERIFY OP_CHECKSIG*276a914b25c3472e2438b559f603307e89bd5ad5833bb2f88ac*"1HG5jess5MkcLsREBQDe3MHek74oWAkjEE8"J " Bb6d65ce76226e5c53cf9402686a99742348e469873053a2c1786be17d60cf98b:01@b6d65ce76226e5c53cf9402686a99742348e469873053a2c1786be17d60cf98b""1BB8HAyR5nAN6wQByBc3gkPJ7jajKJhWUz"UOP_DUP OP_HASH160 6f9b7e56f1124e55d8988f54122c857322bb05e2 OP_EQUALVERIFY OP_CHECKSIG*276a9146f9b7e56f1124e55d8988f54122c857322bb05e288ac*"1BB8HAyR5nAN6wQByBc3gkPJ7jajKJhWUz8#J " -B12e145ebfd24f027007305b3552be3e0e7598ae8123d5c3ba58f97b6a1edb279:1@12e145ebfd24f027007305b3552be3e0e7598ae8123d5c3ba58f97b6a1edb279""1KnzNs2hQbVzwbrNAtvLBR7jgrVdPZrJLZ"UOP_DUP OP_HASH160 ce24e0d4c7d9ac86fa519727132c46057b36c6b9 OP_EQUALVERIFY OP_CHECKSIG*276a914ce24e0d4c7d9ac86fa519727132c46057b36c6b988ac*"1KnzNs2hQbVzwbrNAtvLBR7jgrVdPZrJLZ8Ǚ#J " +B12e145ebfd24f027007305b3552be3e0e7598ae8123d5c3ba58f97b6a1edb279:1@12e145ebfd24f027007305b3552be3e0e7598ae8123d5c3ba58f97b6a1edb279""1KnzNs2hQbVzwbrNAtvLBR7jgrVdPZrJLZ"UOP_DUP OP_HASH160 ce24e0d4c7d9ac86fa519727132c46057b36c6b9 OP_EQUALVERIFY OP_CHECKSIG*276a914ce24e0d4c7d9ac86fa519727132c46057b36c6b988ac*"1KnzNs2hQbVzwbrNAtvLBR7jgrVdPZrJLZ8Ǚ#J " +B68a557d213d6e97827d20f6e4430851e10e53f19db2c66e75dfe16be1b477f96:1@68a557d213d6e97827d20f6e4430851e10e53f19db2c66e75dfe16be1b477f96""1NHjFq6Z3XN1KAbPJdMwnMCtvvZSXFEw9y"UOP_DUP OP_HASH160 e98491f2c0741b70419799604b44e20842c7e2b6 OP_EQUALVERIFY OP_CHECKSIG*276a914e98491f2c0741b70419799604b44e20842c7e2b688ac*"1NHjFq6Z3XN1KAbPJdMwnMCtvvZSXFEw9y8$J " Ba312786e9e9f2007791a34c687d90e16f30dfda0351bf6c874fd7b1505dc0390:0@a312786e9e9f2007791a34c687d90e16f30dfda0351bf6c874fd7b1505dc0390""1AVUueBk8nysQveDse3meUq622ZgRsmeMF"UOP_DUP OP_HASH160 681c1338728a13f0dea17925a5294c2999b57a4e OP_EQUALVERIFY OP_CHECKSIG*276a914681c1338728a13f0dea17925a5294c2999b57a4e88ac*"1AVUueBk8nysQveDse3meUq622ZgRsmeMF8#J " -B75685af20f0edb82f875fa3785112fbdc4ef834167c321b7bf6dcc353c2a0106:0&@75685af20f0edb82f875fa3785112fbdc4ef834167c321b7bf6dcc353c2a0106"!1zhBzVF7UEf2aU1mkC4FCeRrNMuZhdWNM"UOP_DUP OP_HASH160 0ae94221dec9c0436cfce2c794f1030c8bf26bc5 OP_EQUALVERIFY OP_CHECKSIG*276a9140ae94221dec9c0436cfce2c794f1030c8bf26bc588ac*!1zhBzVF7UEf2aU1mkC4FCeRrNMuZhdWNM8#J " +B75685af20f0edb82f875fa3785112fbdc4ef834167c321b7bf6dcc353c2a0106:0&@75685af20f0edb82f875fa3785112fbdc4ef834167c321b7bf6dcc353c2a0106"!1zhBzVF7UEf2aU1mkC4FCeRrNMuZhdWNM"UOP_DUP OP_HASH160 0ae94221dec9c0436cfce2c794f1030c8bf26bc5 OP_EQUALVERIFY OP_CHECKSIG*276a9140ae94221dec9c0436cfce2c794f1030c8bf26bc588ac*!1zhBzVF7UEf2aU1mkC4FCeRrNMuZhdWNM8#J " +Bfd36ebe0d868b0d708f2d00a4b28ec57af019abbb2ef2477d2fe24c0a02312ac:0@fd36ebe0d868b0d708f2d00a4b28ec57af019abbb2ef2477d2fe24c0a02312ac""1P3rH4JKDdymEkpS9N73FfsjHD3Kga2xW4"UOP_DUP OP_HASH160 f1dcbbc0530636ab2a67f42e404e0586c25a8724 OP_EQUALVERIFY OP_CHECKSIG*276a914f1dcbbc0530636ab2a67f42e404e0586c25a872488ac*"1P3rH4JKDdymEkpS9N73FfsjHD3Kga2xW48Ȣ$J " +B1db5ef6d53029e096fea33a503c9ecef199c05110dfd7ba52e7c24b4bab58ef5:0@1db5ef6d53029e096fea33a503c9ecef199c05110dfd7ba52e7c24b4bab58ef5""1PyQ79KfMfioFQVHcyMNfdtdUquSAFCX54"UOP_DUP OP_HASH160 fbfd5955291bba4dc2b5bde1809ead2243ffd8a2 OP_EQUALVERIFY OP_CHECKSIG*276a914fbfd5955291bba4dc2b5bde1809ead2243ffd8a288ac*"1PyQ79KfMfioFQVHcyMNfdtdUquSAFCX548͞$J " B647e44917253f0ef5b3afbd33b54cc1415a29838056aaf2879af62f5d724c587:0@647e44917253f0ef5b3afbd33b54cc1415a29838056aaf2879af62f5d724c587"!1qM7gpE8Savx86eRTyxHsqjpN8BZYUNvN"UOP_DUP OP_HASH160 0924c1ef644ef0b9d5a8866fbf310ef384ae75fb OP_EQUALVERIFY OP_CHECKSIG*276a9140924c1ef644ef0b9d5a8866fbf310ef384ae75fb88ac*!1qM7gpE8Savx86eRTyxHsqjpN8BZYUNvN8#J " -B225fe94dba66d416949e63f323042bd95e04b0c97b456a82eb85762a12611119:0ش@225fe94dba66d416949e63f323042bd95e04b0c97b456a82eb85762a12611119""1EiHg5djY9ehy2y8g9vGNZ9ZCX37ZK1juq"UOP_DUP OP_HASH160 96689bb3266a533b66a94e1cdd8b89bcf14c9158 OP_EQUALVERIFY OP_CHECKSIG*276a91496689bb3266a533b66a94e1cdd8b89bcf14c915888ac*"1EiHg5djY9ehy2y8g9vGNZ9ZCX37ZK1juq8#J " -B9309948288a86a3e5f2cb1fb07b4f8594893be508746dbc5db01c19190359570:0@9309948288a86a3e5f2cb1fb07b4f8594893be508746dbc5db01c19190359570""1PakgH5ZhftoDmCTddcF9iHgVyMLKUAnST"UOP_DUP OP_HASH160 f7b4f430a2b09a6b3ed90cb71c35940a03d42ddf OP_EQUALVERIFY OP_CHECKSIG*276a914f7b4f430a2b09a6b3ed90cb71c35940a03d42ddf88ac*"1PakgH5ZhftoDmCTddcF9iHgVyMLKUAnST8$J  " -B1b3f2ba6da8dcad41a99ea16e3dc7730e744e3a5e504e90ae6708a55fe567b8d:0@1b3f2ba6da8dcad41a99ea16e3dc7730e744e3a5e504e90ae6708a55fe567b8d""141SjoX345ZhAMs1UEX8Cm3ErTfNqrBiM8"UOP_DUP OP_HASH160 20fddcc13a74cee637b5b864750cc9a49d8e5d04 OP_EQUALVERIFY OP_CHECKSIG*276a91420fddcc13a74cee637b5b864750cc9a49d8e5d0488ac*"141SjoX345ZhAMs1UEX8Cm3ErTfNqrBiM88#J " -Bdf9d60a116d4a167dd77e89137a84d651bded3f48592fe814a6cf7b00642f1bd:0@df9d60a116d4a167dd77e89137a84d651bded3f48592fe814a6cf7b00642f1bd""1MUpXCdfcWsTFuKJHMa5z7zFWKF3NYRCDn"UOP_DUP OP_HASH160 e0a56a3895428970e98b1716071291f9e6f6d269 OP_EQUALVERIFY OP_CHECKSIG*276a914e0a56a3895428970e98b1716071291f9e6f6d26988ac*"1MUpXCdfcWsTFuKJHMa5z7zFWKF3NYRCDn8$J " -B09c1ce57e56d4572c92feedec44bf3fa07556504f02d0f53ac5526ce6af5798c:0ڸ@09c1ce57e56d4572c92feedec44bf3fa07556504f02d0f53ac5526ce6af5798c""1ByGdHQbQPzAkrzhZtaLh9MrYXML7UXNyD"UOP_DUP OP_HASH160 785598633d81fb9b9cbfad4fb4577eef6d5b373f OP_EQUALVERIFY OP_CHECKSIG*276a914785598633d81fb9b9cbfad4fb4577eef6d5b373f88ac*"1ByGdHQbQPzAkrzhZtaLh9MrYXML7UXNyD8$J " +B225fe94dba66d416949e63f323042bd95e04b0c97b456a82eb85762a12611119:0ش@225fe94dba66d416949e63f323042bd95e04b0c97b456a82eb85762a12611119""1EiHg5djY9ehy2y8g9vGNZ9ZCX37ZK1juq"UOP_DUP OP_HASH160 96689bb3266a533b66a94e1cdd8b89bcf14c9158 OP_EQUALVERIFY OP_CHECKSIG*276a91496689bb3266a533b66a94e1cdd8b89bcf14c915888ac*"1EiHg5djY9ehy2y8g9vGNZ9ZCX37ZK1juq8#J " +Bdb78392c05d1b7dd16ca7a599a2cbfd0e66dada7ab72437578662ddc1bf32d69:1@db78392c05d1b7dd16ca7a599a2cbfd0e66dada7ab72437578662ddc1bf32d69""1BckU6WydGaGWW8aKK8qbmsXYX58tHUQwS"UOP_DUP OP_HASH160 747419decd9d40ebd487dd918dd8fa2908e73b39 OP_EQUALVERIFY OP_CHECKSIG*276a914747419decd9d40ebd487dd918dd8fa2908e73b3988ac*"1BckU6WydGaGWW8aKK8qbmsXYX58tHUQwS8$J " +B59c7f68f59b575fdd39b802f4aaa4e8f7e6eb9706c5d3288ef85f311c9b7bfbb:0@59c7f68f59b575fdd39b802f4aaa4e8f7e6eb9706c5d3288ef85f311c9b7bfbb""1AQ1CCTB1bduGMpSxGNdsKQSuMHJhiK4Y8"UOP_DUP OP_HASH160 6712dc3ec696116f8d4d542b385e2dd0b65d0d35 OP_EQUALVERIFY OP_CHECKSIG*276a9146712dc3ec696116f8d4d542b385e2dd0b65d0d3588ac*"1AQ1CCTB1bduGMpSxGNdsKQSuMHJhiK4Y88̣$J  +" +B9309948288a86a3e5f2cb1fb07b4f8594893be508746dbc5db01c19190359570:0@9309948288a86a3e5f2cb1fb07b4f8594893be508746dbc5db01c19190359570""1PakgH5ZhftoDmCTddcF9iHgVyMLKUAnST"UOP_DUP OP_HASH160 f7b4f430a2b09a6b3ed90cb71c35940a03d42ddf OP_EQUALVERIFY OP_CHECKSIG*276a914f7b4f430a2b09a6b3ed90cb71c35940a03d42ddf88ac*"1PakgH5ZhftoDmCTddcF9iHgVyMLKUAnST8$J  " +Bc8cb034dc99d17c55d24eb57a34a43bd47e90f84851115422235d89d4e56a615:0X@c8cb034dc99d17c55d24eb57a34a43bd47e90f84851115422235d89d4e56a615""1Q5NeQ7pZUUaL2r8F5z2SDcvCY7yokW35m"UOP_DUP OP_HASH160 fd1ea002ff9b82c93c8bc82917bb941952be555f OP_EQUALVERIFY OP_CHECKSIG*276a914fd1ea002ff9b82c93c8bc82917bb941952be555f88ac*"1Q5NeQ7pZUUaL2r8F5z2SDcvCY7yokW35m8$J " +B2a4e911d40e3c9414a13e9798ca06e76bfe68914bba590d835739d139b97a477:0@2a4e911d40e3c9414a13e9798ca06e76bfe68914bba590d835739d139b97a477""1G1kUz9jdhGMkCuaGe6URTCRc9FbVZ9bqF"UOP_DUP OP_HASH160 a4ae2f22ce7573063a0ba35ff4efac6547400996 OP_EQUALVERIFY OP_CHECKSIG*276a914a4ae2f22ce7573063a0ba35ff4efac654740099688ac*"1G1kUz9jdhGMkCuaGe6URTCRc9FbVZ9bqF8$J " +B1b3f2ba6da8dcad41a99ea16e3dc7730e744e3a5e504e90ae6708a55fe567b8d:0@1b3f2ba6da8dcad41a99ea16e3dc7730e744e3a5e504e90ae6708a55fe567b8d""141SjoX345ZhAMs1UEX8Cm3ErTfNqrBiM8"UOP_DUP OP_HASH160 20fddcc13a74cee637b5b864750cc9a49d8e5d04 OP_EQUALVERIFY OP_CHECKSIG*276a91420fddcc13a74cee637b5b864750cc9a49d8e5d0488ac*"141SjoX345ZhAMs1UEX8Cm3ErTfNqrBiM88#J " +Bc4e0d86c6067a71a16759812f60ba5d56c4b95d5ef0d7811c30fd4c94ab91ea9:0˖@c4e0d86c6067a71a16759812f60ba5d56c4b95d5ef0d7811c30fd4c94ab91ea9""1JKtHQqgGMFeriwqyCrcZzF4VTdxvbZqEJ"UOP_DUP OP_HASH160 be0c6f3a7b7f2d33c547dcd736b3f65e1cdece0b OP_EQUALVERIFY OP_CHECKSIG*276a914be0c6f3a7b7f2d33c547dcd736b3f65e1cdece0b88ac*"1JKtHQqgGMFeriwqyCrcZzF4VTdxvbZqEJ8$J " +B983dac48f99d4fc0d7a6751d17de3ccb33b636e4b4a9d4875cd299c08bc5c485:0@983dac48f99d4fc0d7a6751d17de3ccb33b636e4b4a9d4875cd299c08bc5c485""1JsbzquWen5uGUwbvw5kQpx57fNjvDztTt"UOP_DUP OP_HASH160 c40c269354497ed629671e58f1dc9027ae617c88 OP_EQUALVERIFY OP_CHECKSIG*276a914c40c269354497ed629671e58f1dc9027ae617c8888ac*"1JsbzquWen5uGUwbvw5kQpx57fNjvDztTt8$J " Bfb2bcba50e155456fbfecf010fe6a0a3397cb7cc58e3c1188492c6203ff7fcf2:0@fb2bcba50e155456fbfecf010fe6a0a3397cb7cc58e3c1188492c6203ff7fcf2""162b9pbdSjzbyxYiZuSHPYjEShgkP3KKog"UOP_DUP OP_HASH160 37258db8d17805411bb792e575cd30a538e9e250 OP_EQUALVERIFY OP_CHECKSIG*276a91437258db8d17805411bb792e575cd30a538e9e25088ac*"162b9pbdSjzbyxYiZuSHPYjEShgkP3KKog8#J " -B57ca7cfef7da1d67ead6a99041642fdbaf3a84f93bf2ff12735bc0556fbf05ec:0'@57ca7cfef7da1d67ead6a99041642fdbaf3a84f93bf2ff12735bc0556fbf05ec""12Emp7XCM9a7pPoLsYJbQFyHM67SnuMNKF"UOP_DUP OP_HASH160 0d92f0d188515b835fb05dfe6b7bc2e6ce761d66 OP_EQUALVERIFY OP_CHECKSIG*276a9140d92f0d188515b835fb05dfe6b7bc2e6ce761d6688ac*"12Emp7XCM9a7pPoLsYJbQFyHM67SnuMNKF8"J " -B5efc4edfafa086baebda54fee61be94705ccee9f530843e324da06dd0beb66f3:0A@5efc4edfafa086baebda54fee61be94705ccee9f530843e324da06dd0beb66f3""1PrkSth13wePwT6ieri6mMyuq9ng27ScLA"UOP_DUP OP_HASH160 fabb6aa63d540f6d2e3ce3ada62fcbdd7d34445e OP_EQUALVERIFY OP_CHECKSIG*276a914fabb6aa63d540f6d2e3ce3ada62fcbdd7d34445e88ac*"1PrkSth13wePwT6ieri6mMyuq9ng27ScLA8$J " B19a919ae8cd34f6abd50353a335298145b56d8df6de3626e76099d800b115672:0@19a919ae8cd34f6abd50353a335298145b56d8df6de3626e76099d800b115672""1JPYFH7V69UFXFA4Xbyc4fayPtNNmniicU"UOP_DUP OP_HASH160 bebd5f5a4f1c80ae40c63523e03e1f70e82da06e OP_EQUALVERIFY OP_CHECKSIG*276a914bebd5f5a4f1c80ae40c63523e03e1f70e82da06e88ac*"1JPYFH7V69UFXFA4Xbyc4fayPtNNmniicU8#J " Be66cd5bbd5a5a66694424ee603451e12c3bab6705a160fabf4bb87e247a97495:0@e66cd5bbd5a5a66694424ee603451e12c3bab6705a160fabf4bb87e247a97495""1Mxs2cRkBHfMbMMbusZA29cjrTFZEw2Y9t"UOP_DUP OP_HASH160 e5f327977e528f456089d06349c1afd3148306be OP_EQUALVERIFY OP_CHECKSIG*276a914e5f327977e528f456089d06349c1afd3148306be88ac*"1Mxs2cRkBHfMbMMbusZA29cjrTFZEw2Y9t8#J " B096026dc8cea3db65c188a50be72f7ea4f8d16b3562003a7af5131c9914bfa3d:0@096026dc8cea3db65c188a50be72f7ea4f8d16b3562003a7af5131c9914bfa3d""1BDRKuGQkZX721jbjoC7s1PBiuW4vV7TT2"UOP_DUP OP_HASH160 700a8e3bf89f2e73c699c43edf350af24979560b OP_EQUALVERIFY OP_CHECKSIG*276a914700a8e3bf89f2e73c699c43edf350af24979560b88ac*"1BDRKuGQkZX721jbjoC7s1PBiuW4vV7TT28$J " -Bf827550a5e4a2b3792ab1429064824a5962e04bc0f4426385c25fee3b5314edb:0@f827550a5e4a2b3792ab1429064824a5962e04bc0f4426385c25fee3b5314edb""12iRvd7oik9Ph2KnohQdbrxMPunywZVXJJ"UOP_DUP OP_HASH160 12cdfc756a3391426279a471ae7691d5ccd0bd7d OP_EQUALVERIFY OP_CHECKSIG*276a91412cdfc756a3391426279a471ae7691d5ccd0bd7d88ac*"12iRvd7oik9Ph2KnohQdbrxMPunywZVXJJ8$J " -B33f6087c0767ffaf36a937d3cbc69361b2a6e0836d807d8018d1a6a2540e8665:0@33f6087c0767ffaf36a937d3cbc69361b2a6e0836d807d8018d1a6a2540e8665""1KsZBhBwaxexAuQ4aK5Y3DurusHpLGwpFt"UOP_DUP OP_HASH160 cf01eda84140381aa4f7bf1b0d4ae0db8b47078f OP_EQUALVERIFY OP_CHECKSIG*276a914cf01eda84140381aa4f7bf1b0d4ae0db8b47078f88ac*"1KsZBhBwaxexAuQ4aK5Y3DurusHpLGwpFt8$J  " -B69a11b2cee6ec12bdc69d86344504df3a7bc25a52000bbfec961dd6578234209:0@69a11b2cee6ec12bdc69d86344504df3a7bc25a52000bbfec961dd6578234209""1B7WqVm4ATVmTFdXg6voor6YNgN3KJa9P4"UOP_DUP OP_HASH160 6eeca8d8ee637706b3f145b3dd61145613d63f3f OP_EQUALVERIFY OP_CHECKSIG*276a9146eeca8d8ee637706b3f145b3dd61145613d63f3f88ac*"1B7WqVm4ATVmTFdXg6voor6YNgN3KJa9P48#J " -B44b873bffbbcdf11d371692eeb9e42efc01884f960e6e2a5417c401d3fead5ac:0@44b873bffbbcdf11d371692eeb9e42efc01884f960e6e2a5417c401d3fead5ac""1CMm8JzsGJqwFjriyuexHKvjdwk9s7eFG4"UOP_DUP OP_HASH160 7c968994612a4f32abe945dea4796622d5d4ab35 OP_EQUALVERIFY OP_CHECKSIG*276a9147c968994612a4f32abe945dea4796622d5d4ab3588ac*"1CMm8JzsGJqwFjriyuexHKvjdwk9s7eFG48$J " +Bf827550a5e4a2b3792ab1429064824a5962e04bc0f4426385c25fee3b5314edb:0@f827550a5e4a2b3792ab1429064824a5962e04bc0f4426385c25fee3b5314edb""12iRvd7oik9Ph2KnohQdbrxMPunywZVXJJ"UOP_DUP OP_HASH160 12cdfc756a3391426279a471ae7691d5ccd0bd7d OP_EQUALVERIFY OP_CHECKSIG*276a91412cdfc756a3391426279a471ae7691d5ccd0bd7d88ac*"12iRvd7oik9Ph2KnohQdbrxMPunywZVXJJ8$J " +B482c78dd7d7e005a14a5b60b96b48473b5b5cd07cc6c950a863b73846e214e38:1@482c78dd7d7e005a14a5b60b96b48473b5b5cd07cc6c950a863b73846e214e38""17XMKZ96WzvF66r7tRa7L8zwyzzjMmzSxM"UOP_DUP OP_HASH160 478e321ce954d98d7b8ce1709576df0c911b6c9e OP_EQUALVERIFY OP_CHECKSIG*276a914478e321ce954d98d7b8ce1709576df0c911b6c9e88ac*"17XMKZ96WzvF66r7tRa7L8zwyzzjMmzSxM8$J " Be7644ad828f96910efba799ba2433bc99d666f16d19c4ec2b6a68be88dadfb84:0H@e7644ad828f96910efba799ba2433bc99d666f16d19c4ec2b6a68be88dadfb84""1Q3kaS4R4XmL1h9hHF75SrePNAwvKm6UiB"UOP_DUP OP_HASH160 fcd019c819bc1e569022061ac301d3d5b846416d OP_EQUALVERIFY OP_CHECKSIG*276a914fcd019c819bc1e569022061ac301d3d5b846416d88ac*"1Q3kaS4R4XmL1h9hHF75SrePNAwvKm6UiB8#J " -Bebb40126b22c62e1d212abf9f20b3f7d6c87da062362f3312fb53d1c20850749:0@ebb40126b22c62e1d212abf9f20b3f7d6c87da062362f3312fb53d1c20850749""1Bbj6KhFXccvdvJW8GnHRvN7C6WNZizi19"UOP_DUP OP_HASH160 744289771bea3b14df8262da8334debbace89c59 OP_EQUALVERIFY OP_CHECKSIG*276a914744289771bea3b14df8262da8334debbace89c5988ac*"1Bbj6KhFXccvdvJW8GnHRvN7C6WNZizi198$J " -B16e7da38e9e259da73d8515d790bc2a769d9944a967804690572dd2e63300f44:0@16e7da38e9e259da73d8515d790bc2a769d9944a967804690572dd2e63300f44""1HGgoTrpKfayDvj11KJmNvJMrkp9uMW12F"UOP_DUP OP_HASH160 b27979eb008d7f9139bfba78a22933956e44f2c9 OP_EQUALVERIFY OP_CHECKSIG*276a914b27979eb008d7f9139bfba78a22933956e44f2c988ac*"1HGgoTrpKfayDvj11KJmNvJMrkp9uMW12F8#J " -B6308d2dd9feb49830c7ae5f8844723bc379afcea30c8c54576fbd78909baa131:0@6308d2dd9feb49830c7ae5f8844723bc379afcea30c8c54576fbd78909baa131""169RLLP7MZZFP4FVQRy1zzqyVRP3eiTck8"UOP_DUP OP_HASH160 387044e1b1b26ce77edaf8ea119f96c69e3b578c OP_EQUALVERIFY OP_CHECKSIG*276a914387044e1b1b26ce77edaf8ea119f96c69e3b578c88ac*"169RLLP7MZZFP4FVQRy1zzqyVRP3eiTck88#J " -B863af5a0bcb44eb819f7ed85cc83fe3b7d6cbe47750bbd770a6ca13d3ff14f12:0@863af5a0bcb44eb819f7ed85cc83fe3b7d6cbe47750bbd770a6ca13d3ff14f12""1JGFcnaw3enNE1y2C2EU7HQ4FvgFGueVRz"UOP_DUP OP_HASH160 bd5c94540bf42cb0843b6128602bc70c4e7082c6 OP_EQUALVERIFY OP_CHECKSIG*276a914bd5c94540bf42cb0843b6128602bc70c4e7082c688ac*"1JGFcnaw3enNE1y2C2EU7HQ4FvgFGueVRz8$J " +Bebb40126b22c62e1d212abf9f20b3f7d6c87da062362f3312fb53d1c20850749:0@ebb40126b22c62e1d212abf9f20b3f7d6c87da062362f3312fb53d1c20850749""1Bbj6KhFXccvdvJW8GnHRvN7C6WNZizi19"UOP_DUP OP_HASH160 744289771bea3b14df8262da8334debbace89c59 OP_EQUALVERIFY OP_CHECKSIG*276a914744289771bea3b14df8262da8334debbace89c5988ac*"1Bbj6KhFXccvdvJW8GnHRvN7C6WNZizi198$J " +B43d6522370311dba0d4be3bae143e5a3be2819e13659c397de46f74377ab0a2e:0@43d6522370311dba0d4be3bae143e5a3be2819e13659c397de46f74377ab0a2e""1Bg6T2g1A2DFkVJv9vunT1XsMicjgRmyuh"UOP_DUP OP_HASH160 7516075c6fd2c5c3642d5a78362241a15f64704b OP_EQUALVERIFY OP_CHECKSIG*276a9147516075c6fd2c5c3642d5a78362241a15f64704b88ac*"1Bg6T2g1A2DFkVJv9vunT1XsMicjgRmyuh8$J " +B6308d2dd9feb49830c7ae5f8844723bc379afcea30c8c54576fbd78909baa131:0@6308d2dd9feb49830c7ae5f8844723bc379afcea30c8c54576fbd78909baa131""169RLLP7MZZFP4FVQRy1zzqyVRP3eiTck8"UOP_DUP OP_HASH160 387044e1b1b26ce77edaf8ea119f96c69e3b578c OP_EQUALVERIFY OP_CHECKSIG*276a914387044e1b1b26ce77edaf8ea119f96c69e3b578c88ac*"169RLLP7MZZFP4FVQRy1zzqyVRP3eiTck88#J " Bda0a245bc96fa5d78d1f4752123df51271d261ebb9bb67a45a56df51582eb620:0,@da0a245bc96fa5d78d1f4752123df51271d261ebb9bb67a45a56df51582eb620""1746vQhtm9FY5vko2rAnq6Hu1cPPJqTWic"UOP_DUP OP_HASH160 4266f1ef33c56147883acf3c6c65aaca15bc8ce4 OP_EQUALVERIFY OP_CHECKSIG*276a9144266f1ef33c56147883acf3c6c65aaca15bc8ce488ac*"1746vQhtm9FY5vko2rAnq6Hu1cPPJqTWic8#J " +B97004ec07b7945ab7a619c57c129059ff7914491636f9e235a42fe9904bb4aad:0L@97004ec07b7945ab7a619c57c129059ff7914491636f9e235a42fe9904bb4aad""14KXuPeQfFHxyQfdc4pdiTLe7J5GY4CYNa"UOP_DUP OP_HASH160 2469a9532b451853521f079099a7819f99ad9b1d OP_EQUALVERIFY OP_CHECKSIG*276a9142469a9532b451853521f079099a7819f99ad9b1d88ac*"14KXuPeQfFHxyQfdc4pdiTLe7J5GY4CYNa8$J " B8971508059dfee694597775a41054ad077a01b3094e5a41927fc61cfae6e64c5:0@8971508059dfee694597775a41054ad077a01b3094e5a41927fc61cfae6e64c5""1JcwvFMWkb5ZBuh12mis5EVAaZtAiGY9Ru"UOP_DUP OP_HASH160 c1468a4f704ec7ac5c4c1845e56edee38aaee3ae OP_EQUALVERIFY OP_CHECKSIG*276a914c1468a4f704ec7ac5c4c1845e56edee38aaee3ae88ac*"1JcwvFMWkb5ZBuh12mis5EVAaZtAiGY9Ru8#J " B2a7aea63993d93c23d5a3ba61227b4a9a48ba8487d5700a2f664f7d8631adcd7:1c@2a7aea63993d93c23d5a3ba61227b4a9a48ba8487d5700a2f664f7d8631adcd7""12TURcfxqMk7AZubBxawMh8TuNwkqZV77C"UOP_DUP OP_HASH160 0ff9d561d6057e14cc0e9a9e67fc7e6d80b8be60 OP_EQUALVERIFY OP_CHECKSIG*276a9140ff9d561d6057e14cc0e9a9e67fc7e6d80b8be6088ac*"12TURcfxqMk7AZubBxawMh8TuNwkqZV77C8Ņ$J " +Bb89909ee8e9876f0ba8cd59dc6c79d905822a070f478c4ba78e8251f823c5b08:0@b89909ee8e9876f0ba8cd59dc6c79d905822a070f478c4ba78e8251f823c5b08""142icJy8V9fhi3LfSd3uy6QaQXwUQfXjge"UOP_DUP OP_HASH160 213b86ce0a05d275e7394db044dc84ab497c209c OP_EQUALVERIFY OP_CHECKSIG*276a914213b86ce0a05d275e7394db044dc84ab497c209c88ac*"142icJy8V9fhi3LfSd3uy6QaQXwUQfXjge8ך$J " Bce4201069150710366965f77da93f2cdb62f187ad71c665cfc700a875b97b7ac:03@ce4201069150710366965f77da93f2cdb62f187ad71c665cfc700a875b97b7ac""1PvMfXFpQypR3vMhdK6yqGo2rtWSwLKSVV"UOP_DUP OP_HASH160 fb6a10135a3425c328496a3df42249655fcde26d OP_EQUALVERIFY OP_CHECKSIG*276a914fb6a10135a3425c328496a3df42249655fcde26d88ac*"1PvMfXFpQypR3vMhdK6yqGo2rtWSwLKSVV8#J " B0517fef7af7702659aa2ddefb8c947ecc1a8fc00bd464a131deb340b87513c5a:1@0517fef7af7702659aa2ddefb8c947ecc1a8fc00bd464a131deb340b87513c5a""1FLKA11qprrcsmceh1FUu5AaijtgVnKdZ3"UOP_DUP OP_HASH160 9d38d1c5d9ade95ce15c90b99c01812ae7220e27 OP_EQUALVERIFY OP_CHECKSIG*276a9149d38d1c5d9ade95ce15c90b99c01812ae7220e2788ac*"1FLKA11qprrcsmceh1FUu5AaijtgVnKdZ38#J " B6458967aecca7f97e8c059f83e83a67044ee4baa0fa16adfd12795cb0cce214a:0A@6458967aecca7f97e8c059f83e83a67044ee4baa0fa16adfd12795cb0cce214a""1EkdcFV2krFu4kJueDiU4Dft4VFJSVs924"UOP_DUP OP_HASH160 96da14855b85ef39c3cbff936a7b9ae2b422beef OP_EQUALVERIFY OP_CHECKSIG*276a91496da14855b85ef39c3cbff936a7b9ae2b422beef88ac*"1EkdcFV2krFu4kJueDiU4Dft4VFJSVs9248#J " B09addc058442649af7c602ab77a535d1487571a5bc7e4a542e3b87f7db8fa320:0@09addc058442649af7c602ab77a535d1487571a5bc7e4a542e3b87f7db8fa320""1BXzxW6XLkhCJd5k5eBTpjeyLrSPunr29Q"UOP_DUP OP_HASH160 738e1ddfc8c4e3a007504d8b447a43a0cdf8fa10 OP_EQUALVERIFY OP_CHECKSIG*276a914738e1ddfc8c4e3a007504d8b447a43a0cdf8fa1088ac*"1BXzxW6XLkhCJd5k5eBTpjeyLrSPunr29Q8ˊ$J " B187c9e7cefdb6ed51c7d8eaaf7b3bebd97200beb96c479d3f4ef31f1ca7eaefb:0@187c9e7cefdb6ed51c7d8eaaf7b3bebd97200beb96c479d3f4ef31f1ca7eaefb""13hGYM4DwyxEd6ARHaHWybgjWs4eDY8Huc"UOP_DUP OP_HASH160 1d8ddcd00269601d712c010547cbce18fd7b1057 OP_EQUALVERIFY OP_CHECKSIG*276a9141d8ddcd00269601d712c010547cbce18fd7b105788ac*"13hGYM4DwyxEd6ARHaHWybgjWs4eDY8Huc8#J " -B191374de3869bd6c10fe14d675ab0e65f17807ae89ffa277209e71d032d415b4:0@191374de3869bd6c10fe14d675ab0e65f17807ae89ffa277209e71d032d415b4""13Cw8g5mZhFCkg4FFA4UhoS1E91u2BUDgj"UOP_DUP OP_HASH160 183203b7b4733d6d895b617910b29be7390d6b8a OP_EQUALVERIFY OP_CHECKSIG*276a914183203b7b4733d6d895b617910b29be7390d6b8a88ac*"13Cw8g5mZhFCkg4FFA4UhoS1E91u2BUDgj8#J " -Ba286b7df832d328c84e2a7ad68d1efdbd911eafe61a6e3a24ea0e1933faf0f31:1 @a286b7df832d328c84e2a7ad68d1efdbd911eafe61a6e3a24ea0e1933faf0f31""1Q1gyM1DCZpaRFPg6RwWMZzXVdqGpZkAR3"UOP_DUP OP_HASH160 fc6c427030c9b7cdd05a186f127765ba2561b78c OP_EQUALVERIFY OP_CHECKSIG*276a914fc6c427030c9b7cdd05a186f127765ba2561b78c88ac*"1Q1gyM1DCZpaRFPg6RwWMZzXVdqGpZkAR38$J " +B191374de3869bd6c10fe14d675ab0e65f17807ae89ffa277209e71d032d415b4:0@191374de3869bd6c10fe14d675ab0e65f17807ae89ffa277209e71d032d415b4""13Cw8g5mZhFCkg4FFA4UhoS1E91u2BUDgj"UOP_DUP OP_HASH160 183203b7b4733d6d895b617910b29be7390d6b8a OP_EQUALVERIFY OP_CHECKSIG*276a914183203b7b4733d6d895b617910b29be7390d6b8a88ac*"13Cw8g5mZhFCkg4FFA4UhoS1E91u2BUDgj8#J " +B720d48d5e98463ab522c9c0a0a4d6067757e9fa0ecf4273362ff06f73e26682b:0@720d48d5e98463ab522c9c0a0a4d6067757e9fa0ecf4273362ff06f73e26682b""1BJkhmVvEWfWFoszpf2rgNZetUteEGd9YU"UOP_DUP OP_HASH160 710ccf7e17d41bbe5a947e1a8a65f0f3ae1726a7 OP_EQUALVERIFY OP_CHECKSIG*276a914710ccf7e17d41bbe5a947e1a8a65f0f3ae1726a788ac*"1BJkhmVvEWfWFoszpf2rgNZetUteEGd9YU8$J " Baa46e61f807429310bd606db9116350c8eb7966f176f05463b88db5e757343dc:0@aa46e61f807429310bd606db9116350c8eb7966f176f05463b88db5e757343dc""1HraSAg9qdZNACq315xUdiWKbEeRtBagX9"UOP_DUP OP_HASH160 b8e24dcbcf2b72952480c1b044657f7de2ad7c6e OP_EQUALVERIFY OP_CHECKSIG*276a914b8e24dcbcf2b72952480c1b044657f7de2ad7c6e88ac*"1HraSAg9qdZNACq315xUdiWKbEeRtBagX98$J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:179g@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1EaVUKbTNpQQixtC5Pu7Fm8jZTYgguYbYT"UOP_DUP OP_HASH160 94ef20dc280ec035aa05085ce496cfaf667858d9 OP_EQUALVERIFY OP_CHECKSIG*276a91494ef20dc280ec035aa05085ce496cfaf667858d988ac*"1EaVUKbTNpQQixtC5Pu7Fm8jZTYgguYbYT8"J " B28b16552039c1967d1d7fef6ccd25ccdf36439e3332e78ede82d3fafcf36200f:0@28b16552039c1967d1d7fef6ccd25ccdf36439e3332e78ede82d3fafcf36200f"!1HjPMQ3v6NLGr7ss2eXcLS3F8UMAUyAKb"UOP_DUP OP_HASH160 032a097362343e5c5dfc21ae9f5221504afc2424 OP_EQUALVERIFY OP_CHECKSIG*276a914032a097362343e5c5dfc21ae9f5221504afc242488ac*!1HjPMQ3v6NLGr7ss2eXcLS3F8UMAUyAKb8И#J{" @@ -91893,7 +98802,6 @@ B800bb27da65dba439c94686e267d87416c117648c398dd0bd474f2e1c780c9b2:0 D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:172@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1AnDwVq46SKKLahWicWz1jseSg9CJQ2iZL"UOP_DUP OP_HASH160 6b46a6da89f7eabd188ac3967b9f7bdbdae12e81 OP_EQUALVERIFY OP_CHECKSIG*276a9146b46a6da89f7eabd188ac3967b9f7bdbdae12e8188ac*"1AnDwVq46SKKLahWicWz1jseSg9CJQ2iZL8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:173@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1KpoUkKGsPzLB27NjnR4Hg7ipjRFt3HfqM"UOP_DUP OP_HASH160 ce7c9cce2c612525f77e55f304379ea39bacd747 OP_EQUALVERIFY OP_CHECKSIG*276a914ce7c9cce2c612525f77e55f304379ea39bacd74788ac*"1KpoUkKGsPzLB27NjnR4Hg7ipjRFt3HfqM8"J " B69ebb9a640196e5369e727b1097f6ae4cfc1844631c3d38fe86bff71fbd5ebda:0h@69ebb9a640196e5369e727b1097f6ae4cfc1844631c3d38fe86bff71fbd5ebda""1CAA5srXfXs3iJ6pb3BroE8xv1BkSoRhf2"UOP_DUP OP_HASH160 7a64b5d56e68e9d588e6a3dfd8851ccdeaa89b2e OP_EQUALVERIFY OP_CHECKSIG*276a9147a64b5d56e68e9d588e6a3dfd8851ccdeaa89b2e88ac*"1CAA5srXfXs3iJ6pb3BroE8xv1BkSoRhf28#J " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:175 @4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""14VLSFbLHa8HCkLPoFJny8dFpkQfz44RhD"UOP_DUP OP_HASH160 26443f8456cb91ecb798c86bbf87d8cb2c13bd10 OP_EQUALVERIFY OP_CHECKSIG*276a91426443f8456cb91ecb798c86bbf87d8cb2c13bd1088ac*"14VLSFbLHa8HCkLPoFJny8dFpkQfz44RhD8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:178@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1NLWLB4AKN4e4NDWT1sXHfjstcqeCptxEN"UOP_DUP OP_HASH160 ea0b07568c877664797c173b94b5cbf3fd7cb623 OP_EQUALVERIFY OP_CHECKSIG*276a914ea0b07568c877664797c173b94b5cbf3fd7cb62388ac*"1NLWLB4AKN4e4NDWT1sXHfjstcqeCptxEN8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:177@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1KxuhnSMUo6jEgp7uZG2PhXajbCB7kQxAP"UOP_DUP OP_HASH160 d00522ea7d91e0a23f0c41223eb5407a87211a2e OP_EQUALVERIFY OP_CHECKSIG*276a914d00522ea7d91e0a23f0c41223eb5407a87211a2e88ac*"1KxuhnSMUo6jEgp7uZG2PhXajbCB7kQxAP8"J " B7d4c5a5d2a8989ead69352cfdcd2e8c4e211a61fbd85990164abeab94572ad97:1@7d4c5a5d2a8989ead69352cfdcd2e8c4e211a61fbd85990164abeab94572ad97""1AhhpuFkcKxj5aWbrBEN6aFp3fHjLNtWJQ"UOP_DUP OP_HASH160 6a6bd9aa254b4d24243a8fd76175e6c313c3dda3 OP_EQUALVERIFY OP_CHECKSIG*276a9146a6bd9aa254b4d24243a8fd76175e6c313c3dda388ac*"1AhhpuFkcKxj5aWbrBEN6aFp3fHjLNtWJQ8Ż#J " @@ -91905,16 +98813,16 @@ B41790f99a698f4dc966632cc8d036447b5e0ac304ff1dddd32ee166f6d5c4fbd:0 B9207d63ebc8a0d06bb8c8c5d2bd733b95aa960dac2943de4f33d4d5e8e301f56:0̃@9207d63ebc8a0d06bb8c8c5d2bd733b95aa960dac2943de4f33d4d5e8e301f56""15SmEWSTGnfNwL64Yn249rSbHMpaDvWABv"UOP_DUP OP_HASH160 30bfd3708d969f11d191437a6dcc1b5f91290af9 OP_EQUALVERIFY OP_CHECKSIG*276a91430bfd3708d969f11d191437a6dcc1b5f91290af988ac*"15SmEWSTGnfNwL64Yn249rSbHMpaDvWABv8#J " Bf660d3b19858ed5a43955c8e8156054ff9cad2c2edb4804b5523ad4a732b737b:07@f660d3b19858ed5a43955c8e8156054ff9cad2c2edb4804b5523ad4a732b737b""1Ln822naEdKXhUAaZ16eRkt5MkpnXK1t1H"UOP_DUP OP_HASH160 d8f2f76052be3550a5b362b8e65e72dc36714417 OP_EQUALVERIFY OP_CHECKSIG*276a914d8f2f76052be3550a5b362b8e65e72dc3671441788ac*"1Ln822naEdKXhUAaZ16eRkt5MkpnXK1t1H8$J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:169@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1KgiCkQBZWV4Uns36ehiL5GoLzFEb4nYhK"UOP_DUP OP_HASH160 ccf4e17ac884075f0482763886015d94e971e176 OP_EQUALVERIFY OP_CHECKSIG*276a914ccf4e17ac884075f0482763886015d94e971e17688ac*"1KgiCkQBZWV4Uns36ehiL5GoLzFEb4nYhK8"J " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:168@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1PB9YZMvdRRHJPHE4zEkfsR5TS3ev7zfy5"UOP_DUP OP_HASH160 f33e0f22652c6b4d9ed3ecef3a9eaf7a06910366 OP_EQUALVERIFY OP_CHECKSIG*276a914f33e0f22652c6b4d9ed3ecef3a9eaf7a0691036688ac*"1PB9YZMvdRRHJPHE4zEkfsR5TS3ev7zfy58"J " -B1ef7a5ff191fdff3df28ead085afe3523e22d9f821116698386cfc6d39a20a9e:0'@1ef7a5ff191fdff3df28ead085afe3523e22d9f821116698386cfc6d39a20a9e""1BtctCyX7nbPzYr1hPqokUQq144ocDfZJU"UOP_DUP OP_HASH160 77746ce70a7943bce6c80e270da9c64e0484ebc0 OP_EQUALVERIFY OP_CHECKSIG*276a91477746ce70a7943bce6c80e270da9c64e0484ebc088ac*"1BtctCyX7nbPzYr1hPqokUQq144ocDfZJU8#J" +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:168@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1PB9YZMvdRRHJPHE4zEkfsR5TS3ev7zfy5"UOP_DUP OP_HASH160 f33e0f22652c6b4d9ed3ecef3a9eaf7a06910366 OP_EQUALVERIFY OP_CHECKSIG*276a914f33e0f22652c6b4d9ed3ecef3a9eaf7a0691036688ac*"1PB9YZMvdRRHJPHE4zEkfsR5TS3ev7zfy58"J " +Be2b3f466c665570faa7be549a136414c39006aa02845c693e630157824107046:0z@e2b3f466c665570faa7be549a136414c39006aa02845c693e630157824107046""17Ya3BvtkicGfn4TPMzLsxP5DqCxcrys71"UOP_DUP OP_HASH160 47c93a6005184b1b8a25b3d8e300216e30da2063 OP_EQUALVERIFY OP_CHECKSIG*276a91447c93a6005184b1b8a25b3d8e300216e30da206388ac*"17Ya3BvtkicGfn4TPMzLsxP5DqCxcrys718$J " +B1ef7a5ff191fdff3df28ead085afe3523e22d9f821116698386cfc6d39a20a9e:0'@1ef7a5ff191fdff3df28ead085afe3523e22d9f821116698386cfc6d39a20a9e""1BtctCyX7nbPzYr1hPqokUQq144ocDfZJU"UOP_DUP OP_HASH160 77746ce70a7943bce6c80e270da9c64e0484ebc0 OP_EQUALVERIFY OP_CHECKSIG*276a91477746ce70a7943bce6c80e270da9c64e0484ebc088ac*"1BtctCyX7nbPzYr1hPqokUQq144ocDfZJU8#J" +Bc277ee7f374799b429b4a932287590021b8a6d245a8d79a0f3f5c60c7b7609e0:0ޙ@c277ee7f374799b429b4a932287590021b8a6d245a8d79a0f3f5c60c7b7609e0""1BM5WAqUTxUTgruJNc6MzCwb9j7Jy5Yrs7"UOP_DUP OP_HASH160 717d55ff2f93d7550e31b579c403f6adc15cafd4 OP_EQUALVERIFY OP_CHECKSIG*276a914717d55ff2f93d7550e31b579c403f6adc15cafd488ac*"1BM5WAqUTxUTgruJNc6MzCwb9j7Jy5Yrs78$J " B1ef7a5ff191fdff3df28ead085afe3523e22d9f821116698386cfc6d39a20a9e:1@1ef7a5ff191fdff3df28ead085afe3523e22d9f821116698386cfc6d39a20a9e""1BtctCyX7nbPzYr1hPqokUQq144ocDfZJU"UOP_DUP OP_HASH160 77746ce70a7943bce6c80e270da9c64e0484ebc0 OP_EQUALVERIFY OP_CHECKSIG*276a91477746ce70a7943bce6c80e270da9c64e0484ebc088ac*"1BtctCyX7nbPzYr1hPqokUQq144ocDfZJU8#J " B2ed57c5261caaf718556dc65efd21a06e0fceea38ac32c404608222b08dc1fbc:0@2ed57c5261caaf718556dc65efd21a06e0fceea38ac32c404608222b08dc1fbc""1HA3jmZAG5Y7Qjt9hfyyHeouJqrhFfQ6S8"UOP_DUP OP_HASH160 b1380a8f3ff58664944efc7ea37ec3a545f0df89 OP_EQUALVERIFY OP_CHECKSIG*276a914b1380a8f3ff58664944efc7ea37ec3a545f0df8988ac*"1HA3jmZAG5Y7Qjt9hfyyHeouJqrhFfQ6S88"J " -B2443706e564e3900062dfe6121c0ecb07c5eb874d316ff6103b06f9ba7443073:0L@2443706e564e3900062dfe6121c0ecb07c5eb874d316ff6103b06f9ba7443073""18tJXbZWH3gZTL75e7yszNSvSDt6A3iDJ5"UOP_DUP OP_HASH160 567cb9cc168912153dca424d05e26276110c5877 OP_EQUALVERIFY OP_CHECKSIG*276a914567cb9cc168912153dca424d05e26276110c587788ac*"18tJXbZWH3gZTL75e7yszNSvSDt6A3iDJ58$J " -B42b8df16ae6ca42239835cc7808ba6d5da3290dcaecd0fdd8926c4fbf3890026:0@42b8df16ae6ca42239835cc7808ba6d5da3290dcaecd0fdd8926c4fbf3890026""16i9MfoR64EDvjhcRd5zUuV1wuNrENauHL"UOP_DUP OP_HASH160 3ea0a8ad1e78aafd0eebe061186039a12d0c64a2 OP_EQUALVERIFY OP_CHECKSIG*276a9143ea0a8ad1e78aafd0eebe061186039a12d0c64a288ac*"16i9MfoR64EDvjhcRd5zUuV1wuNrENauHL8$J " +B2443706e564e3900062dfe6121c0ecb07c5eb874d316ff6103b06f9ba7443073:0L@2443706e564e3900062dfe6121c0ecb07c5eb874d316ff6103b06f9ba7443073""18tJXbZWH3gZTL75e7yszNSvSDt6A3iDJ5"UOP_DUP OP_HASH160 567cb9cc168912153dca424d05e26276110c5877 OP_EQUALVERIFY OP_CHECKSIG*276a914567cb9cc168912153dca424d05e26276110c587788ac*"18tJXbZWH3gZTL75e7yszNSvSDt6A3iDJ58$J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:161@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1DuZuG99yC9bdEESeMGadaGEdK1NK9SxHV"UOP_DUP OP_HASH160 8d929a94dbc055f28d9481d8c71cc822009d7f8e OP_EQUALVERIFY OP_CHECKSIG*276a9148d929a94dbc055f28d9481d8c71cc822009d7f8e88ac*"1DuZuG99yC9bdEESeMGadaGEdK1NK9SxHV8"J " B1f5efa938665173700ffeff39397c4f6b2a04401dbb8714c29607529968041be:07@1f5efa938665173700ffeff39397c4f6b2a04401dbb8714c29607529968041be""1M7qmTTZwZApJPpS4EMWVYy1n3FW2M82EY"UOP_DUP OP_HASH160 dcadb83b8acec399e331eceee0109c457c26cf46 OP_EQUALVERIFY OP_CHECKSIG*276a914dcadb83b8acec399e331eceee0109c457c26cf4688ac*"1M7qmTTZwZApJPpS4EMWVYy1n3FW2M82EY8"J " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:160@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""12mFHfUHXi8t7D78yCBk6mA4EzbuYXPgdB"UOP_DUP OP_HASH160 13565ac304e0914d684fd974b5d8c6a08cbb2395 OP_EQUALVERIFY OP_CHECKSIG*276a91413565ac304e0914d684fd974b5d8c6a08cbb239588ac*"12mFHfUHXi8t7D78yCBk6mA4EzbuYXPgdB8"J " -B33fc357dd4a68f7e0861bd2184723058a6862e0d6de84cb7007add4427172c3d:0 @33fc357dd4a68f7e0861bd2184723058a6862e0d6de84cb7007add4427172c3d""1EVcrYgfhJq82szDXqFyUtFr81PztgCsbz"UOP_DUP OP_HASH160 940336345ef4c1f97f6158276810627d83da9d3c OP_EQUALVERIFY OP_CHECKSIG*276a914940336345ef4c1f97f6158276810627d83da9d3c88ac*"1EVcrYgfhJq82szDXqFyUtFr81PztgCsbz8˓$J " +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:160@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""12mFHfUHXi8t7D78yCBk6mA4EzbuYXPgdB"UOP_DUP OP_HASH160 13565ac304e0914d684fd974b5d8c6a08cbb2395 OP_EQUALVERIFY OP_CHECKSIG*276a91413565ac304e0914d684fd974b5d8c6a08cbb239588ac*"12mFHfUHXi8t7D78yCBk6mA4EzbuYXPgdB8"J " B3d9269995edfe1c6393809e6c718cc4543616799851d800c2231f6943bb2df83:0@3d9269995edfe1c6393809e6c718cc4543616799851d800c2231f6943bb2df83""1DoSYhNvwGGoLjm59wEnde3Q3TRH1MkKUz"UOP_DUP OP_HASH160 8c69f801f7be825e38837f1fb39cc909b9aa1a2b OP_EQUALVERIFY OP_CHECKSIG*276a9148c69f801f7be825e38837f1fb39cc909b9aa1a2b88ac*"1DoSYhNvwGGoLjm59wEnde3Q3TRH1MkKUz8$J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:165@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1KMU1UT3qfSkTdRxAaWMspij5WdZXcwc5d"UOP_DUP OP_HASH160 c95120ed3f34ca3638087ad4fb745383c9df4d2e OP_EQUALVERIFY OP_CHECKSIG*276a914c95120ed3f34ca3638087ad4fb745383c9df4d2e88ac*"1KMU1UT3qfSkTdRxAaWMspij5WdZXcwc5d8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:164g@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1Pzfqx5Ezn4oE9LE9aU6faGa9T2D79EhxQ"UOP_DUP OP_HASH160 fc3ae7019567a9241bd1fcc2193278cf4c08764f OP_EQUALVERIFY OP_CHECKSIG*276a914fc3ae7019567a9241bd1fcc2193278cf4c08764f88ac*"1Pzfqx5Ezn4oE9LE9aU6faGa9T2D79EhxQ8"J " @@ -91926,10 +98834,8 @@ B6ebd34b7125913748c16625e7cf33e210cff581decf85e5c26f465327df39f15:0 Bc9621ed9c42b8f3cdcf5750ec7ccc809687d7f94a8d3b907c7cf1649eb603454:0v@c9621ed9c42b8f3cdcf5750ec7ccc809687d7f94a8d3b907c7cf1649eb603454""13W7AM2cGWAaV3Q1kVuk38vJL8Svj2PrJ9"UOP_DUP OP_HASH160 1b71751f451e60b54b0596d62a8445fcaa89ccad OP_EQUALVERIFY OP_CHECKSIG*276a9141b71751f451e60b54b0596d62a8445fcaa89ccad88ac*"13W7AM2cGWAaV3Q1kVuk38vJL8Svj2PrJ98$J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:158g@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""12xMqgiV7JHsLkJmHDazvXWrEygWnbi6Te"UOP_DUP OP_HASH160 15706647a5314c0c3d6fa92d618080e6f1e056b1 OP_EQUALVERIFY OP_CHECKSIG*276a91415706647a5314c0c3d6fa92d618080e6f1e056b188ac*"12xMqgiV7JHsLkJmHDazvXWrEygWnbi6Te8"J " Bd6d4eba825c6363b8ce066f7a120a2928a359d3eeb900eb094134358f232487d:0 @d6d4eba825c6363b8ce066f7a120a2928a359d3eeb900eb094134358f232487d""13rdcCoHE9YQ3ANXKYrUvuGqDu8QgB3KVx"UOP_DUP OP_HASH160 1f53310f7efa89907b995c7b2b47688cc5609256 OP_EQUALVERIFY OP_CHECKSIG*276a9141f53310f7efa89907b995c7b2b47688cc560925688ac*"13rdcCoHE9YQ3ANXKYrUvuGqDu8QgB3KVx8#J " -B536a90f12a855dc6a20d03938376071257bea4a713ea86f4b7627144046d6ec2:07@536a90f12a855dc6a20d03938376071257bea4a713ea86f4b7627144046d6ec2""1G1gNtDsonHu7GE45Bdy1JyJiXqoYYtqM9"UOP_DUP OP_HASH160 a4aac1dc49d75c8bba72b6d8d8b8021a8047ae1b OP_EQUALVERIFY OP_CHECKSIG*276a914a4aac1dc49d75c8bba72b6d8d8b8021a8047ae1b88ac*"1G1gNtDsonHu7GE45Bdy1JyJiXqoYYtqM98#J " -Bd5f60afd17874ac4aedd94b0a9351eac1f4b0888665d77d1af8b0ea891b875d4:1U@d5f60afd17874ac4aedd94b0a9351eac1f4b0888665d77d1af8b0ea891b875d4""1GRgBiqrkS4Q8jTEB35LrfZUygtdXCTQo5"UOP_DUP OP_HASH160 a9349467ab35f8540bf58d2953deeeef5ccc244e OP_EQUALVERIFY OP_CHECKSIG*276a914a9349467ab35f8540bf58d2953deeeef5ccc244e88ac*"1GRgBiqrkS4Q8jTEB35LrfZUygtdXCTQo58$J " -Bdc60a35a5e3b048373e62ccd38c19c0e5fc463e50f68ada7a094839866a2392f:0@dc60a35a5e3b048373e62ccd38c19c0e5fc463e50f68ada7a094839866a2392f""17pBZ17SzZSQFQidkHkKKRU5iGD8rhWdNu"UOP_DUP OP_HASH160 4abd1cf2293b4bf0412ca224ac886dc668ad5958 OP_EQUALVERIFY OP_CHECKSIG*276a9144abd1cf2293b4bf0412ca224ac886dc668ad595888ac*"17pBZ17SzZSQFQidkHkKKRU5iGD8rhWdNu8“$J " -B273dd8ac773b411e3a5acee10ce585a992cfacf7b2a8e6229a981c30ff094b78:1b@273dd8ac773b411e3a5acee10ce585a992cfacf7b2a8e6229a981c30ff094b78""1NqmoZiYGo4zuVJ4rq4ULWL8TvjaCJjyEM"UOP_DUP OP_HASH160 ef9401d424a68aca3b54bbd30c06218cd50b7e1f OP_EQUALVERIFY OP_CHECKSIG*276a914ef9401d424a68aca3b54bbd30c06218cd50b7e1f88ac*"1NqmoZiYGo4zuVJ4rq4ULWL8TvjaCJjyEM8$J " +B536a90f12a855dc6a20d03938376071257bea4a713ea86f4b7627144046d6ec2:07@536a90f12a855dc6a20d03938376071257bea4a713ea86f4b7627144046d6ec2""1G1gNtDsonHu7GE45Bdy1JyJiXqoYYtqM9"UOP_DUP OP_HASH160 a4aac1dc49d75c8bba72b6d8d8b8021a8047ae1b OP_EQUALVERIFY OP_CHECKSIG*276a914a4aac1dc49d75c8bba72b6d8d8b8021a8047ae1b88ac*"1G1gNtDsonHu7GE45Bdy1JyJiXqoYYtqM98#J " +B28f87506afbe82286f347f23c811e862aea8ba12d4ddd8830da6e67af85078dc:0M@28f87506afbe82286f347f23c811e862aea8ba12d4ddd8830da6e67af85078dc""1Lgny1126BmJ2XVTeUi44mn9xVZEVw64rz"UOP_DUP OP_HASH160 d7f0fb84039ef1f25d497eaa079d673aaff0e8ab OP_EQUALVERIFY OP_CHECKSIG*276a914d7f0fb84039ef1f25d497eaa079d673aaff0e8ab88ac*"1Lgny1126BmJ2XVTeUi44mn9xVZEVw64rz8Ѣ$J " B330a25f8338dd8b6518e726165f6f1cb086fd7042d6c525fb0692ba9bb1a42c4:0^@330a25f8338dd8b6518e726165f6f1cb086fd7042d6c525fb0692ba9bb1a42c4""1FTGAUx13wfwYYcB25ziqjNvzV7KCu8m7j"UOP_DUP OP_HASH160 9e893bdb546ea475ca0769c83f4c9a141816a03e OP_EQUALVERIFY OP_CHECKSIG*276a9149e893bdb546ea475ca0769c83f4c9a141816a03e88ac*"1FTGAUx13wfwYYcB25ziqjNvzV7KCu8m7j8#J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:150ؚ@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1JDMnLEaB35ZWcnn9rTG74CYY5awnkGp8G"UOP_DUP OP_HASH160 bcd07a3a79f16f45ae0b7cb300019444661094a0 OP_EQUALVERIFY OP_CHECKSIG*276a914bcd07a3a79f16f45ae0b7cb300019444661094a088ac*"1JDMnLEaB35ZWcnn9rTG74CYY5awnkGp8G8"J " B1827f5c03868bbd067aca2d07935b4fa485f4ed5c4b58ea78c4d7db290a67b3c:0@1827f5c03868bbd067aca2d07935b4fa485f4ed5c4b58ea78c4d7db290a67b3c""19h3fUZ7mCWY6WzhgR76asN46xk7rq2o55"UOP_DUP OP_HASH160 5f53de359a442af5706c2f0c1478c2cf72af91d4 OP_EQUALVERIFY OP_CHECKSIG*276a9145f53de359a442af5706c2f0c1478c2cf72af91d488ac*"19h3fUZ7mCWY6WzhgR76asN46xk7rq2o558Ќ$J " @@ -91940,15 +98846,16 @@ B0e7c7bf314e244abcf5a678d5afeca6218a5e45140c93a74d28dcfe903623bdd:0 D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:154@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1DCWaJBzuJ315Zr28RGL75n5aSskeydgge"UOP_DUP OP_HASH160 85cec5ad953551522eaae7ee9135f39bb84f584e OP_EQUALVERIFY OP_CHECKSIG*276a91485cec5ad953551522eaae7ee9135f39bb84f584e88ac*"1DCWaJBzuJ315Zr28RGL75n5aSskeydgge8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:153Գ@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1Bb3iYev5XCGfFx6rDV3vFTh8Uqeee2GZB"UOP_DUP OP_HASH160 7421ab01d5cdb08892671e94120d56bf80851f29 OP_EQUALVERIFY OP_CHECKSIG*276a9147421ab01d5cdb08892671e94120d56bf80851f2988ac*"1Bb3iYev5XCGfFx6rDV3vFTh8Uqeee2GZB8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:156@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""152grndYHaBHLTAXGy5riVRbiHHvwF6pX4"UOP_DUP OP_HASH160 2c3230f2edb93f1c8061efb2791e8a78c8347be1 OP_EQUALVERIFY OP_CHECKSIG*276a9142c3230f2edb93f1c8061efb2791e8a78c8347be188ac*"152grndYHaBHLTAXGy5riVRbiHHvwF6pX48"J " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:155g@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1PnT1hsYpHdkcsb1jFt4zTdMhaHM1aTuGp"UOP_DUP OP_HASH160 f9eb330a1675a2b09ba5f9dc2b4594b36b570f89 OP_EQUALVERIFY OP_CHECKSIG*276a914f9eb330a1675a2b09ba5f9dc2b4594b36b570f8988ac*"1PnT1hsYpHdkcsb1jFt4zTdMhaHM1aTuGp8"J " +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:155g@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1PnT1hsYpHdkcsb1jFt4zTdMhaHM1aTuGp"UOP_DUP OP_HASH160 f9eb330a1675a2b09ba5f9dc2b4594b36b570f89 OP_EQUALVERIFY OP_CHECKSIG*276a914f9eb330a1675a2b09ba5f9dc2b4594b36b570f8988ac*"1PnT1hsYpHdkcsb1jFt4zTdMhaHM1aTuGp8"J " +B41f49ae8275ffd46a2cdf8afecf19a12f9e6d14465eb553bd0f5b6ab55c7b470:0@41f49ae8275ffd46a2cdf8afecf19a12f9e6d14465eb553bd0f5b6ab55c7b470""1EPktkXGz2d7DDeU9SD2H72R9qaTs6AsCj"UOP_DUP OP_HASH160 92e76cfe135d4da9c2b921e709efee745a476e0b OP_EQUALVERIFY OP_CHECKSIG*276a91492e76cfe135d4da9c2b921e709efee745a476e0b88ac*"1EPktkXGz2d7DDeU9SD2H72R9qaTs6AsCj8$J " B98ec2a20588a7781c30339e6fbf3e6572fdc21d809f334195f87b0ccdd0843bc:0@98ec2a20588a7781c30339e6fbf3e6572fdc21d809f334195f87b0ccdd0843bc""1AKdr9EKnhqXwQDKSfkzwVoXm4jxAJAcW4"UOP_DUP OP_HASH160 663f60bf776e881af1ae2a1f2d621a539670cc4e OP_EQUALVERIFY OP_CHECKSIG*276a914663f60bf776e881af1ae2a1f2d621a539670cc4e88ac*"1AKdr9EKnhqXwQDKSfkzwVoXm4jxAJAcW48#J " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:147g@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""197SLyJ9zcPR5djpvZGrcbZJ14J3GVw6ok"UOP_DUP OP_HASH160 58f8a88ddd5b85e43140f074adf2ee5924dbf1f8 OP_EQUALVERIFY OP_CHECKSIG*276a91458f8a88ddd5b85e43140f074adf2ee5924dbf1f888ac*"197SLyJ9zcPR5djpvZGrcbZJ14J3GVw6ok8"J " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:146@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1936npATxCR4wdtKmvUyTAjwBgupDBAFUC"UOP_DUP OP_HASH160 5826abdd3224b0781a90ceb3d78a3948d8b5e9b7 OP_EQUALVERIFY OP_CHECKSIG*276a9145826abdd3224b0781a90ceb3d78a3948d8b5e9b788ac*"1936npATxCR4wdtKmvUyTAjwBgupDBAFUC8"J " -Bc1822a7ef6309d2361243751d390fb78957b11672bdba314a8b9706ce0919793:0ê@c1822a7ef6309d2361243751d390fb78957b11672bdba314a8b9706ce0919793""1EX12vMybvte1kF4hw7PLWCWp5FKZf9bvk"UOP_DUP OP_HASH160 94462444ea52dbae408a4901031df7dae12fe230 OP_EQUALVERIFY OP_CHECKSIG*276a91494462444ea52dbae408a4901031df7dae12fe23088ac*"1EX12vMybvte1kF4hw7PLWCWp5FKZf9bvk8̏$J " -Bcd2c64da45bdcfdb77caa598a92b3f9deef08ebb502992fbac4b1477d6ecb860:0O@cd2c64da45bdcfdb77caa598a92b3f9deef08ebb502992fbac4b1477d6ecb860""1DKGMyZaypUwwSMLsBRRM6A4YtJnbEMGKb"UOP_DUP OP_HASH160 8715d1e98e86e2eb4c1bead25e5e8e1a9436c467 OP_EQUALVERIFY OP_CHECKSIG*276a9148715d1e98e86e2eb4c1bead25e5e8e1a9436c46788ac*"1DKGMyZaypUwwSMLsBRRM6A4YtJnbEMGKb8$J " +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:147g@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""197SLyJ9zcPR5djpvZGrcbZJ14J3GVw6ok"UOP_DUP OP_HASH160 58f8a88ddd5b85e43140f074adf2ee5924dbf1f8 OP_EQUALVERIFY OP_CHECKSIG*276a91458f8a88ddd5b85e43140f074adf2ee5924dbf1f888ac*"197SLyJ9zcPR5djpvZGrcbZJ14J3GVw6ok8"J " +Bea337334068a74aa88ae447d9b565038c774cefdad63457495f8a9a7f8a323d5:0Q@ea337334068a74aa88ae447d9b565038c774cefdad63457495f8a9a7f8a323d5"!1YC8NWbKCgjS5wi4jQRg43bFzg19FpSpW"UOP_DUP OP_HASH160 05e62ee8a45c1e8072c6e8f4615170ac085ebcb0 OP_EQUALVERIFY OP_CHECKSIG*276a91405e62ee8a45c1e8072c6e8f4615170ac085ebcb088ac*!1YC8NWbKCgjS5wi4jQRg43bFzg19FpSpW8$J " +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:146@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1936npATxCR4wdtKmvUyTAjwBgupDBAFUC"UOP_DUP OP_HASH160 5826abdd3224b0781a90ceb3d78a3948d8b5e9b7 OP_EQUALVERIFY OP_CHECKSIG*276a9145826abdd3224b0781a90ceb3d78a3948d8b5e9b788ac*"1936npATxCR4wdtKmvUyTAjwBgupDBAFUC8"J " +Baa56f8f4e874814b1000e7a88af743e616a4a916e1b3fc8843654b2826926247:1@aa56f8f4e874814b1000e7a88af743e616a4a916e1b3fc8843654b2826926247""1MD7MqsHfocYfRZPqWnVKjsMBMbFDLYYSp"UOP_DUP OP_HASH160 ddacd0d43c29a7e78f39b07623bc35a3151fa791 OP_EQUALVERIFY OP_CHECKSIG*276a914ddacd0d43c29a7e78f39b07623bc35a3151fa79188ac*"1MD7MqsHfocYfRZPqWnVKjsMBMbFDLYYSp8$J " +Baa56f8f4e874814b1000e7a88af743e616a4a916e1b3fc8843654b2826926247:0ùg@aa56f8f4e874814b1000e7a88af743e616a4a916e1b3fc8843654b2826926247""1GTR9HR1SNLk9zy5WdSQMfFK1xvSAuKeFT"UOP_DUP OP_HASH160 a988daec2e2164ebfda55abd667c384c233bee97 OP_EQUALVERIFY OP_CHECKSIG*276a914a988daec2e2164ebfda55abd667c384c233bee9788ac*"1GTR9HR1SNLk9zy5WdSQMfFK1xvSAuKeFT8$J " B1602a14248f50f8c7ec6c5fd3d7dbe466334967ad03f22ca761cb9c9b2b10005:1G@1602a14248f50f8c7ec6c5fd3d7dbe466334967ad03f22ca761cb9c9b2b10005""1AkMhtq5cBbQXL463CezpGAGW7WnTp9CUc"UOP_DUP OP_HASH160 6aec4d5827b090ed3d422e7e78d3268d9394b0da OP_EQUALVERIFY OP_CHECKSIG*276a9146aec4d5827b090ed3d422e7e78d3268d9394b0da88ac*"1AkMhtq5cBbQXL463CezpGAGW7WnTp9CUc8#J " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:141g@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5"!1bJfttEgCQMU5TGHB8X8zMPz6iWjSFR4k"UOP_DUP OP_HASH160 067ce4b3f8b8cd98da499fee01787a4e5610ada1 OP_EQUALVERIFY OP_CHECKSIG*276a914067ce4b3f8b8cd98da499fee01787a4e5610ada188ac*!1bJfttEgCQMU5TGHB8X8zMPz6iWjSFR4k8"J " -B70a4a81035a54f4f1bf61358530cb7e060168a993b31f7dc72bc339b9df7b70f:0*@70a4a81035a54f4f1bf61358530cb7e060168a993b31f7dc72bc339b9df7b70f""19hBTnzaoRDhSxrgYvPD6j5PFnCcakAU2H"UOP_DUP OP_HASH160 5f5a60c06bd87b2ec043aab423a2659714e1e670 OP_EQUALVERIFY OP_CHECKSIG*276a9145f5a60c06bd87b2ec043aab423a2659714e1e67088ac*"19hBTnzaoRDhSxrgYvPD6j5PFnCcakAU2H8$J " +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:141g@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5"!1bJfttEgCQMU5TGHB8X8zMPz6iWjSFR4k"UOP_DUP OP_HASH160 067ce4b3f8b8cd98da499fee01787a4e5610ada1 OP_EQUALVERIFY OP_CHECKSIG*276a914067ce4b3f8b8cd98da499fee01787a4e5610ada188ac*!1bJfttEgCQMU5TGHB8X8zMPz6iWjSFR4k8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:143$@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1LY6FEZx1FZ5tdxHGEDaFAMPe4SW3hJb7U"UOP_DUP OP_HASH160 d64ba9d1c6f36e375225758c31daece4b916a76e OP_EQUALVERIFY OP_CHECKSIG*276a914d64ba9d1c6f36e375225758c31daece4b916a76e88ac*"1LY6FEZx1FZ5tdxHGEDaFAMPe4SW3hJb7U8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:145@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""14En7JQy1ayEQ3kBRww8Ea5uLiVKiTjT1r"UOP_DUP OP_HASH160 2383708c20076f021980ed6ff043930544b8ae6b OP_EQUALVERIFY OP_CHECKSIG*276a9142383708c20076f021980ed6ff043930544b8ae6b88ac*"14En7JQy1ayEQ3kBRww8Ea5uLiVKiTjT1r8"J " Beec669575c439ce652af094213fb5773e575378541efa3626b871654efb27332:1@eec669575c439ce652af094213fb5773e575378541efa3626b871654efb27332""1542nxznfU394skb6Qe9EsHEiV4tKjqyh4"UOP_DUP OP_HASH160 2c733f510fe4e20f7f1ca6d3c9b1316fd6b4818a OP_EQUALVERIFY OP_CHECKSIG*276a9142c733f510fe4e20f7f1ca6d3c9b1316fd6b4818a88ac*"1542nxznfU394skb6Qe9EsHEiV4tKjqyh48$J " @@ -91957,20 +98864,21 @@ B53e01e781ac2515fa0793daab213d71ad4395297e2cdffcf6fc0dbe8ec3b9b78:0 B6bee629618f7aed73a701c06da32d8f400d62c1e3b4720fd16548d2ea95b5882:0@6bee629618f7aed73a701c06da32d8f400d62c1e3b4720fd16548d2ea95b5882""1EmPkLJYtfd4ndWSpsJs5XDY7TkJ6571YU"UOP_DUP OP_HASH160 96feed042f62c4f92b0a989ebb6918a17c9bc5cc OP_EQUALVERIFY OP_CHECKSIG*276a91496feed042f62c4f92b0a989ebb6918a17c9bc5cc88ac*"1EmPkLJYtfd4ndWSpsJs5XDY7TkJ6571YU8#J " B1f29c5b56de534ebc3f6ac5dc61752f15c241940303ecc1fd45e173ff965ff0b:0'@1f29c5b56de534ebc3f6ac5dc61752f15c241940303ecc1fd45e173ff965ff0b""1AyyuP15aRwxw5ft8D76GAVDU5smPNjKgV"UOP_DUP OP_HASH160 6d7fed1cf7d84ce335c1046bf11b82b81827c0e3 OP_EQUALVERIFY OP_CHECKSIG*276a9146d7fed1cf7d84ce335c1046bf11b82b81827c0e388ac*"1AyyuP15aRwxw5ft8D76GAVDU5smPNjKgV8#J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:136g@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1KpzipmYB5MEkLjmTr1oUR5VRxEcv3NkJc"UOP_DUP OP_HASH160 ce85ff5953e026d7b825faa3186c23c8b31b9839 OP_EQUALVERIFY OP_CHECKSIG*276a914ce85ff5953e026d7b825faa3186c23c8b31b983988ac*"1KpzipmYB5MEkLjmTr1oUR5VRxEcv3NkJc8"J " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:135z@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1A82pWgdSFDSrRc7ieQxYxkUBR3obnjHJE"UOP_DUP OP_HASH160 640d8ff64d383a36e841fda7b6f7356f66b338b6 OP_EQUALVERIFY OP_CHECKSIG*276a914640d8ff64d383a36e841fda7b6f7356f66b338b688ac*"1A82pWgdSFDSrRc7ieQxYxkUBR3obnjHJE8"J " -Ba9034d812ad6d8acfc8e6b595b38c13e6192e8a82119b0dc6f1b0f5b1b7a0b7c:0@a9034d812ad6d8acfc8e6b595b38c13e6192e8a82119b0dc6f1b0f5b1b7a0b7c""1Axghv6xmRCQuYMMHEzeBPau9aYLqXWPdi"UOP_DUP OP_HASH160 6d412785ca5855865160885d8792fd77ce0b9293 OP_EQUALVERIFY OP_CHECKSIG*276a9146d412785ca5855865160885d8792fd77ce0b929388ac*"1Axghv6xmRCQuYMMHEzeBPau9aYLqXWPdi8#J " +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:135z@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1A82pWgdSFDSrRc7ieQxYxkUBR3obnjHJE"UOP_DUP OP_HASH160 640d8ff64d383a36e841fda7b6f7356f66b338b6 OP_EQUALVERIFY OP_CHECKSIG*276a914640d8ff64d383a36e841fda7b6f7356f66b338b688ac*"1A82pWgdSFDSrRc7ieQxYxkUBR3obnjHJE8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:138І@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1Ftp9ey6DGAY5ofPsSyBCvXibHQAtNsnrx"UOP_DUP OP_HASH160 a35e554d2a3cf4318b1c3007b63f552d278b2efc OP_EQUALVERIFY OP_CHECKSIG*276a914a35e554d2a3cf4318b1c3007b63f552d278b2efc88ac*"1Ftp9ey6DGAY5ofPsSyBCvXibHQAtNsnrx8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:137 @4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1PK1XZpUczg7SVjoYP6brmN8aTnwbboXpA"UOP_DUP OP_HASH160 f4bab1c8d0300f3c206e661db7e107f0d7a8cca7 OP_EQUALVERIFY OP_CHECKSIG*276a914f4bab1c8d0300f3c206e661db7e107f0d7a8cca788ac*"1PK1XZpUczg7SVjoYP6brmN8aTnwbboXpA8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:139л@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1EtPJoJMao1hERpWTXuUhdgCveWm3cncqM"UOP_DUP OP_HASH160 98517856d364122e8db2cf7cf5461ec87369dfec OP_EQUALVERIFY OP_CHECKSIG*276a91498517856d364122e8db2cf7cf5461ec87369dfec88ac*"1EtPJoJMao1hERpWTXuUhdgCveWm3cncqM8"J " -B940b795fba2255b12c5d77cf79cd2a154d0bfdffd04b22ca5c8747c571d43ebc:1@940b795fba2255b12c5d77cf79cd2a154d0bfdffd04b22ca5c8747c571d43ebc""1ApzuhEMbdoVMBFnwe2JCGdDeVxLPe5NSy"UOP_DUP OP_HASH160 6bcd0597dd78bda4906b49b1ca70caf4e17319d7 OP_EQUALVERIFY OP_CHECKSIG*276a9146bcd0597dd78bda4906b49b1ca70caf4e17319d788ac*"1ApzuhEMbdoVMBFnwe2JCGdDeVxLPe5NSy8#J " -B8598563ec3c0db30f73eea402cf55cf7e1f4c2dc76ac1a2256aa5414bc9d3573:0@8598563ec3c0db30f73eea402cf55cf7e1f4c2dc76ac1a2256aa5414bc9d3573""1HUwDq4faXJfErvDsRg3j3S1gdGqQoPX2C"UOP_DUP OP_HASH160 b4ca814c851ec907d506b11fffa35808de243bd0 OP_EQUALVERIFY OP_CHECKSIG*276a914b4ca814c851ec907d506b11fffa35808de243bd088ac*"1HUwDq4faXJfErvDsRg3j3S1gdGqQoPX2C8$J " +B940b795fba2255b12c5d77cf79cd2a154d0bfdffd04b22ca5c8747c571d43ebc:1@940b795fba2255b12c5d77cf79cd2a154d0bfdffd04b22ca5c8747c571d43ebc""1ApzuhEMbdoVMBFnwe2JCGdDeVxLPe5NSy"UOP_DUP OP_HASH160 6bcd0597dd78bda4906b49b1ca70caf4e17319d7 OP_EQUALVERIFY OP_CHECKSIG*276a9146bcd0597dd78bda4906b49b1ca70caf4e17319d788ac*"1ApzuhEMbdoVMBFnwe2JCGdDeVxLPe5NSy8#J " +B10523e29649d2746ab7880c8579e75273e649a98222a6895d6f8829303641439:0@10523e29649d2746ab7880c8579e75273e649a98222a6895d6f8829303641439""1GrBoe77FhGH857barb6TFNQzAtEu9JS5e"UOP_DUP OP_HASH160 add749a812e0b05cbc175b7c6c90e87f1083c0d5 OP_EQUALVERIFY OP_CHECKSIG*276a914add749a812e0b05cbc175b7c6c90e87f1083c0d588ac*"1GrBoe77FhGH857barb6TFNQzAtEu9JS5e8$J " Bd2b9aafed34858ecfe1cdccec34e7f25d3f400b6d611b6a0c9ea0d577919f68b:0@d2b9aafed34858ecfe1cdccec34e7f25d3f400b6d611b6a0c9ea0d577919f68b""1BaUF8qHFj3TubGCMRHUcTapq5RKcmv1Jg"UOP_DUP OP_HASH160 7405b9fa817c44c99269f16b512c4519e3c6b509 OP_EQUALVERIFY OP_CHECKSIG*276a9147405b9fa817c44c99269f16b512c4519e3c6b50988ac*"1BaUF8qHFj3TubGCMRHUcTapq5RKcmv1Jg8#J " Bececae39358b2a162419d4b077ffdfac9b22b530e1993c0758c6e334d5d943bb:0o@ececae39358b2a162419d4b077ffdfac9b22b530e1993c0758c6e334d5d943bb""16pjZZMb26ykkcMSBXuopuF9fPPXFcxqRu"UOP_DUP OP_HASH160 3fdfb5217c4cfeded88c27e4aa3895e8373e7a51 OP_EQUALVERIFY OP_CHECKSIG*276a9143fdfb5217c4cfeded88c27e4aa3895e8373e7a5188ac*"16pjZZMb26ykkcMSBXuopuF9fPPXFcxqRu8#J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:132@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1CDuh9HLzFMZUec5kVd7ZVbt1zFEHA7KEu"UOP_DUP OP_HASH160 7b1a5c3e687c7cf4ab2e542e2e7975027bc527b2 OP_EQUALVERIFY OP_CHECKSIG*276a9147b1a5c3e687c7cf4ab2e542e2e7975027bc527b288ac*"1CDuh9HLzFMZUec5kVd7ZVbt1zFEHA7KEu8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:131ؚ@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""13ZMd5X6C7MJw3CwQiyjVA1hQZpe2ve7Ap"UOP_DUP OP_HASH160 1c0ec6d9272d9642db385f8a650a7096c5a0dfb7 OP_EQUALVERIFY OP_CHECKSIG*276a9141c0ec6d9272d9642db385f8a650a7096c5a0dfb788ac*"13ZMd5X6C7MJw3CwQiyjVA1hQZpe2ve7Ap8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:134@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1AgpgfDegJThjRjrkY9Z46HFHyvdYyQKrh"UOP_DUP OP_HASH160 6a4128b28b42db4dddfc506d448294e9368d58c1 OP_EQUALVERIFY OP_CHECKSIG*276a9146a4128b28b42db4dddfc506d448294e9368d58c188ac*"1AgpgfDegJThjRjrkY9Z46HFHyvdYyQKrh8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:133@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1J8RFw9Zj5WgVQQQkuC8BjfPd2ZHLJmfjT"UOP_DUP OP_HASH160 bbe14c96e6c11afdf035969c6ce84d94b433ee87 OP_EQUALVERIFY OP_CHECKSIG*276a914bbe14c96e6c11afdf035969c6ce84d94b433ee8788ac*"1J8RFw9Zj5WgVQQQkuC8BjfPd2ZHLJmfjT8"J " -Bf957a05770ab6b2d1492508833f91e30b2d27e53333e672a08aaa7699c3e13ce:0 @f957a05770ab6b2d1492508833f91e30b2d27e53333e672a08aaa7699c3e13ce""1FSDRBf2hYZA5xZ44pDxtvG89SDN3F2kaX"UOP_DUP OP_HASH160 9e568671d4478eec93fcbde324b6a4b6efb0fb42 OP_EQUALVERIFY OP_CHECKSIG*276a9149e568671d4478eec93fcbde324b6a4b6efb0fb4288ac*"1FSDRBf2hYZA5xZ44pDxtvG89SDN3F2kaX8$J " +Bf957a05770ab6b2d1492508833f91e30b2d27e53333e672a08aaa7699c3e13ce:0 @f957a05770ab6b2d1492508833f91e30b2d27e53333e672a08aaa7699c3e13ce""1FSDRBf2hYZA5xZ44pDxtvG89SDN3F2kaX"UOP_DUP OP_HASH160 9e568671d4478eec93fcbde324b6a4b6efb0fb42 OP_EQUALVERIFY OP_CHECKSIG*276a9149e568671d4478eec93fcbde324b6a4b6efb0fb4288ac*"1FSDRBf2hYZA5xZ44pDxtvG89SDN3F2kaX8$J " +Ba3272201f18746d6dd2f735db45841a8937ce69df87a7d8e31c10739493c844b:0t@a3272201f18746d6dd2f735db45841a8937ce69df87a7d8e31c10739493c844b""19cMASoQ9gk9t2LcsmFZDJAqBpLPQuPRS5"UOP_DUP OP_HASH160 5e706561ef45b9bae1ba5b4ea2d0fdedb0e2c520 OP_EQUALVERIFY OP_CHECKSIG*276a9145e706561ef45b9bae1ba5b4ea2d0fdedb0e2c52088ac*"19cMASoQ9gk9t2LcsmFZDJAqBpLPQuPRS58С$J " +B0985aba4ca23ebb7e75d325eb00c3c5c059117deaad8cd8669cd9a500437a22f:1@0985aba4ca23ebb7e75d325eb00c3c5c059117deaad8cd8669cd9a500437a22f""1DcW7E2NiHuEATVvEopzzBzc8SuBAxv3Jk"UOP_DUP OP_HASH160 8a585d9a3f5d3134ebfd4c135a6f547df7085563 OP_EQUALVERIFY OP_CHECKSIG*276a9148a585d9a3f5d3134ebfd4c135a6f547df708556388ac*"1DcW7E2NiHuEATVvEopzzBzc8SuBAxv3Jk8ɠ$J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:125}@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1Kadf6pDmJd5hC4D83HZaqAnfMhVX3tG8i"UOP_DUP OP_HASH160 cbce972a24b0c9d7964d06a20ac60af393a86b1d OP_EQUALVERIFY OP_CHECKSIG*276a914cbce972a24b0c9d7964d06a20ac60af393a86b1d88ac*"1Kadf6pDmJd5hC4D83HZaqAnfMhVX3tG8i8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:124|@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""17JxTWEcbkRXUo5zkWpvLZc19xy3GwyAcp"UOP_DUP OP_HASH160 45361e83b646386240be76db4de44c184af97732 OP_EQUALVERIFY OP_CHECKSIG*276a91445361e83b646386240be76db4de44c184af9773288ac*"17JxTWEcbkRXUo5zkWpvLZc19xy3GwyAcp8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:127@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1Av7Ks15bN73u1s2AAQ7rpgEbjdUzWTCN7"UOP_DUP OP_HASH160 6cc4754291194e420f7126659142ab6f739188f5 OP_EQUALVERIFY OP_CHECKSIG*276a9146cc4754291194e420f7126659142ab6f739188f588ac*"1Av7Ks15bN73u1s2AAQ7rpgEbjdUzWTCN78"J " @@ -91980,132 +98888,146 @@ B8f28c760a1ef52c0ea7f9fd2f86695c1fb6305ba26becd14ffa770eecd79fad4:0 D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:128@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5"!1ypACsyRYWUX4vWGQs7G4oG3FCiSrQuJf"UOP_DUP OP_HASH160 0abea8f35ded57a34000468f137c7798ef0300a2 OP_EQUALVERIFY OP_CHECKSIG*276a9140abea8f35ded57a34000468f137c7798ef0300a288ac*!1ypACsyRYWUX4vWGQs7G4oG3FCiSrQuJf8"J " B2d2cb2cb2e9a1ba51e709371f0640e9d0b52cf6a71ff9e4482ad3d9935fd1a2e:0@2d2cb2cb2e9a1ba51e709371f0640e9d0b52cf6a71ff9e4482ad3d9935fd1a2e""1CX1r3t1E1wbkMJvMENE41dcBwKNnHQCqr"UOP_DUP OP_HASH160 7e569183bad4b523b3218c2a9fecb3e9f684db12 OP_EQUALVERIFY OP_CHECKSIG*276a9147e569183bad4b523b3218c2a9fecb3e9f684db1288ac*"1CX1r3t1E1wbkMJvMENE41dcBwKNnHQCqr8#J " Bfb8d824a0d9b6ffd7bef59c2c73747de7210426769ab3d468c839c2eb341607e:0@fb8d824a0d9b6ffd7bef59c2c73747de7210426769ab3d468c839c2eb341607e""13qM5yn48xKnZB69ZrhQETtEUyA6UaTiuJ"UOP_DUP OP_HASH160 1f14fc0b8973c7f0f12f4fc503ce4f7ddceacef1 OP_EQUALVERIFY OP_CHECKSIG*276a9141f14fc0b8973c7f0f12f4fc503ce4f7ddceacef188ac*"13qM5yn48xKnZB69ZrhQETtEUyA6UaTiuJ8#J " -B2bd222db0ea494af1ff9642db84a2d5d5ab48be6b27b7e239db73fe776cf76da:1@2bd222db0ea494af1ff9642db84a2d5d5ab48be6b27b7e239db73fe776cf76da""1FGs8h1K44LydN2F72RciJFtDD2aFYaqwu"UOP_DUP OP_HASH160 9c91d95633958551aab92ff062b67cb4cbcdee11 OP_EQUALVERIFY OP_CHECKSIG*276a9149c91d95633958551aab92ff062b67cb4cbcdee1188ac*"1FGs8h1K44LydN2F72RciJFtDD2aFYaqwu8#J  " B7aefb2dbe2a76e7ce58db6109caf46083b4720faf86aa41006b90ab698eccfe9:1@7aefb2dbe2a76e7ce58db6109caf46083b4720faf86aa41006b90ab698eccfe9""1JBQ1guu6YGfrEcKqHgNsVeopR9dUVTiUQ"UOP_DUP OP_HASH160 bc7181dd0c7c797a3d5c19a91535aef7cb5a8dce OP_EQUALVERIFY OP_CHECKSIG*276a914bc7181dd0c7c797a3d5c19a91535aef7cb5a8dce88ac*"1JBQ1guu6YGfrEcKqHgNsVeopR9dUVTiUQ8#J " B93235767d39c55bf118a0bfdb6d432e613a28991fae73cdadde0c4ac488b2872:0D@93235767d39c55bf118a0bfdb6d432e613a28991fae73cdadde0c4ac488b2872""12qCX9GE95z7auUNmf6GbjDWuJnY2DEQXa"UOP_DUP OP_HASH160 1415b546a004a1cfd3d2e90944a8ed5bbfde2fd6 OP_EQUALVERIFY OP_CHECKSIG*276a9141415b546a004a1cfd3d2e90944a8ed5bbfde2fd688ac*"12qCX9GE95z7auUNmf6GbjDWuJnY2DEQXa8"J " Be51295bb86bf615a04c7756d12c7b1f28ed07cebfe8497a4d84ceaf7f1fad238:0#@e51295bb86bf615a04c7756d12c7b1f28ed07cebfe8497a4d84ceaf7f1fad238""152PkhacqyKgEr6yCpS63kzTEDATzMfaBq"UOP_DUP OP_HASH160 2c23e9a79f1ba350859c89b9e47eb893542c297b OP_EQUALVERIFY OP_CHECKSIG*276a9142c23e9a79f1ba350859c89b9e47eb893542c297b88ac*"152PkhacqyKgEr6yCpS63kzTEDATzMfaBq8#J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:121yg@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1Fk3TDkSX5Z9BUbVpw7WFRocrR2LdUdhEx"UOP_DUP OP_HASH160 a1b5b1b7d2e688decf3ecc4f4af1e205832e2189 OP_EQUALVERIFY OP_CHECKSIG*276a914a1b5b1b7d2e688decf3ecc4f4af1e205832e218988ac*"1Fk3TDkSX5Z9BUbVpw7WFRocrR2LdUdhEx8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:120x@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1C4MNqkp2F79s79XMqaydSqPNsi5ksXAmm"UOP_DUP OP_HASH160 794ba418deaa0b402f0a487b0ddf6a2154e39feb OP_EQUALVERIFY OP_CHECKSIG*276a914794ba418deaa0b402f0a487b0ddf6a2154e39feb88ac*"1C4MNqkp2F79s79XMqaydSqPNsi5ksXAmm8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:123{g@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1JvFMeziAQcA96VAt6Db3NMqZG6Dd55dYB"UOP_DUP OP_HASH160 c48c2b0e4283e1bf10b806121a0681ade02c5a0e OP_EQUALVERIFY OP_CHECKSIG*276a914c48c2b0e4283e1bf10b806121a0681ade02c5a0e88ac*"1JvFMeziAQcA96VAt6Db3NMqZG6Dd55dYB8"J " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:122z@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""14BcnK78fdZk3VUV8xh18r4Kv1UeMS7tJj"UOP_DUP OP_HASH160 22ea67d88833e5831f7596c95c66c81fe44a532e OP_EQUALVERIFY OP_CHECKSIG*276a91422ea67d88833e5831f7596c95c66c81fe44a532e88ac*"14BcnK78fdZk3VUV8xh18r4Kv1UeMS7tJj8"J " +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:122z@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""14BcnK78fdZk3VUV8xh18r4Kv1UeMS7tJj"UOP_DUP OP_HASH160 22ea67d88833e5831f7596c95c66c81fe44a532e OP_EQUALVERIFY OP_CHECKSIG*276a91422ea67d88833e5831f7596c95c66c81fe44a532e88ac*"14BcnK78fdZk3VUV8xh18r4Kv1UeMS7tJj8"J " +B69b0676495240a58a8d6f0b8fe3b7d1d7278b1aff138095bfedbefba393f177c:0 @69b0676495240a58a8d6f0b8fe3b7d1d7278b1aff138095bfedbefba393f177c"!1CX9ZgGLYniHttCQonHFwXSdyukB35kUH"UOP_DUP OP_HASH160 022dbdd747f02f3d8e3f769e01634546de99df7f OP_EQUALVERIFY OP_CHECKSIG*276a914022dbdd747f02f3d8e3f769e01634546de99df7f88ac*!1CX9ZgGLYniHttCQonHFwXSdyukB35kUH8$J " +B9ef9ce423fe488a79403262cfceddb8a1c94ad3532fcdb94e4e0866038b79af0:0@9ef9ce423fe488a79403262cfceddb8a1c94ad3532fcdb94e4e0866038b79af0""1NRcY6vCVwmKQ273ydRNUQr38BkJkeeS3r"UOP_DUP OP_HASH160 eb0249e87096ac45a0bf6041735de4b5aa658aad OP_EQUALVERIFY OP_CHECKSIG*276a914eb0249e87096ac45a0bf6041735de4b5aa658aad88ac*"1NRcY6vCVwmKQ273ydRNUQr38BkJkeeS3r8$J " B14c52743b16d99a0a36dca5dbb5f85c58dbd13575f998402c41e6d1fa67aff24:1@14c52743b16d99a0a36dca5dbb5f85c58dbd13575f998402c41e6d1fa67aff24""18DqsawR8t4ogsH9vDbGSj8qZXiEHjWJSn"UOP_DUP OP_HASH160 4f36ab1f9409d8b400968788d5668712b7754c3c OP_EQUALVERIFY OP_CHECKSIG*276a9144f36ab1f9409d8b400968788d5668712b7754c3c88ac*"18DqsawR8t4ogsH9vDbGSj8qZXiEHjWJSn8#J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:116tg@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1FyWEceF2pDMCNcMwjCNn2uQSsfDT6ufEj"UOP_DUP OP_HASH160 a44175713fc041a25078249d78e30dc97791b09e OP_EQUALVERIFY OP_CHECKSIG*276a914a44175713fc041a25078249d78e30dc97791b09e88ac*"1FyWEceF2pDMCNcMwjCNn2uQSsfDT6ufEj8"J " Bc0044756145c771f821f4b51b78e84583d208bf8790f113648eaf6548f64cc50:07@c0044756145c771f821f4b51b78e84583d208bf8790f113648eaf6548f64cc50""1ENASwSJe89Qo2DmaoJMTwEhyZwuJrX4Rx"UOP_DUP OP_HASH160 929a41abade4ec2671c7e764421c22bd5580c475 OP_EQUALVERIFY OP_CHECKSIG*276a914929a41abade4ec2671c7e764421c22bd5580c47588ac*"1ENASwSJe89Qo2DmaoJMTwEhyZwuJrX4Rx8#J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:115s@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1GBDbFe6sf7kEspub2nibK8QtKAh91ZreX"UOP_DUP OP_HASH160 a6788e7318a0169fb8ea659ec1ad593d8273e48e OP_EQUALVERIFY OP_CHECKSIG*276a914a6788e7318a0169fb8ea659ec1ad593d8273e48e88ac*"1GBDbFe6sf7kEspub2nibK8QtKAh91ZreX8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:118v@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""167SU8mJsmzg1AE38xNA6S7KfXDdTis8Kr"UOP_DUP OP_HASH160 38106258466fa7e29fffaab689ff5c3df7eda417 OP_EQUALVERIFY OP_CHECKSIG*276a91438106258466fa7e29fffaab689ff5c3df7eda41788ac*"167SU8mJsmzg1AE38xNA6S7KfXDdTis8Kr8"J " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:117ug@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1JerucwVzpWzRf1c1HfwnLKPtjJgtH3Lnj"UOP_DUP OP_HASH160 c1a3307ab6d908d1b6137729500c6235e9eb6aec OP_EQUALVERIFY OP_CHECKSIG*276a914c1a3307ab6d908d1b6137729500c6235e9eb6aec88ac*"1JerucwVzpWzRf1c1HfwnLKPtjJgtH3Lnj8"J " +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:117ug@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1JerucwVzpWzRf1c1HfwnLKPtjJgtH3Lnj"UOP_DUP OP_HASH160 c1a3307ab6d908d1b6137729500c6235e9eb6aec OP_EQUALVERIFY OP_CHECKSIG*276a914c1a3307ab6d908d1b6137729500c6235e9eb6aec88ac*"1JerucwVzpWzRf1c1HfwnLKPtjJgtH3Lnj8"J " +B74a056ab554006a999893f0012ca9341a9e2e9a526ab601f15f2fbc18951b8b2:0 @74a056ab554006a999893f0012ca9341a9e2e9a526ab601f15f2fbc18951b8b2"!1VbZ41GDNdgjDL4hi5WojoKNBB97dGjyA"UOP_DUP OP_HASH160 05687d70cd61ba5c559f906ed2e00887064137df OP_EQUALVERIFY OP_CHECKSIG*276a91405687d70cd61ba5c559f906ed2e00887064137df88ac*!1VbZ41GDNdgjDL4hi5WojoKNBB97dGjyA8מ$J " Be46e998513cb0a072d485868b1f9a31bfb00cf23e0d0b84602638339fe494a9c:1@e46e998513cb0a072d485868b1f9a31bfb00cf23e0d0b84602638339fe494a9c""12qm92RmvanJk4DHTWpKvTQC65CXwwnFwR"UOP_DUP OP_HASH160 1430efd1ad14e5bafb2efa5c3a03ff2ce8085337 OP_EQUALVERIFY OP_CHECKSIG*276a9141430efd1ad14e5bafb2efa5c3a03ff2ce808533788ac*"12qm92RmvanJk4DHTWpKvTQC65CXwwnFwR8$J " B93f6115744a4edb7c416174b892049e557e92d50eaaaa5a70e048f4c62573d61:05@93f6115744a4edb7c416174b892049e557e92d50eaaaa5a70e048f4c62573d61""12i8vkWCCmHXvV85VPUFyc8FF4qK3oTvoe"UOP_DUP OP_HASH160 12bfcc0faa9731bcfcc75f18c24cef2e05ebfc01 OP_EQUALVERIFY OP_CHECKSIG*276a91412bfcc0faa9731bcfcc75f18c24cef2e05ebfc0188ac*"12i8vkWCCmHXvV85VPUFyc8FF4qK3oTvoe8#J " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:110n@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""18VMp5pwiNMspSzMw8paMSZXkNaSvnUTSt"UOP_DUP OP_HASH160 5225e67482175cdcf915c4f43041945c88e42681 OP_EQUALVERIFY OP_CHECKSIG*276a9145225e67482175cdcf915c4f43041945c88e4268188ac*"18VMp5pwiNMspSzMw8paMSZXkNaSvnUTSt8"J " +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:110n@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""18VMp5pwiNMspSzMw8paMSZXkNaSvnUTSt"UOP_DUP OP_HASH160 5225e67482175cdcf915c4f43041945c88e42681 OP_EQUALVERIFY OP_CHECKSIG*276a9145225e67482175cdcf915c4f43041945c88e4268188ac*"18VMp5pwiNMspSzMw8paMSZXkNaSvnUTSt8"J " +B14b5b298071866d8e9ed58829ce4becf3870a863e78c54b9ed2c2e6382f8ea3c:0@14b5b298071866d8e9ed58829ce4becf3870a863e78c54b9ed2c2e6382f8ea3c""19DF1WXttiSvjhFkg7jqeKVDo4FctiaphU"UOP_DUP OP_HASH160 5a11b116a0c626b11ff4d38ed667222b425d5ea1 OP_EQUALVERIFY OP_CHECKSIG*276a9145a11b116a0c626b11ff4d38ed667222b425d5ea188ac*"19DF1WXttiSvjhFkg7jqeKVDo4FctiaphU8ԟ$J " B221af779743bdc07e3a8c9f8f093cad186142721d8fb4111473b349096b6481d:0@221af779743bdc07e3a8c9f8f093cad186142721d8fb4111473b349096b6481d""1MX4rWUwwHquN7J57T2WyjaZFuZr47P2GQ"UOP_DUP OP_HASH160 e112361abbe270ac9550a4dd56c9b970cb6de448 OP_EQUALVERIFY OP_CHECKSIG*276a914e112361abbe270ac9550a4dd56c9b970cb6de44888ac*"1MX4rWUwwHquN7J57T2WyjaZFuZr47P2GQ8#J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:112p^@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""13PkbucK5JcBTBC2nRNUdHyfr2knYzJVrV"UOP_DUP OP_HASH160 1a3dccba1af66b445b62150306ea261ce8478bcf OP_EQUALVERIFY OP_CHECKSIG*276a9141a3dccba1af66b445b62150306ea261ce8478bcf88ac*"13PkbucK5JcBTBC2nRNUdHyfr2knYzJVrV8"J " Bfe3235e14d023cb7157fcd82d5961fbf8446e60569c4fdac940f62fd072f47a8:0@fe3235e14d023cb7157fcd82d5961fbf8446e60569c4fdac940f62fd072f47a8""1ArF6kSsG1USMdzsEqQPYq4dJx4tu6EHhY"UOP_DUP OP_HASH160 6c094895cf360427cda286a1c298050df9777c54 OP_EQUALVERIFY OP_CHECKSIG*276a9146c094895cf360427cda286a1c298050df9777c5488ac*"1ArF6kSsG1USMdzsEqQPYq4dJx4tu6EHhY8#J " -Bcc51e3f86c82b724b3d211321a0ca3ed1787fc93929e8fa872f81f3b7824a9ce:1@cc51e3f86c82b724b3d211321a0ca3ed1787fc93929e8fa872f81f3b7824a9ce""1Q1GrqNpSXkx9XsaXQjxcr9A9uHc6qTyT9"UOP_DUP OP_HASH160 fc5821b25110f3e0629b28ebe5424f6d68d79f0c OP_EQUALVERIFY OP_CHECKSIG*276a914fc5821b25110f3e0629b28ebe5424f6d68d79f0c88ac*"1Q1GrqNpSXkx9XsaXQjxcr9A9uHc6qTyT98$J " -Bb53c55996855b7ea9fda260d3bbe63a2bbda0ee31df2a4b1b322c54dd881c627:1@b53c55996855b7ea9fda260d3bbe63a2bbda0ee31df2a4b1b322c54dd881c627""1As5RLs2oT1kmUFznD8swHpjzj3LHq2f85"UOP_DUP OP_HASH160 6c319e98f0dcc4ae7a59a586c61c52f2fc10f030 OP_EQUALVERIFY OP_CHECKSIG*276a9146c319e98f0dcc4ae7a59a586c61c52f2fc10f03088ac*"1As5RLs2oT1kmUFznD8swHpjzj3LHq2f858#J " +Bcc51e3f86c82b724b3d211321a0ca3ed1787fc93929e8fa872f81f3b7824a9ce:1@cc51e3f86c82b724b3d211321a0ca3ed1787fc93929e8fa872f81f3b7824a9ce""1Q1GrqNpSXkx9XsaXQjxcr9A9uHc6qTyT9"UOP_DUP OP_HASH160 fc5821b25110f3e0629b28ebe5424f6d68d79f0c OP_EQUALVERIFY OP_CHECKSIG*276a914fc5821b25110f3e0629b28ebe5424f6d68d79f0c88ac*"1Q1GrqNpSXkx9XsaXQjxcr9A9uHc6qTyT98$J " B4ca8d89f823fdcdb664f7e555a3fdd6800fb64e9fb6a40a9d2674573f79734c5:1@4ca8d89f823fdcdb664f7e555a3fdd6800fb64e9fb6a40a9d2674573f79734c5"!1E9P6PqgYgxh87bAvmH4NtjBC8UeZfVcb"UOP_DUP OP_HASH160 027c674e3f8afe485a23baa87d218065f6f250b1 OP_EQUALVERIFY OP_CHECKSIG*276a914027c674e3f8afe485a23baa87d218065f6f250b188ac*!1E9P6PqgYgxh87bAvmH4NtjBC8UeZfVcb8#J " Bb737aa81a63ff31e9c7ba1aa42f45b84d42434bc1868ee8a3a30ef60c284beca:1r@b737aa81a63ff31e9c7ba1aa42f45b84d42434bc1868ee8a3a30ef60c284beca""1ASZeoT7b55R7aGz2L5ehk6u2VwmzMyq3P"UOP_DUP OP_HASH160 678ec992e876222d366be8497dbe4b3787d751a8 OP_EQUALVERIFY OP_CHECKSIG*276a914678ec992e876222d366be8497dbe4b3787d751a888ac*"1ASZeoT7b55R7aGz2L5ehk6u2VwmzMyq3P8#J " Bdea66f7f7da4de906ed3f90fc217eb9cd7ff60cd37bc4d9972e7f0058fe72cfc:0@dea66f7f7da4de906ed3f90fc217eb9cd7ff60cd37bc4d9972e7f0058fe72cfc""15XEzjLs8S3gSiaT6YS1eRS6DLobd1xA2s"UOP_DUP OP_HASH160 3198aa2ac1f55e78800a002f4dc179ab709e1151 OP_EQUALVERIFY OP_CHECKSIG*276a9143198aa2ac1f55e78800a002f4dc179ab709e115188ac*"15XEzjLs8S3gSiaT6YS1eRS6DLobd1xA2s8#J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:103gN@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1Ga16jsS4pPcuncvDuDBUiqhZoiyg64BZw"UOP_DUP OP_HASH160 aac7b2334f824ca20b3a41c4e559b3dd89912344 OP_EQUALVERIFY OP_CHECKSIG*276a914aac7b2334f824ca20b3a41c4e559b3dd8991234488ac*"1Ga16jsS4pPcuncvDuDBUiqhZoiyg64BZw8"J " -B4d618f9f763bc60689603a35cda3176a184f81881b0975a3d8b712948db3b30c:0@4d618f9f763bc60689603a35cda3176a184f81881b0975a3d8b712948db3b30c""1FhFdnzJhimCaJHy11QM9Df7y3PfKXbzrm"UOP_DUP OP_HASH160 a12e9d97848d78711d828951bf53a3b6ce650f1a OP_EQUALVERIFY OP_CHECKSIG*276a914a12e9d97848d78711d828951bf53a3b6ce650f1a88ac*"1FhFdnzJhimCaJHy11QM9Df7y3PfKXbzrm8"J " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:105iC@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1Ly7r2k7onRL6EaoBJgT7Ku23XrGNvzGN6"UOP_DUP OP_HASH160 db0765e0a2ac7e711b6540363b81821be650fb31 OP_EQUALVERIFY OP_CHECKSIG*276a914db0765e0a2ac7e711b6540363b81821be650fb3188ac*"1Ly7r2k7onRL6EaoBJgT7Ku23XrGNvzGN68"J " -Bc89cb891908ca06bc7b1ccc9d8a8a93acb7f9d38c7ee0447a39d6ccf2be01b75:0@c89cb891908ca06bc7b1ccc9d8a8a93acb7f9d38c7ee0447a39d6ccf2be01b75""1GaZzx7fxRD4irWbNyPFsqyaiUYBm2W91C"UOP_DUP OP_HASH160 aae328e82a5696797c3a1fa3baac5781a3536776 OP_EQUALVERIFY OP_CHECKSIG*276a914aae328e82a5696797c3a1fa3baac5781a353677688ac*"1GaZzx7fxRD4irWbNyPFsqyaiUYBm2W91C8׌$J " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:104h@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1Hs56fpjJ4oCoVtjmvGmhkY6cs1Kr1ivzv"UOP_DUP OP_HASH160 b8fa3b33ae4fcf303322352285db6bd83f1ea665 OP_EQUALVERIFY OP_CHECKSIG*276a914b8fa3b33ae4fcf303322352285db6bd83f1ea66588ac*"1Hs56fpjJ4oCoVtjmvGmhkY6cs1Kr1ivzv8"J " +B4d618f9f763bc60689603a35cda3176a184f81881b0975a3d8b712948db3b30c:0@4d618f9f763bc60689603a35cda3176a184f81881b0975a3d8b712948db3b30c""1FhFdnzJhimCaJHy11QM9Df7y3PfKXbzrm"UOP_DUP OP_HASH160 a12e9d97848d78711d828951bf53a3b6ce650f1a OP_EQUALVERIFY OP_CHECKSIG*276a914a12e9d97848d78711d828951bf53a3b6ce650f1a88ac*"1FhFdnzJhimCaJHy11QM9Df7y3PfKXbzrm8"J " +B0848b0e59646c529664a97d72f88dc93184c2cd2fedebea14dd5a4d008274f81:1@0848b0e59646c529664a97d72f88dc93184c2cd2fedebea14dd5a4d008274f81""15jGsbA5aYuwVb1WjBzsSFizkAJJePHh6j"UOP_DUP OP_HASH160 33df391628cccf382aa4673cd6176f5bc0d0db72 OP_EQUALVERIFY OP_CHECKSIG*276a91433df391628cccf382aa4673cd6176f5bc0d0db7288ac*"15jGsbA5aYuwVb1WjBzsSFizkAJJePHh6j8$J " +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:105iC@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1Ly7r2k7onRL6EaoBJgT7Ku23XrGNvzGN6"UOP_DUP OP_HASH160 db0765e0a2ac7e711b6540363b81821be650fb31 OP_EQUALVERIFY OP_CHECKSIG*276a914db0765e0a2ac7e711b6540363b81821be650fb3188ac*"1Ly7r2k7onRL6EaoBJgT7Ku23XrGNvzGN68"J " +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:104h@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1Hs56fpjJ4oCoVtjmvGmhkY6cs1Kr1ivzv"UOP_DUP OP_HASH160 b8fa3b33ae4fcf303322352285db6bd83f1ea665 OP_EQUALVERIFY OP_CHECKSIG*276a914b8fa3b33ae4fcf303322352285db6bd83f1ea66588ac*"1Hs56fpjJ4oCoVtjmvGmhkY6cs1Kr1ivzv8"J " +B0848b0e59646c529664a97d72f88dc93184c2cd2fedebea14dd5a4d008274f81:0+@0848b0e59646c529664a97d72f88dc93184c2cd2fedebea14dd5a4d008274f81""17Ya3BvtkicGfn4TPMzLsxP5DqCxcrys71"UOP_DUP OP_HASH160 47c93a6005184b1b8a25b3d8e300216e30da2063 OP_EQUALVERIFY OP_CHECKSIG*276a91447c93a6005184b1b8a25b3d8e300216e30da206388ac*"17Ya3BvtkicGfn4TPMzLsxP5DqCxcrys718$J " +B7c646fab646890060f33c823090b3fdfe2de60318e48bfb7b202a4bab6bde2f9:0 @7c646fab646890060f33c823090b3fdfe2de60318e48bfb7b202a4bab6bde2f9""1A2zqprEgV3EgGFCPGWnAQQQdak9oqheBK"UOP_DUP OP_HASH160 6319d4f92ecf8f892c7f37e22a9db0e9cdf51a31 OP_EQUALVERIFY OP_CHECKSIG*276a9146319d4f92ecf8f892c7f37e22a9db0e9cdf51a3188ac*"1A2zqprEgV3EgGFCPGWnAQQQdak9oqheBK8$J " B2b21e79977decbf2a52f065454df7c1f4e1a089f3d52508f3f1c89ad51d8b028:08@2b21e79977decbf2a52f065454df7c1f4e1a089f3d52508f3f1c89ad51d8b028""1KJi5d2NNxdxpEGQYun7ead5hmEMZceC1q"UOP_DUP OP_HASH160 c8cba085eaf09f4076b69a8024b6af5ea76bb762 OP_EQUALVERIFY OP_CHECKSIG*276a914c8cba085eaf09f4076b69a8024b6af5ea76bb76288ac*"1KJi5d2NNxdxpEGQYun7ead5hmEMZceC1q8#J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:109m@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1PdRoXYrpLHrgAuRPZ3kBAwzQnso6Av2CN"UOP_DUP OP_HASH160 f8367218a6f352b258b8e2480e524b7f20ab7f01 OP_EQUALVERIFY OP_CHECKSIG*276a914f8367218a6f352b258b8e2480e524b7f20ab7f0188ac*"1PdRoXYrpLHrgAuRPZ3kBAwzQnso6Av2CN8"J " B29e513f77d31c7f02cef289f99dad41435435e93eae7ec330ebbd4635e3adde2:0x@29e513f77d31c7f02cef289f99dad41435435e93eae7ec330ebbd4635e3adde2""1KxkHM5XiehkrjjEW1MPyWTgDZyBS3jJ2a"UOP_DUP OP_HASH160 cffd45988ec1d415f377b9ab51adc2296b6f1595 OP_EQUALVERIFY OP_CHECKSIG*276a914cffd45988ec1d415f377b9ab51adc2296b6f159588ac*"1KxkHM5XiehkrjjEW1MPyWTgDZyBS3jJ2a8#J " -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:108l @4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5"!1ipWn42vu2G6vqmig2aoLZArVqoeyAGkd"UOP_DUP OP_HASH160 07e8b77425e23bdfc9a67b97c54d08ced349b2cb OP_EQUALVERIFY OP_CHECKSIG*276a91407e8b77425e23bdfc9a67b97c54d08ced349b2cb88ac*!1ipWn42vu2G6vqmig2aoLZArVqoeyAGkd8"J " -Bcd3a8f669dfd753216fca3a56fa3b3195f731af0df128976d008a888417012e5:0@cd3a8f669dfd753216fca3a56fa3b3195f731af0df128976d008a888417012e5""1DwygManFrN3WcDeq4ZA5TKo5LFnXXSyTc"UOP_DUP OP_HASH160 8e0748c13333520b808d2632fb5bf5149bcb1fc9 OP_EQUALVERIFY OP_CHECKSIG*276a9148e0748c13333520b808d2632fb5bf5149bcb1fc988ac*"1DwygManFrN3WcDeq4ZA5TKo5LFnXXSyTc8$J " -Be18d306b9be173e25dd01b6f8662c1788a501c98fe160e0e3c764297420075c5:0@e18d306b9be173e25dd01b6f8662c1788a501c98fe160e0e3c764297420075c5""1MqsBquHFG9Vfmykur455Zn8ewQ448gHCt"UOP_DUP OP_HASH160 e4a060344af4f415ed2705178e7f2bbe201b3b8c OP_EQUALVERIFY OP_CHECKSIG*276a914e4a060344af4f415ed2705178e7f2bbe201b3b8c88ac*"1MqsBquHFG9Vfmykur455Zn8ewQ448gHCt8#J  " +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:108l @4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5"!1ipWn42vu2G6vqmig2aoLZArVqoeyAGkd"UOP_DUP OP_HASH160 07e8b77425e23bdfc9a67b97c54d08ced349b2cb OP_EQUALVERIFY OP_CHECKSIG*276a91407e8b77425e23bdfc9a67b97c54d08ced349b2cb88ac*!1ipWn42vu2G6vqmig2aoLZArVqoeyAGkd8"J " +Be18d306b9be173e25dd01b6f8662c1788a501c98fe160e0e3c764297420075c5:0@e18d306b9be173e25dd01b6f8662c1788a501c98fe160e0e3c764297420075c5""1MqsBquHFG9Vfmykur455Zn8ewQ448gHCt"UOP_DUP OP_HASH160 e4a060344af4f415ed2705178e7f2bbe201b3b8c OP_EQUALVERIFY OP_CHECKSIG*276a914e4a060344af4f415ed2705178e7f2bbe201b3b8c88ac*"1MqsBquHFG9Vfmykur455Zn8ewQ448gHCt8#J  " +B5c211d5ddfb3172135d88e3c169dec3979eedd922e1e1a71d376b6c89f7be292:0e@5c211d5ddfb3172135d88e3c169dec3979eedd922e1e1a71d376b6c89f7be292""1Frtmwz8EYrzs1Ax3LCz92v5wPtLj2ENiH"UOP_DUP OP_HASH160 a3015cd7a510352a3942fe99d269935143aeee26 OP_EQUALVERIFY OP_CHECKSIG*276a914a3015cd7a510352a3942fe99d269935143aeee2688ac*"1Frtmwz8EYrzs1Ax3LCz92v5wPtLj2ENiH8$J " +Bec81e64ce9fb5821c1748df25bfd5f70811112fd9c5dcac5345c35963ab04977:0@ec81e64ce9fb5821c1748df25bfd5f70811112fd9c5dcac5345c35963ab04977""1JMSZ6w3FKXcbuBddJrbfzUkDggv2m5ZG8"UOP_DUP OP_HASH160 be57c9dd910c9f71cc0eac23e5e696b091e72f29 OP_EQUALVERIFY OP_CHECKSIG*276a914be57c9dd910c9f71cc0eac23e5e696b091e72f2988ac*"1JMSZ6w3FKXcbuBddJrbfzUkDggv2m5ZG88$J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:101e@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1FsuyBfajMAwnqy224fTuDqJzimFm7XayM"UOP_DUP OP_HASH160 a332c66cb266bcfec2450bb5b7ee554a30c02fc2 OP_EQUALVERIFY OP_CHECKSIG*276a914a332c66cb266bcfec2450bb5b7ee554a30c02fc288ac*"1FsuyBfajMAwnqy224fTuDqJzimFm7XayM8"J " D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:100d @4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""113Dq5DCPE4RMGuBkzF1k9vtw83xzuJk2w"UOP_DUP OP_HASH160 006b8a784b7d7639df61ff18a12c3ab0f7371ba4 OP_EQUALVERIFY OP_CHECKSIG*276a914006b8a784b7d7639df61ff18a12c3ab0f7371ba488ac*"113Dq5DCPE4RMGuBkzF1k9vtw83xzuJk2w8"J " Bb94fc6d003f59eb70329f2c346f3ce28c784e768724b0b6efcc5346bd4a8b0a0:0ݘ@b94fc6d003f59eb70329f2c346f3ce28c784e768724b0b6efcc5346bd4a8b0a0""1Av4hT4hqaQAq4YWvwEgj7TEM6rvnNntwA"UOP_DUP OP_HASH160 6cc243b4023b133004e95a89b14413fff880760b OP_EQUALVERIFY OP_CHECKSIG*276a9146cc243b4023b133004e95a89b14413fff880760b88ac*"1Av4hT4hqaQAq4YWvwEgj7TEM6rvnNntwA8‹$J " -B87772a676c154bc7061d3a49d143314cbb9f89548e70f1f0660ee7bf2f5e4dd6:0@87772a676c154bc7061d3a49d143314cbb9f89548e70f1f0660ee7bf2f5e4dd6""1Hv241nQD3rpZE7mYmPkdqWEmUpL44wPa8"UOP_DUP OP_HASH160 b988efc7f0eacb12f1cafc5b6141f305fe386056 OP_EQUALVERIFY OP_CHECKSIG*276a914b988efc7f0eacb12f1cafc5b6141f305fe38605688ac*"1Hv241nQD3rpZE7mYmPkdqWEmUpL44wPa88"J " -Bcde5efe672b7c8dd6f55e3a246bdbd43761c12c21638ec79c9e4729cbe603dac:0@cde5efe672b7c8dd6f55e3a246bdbd43761c12c21638ec79c9e4729cbe603dac""1KhoJJEm1n98XUzPfQwRxi2imTi4Ecn38S"UOP_DUP OP_HASH160 cd298ce697dabb150b0a2e3405d37169232d16bd OP_EQUALVERIFY OP_CHECKSIG*276a914cd298ce697dabb150b0a2e3405d37169232d16bd88ac*"1KhoJJEm1n98XUzPfQwRxi2imTi4Ecn38S8$J " -B973873a0c1a08876ab047531758c5e5fcef67c06a9b7c9d5641b1f108d4669dc:0@973873a0c1a08876ab047531758c5e5fcef67c06a9b7c9d5641b1f108d4669dc""1L6vhjzgq9pUA67jGAyYLFAVzPF5WZ8Koh"UOP_DUP OP_HASH160 d1894c593dd8a747efc4f81993fa82f7bc582ded OP_EQUALVERIFY OP_CHECKSIG*276a914d1894c593dd8a747efc4f81993fa82f7bc582ded88ac*"1L6vhjzgq9pUA67jGAyYLFAVzPF5WZ8Koh8ȓ$J " +B87772a676c154bc7061d3a49d143314cbb9f89548e70f1f0660ee7bf2f5e4dd6:0@87772a676c154bc7061d3a49d143314cbb9f89548e70f1f0660ee7bf2f5e4dd6""1Hv241nQD3rpZE7mYmPkdqWEmUpL44wPa8"UOP_DUP OP_HASH160 b988efc7f0eacb12f1cafc5b6141f305fe386056 OP_EQUALVERIFY OP_CHECKSIG*276a914b988efc7f0eacb12f1cafc5b6141f305fe38605688ac*"1Hv241nQD3rpZE7mYmPkdqWEmUpL44wPa88"J " +B1a993224111358d496bbfa49d37630dba6b1542ef2831146952a8653659a9d99:0@1a993224111358d496bbfa49d37630dba6b1542ef2831146952a8653659a9d99""1F7VFThRHibR5G9ezhThg6os4X5gXcrKnE"UOP_DUP OP_HASH160 9acbd68cb55156e6caa9603dc42f46ede0e05d5f OP_EQUALVERIFY OP_CHECKSIG*276a9149acbd68cb55156e6caa9603dc42f46ede0e05d5f88ac*"1F7VFThRHibR5G9ezhThg6os4X5gXcrKnE8Ѡ$J " B1e050370ae5460288d42d3fde6b8786dc03da11bfc6c35a45e82bb40f52d852b:0L@1e050370ae5460288d42d3fde6b8786dc03da11bfc6c35a45e82bb40f52d852b"!1r1S27RuiPnRgSwBV9yDYiQ6CwWdfrH1y"UOP_DUP OP_HASH160 0944be01a856705f9e057ec3a3c0afda0c6e9625 OP_EQUALVERIFY OP_CHECKSIG*276a9140944be01a856705f9e057ec3a3c0afda0c6e962588ac*!1r1S27RuiPnRgSwBV9yDYiQ6CwWdfrH1y8$J " -Bb8d6960af7f8dad6360854c393adf5eb9c6c01ab65816fbc19391cc9affc4467:0!@b8d6960af7f8dad6360854c393adf5eb9c6c01ab65816fbc19391cc9affc4467""1B1Ur4u1tx3mZtdoQ9utXNKvVSXqcGZiU6"UOP_DUP OP_HASH160 6dc880a3988ada3d9948eca7e551055fdd948ea7 OP_EQUALVERIFY OP_CHECKSIG*276a9146dc880a3988ada3d9948eca7e551055fdd948ea788ac*"1B1Ur4u1tx3mZtdoQ9utXNKvVSXqcGZiU68"J " -B6d92efcdd26c09e8716c59d27794b3e59f2fb976b410789dfd9d82ad8aacca3b:0@6d92efcdd26c09e8716c59d27794b3e59f2fb976b410789dfd9d82ad8aacca3b""1CdzXinDz69ELVAsf21iF8FprDieBFjisH"UOP_DUP OP_HASH160 7fa861afc9b5f00e29fb0b00f584781495218336 OP_EQUALVERIFY OP_CHECKSIG*276a9147fa861afc9b5f00e29fb0b00f58478149521833688ac*"1CdzXinDz69ELVAsf21iF8FprDieBFjisH8$J " +Bb8d6960af7f8dad6360854c393adf5eb9c6c01ab65816fbc19391cc9affc4467:0!@b8d6960af7f8dad6360854c393adf5eb9c6c01ab65816fbc19391cc9affc4467""1B1Ur4u1tx3mZtdoQ9utXNKvVSXqcGZiU6"UOP_DUP OP_HASH160 6dc880a3988ada3d9948eca7e551055fdd948ea7 OP_EQUALVERIFY OP_CHECKSIG*276a9146dc880a3988ada3d9948eca7e551055fdd948ea788ac*"1B1Ur4u1tx3mZtdoQ9utXNKvVSXqcGZiU68"J " +B941ae72c1eaed1b16e7ec0db68930019a96554cc714411ee0d302444b1b94b91:0@941ae72c1eaed1b16e7ec0db68930019a96554cc714411ee0d302444b1b94b91""1KfeS5f3dwjm5LpTc3JEeXChnvjVTQZRZY"UOP_DUP OP_HASH160 ccc1515284f350098db59d9c3bd93ba5b3cece1f OP_EQUALVERIFY OP_CHECKSIG*276a914ccc1515284f350098db59d9c3bd93ba5b3cece1f88ac*"1KfeS5f3dwjm5LpTc3JEeXChnvjVTQZRZY8$J " +Bf8b3bb892177152891aa5ad49f9d7ecf92509c95a6a8fc04dad970828436bf1d:0 @f8b3bb892177152891aa5ad49f9d7ecf92509c95a6a8fc04dad970828436bf1d""1MzzW62PGEtc2zJJtGeYXj9QYAi6v9GFEz"UOP_DUP OP_HASH160 e65a39af079d2a3a4c947f1c3399d99ac0090b37 OP_EQUALVERIFY OP_CHECKSIG*276a914e65a39af079d2a3a4c947f1c3399d99ac0090b3788ac*"1MzzW62PGEtc2zJJtGeYXj9QYAi6v9GFEz8ڢ$J " +B6d92efcdd26c09e8716c59d27794b3e59f2fb976b410789dfd9d82ad8aacca3b:0@6d92efcdd26c09e8716c59d27794b3e59f2fb976b410789dfd9d82ad8aacca3b""1CdzXinDz69ELVAsf21iF8FprDieBFjisH"UOP_DUP OP_HASH160 7fa861afc9b5f00e29fb0b00f584781495218336 OP_EQUALVERIFY OP_CHECKSIG*276a9147fa861afc9b5f00e29fb0b00f58478149521833688ac*"1CdzXinDz69ELVAsf21iF8FprDieBFjisH8$J " +B2f8b517c0f09894f0fc761236c11f0a06a4ab171bab1dc257c6ed46f63fd220a:0@2f8b517c0f09894f0fc761236c11f0a06a4ab171bab1dc257c6ed46f63fd220a""1BC1ZkhTCMD2v5Ecgonpi5fpwH9PjntDMx"UOP_DUP OP_HASH160 6fc64e087a2fedc3f2fda572d698cd3a4b1a7145 OP_EQUALVERIFY OP_CHECKSIG*276a9146fc64e087a2fedc3f2fda572d698cd3a4b1a714588ac*"1BC1ZkhTCMD2v5Ecgonpi5fpwH9PjntDMx8ݚ$J " B14710def74ee197ffd575aee173e1e3e198fb86c6161f9f13cdc32f875fb2484:1@14710def74ee197ffd575aee173e1e3e198fb86c6161f9f13cdc32f875fb2484""12XEaJbKvQ2z7rCqnb2rnZJkU86ieZD8Fe"UOP_DUP OP_HASH160 10afef90e6c7d9f420fccf2f72cadd6a97b05336 OP_EQUALVERIFY OP_CHECKSIG*276a91410afef90e6c7d9f420fccf2f72cadd6a97b0533688ac*"12XEaJbKvQ2z7rCqnb2rnZJkU86ieZD8Fe8$J " +B33f0d23b25d9cfd204fe2859bbe33203d506f06a42e2e9d643cf4d8039d8c90b:0@33f0d23b25d9cfd204fe2859bbe33203d506f06a42e2e9d643cf4d8039d8c90b""1L54R1wvvD21617j1azqXQmWCdJauYJ8bT"UOP_DUP OP_HASH160 d12ee7569571a59c86eb4173cffc28f1dd9de798 OP_EQUALVERIFY OP_CHECKSIG*276a914d12ee7569571a59c86eb4173cffc28f1dd9de79888ac*"1L54R1wvvD21617j1azqXQmWCdJauYJ8bT8$J " +B994ab54fd8ad0e29817b874dbf22b8220bbe05d40af72dd3936ade2ae3dd62c9:0 @994ab54fd8ad0e29817b874dbf22b8220bbe05d40af72dd3936ade2ae3dd62c9""17nBAxeBC8vx7grxmF12fCsJb3smE3LC9n"UOP_DUP OP_HASH160 4a5bf6c23abb001cfa0530321afa08cb1afb15ad OP_EQUALVERIFY OP_CHECKSIG*276a9144a5bf6c23abb001cfa0530321afa08cb1afb15ad88ac*"17nBAxeBC8vx7grxmF12fCsJb3smE3LC9n8$J " B7dd841b6d34ad8b816e7673f6598b3733b2a7ed558a2524d48e8f197f4165708:0@7dd841b6d34ad8b816e7673f6598b3733b2a7ed558a2524d48e8f197f4165708""1MtkXURo1trgKfR7r8F7fjK5Dg1BQzE5Zc"UOP_DUP OP_HASH160 e52c1019fc2e6b2e9e54ef9e3310c8abefdb8951 OP_EQUALVERIFY OP_CHECKSIG*276a914e52c1019fc2e6b2e9e54ef9e3310c8abefdb895188ac*"1MtkXURo1trgKfR7r8F7fjK5Dg1BQzE5Zc8#J " B53781649a8949c7e4f43f9c753598c6811b7172cfb27bc7be111d5a60cfc4490:0 @53781649a8949c7e4f43f9c753598c6811b7172cfb27bc7be111d5a60cfc4490""1BKNhxy3vftuTCJvwjaU92jY2NcqLEhCde"UOP_DUP OP_HASH160 712add59b51d8807c4061b541a415089c39fb851 OP_EQUALVERIFY OP_CHECKSIG*276a914712add59b51d8807c4061b541a415089c39fb85188ac*"1BKNhxy3vftuTCJvwjaU92jY2NcqLEhCde8#J " +B200c7481bcb8fa91d461fb992fe81a5e2d3c22a3e734c2ece0145f41991c60b0:0@200c7481bcb8fa91d461fb992fe81a5e2d3c22a3e734c2ece0145f41991c60b0""1Ma8j7nJELgXKsP4mRjhvbzH8g5Ags7z9X"UOP_DUP OP_HASH160 e1a6b11f3cd5a49cd037728425e35d8b717aa617 OP_EQUALVERIFY OP_CHECKSIG*276a914e1a6b11f3cd5a49cd037728425e35d8b717aa61788ac*"1Ma8j7nJELgXKsP4mRjhvbzH8g5Ags7z9X8$J " B3a1a90ed481db259535f13cdd6db7ec212b6e0f91b3fcc4175e99db2a1f0bbee:0@3a1a90ed481db259535f13cdd6db7ec212b6e0f91b3fcc4175e99db2a1f0bbee""1CNGtb4X8pCeSQfK1SZTCUV3YbBASG8tUf"UOP_DUP OP_HASH160 7caf61f578883a60bbedfd985429645517b7dc65 OP_EQUALVERIFY OP_CHECKSIG*276a9147caf61f578883a60bbedfd985429645517b7dc6588ac*"1CNGtb4X8pCeSQfK1SZTCUV3YbBASG8tUf8$J " B23f191ac122d54ce3ef993b34e296cc1c127b58a077676b42dda64ef49b35d0d:0@23f191ac122d54ce3ef993b34e296cc1c127b58a077676b42dda64ef49b35d0d""1D3Uo7a5fNA21HRHg4oPyU1C1TF22BKRTT"UOP_DUP OP_HASH160 84198b211792cf5f64d1137baf3fcf39ef9bd5ba OP_EQUALVERIFY OP_CHECKSIG*276a91484198b211792cf5f64d1137baf3fcf39ef9bd5ba88ac*"1D3Uo7a5fNA21HRHg4oPyU1C1TF22BKRTT8#J " Beda8b56b74cbd395719e655eae72aff9cda5d230d34c0bb0a1d9013023783afa:0ܲ@eda8b56b74cbd395719e655eae72aff9cda5d230d34c0bb0a1d9013023783afa""19FkBtXm1ixAeuByHY8nekLz2aZ9Fn4pMe"UOP_DUP OP_HASH160 5a8ae18bbb40db7aa66907f0ad91776c706d4bb4 OP_EQUALVERIFY OP_CHECKSIG*276a9145a8ae18bbb40db7aa66907f0ad91776c706d4bb488ac*"19FkBtXm1ixAeuByHY8nekLz2aZ9Fn4pMe8#J " Bf695935edd9d720549258406aaa7a4642f8185fe67e55f75eb13f6df7aa9fffd:0s@f695935edd9d720549258406aaa7a4642f8185fe67e55f75eb13f6df7aa9fffd""1Gqw7TBUk3ef5qvw8kkSqbdQfnSmPgdYNm"UOP_DUP OP_HASH160 adcb05cfe2fc4eee161554fb5b9d910ce540a3d1 OP_EQUALVERIFY OP_CHECKSIG*276a914adcb05cfe2fc4eee161554fb5b9d910ce540a3d188ac*"1Gqw7TBUk3ef5qvw8kkSqbdQfnSmPgdYNm8$J " -Bccd249d35a10ea42b80e4478eaf742d0aa4e95f659a6b6a970c436c555cfd261:0@ccd249d35a10ea42b80e4478eaf742d0aa4e95f659a6b6a970c436c555cfd261""1KCsNMJT9c2xkvVVGNSkrUYbdMRX79eXYS"UOP_DUP OP_HASH160 c7b0e286664baf3747e9547dee56fb211aaeccf4 OP_EQUALVERIFY OP_CHECKSIG*276a914c7b0e286664baf3747e9547dee56fb211aaeccf488ac*"1KCsNMJT9c2xkvVVGNSkrUYbdMRX79eXYS8$J " -Bdf227146b216e431902b04be247cb3b501055eebee477e87aa3cdd7c0050b989:02@df227146b216e431902b04be247cb3b501055eebee477e87aa3cdd7c0050b989""1PdtE3tsxkYv8tukqdbkjUZo7eo5RMyAeB"UOP_DUP OP_HASH160 f84c809988b892f165cab6c70bd3b59cdd2ac6dc OP_EQUALVERIFY OP_CHECKSIG*276a914f84c809988b892f165cab6c70bd3b59cdd2ac6dc88ac*"1PdtE3tsxkYv8tukqdbkjUZo7eo5RMyAeB8#J " -Ba77269b041c9174184273a2b649075064d8d44278aa3cfa8793cc489b4360678:0+@a77269b041c9174184273a2b649075064d8d44278aa3cfa8793cc489b4360678"!1ksS9vbXTSqwfb1JBcDBzZKV1koP4dwcM"UOP_DUP OP_HASH160 084bfc7cc70d136ea46bf07603ddce18f903694b OP_EQUALVERIFY OP_CHECKSIG*276a914084bfc7cc70d136ea46bf07603ddce18f903694b88ac*!1ksS9vbXTSqwfb1JBcDBzZKV1koP4dwcM8#J " +B73d02ddbdce5d6dd1b96fc23b835b1904d5cc6aef1532b6278f8ed39eb33ed3b:0@73d02ddbdce5d6dd1b96fc23b835b1904d5cc6aef1532b6278f8ed39eb33ed3b""149Qc9uBx7Ep79pegf9sataR7Xpv5fGMxJ"UOP_DUP OP_HASH160 227f691150b969c6ecab9a840f900d70a771d20d OP_EQUALVERIFY OP_CHECKSIG*276a914227f691150b969c6ecab9a840f900d70a771d20d88ac*"149Qc9uBx7Ep79pegf9sataR7Xpv5fGMxJ8$J " +Bdf227146b216e431902b04be247cb3b501055eebee477e87aa3cdd7c0050b989:02@df227146b216e431902b04be247cb3b501055eebee477e87aa3cdd7c0050b989""1PdtE3tsxkYv8tukqdbkjUZo7eo5RMyAeB"UOP_DUP OP_HASH160 f84c809988b892f165cab6c70bd3b59cdd2ac6dc OP_EQUALVERIFY OP_CHECKSIG*276a914f84c809988b892f165cab6c70bd3b59cdd2ac6dc88ac*"1PdtE3tsxkYv8tukqdbkjUZo7eo5RMyAeB8#J " +B92d769377cac70daf5ea504eebe2f148476163c4c99801b93fa88866a20355a2:0@92d769377cac70daf5ea504eebe2f148476163c4c99801b93fa88866a20355a2""1ERnxYbLTnGT9qAAcR97h2fuN7p76g5ffh"UOP_DUP OP_HASH160 9349fb5747baaa4b205368ce599ccf80b92396c4 OP_EQUALVERIFY OP_CHECKSIG*276a9149349fb5747baaa4b205368ce599ccf80b92396c488ac*"1ERnxYbLTnGT9qAAcR97h2fuN7p76g5ffh8$J " +B6f95117ea20544ed040ec7a2877f7025e9020cc642ae1aacad51fa1fe7ccad91:0'@6f95117ea20544ed040ec7a2877f7025e9020cc642ae1aacad51fa1fe7ccad91""1961fVVFMnQunrKVtWVsBsReLvL6q6VT3R"UOP_DUP OP_HASH160 58b3a3dadeef75a30004204348af85a47cfea651 OP_EQUALVERIFY OP_CHECKSIG*276a91458b3a3dadeef75a30004204348af85a47cfea65188ac*"1961fVVFMnQunrKVtWVsBsReLvL6q6VT3R8$J " +Bddbad18f451c2d7b318be141de85b3dd90b3c3e023add66241ae78a4ed4d0d38:0@ddbad18f451c2d7b318be141de85b3dd90b3c3e023add66241ae78a4ed4d0d38""1BjYtswgM69wt3fatTiuGiMNsLbXA1U277"UOP_DUP OP_HASH160 75bd5a35b87a90b0dfc6884721225cbc870a8175 OP_EQUALVERIFY OP_CHECKSIG*276a91475bd5a35b87a90b0dfc6884721225cbc870a817588ac*"1BjYtswgM69wt3fatTiuGiMNsLbXA1U2778$J " B41a6cbe26a164726c18dccd50998b40d77f403d40f6fe373b338d85d6543fe4d:0L@41a6cbe26a164726c18dccd50998b40d77f403d40f6fe373b338d85d6543fe4d""13hn73JuZfXCA2Khq9Y7uYJwJ1Rz8F2sNu"UOP_DUP OP_HASH160 1da68a83dd1dc9c80e79cfac03ee4a70b1afa968 OP_EQUALVERIFY OP_CHECKSIG*276a9141da68a83dd1dc9c80e79cfac03ee4a70b1afa96888ac*"13hn73JuZfXCA2Khq9Y7uYJwJ1Rz8F2sNu8#J " -B582a65e8a633985f8adb0abd7069740729c2afabffade8133d0e7697229ae81a:0#@582a65e8a633985f8adb0abd7069740729c2afabffade8133d0e7697229ae81a"!1kBBNYPmpupfAeqVhHCGRnU3gLv9tcjHH"UOP_DUP OP_HASH160 082a6219c49299802e1c7b648ed3fd5e2a70c3e0 OP_EQUALVERIFY OP_CHECKSIG*276a914082a6219c49299802e1c7b648ed3fd5e2a70c3e088ac*!1kBBNYPmpupfAeqVhHCGRnU3gLv9tcjHH8#J " -B95c6de9488fde2743ccfad5ff62dc00946f7f13fbecdc9b99f2e1d864ae0a40f:0M@95c6de9488fde2743ccfad5ff62dc00946f7f13fbecdc9b99f2e1d864ae0a40f""1GCdhksvGZ4RbMzMAy37NUhmuDCTRcVMKL"UOP_DUP OP_HASH160 a6bd19a71cb53e32da999e4db24df632324a26aa OP_EQUALVERIFY OP_CHECKSIG*276a914a6bd19a71cb53e32da999e4db24df632324a26aa88ac*"1GCdhksvGZ4RbMzMAy37NUhmuDCTRcVMKL8#J " +B582a65e8a633985f8adb0abd7069740729c2afabffade8133d0e7697229ae81a:0#@582a65e8a633985f8adb0abd7069740729c2afabffade8133d0e7697229ae81a"!1kBBNYPmpupfAeqVhHCGRnU3gLv9tcjHH"UOP_DUP OP_HASH160 082a6219c49299802e1c7b648ed3fd5e2a70c3e0 OP_EQUALVERIFY OP_CHECKSIG*276a914082a6219c49299802e1c7b648ed3fd5e2a70c3e088ac*!1kBBNYPmpupfAeqVhHCGRnU3gLv9tcjHH8#J " +Bfc947b67d25023971d91cdf6ea7cddd1035d80e7ceb6e79d2bea7a14c5030e3d:0@fc947b67d25023971d91cdf6ea7cddd1035d80e7ceb6e79d2bea7a14c5030e3d"!19TR29FxjRabezFajbnjhDcdXuhtPhH6y"UOP_DUP OP_HASH160 01996089bfca419803606cd8c400fcf72017f73c OP_EQUALVERIFY OP_CHECKSIG*276a91401996089bfca419803606cd8c400fcf72017f73c88ac*!19TR29FxjRabezFajbnjhDcdXuhtPhH6y8$J " B421dc204cd06da62e8713e7494b19030db247cc928f6faffbf873e535296bac1:0@421dc204cd06da62e8713e7494b19030db247cc928f6faffbf873e535296bac1""1PRcWBqrRMCXywMEAhmp7SnNPD4qhZdp1w"UOP_DUP OP_HASH160 f5fa630d76015dd4366692e68482031905eb3d92 OP_EQUALVERIFY OP_CHECKSIG*276a914f5fa630d76015dd4366692e68482031905eb3d9288ac*"1PRcWBqrRMCXywMEAhmp7SnNPD4qhZdp1w8$J " B8f61c5130f1c8d7e025b1ec2722e73def26c72c4fa1d949f3285473a7558d5dc:1@8f61c5130f1c8d7e025b1ec2722e73def26c72c4fa1d949f3285473a7558d5dc""1FFvJN31iVYqdDi8iGhT9hr7YAgMVUiuky"UOP_DUP OP_HASH160 9c64139580f72c7e517edfcb99b04c84586ce890 OP_EQUALVERIFY OP_CHECKSIG*276a9149c64139580f72c7e517edfcb99b04c84586ce89088ac*"1FFvJN31iVYqdDi8iGhT9hr7YAgMVUiuky8#J " B9110468d73d374e36dcff9502d68cea162d518f54ea9c16af3bfe60aa29a6b4b:0@9110468d73d374e36dcff9502d68cea162d518f54ea9c16af3bfe60aa29a6b4b""19TAwaVCqmN5AdGYoQEyC1DjsxkxYzJ8LG"UOP_DUP OP_HASH160 5cb41e9ddca220956a3a1a08810740e02196f553 OP_EQUALVERIFY OP_CHECKSIG*276a9145cb41e9ddca220956a3a1a08810740e02196f55388ac*"19TAwaVCqmN5AdGYoQEyC1DjsxkxYzJ8LG8ͻ#J " +B09caba7ffd9de24228a2c9d5566a0eb5fdef184534c624120edade4ed72161d5:0N@09caba7ffd9de24228a2c9d5566a0eb5fdef184534c624120edade4ed72161d5""15Wb4LTyAu1CDuiVtRn2DCti21ULmiwGj3"UOP_DUP OP_HASH160 3178feed12fc33b8ff09da7bd612427d84826007 OP_EQUALVERIFY OP_CHECKSIG*276a9143178feed12fc33b8ff09da7bd612427d8482600788ac*"15Wb4LTyAu1CDuiVtRn2DCti21ULmiwGj38Ğ$J " B13ab268d9f3ebbc877d6239849a17b85848aef6b8860a44944c5f17d3fe69dc3:0@13ab268d9f3ebbc877d6239849a17b85848aef6b8860a44944c5f17d3fe69dc3""1LM6mdNWCLFBLAhmhrYNbhv8ogEaxZtAb7"UOP_DUP OP_HASH160 d4378673fb23cdd8652b0eea114149b84860ca91 OP_EQUALVERIFY OP_CHECKSIG*276a914d4378673fb23cdd8652b0eea114149b84860ca9188ac*"1LM6mdNWCLFBLAhmhrYNbhv8ogEaxZtAb78Ȍ$J " -B426e0cfbeaf9203c3bf017393a5582e25f659336f2e46ceedc4a525e3c8476e6:0N@426e0cfbeaf9203c3bf017393a5582e25f659336f2e46ceedc4a525e3c8476e6""1G97dMRvRR9dP89smfo6SPCMG8yhXG12YD"UOP_DUP OP_HASH160 a612bf0690187259ea466153714dd7484d52a44d OP_EQUALVERIFY OP_CHECKSIG*276a914a612bf0690187259ea466153714dd7484d52a44d88ac*"1G97dMRvRR9dP89smfo6SPCMG8yhXG12YD8"J " +B9bad8949796d3156b85c63246fe4c2609364e47edf97c25f3363ef0819c4aef5:0@9bad8949796d3156b85c63246fe4c2609364e47edf97c25f3363ef0819c4aef5""1Dyvf1dQsxPyHKQqUtZSezvQmTJxgJoQyn"UOP_DUP OP_HASH160 8e6597ae523dd03d7ffe22ded8624e5be7297b81 OP_EQUALVERIFY OP_CHECKSIG*276a9148e6597ae523dd03d7ffe22ded8624e5be7297b8188ac*"1Dyvf1dQsxPyHKQqUtZSezvQmTJxgJoQyn8$J " +B426e0cfbeaf9203c3bf017393a5582e25f659336f2e46ceedc4a525e3c8476e6:0N@426e0cfbeaf9203c3bf017393a5582e25f659336f2e46ceedc4a525e3c8476e6""1G97dMRvRR9dP89smfo6SPCMG8yhXG12YD"UOP_DUP OP_HASH160 a612bf0690187259ea466153714dd7484d52a44d OP_EQUALVERIFY OP_CHECKSIG*276a914a612bf0690187259ea466153714dd7484d52a44d88ac*"1G97dMRvRR9dP89smfo6SPCMG8yhXG12YD8"J " +B493fbadb828cb350359df91297ad6e78d28175f0d3e9a3b0b4623d030d38fa6b:0@493fbadb828cb350359df91297ad6e78d28175f0d3e9a3b0b4623d030d38fa6b"!1ZGwt43npkdkxANtxaampkCnFEU4JcCTS"UOP_DUP OP_HASH160 061a9f3b9fc03af4a95ecec6e1deb29b4b404235 OP_EQUALVERIFY OP_CHECKSIG*276a914061a9f3b9fc03af4a95ecec6e1deb29b4b40423588ac*!1ZGwt43npkdkxANtxaampkCnFEU4JcCTS8$J " B8f7a6062c4a840c4258d0cbf91bb5f29425705bd0eb88adf32ac0f3989ed7f93:0@8f7a6062c4a840c4258d0cbf91bb5f29425705bd0eb88adf32ac0f3989ed7f93""1EnzGP9VYkz4JiEhRYdPiuTnfxCie4TyC7"UOP_DUP OP_HASH160 974c27f33278b7b298481d5df4aa4ac5b90cf6e5 OP_EQUALVERIFY OP_CHECKSIG*276a914974c27f33278b7b298481d5df4aa4ac5b90cf6e588ac*"1EnzGP9VYkz4JiEhRYdPiuTnfxCie4TyC78ۉ#J " B99fafe1c34d8b94800ba378598ea44fb95d110ec389693d8d363bd0ad40b1d0c:0@99fafe1c34d8b94800ba378598ea44fb95d110ec389693d8d363bd0ad40b1d0c""1F8VyoPsCSN5mNvUKbRr5iGB9oY6UTPWmP"UOP_DUP OP_HASH160 9afcdd08b385354d275d6ea434fe197f49079e5a OP_EQUALVERIFY OP_CHECKSIG*276a9149afcdd08b385354d275d6ea434fe197f49079e5a88ac*"1F8VyoPsCSN5mNvUKbRr5iGB9oY6UTPWmP8#J " B936b1f2ba752587c378cc71aba50ac9104b75d06cddd0b8248e995caf33099de:0@936b1f2ba752587c378cc71aba50ac9104b75d06cddd0b8248e995caf33099de"!1YjoSefHoMrY8nvJRnP2vL2GVreZd2Q45"UOP_DUP OP_HASH160 06009f811fa2ffe1145626e2b9435afce944f834 OP_EQUALVERIFY OP_CHECKSIG*276a91406009f811fa2ffe1145626e2b9435afce944f83488ac*!1YjoSefHoMrY8nvJRnP2vL2GVreZd2Q458#J " -B936b1f2ba752587c378cc71aba50ac9104b75d06cddd0b8248e995caf33099de:1@936b1f2ba752587c378cc71aba50ac9104b75d06cddd0b8248e995caf33099de""12KcAVVKT4PaqLqDGyXd2gn1q7PYtUy2CY"UOP_DUP OP_HASH160 0e7cf75a89db6447e120def769402081e0c7fe9f OP_EQUALVERIFY OP_CHECKSIG*276a9140e7cf75a89db6447e120def769402081e0c7fe9f88ac*"12KcAVVKT4PaqLqDGyXd2gn1q7PYtUy2CY8#J " -B682762046d31a1d021d557263ef76ee350f813aff38e22bd4fef03a756d6de31:0@682762046d31a1d021d557263ef76ee350f813aff38e22bd4fef03a756d6de31""13oEs6AZ7Hhw6rZqj1weK1zvzQhe1EKzsu"UOP_DUP OP_HASH160 1eaef5647182edc9643c10fee76e1d2be57647fc OP_EQUALVERIFY OP_CHECKSIG*276a9141eaef5647182edc9643c10fee76e1d2be57647fc88ac*"13oEs6AZ7Hhw6rZqj1weK1zvzQhe1EKzsu8׌$J " -Bbfd7a8c449534d4b1c2d0899f4c16ce607677308afef511703b5fc5b0384718e:0@bfd7a8c449534d4b1c2d0899f4c16ce607677308afef511703b5fc5b0384718e""13gVcVP2VGLxNoHeVHzpz4VA8CuSzV6axb"UOP_DUP OP_HASH160 1d685baadb0d7536fc3a33520980bf5feb6efacf OP_EQUALVERIFY OP_CHECKSIG*276a9141d685baadb0d7536fc3a33520980bf5feb6efacf88ac*"13gVcVP2VGLxNoHeVHzpz4VA8CuSzV6axb8#J " -B0d8fa3abeffa5f7ab63e4da0cf37c38a1afc6830defe44b9c5603ac025853561:0@0d8fa3abeffa5f7ab63e4da0cf37c38a1afc6830defe44b9c5603ac025853561""1HCj3w4hcbVVF5dnXYcY5UoYdh1eWKR69i"UOP_DUP OP_HASH160 b1b9b0adfe08560858b24f8a3302a91de5bb4466 OP_EQUALVERIFY OP_CHECKSIG*276a914b1b9b0adfe08560858b24f8a3302a91de5bb446688ac*"1HCj3w4hcbVVF5dnXYcY5UoYdh1eWKR69i8$J " -Bbcb3fe082ef6ebf61ce3fe25831465d8d4e896a46c9d2d4f4cb0bbb9d3d7407c:1@bcb3fe082ef6ebf61ce3fe25831465d8d4e896a46c9d2d4f4cb0bbb9d3d7407c""196TC3zLzsKAZzQRXzhc8pWjCmJqxXAyR3"UOP_DUP OP_HASH160 58c8f2e770431a0d302d6744cfa26e9ddfedeffc OP_EQUALVERIFY OP_CHECKSIG*276a91458c8f2e770431a0d302d6744cfa26e9ddfedeffc88ac*"196TC3zLzsKAZzQRXzhc8pWjCmJqxXAyR38#J  " -B7268466c37c7aba5dda2abf9860a468e10ff29a9566df6ce0e4349a985997534:0@7268466c37c7aba5dda2abf9860a468e10ff29a9566df6ce0e4349a985997534""179TaGhhdUCgKwz8dRL6gHRpDMPtjSfX5r"UOP_DUP OP_HASH160 436a43d3aef36dc3fd86fe0d1303976a10421200 OP_EQUALVERIFY OP_CHECKSIG*276a914436a43d3aef36dc3fd86fe0d1303976a1042120088ac*"179TaGhhdUCgKwz8dRL6gHRpDMPtjSfX5r8$J " +B936b1f2ba752587c378cc71aba50ac9104b75d06cddd0b8248e995caf33099de:1@936b1f2ba752587c378cc71aba50ac9104b75d06cddd0b8248e995caf33099de""12KcAVVKT4PaqLqDGyXd2gn1q7PYtUy2CY"UOP_DUP OP_HASH160 0e7cf75a89db6447e120def769402081e0c7fe9f OP_EQUALVERIFY OP_CHECKSIG*276a9140e7cf75a89db6447e120def769402081e0c7fe9f88ac*"12KcAVVKT4PaqLqDGyXd2gn1q7PYtUy2CY8#J " +Bbcb3fe082ef6ebf61ce3fe25831465d8d4e896a46c9d2d4f4cb0bbb9d3d7407c:1@bcb3fe082ef6ebf61ce3fe25831465d8d4e896a46c9d2d4f4cb0bbb9d3d7407c""196TC3zLzsKAZzQRXzhc8pWjCmJqxXAyR3"UOP_DUP OP_HASH160 58c8f2e770431a0d302d6744cfa26e9ddfedeffc OP_EQUALVERIFY OP_CHECKSIG*276a91458c8f2e770431a0d302d6744cfa26e9ddfedeffc88ac*"196TC3zLzsKAZzQRXzhc8pWjCmJqxXAyR38#J  " Bca01579accb6f1ab2fedcd14d9f4c268f56e4c9dd934fa83521ae9e006ac991d:1@ca01579accb6f1ab2fedcd14d9f4c268f56e4c9dd934fa83521ae9e006ac991d""1NTcrFYDrZGXzTM1izUJ56Jp3c9nXwqE36"UOP_DUP OP_HASH160 eb6361bf861488bbec20b1d64745cd07a780bdb1 OP_EQUALVERIFY OP_CHECKSIG*276a914eb6361bf861488bbec20b1d64745cd07a780bdb188ac*"1NTcrFYDrZGXzTM1izUJ56Jp3c9nXwqE368#J  " B42c3045b8f346d036cd84b40453cfa83837d1310024176e09fe4bd7e1338a375:0@42c3045b8f346d036cd84b40453cfa83837d1310024176e09fe4bd7e1338a375""189PEvHBMf5SBH9eVLZ7Ms2GaG7cYD7xBg"UOP_DUP OP_HASH160 4e5ec5eef98964899182504a17fffcfde79a01ec OP_EQUALVERIFY OP_CHECKSIG*276a9144e5ec5eef98964899182504a17fffcfde79a01ec88ac*"189PEvHBMf5SBH9eVLZ7Ms2GaG7cYD7xBg8#J " -B257e7b01728c15c4aff160a69417d01f8529a582ed944eab6a682660066472a4:0O@257e7b01728c15c4aff160a69417d01f8529a582ed944eab6a682660066472a4""1KP1nyAygdZ87tP6bQqUtDnsMk5mzPU73c"UOP_DUP OP_HASH160 c99c13ad4e1dbae6008bdbdc34840e78f266e960 OP_EQUALVERIFY OP_CHECKSIG*276a914c99c13ad4e1dbae6008bdbdc34840e78f266e96088ac*"1KP1nyAygdZ87tP6bQqUtDnsMk5mzPU73c8#J " +B257e7b01728c15c4aff160a69417d01f8529a582ed944eab6a682660066472a4:0O@257e7b01728c15c4aff160a69417d01f8529a582ed944eab6a682660066472a4""1KP1nyAygdZ87tP6bQqUtDnsMk5mzPU73c"UOP_DUP OP_HASH160 c99c13ad4e1dbae6008bdbdc34840e78f266e960 OP_EQUALVERIFY OP_CHECKSIG*276a914c99c13ad4e1dbae6008bdbdc34840e78f266e96088ac*"1KP1nyAygdZ87tP6bQqUtDnsMk5mzPU73c8#J " +Bc5855465724e696e1f2f959c2afd72b13fdd6fd7627cde7322c046e001f374c3:0@c5855465724e696e1f2f959c2afd72b13fdd6fd7627cde7322c046e001f374c3""1NcbqJzuax32UWa7G25zJUWsmxxcN9qFxD"UOP_DUP OP_HASH160 ed1646f61f6aab80861142a9287e133debd2d264 OP_EQUALVERIFY OP_CHECKSIG*276a914ed1646f61f6aab80861142a9287e133debd2d26488ac*"1NcbqJzuax32UWa7G25zJUWsmxxcN9qFxD8$J " Bc72ce6e54fe8edd2f1bb626bcb71e85e9c0b825e563f99254ba8953c40082551:0@c72ce6e54fe8edd2f1bb626bcb71e85e9c0b825e563f99254ba8953c40082551""1HjgryNg9kT5PdY71LB3cbBVghsCVr561q"UOP_DUP OP_HASH160 b794c1f96132125683fe71662a9d1a39521320ff OP_EQUALVERIFY OP_CHECKSIG*276a914b794c1f96132125683fe71662a9d1a39521320ff88ac*"1HjgryNg9kT5PdY71LB3cbBVghsCVr561q8#J " -B74fc54acd45f1ffc3eb03332ea96ae9271a7e2c869b7d90ae8d584d4cf785923:0@74fc54acd45f1ffc3eb03332ea96ae9271a7e2c869b7d90ae8d584d4cf785923""1AtG9TZL5yR2stMi2jCeKYaR9rvEkrZUGX"UOP_DUP OP_HASH160 6c6afd3c757ba880a9db69752885b49c2d05fd22 OP_EQUALVERIFY OP_CHECKSIG*276a9146c6afd3c757ba880a9db69752885b49c2d05fd2288ac*"1AtG9TZL5yR2stMi2jCeKYaR9rvEkrZUGX8"J " +B74fc54acd45f1ffc3eb03332ea96ae9271a7e2c869b7d90ae8d584d4cf785923:0@74fc54acd45f1ffc3eb03332ea96ae9271a7e2c869b7d90ae8d584d4cf785923""1AtG9TZL5yR2stMi2jCeKYaR9rvEkrZUGX"UOP_DUP OP_HASH160 6c6afd3c757ba880a9db69752885b49c2d05fd22 OP_EQUALVERIFY OP_CHECKSIG*276a9146c6afd3c757ba880a9db69752885b49c2d05fd2288ac*"1AtG9TZL5yR2stMi2jCeKYaR9rvEkrZUGX8"J " +B25023e00759ffac6a8a8edb76330f9661b904c52d900da62ad22ce171c8f1e9e:0@25023e00759ffac6a8a8edb76330f9661b904c52d900da62ad22ce171c8f1e9e""1BhYLVWbj8DdqKbPgon2zjSd2Mut51RbCB"UOP_DUP OP_HASH160 755c0de8f7741d334467efa59e9cd22c9878f18b OP_EQUALVERIFY OP_CHECKSIG*276a914755c0de8f7741d334467efa59e9cd22c9878f18b88ac*"1BhYLVWbj8DdqKbPgon2zjSd2Mut51RbCB8$J " B222b9def74c53cb2ffe1d47be103a96de2e43578902f574d5e4b71563dbcbfd8:0@222b9def74c53cb2ffe1d47be103a96de2e43578902f574d5e4b71563dbcbfd8""1F1vJj9a1o4VMYPs4p7drLQpJmWb5VzM7L"UOP_DUP OP_HASH160 99be421e3f3d1513455200d93f204701801e22f1 OP_EQUALVERIFY OP_CHECKSIG*276a91499be421e3f3d1513455200d93f204701801e22f188ac*"1F1vJj9a1o4VMYPs4p7drLQpJmWb5VzM7L8#J " +B8fb346105318a90b5f4254be73dce0464765fb9309945ad020ce157369136eb0:0L@8fb346105318a90b5f4254be73dce0464765fb9309945ad020ce157369136eb0""1NjWeEiDnYpCHA8ox4zX6sbTT5T8PQvRUZ"UOP_DUP OP_HASH160 ee64db12ccd72effaa634eb2086b848ce3a8786c OP_EQUALVERIFY OP_CHECKSIG*276a914ee64db12ccd72effaa634eb2086b848ce3a8786c88ac*"1NjWeEiDnYpCHA8ox4zX6sbTT5T8PQvRUZ8â$J " +Bced76295466a0f236c97846cf1ea7a60b5b69b182b6efa4bf3f3e3b5a811956c:0@ced76295466a0f236c97846cf1ea7a60b5b69b182b6efa4bf3f3e3b5a811956c""1Gsgh6K6zjFzPWTbPSWvV6Y7sGCWZQcPY7"UOP_DUP OP_HASH160 ae1fd1426f44eb0d1e9a9e80f14e6bc83264c3b9 OP_EQUALVERIFY OP_CHECKSIG*276a914ae1fd1426f44eb0d1e9a9e80f14e6bc83264c3b988ac*"1Gsgh6K6zjFzPWTbPSWvV6Y7sGCWZQcPY78ܚ$J " Bac8939ad21238f27eeea8b6813ab0189789e3c5ea2e370890160ab373f508078:0,@ac8939ad21238f27eeea8b6813ab0189789e3c5ea2e370890160ab373f508078""1JNTAqtd1BhFDHUNARiPqhrYtk8NtXQVxt"UOP_DUP OP_HASH160 be88b8094e4fd3fd0120c9b6a981736c981d95dd OP_EQUALVERIFY OP_CHECKSIG*276a914be88b8094e4fd3fd0120c9b6a981736c981d95dd88ac*"1JNTAqtd1BhFDHUNARiPqhrYtk8NtXQVxt8#J " -B289e92593d3b4f6537a2f4f2d05381da6d85772586f8b46984952d9d23999e7b:0@289e92593d3b4f6537a2f4f2d05381da6d85772586f8b46984952d9d23999e7b""18K9PniqfuDSgX3QFYbbm36n728XCZWnGR"UOP_DUP OP_HASH160 50375fb3fd6e7d168dbfb4542c964d6fefff882c OP_EQUALVERIFY OP_CHECKSIG*276a91450375fb3fd6e7d168dbfb4542c964d6fefff882c88ac*"18K9PniqfuDSgX3QFYbbm36n728XCZWnGR8ӓ$J " -B90fd3ecfcc5bf1f6dc785736428f896930fee1a8acd661076d6ce54daf27d584:0@90fd3ecfcc5bf1f6dc785736428f896930fee1a8acd661076d6ce54daf27d584""1MzCYNQd8TKE9zXoFd3r6XPrctNRJVxqdV"UOP_DUP OP_HASH160 e633dbfbcd98531adb4e71488029267653b46bb4 OP_EQUALVERIFY OP_CHECKSIG*276a914e633dbfbcd98531adb4e71488029267653b46bb488ac*"1MzCYNQd8TKE9zXoFd3r6XPrctNRJVxqdV8Ї$J " Beed7fa71cb7e73bd173f90da97baab6f2d5f992220cd22a67caf548f9c657637:0@eed7fa71cb7e73bd173f90da97baab6f2d5f992220cd22a67caf548f9c657637""1N9tu1e39ZmLWKDA1AYpNTxrmiFriLWbVC"UOP_DUP OP_HASH160 e8094a55cf356ee10ea763e4b5a9f0da7fb1bb5d OP_EQUALVERIFY OP_CHECKSIG*276a914e8094a55cf356ee10ea763e4b5a9f0da7fb1bb5d88ac*"1N9tu1e39ZmLWKDA1AYpNTxrmiFriLWbVC8#J " -B42dfbaa285fe262faec498bbcad2337f8fe99a10acb76170d10dace28cdf5001:0@42dfbaa285fe262faec498bbcad2337f8fe99a10acb76170d10dace28cdf5001""1GxeQB54LVYe7iTegnudhFZMauzD9U84cg"UOP_DUP OP_HASH160 af0ffbf60cd4d0c2a06b624bb2d501235107676d OP_EQUALVERIFY OP_CHECKSIG*276a914af0ffbf60cd4d0c2a06b624bb2d501235107676d88ac*"1GxeQB54LVYe7iTegnudhFZMauzD9U84cg8À$J " -B42dfbaa285fe262faec498bbcad2337f8fe99a10acb76170d10dace28cdf5001:1"@42dfbaa285fe262faec498bbcad2337f8fe99a10acb76170d10dace28cdf5001""1567MWcT2kxmEnJnAMTncN7NZeqDVsqSgv"UOP_DUP OP_HASH160 2cd7e2fdef9154907d77086c7aba6ff8e76e5e63 OP_EQUALVERIFY OP_CHECKSIG*276a9142cd7e2fdef9154907d77086c7aba6ff8e76e5e6388ac*"1567MWcT2kxmEnJnAMTncN7NZeqDVsqSgv8À$J " -B5d5337f8d192e5e40dd3557cac371e0584dd79174a6f5070c7d0da4ec2a8b61a:0@5d5337f8d192e5e40dd3557cac371e0584dd79174a6f5070c7d0da4ec2a8b61a""17sPVMFT55TTywwZAoERfKxB7goQ1qaNf8"UOP_DUP OP_HASH160 4b58535290cf9cbdcd9a8b50486bfee9ea0179a9 OP_EQUALVERIFY OP_CHECKSIG*276a9144b58535290cf9cbdcd9a8b50486bfee9ea0179a988ac*"17sPVMFT55TTywwZAoERfKxB7goQ1qaNf88$J " -B79109c07daa0c8f5e42e3a68395998b22eaaedf29f8ce40fcbd33f31a4934c54:0@79109c07daa0c8f5e42e3a68395998b22eaaedf29f8ce40fcbd33f31a4934c54""12Emp7XCM9a7pPoLsYJbQFyHM67SnuMNKF"UOP_DUP OP_HASH160 0d92f0d188515b835fb05dfe6b7bc2e6ce761d66 OP_EQUALVERIFY OP_CHECKSIG*276a9140d92f0d188515b835fb05dfe6b7bc2e6ce761d6688ac*"12Emp7XCM9a7pPoLsYJbQFyHM67SnuMNKF8"J " -Bd136c12f0e4d409f1e2d36c07e4ee942131cb18f1a6e4eff86edc1c8c892725f:1ӗ@d136c12f0e4d409f1e2d36c07e4ee942131cb18f1a6e4eff86edc1c8c892725f""1PzTh22rYcSEdu2Vhqe3pBAwbJnBexZA2Y"UOP_DUP OP_HASH160 fc30c1b89ebc4adce4344c7d2a9d502935fa4631 OP_EQUALVERIFY OP_CHECKSIG*276a914fc30c1b89ebc4adce4344c7d2a9d502935fa463188ac*"1PzTh22rYcSEdu2Vhqe3pBAwbJnBexZA2Y8$J " +B42dfbaa285fe262faec498bbcad2337f8fe99a10acb76170d10dace28cdf5001:0@42dfbaa285fe262faec498bbcad2337f8fe99a10acb76170d10dace28cdf5001""1GxeQB54LVYe7iTegnudhFZMauzD9U84cg"UOP_DUP OP_HASH160 af0ffbf60cd4d0c2a06b624bb2d501235107676d OP_EQUALVERIFY OP_CHECKSIG*276a914af0ffbf60cd4d0c2a06b624bb2d501235107676d88ac*"1GxeQB54LVYe7iTegnudhFZMauzD9U84cg8À$J " +B111e8eaffdfe6c4f3add3868729b27ae42b8e28ad5e3d39ecf8ac8c02e335e7b:1@111e8eaffdfe6c4f3add3868729b27ae42b8e28ad5e3d39ecf8ac8c02e335e7b""13eAAfMoD9hv8iRZc7RsFBeXqJy8VXbSq4"UOP_DUP OP_HASH160 1cf74b453dc4f06c7c267328a6d2bf7a2470031e OP_EQUALVERIFY OP_CHECKSIG*276a9141cf74b453dc4f06c7c267328a6d2bf7a2470031e88ac*"13eAAfMoD9hv8iRZc7RsFBeXqJy8VXbSq48$J " +B5d5337f8d192e5e40dd3557cac371e0584dd79174a6f5070c7d0da4ec2a8b61a:0@5d5337f8d192e5e40dd3557cac371e0584dd79174a6f5070c7d0da4ec2a8b61a""17sPVMFT55TTywwZAoERfKxB7goQ1qaNf8"UOP_DUP OP_HASH160 4b58535290cf9cbdcd9a8b50486bfee9ea0179a9 OP_EQUALVERIFY OP_CHECKSIG*276a9144b58535290cf9cbdcd9a8b50486bfee9ea0179a988ac*"17sPVMFT55TTywwZAoERfKxB7goQ1qaNf88$J " Bd136c12f0e4d409f1e2d36c07e4ee942131cb18f1a6e4eff86edc1c8c892725f:0ը@d136c12f0e4d409f1e2d36c07e4ee942131cb18f1a6e4eff86edc1c8c892725f""1AiEfTkFmoyw9QodUU6Mp9KKWpSUkFiYbi"UOP_DUP OP_HASH160 6a859785f9f1850a50d40dc3f435212c0cc859dc OP_EQUALVERIFY OP_CHECKSIG*276a9146a859785f9f1850a50d40dc3f435212c0cc859dc88ac*"1AiEfTkFmoyw9QodUU6Mp9KKWpSUkFiYbi8$J " Bd51a14b6720b31ff448a23308af688a6507fee75fb7e7326e01db764e290031e:0@d51a14b6720b31ff448a23308af688a6507fee75fb7e7326e01db764e290031e""12dERs2CsDeNbb1g7u6MWjjWpRwLzre9n3"UOP_DUP OP_HASH160 11d24f62225f5d530d7a3a15ac15525c0710d0ae OP_EQUALVERIFY OP_CHECKSIG*276a91411d24f62225f5d530d7a3a15ac15525c0710d0ae88ac*"12dERs2CsDeNbb1g7u6MWjjWpRwLzre9n38#J " -Bc1109ebeb4bbd26397b1f1dd445207d7c89cf887b4ae1ed3c3e89745d902537c:0_@c1109ebeb4bbd26397b1f1dd445207d7c89cf887b4ae1ed3c3e89745d902537c""1Ag9Bystg5o3VXci76KWtX6EJoLbdHC6E1"UOP_DUP OP_HASH160 6a2030cf6d3e52f2a37e39ddfa163f8624d44898 OP_EQUALVERIFY OP_CHECKSIG*276a9146a2030cf6d3e52f2a37e39ddfa163f8624d4489888ac*"1Ag9Bystg5o3VXci76KWtX6EJoLbdHC6E18#J " -B726b3eb17d30a80b56870023410fa10f50c5afe2da16e5bf1075ded9aa5da676:0@726b3eb17d30a80b56870023410fa10f50c5afe2da16e5bf1075ded9aa5da676""155mFvey3t2dZVuPg4qzTE67UScSdxwAfg"UOP_DUP OP_HASH160 2cc71c73ab79c0eb5cb53e0640f67e50068741a8 OP_EQUALVERIFY OP_CHECKSIG*276a9142cc71c73ab79c0eb5cb53e0640f67e50068741a888ac*"155mFvey3t2dZVuPg4qzTE67UScSdxwAfg8$J " -B72c59cc490e7d4d98a1436f249c409c47d602893a0532ed31bafe6d85cb8ea01:1@72c59cc490e7d4d98a1436f249c409c47d602893a0532ed31bafe6d85cb8ea01""1LsFZ2r4N4Tsm7FTwbPMCYVMUxG7b8V5QY"UOP_DUP OP_HASH160 d9eb55ea54ab568d6f56c4768c629e9af92c7735 OP_EQUALVERIFY OP_CHECKSIG*276a914d9eb55ea54ab568d6f56c4768c629e9af92c773588ac*"1LsFZ2r4N4Tsm7FTwbPMCYVMUxG7b8V5QY8$J " -B72c59cc490e7d4d98a1436f249c409c47d602893a0532ed31bafe6d85cb8ea01:0@72c59cc490e7d4d98a1436f249c409c47d602893a0532ed31bafe6d85cb8ea01""1L6uJHzwF86i13JybFqY7uSrfqgWAqLXGE"UOP_DUP OP_HASH160 d1882041c180705e817fe5850a1a9035a0c97724 OP_EQUALVERIFY OP_CHECKSIG*276a914d1882041c180705e817fe5850a1a9035a0c9772488ac*"1L6uJHzwF86i13JybFqY7uSrfqgWAqLXGE8$J " +Bfc97fdaa6a8ab5cbc4d662f14e960eaa9de305b4506751116883bd44c0d5b4ee:0@fc97fdaa6a8ab5cbc4d662f14e960eaa9de305b4506751116883bd44c0d5b4ee""1Kjhd1za8bWzTQJfxjEB1bDpUb5EMrQ3Sj"UOP_DUP OP_HASH160 cd85a4a855577a769c0ee8be9da14e772fe57261 OP_EQUALVERIFY OP_CHECKSIG*276a914cd85a4a855577a769c0ee8be9da14e772fe5726188ac*"1Kjhd1za8bWzTQJfxjEB1bDpUb5EMrQ3Sj8$J " +B5fc78c48a451f73b7d150e9e1da71fa15fe67a789182437e2b608196bdb590cc:00@5fc78c48a451f73b7d150e9e1da71fa15fe67a789182437e2b608196bdb590cc""1DjSsPqhjrfZS6NULwzDm3J3ZQ6WXyT8Dw"UOP_DUP OP_HASH160 8ba892f4060a9c7c87f6fd73263541d2dcac89c8 OP_EQUALVERIFY OP_CHECKSIG*276a9148ba892f4060a9c7c87f6fd73263541d2dcac89c888ac*"1DjSsPqhjrfZS6NULwzDm3J3ZQ6WXyT8Dw8$J " +Bc1109ebeb4bbd26397b1f1dd445207d7c89cf887b4ae1ed3c3e89745d902537c:0_@c1109ebeb4bbd26397b1f1dd445207d7c89cf887b4ae1ed3c3e89745d902537c""1Ag9Bystg5o3VXci76KWtX6EJoLbdHC6E1"UOP_DUP OP_HASH160 6a2030cf6d3e52f2a37e39ddfa163f8624d44898 OP_EQUALVERIFY OP_CHECKSIG*276a9146a2030cf6d3e52f2a37e39ddfa163f8624d4489888ac*"1Ag9Bystg5o3VXci76KWtX6EJoLbdHC6E18#J " +Bb49e05c8d44f5b5c8c5bff54ad11db096e8198c9bcb79795853037db1987f843:0@b49e05c8d44f5b5c8c5bff54ad11db096e8198c9bcb79795853037db1987f843""1H2gDdJ6Tc9yGhorXpP3EPcr24wh5LsuQu"UOP_DUP OP_HASH160 afd32a70670023c92d7e3f4eede6b45e85207d4f OP_EQUALVERIFY OP_CHECKSIG*276a914afd32a70670023c92d7e3f4eede6b45e85207d4f88ac*"1H2gDdJ6Tc9yGhorXpP3EPcr24wh5LsuQu8Ɵ$J " +Bd185fa9d913bd76ca2176c216949d48f28fb0f7ecd4d51d7de195de38247922e:0@d185fa9d913bd76ca2176c216949d48f28fb0f7ecd4d51d7de195de38247922e""1NgAzU1ZqfSTvWanfHEnt1Ehw4KRYFKg23"UOP_DUP OP_HASH160 edc334301503c9261fee7f68991abac736168d1c OP_EQUALVERIFY OP_CHECKSIG*276a914edc334301503c9261fee7f68991abac736168d1c88ac*"1NgAzU1ZqfSTvWanfHEnt1Ehw4KRYFKg238$J " +B276efde8c8ac0fb852514f73f21b4effb61f44fc2343ac29d51bf1b43bce0428:0'@276efde8c8ac0fb852514f73f21b4effb61f44fc2343ac29d51bf1b43bce0428""14nLXRfk79M9PgHhrXYGyqZUb3Tw6fgE14"UOP_DUP OP_HASH160 297b64d850b7555b35d197e7521fa66f0a6c730d OP_EQUALVERIFY OP_CHECKSIG*276a914297b64d850b7555b35d197e7521fa66f0a6c730d88ac*"14nLXRfk79M9PgHhrXYGyqZUb3Tw6fgE148$J  +" +B72c59cc490e7d4d98a1436f249c409c47d602893a0532ed31bafe6d85cb8ea01:1@72c59cc490e7d4d98a1436f249c409c47d602893a0532ed31bafe6d85cb8ea01""1LsFZ2r4N4Tsm7FTwbPMCYVMUxG7b8V5QY"UOP_DUP OP_HASH160 d9eb55ea54ab568d6f56c4768c629e9af92c7735 OP_EQUALVERIFY OP_CHECKSIG*276a914d9eb55ea54ab568d6f56c4768c629e9af92c773588ac*"1LsFZ2r4N4Tsm7FTwbPMCYVMUxG7b8V5QY8$J " +B276efde8c8ac0fb852514f73f21b4effb61f44fc2343ac29d51bf1b43bce0428:1@276efde8c8ac0fb852514f73f21b4effb61f44fc2343ac29d51bf1b43bce0428""14nLXRfk79M9PgHhrXYGyqZUb3Tw6fgE14"UOP_DUP OP_HASH160 297b64d850b7555b35d197e7521fa66f0a6c730d OP_EQUALVERIFY OP_CHECKSIG*276a914297b64d850b7555b35d197e7521fa66f0a6c730d88ac*"14nLXRfk79M9PgHhrXYGyqZUb3Tw6fgE148$J " B48988479268a4a88c560bc2a24a31310c09346abf0a172b2a9064a9545bf00d6:1@48988479268a4a88c560bc2a24a31310c09346abf0a172b2a9064a9545bf00d6""1GCDozS2rf8AhKszR9Bbpu3pa769jCfL5a"UOP_DUP OP_HASH160 a6a927de18161c0dd8afcf30d42f3dbf82210b29 OP_EQUALVERIFY OP_CHECKSIG*276a914a6a927de18161c0dd8afcf30d42f3dbf82210b2988ac*"1GCDozS2rf8AhKszR9Bbpu3pa769jCfL5a8#J  " Be27621d3f90db8936a10ee822c9cc413b46d117cc722204460964c4b9a634f93:0U@e27621d3f90db8936a10ee822c9cc413b46d117cc722204460964c4b9a634f93""1MNV8aUwPwLAjzMK157vJAK2bDjKV3T2C2"UOP_DUP OP_HASH160 df72bbafc8c7b2c7907fb7f3eed35b32b77354fb OP_EQUALVERIFY OP_CHECKSIG*276a914df72bbafc8c7b2c7907fb7f3eed35b32b77354fb88ac*"1MNV8aUwPwLAjzMK157vJAK2bDjKV3T2C28$J " B9d2c9f42f7bedccd0803c600dd3b2743ae154353d4686aa3fd5c5f12ae4f9351:0@9d2c9f42f7bedccd0803c600dd3b2743ae154353d4686aa3fd5c5f12ae4f9351""14WEkwHqeZMJJ2j5g3TLyR8aw2BPzVzTjv"UOP_DUP OP_HASH160 266feca827d6e20463d1e639102724e92fa91ed7 OP_EQUALVERIFY OP_CHECKSIG*276a914266feca827d6e20463d1e639102724e92fa91ed788ac*"14WEkwHqeZMJJ2j5g3TLyR8aw2BPzVzTjv8#J " B6cc4dcaf606d417737a3e45f921e326f79b6ea8e7484721c933f3144babf2494:1@6cc4dcaf606d417737a3e45f921e326f79b6ea8e7484721c933f3144babf2494""139wACkRFaMo3zzhov2kynAYefk58oVnJB"UOP_DUP OP_HASH160 17a0c9e43791d645c3ed63a25d64a15a0c0e0350 OP_EQUALVERIFY OP_CHECKSIG*276a91417a0c9e43791d645c3ed63a25d64a15a0c0e035088ac*"139wACkRFaMo3zzhov2kynAYefk58oVnJB8#J " -Bb0aace596dc985af931205a2824ec49b5c72e90d8c64338958b379934aa74758:0@b0aace596dc985af931205a2824ec49b5c72e90d8c64338958b379934aa74758""1DnQ9qaY27585RMJVwfKBWNC1ejM6idQvj"UOP_DUP OP_HASH160 8c378de76b040a250c662024ae637d25f6848d58 OP_EQUALVERIFY OP_CHECKSIG*276a9148c378de76b040a250c662024ae637d25f6848d5888ac*"1DnQ9qaY27585RMJVwfKBWNC1ejM6idQvj8#J " -Bf7f4041d2b38201b4dbd837b30216fa3aa281cf56c2d8744a188ee0447974b91:0@f7f4041d2b38201b4dbd837b30216fa3aa281cf56c2d8744a188ee0447974b91""17WjqQEk1vTUt5BpMU2weA2WiQXC8RNfGY"UOP_DUP OP_HASH160 477092f3949a89d30bde07826c51c83d7801300b OP_EQUALVERIFY OP_CHECKSIG*276a914477092f3949a89d30bde07826c51c83d7801300b88ac*"17WjqQEk1vTUt5BpMU2weA2WiQXC8RNfGY8#J " -Bcba2394f5b5a0c3d12ddbb1efa0adcb76b9b4c03c75eff7f19c676ca9005922f:1@cba2394f5b5a0c3d12ddbb1efa0adcb76b9b4c03c75eff7f19c676ca9005922f""1Dmxv9cPaEm4GsEpNxqfeKGDGXkPo7ZtXL"UOP_DUP OP_HASH160 8c227d0426bf1c172e221f6a5f4d03808f0b062d OP_EQUALVERIFY OP_CHECKSIG*276a9148c227d0426bf1c172e221f6a5f4d03808f0b062d88ac*"1Dmxv9cPaEm4GsEpNxqfeKGDGXkPo7ZtXL8#J " -B02990065684d4c4fbf67bdfc23ec3e5dad5745978048ea7bb5fec5358088604c:0 @02990065684d4c4fbf67bdfc23ec3e5dad5745978048ea7bb5fec5358088604c""19x8rNVtSww39H4ekUmcwx6VARVipJLbtb"UOP_DUP OP_HASH160 622e702318e0db969c9ef03ce1ed4485969b7aa4 OP_EQUALVERIFY OP_CHECKSIG*276a914622e702318e0db969c9ef03ce1ed4485969b7aa488ac*"19x8rNVtSww39H4ekUmcwx6VARVipJLbtb8$J " -B7e3665804c5b0d3f60a8393b2be022e89863b97711079a9e84f67dbaa6199486:0@7e3665804c5b0d3f60a8393b2be022e89863b97711079a9e84f67dbaa6199486""16rHTSHzfumQxMtQ4F4ZWDydFhGaAbM3df"UOP_DUP OP_HASH160 402abf66210dad0c9c3b86ae6b852a665ed83152 OP_EQUALVERIFY OP_CHECKSIG*276a914402abf66210dad0c9c3b86ae6b852a665ed8315288ac*"16rHTSHzfumQxMtQ4F4ZWDydFhGaAbM3df8#J  " +Bf7f4041d2b38201b4dbd837b30216fa3aa281cf56c2d8744a188ee0447974b91:0@f7f4041d2b38201b4dbd837b30216fa3aa281cf56c2d8744a188ee0447974b91""17WjqQEk1vTUt5BpMU2weA2WiQXC8RNfGY"UOP_DUP OP_HASH160 477092f3949a89d30bde07826c51c83d7801300b OP_EQUALVERIFY OP_CHECKSIG*276a914477092f3949a89d30bde07826c51c83d7801300b88ac*"17WjqQEk1vTUt5BpMU2weA2WiQXC8RNfGY8#J " +Bf5e038c1513896d99918a9c4b1c71c9dff5d56dc23f7d063e1f615ce76837308:0@f5e038c1513896d99918a9c4b1c71c9dff5d56dc23f7d063e1f615ce76837308""16geojFDVYZwzdAmhQ2gLwDj1Ym6agkjUw"UOP_DUP OP_HASH160 3e5868f61fe48d95a59659b24c0cea3de0af88f4 OP_EQUALVERIFY OP_CHECKSIG*276a9143e5868f61fe48d95a59659b24c0cea3de0af88f488ac*"16geojFDVYZwzdAmhQ2gLwDj1Ym6agkjUw8$J " +B8ae6cd71f82da733688b04914abbccfbf363574f4253c2aec04b79bae7c834d2:0@8ae6cd71f82da733688b04914abbccfbf363574f4253c2aec04b79bae7c834d2""13WoBs6WenY8amgVr99jCKCAQtKdd2r6ep"UOP_DUP OP_HASH160 1b92dea35de5326a9083aec1439c70711ca7c06b OP_EQUALVERIFY OP_CHECKSIG*276a9141b92dea35de5326a9083aec1439c70711ca7c06b88ac*"13WoBs6WenY8amgVr99jCKCAQtKdd2r6ep8$J " +B921819ae8aade3d7e60e5ced2840b77d4b790fa0b5d85e1b1f4cd0d4fd400bbb:1@921819ae8aade3d7e60e5ced2840b77d4b790fa0b5d85e1b1f4cd0d4fd400bbb""1MZk7g3GxFvuAw4trGfTm21pHiqeZQVEse"UOP_DUP OP_HASH160 e193d12c99e3ef80b61107183e1c73ff9fd92b15 OP_EQUALVERIFY OP_CHECKSIG*276a914e193d12c99e3ef80b61107183e1c73ff9fd92b1588ac*"1MZk7g3GxFvuAw4trGfTm21pHiqeZQVEse8$J " +Bd660b74cdd652275b0033b99aa37b887ecc452663b054a727e38c120482222bc:0@d660b74cdd652275b0033b99aa37b887ecc452663b054a727e38c120482222bc""1P9RRRz5W1bHo9XSkaxCdpmwkXrUmZ5eS3"UOP_DUP OP_HASH160 f2ea7b121f1057480021c51b0749366078189b74 OP_EQUALVERIFY OP_CHECKSIG*276a914f2ea7b121f1057480021c51b0749366078189b7488ac*"1P9RRRz5W1bHo9XSkaxCdpmwkXrUmZ5eS38$J " +B269a517a5de767fb1a5d6535efa5f5a46c315f1c1000df4e7ad5509857a2dadc:0@269a517a5de767fb1a5d6535efa5f5a46c315f1c1000df4e7ad5509857a2dadc""1HYmqEKPo1cfYtn78cnvaEppQuXi4Rs7UQ"UOP_DUP OP_HASH160 b58454b241a4f380e05eb3d2df89f105c367de9a OP_EQUALVERIFY OP_CHECKSIG*276a914b58454b241a4f380e05eb3d2df89f105c367de9a88ac*"1HYmqEKPo1cfYtn78cnvaEppQuXi4Rs7UQ8$J " +B50304f8eea0b16d93339594620bd9713ca3caf49ecb368ac9577fd940d0a52ad:0@50304f8eea0b16d93339594620bd9713ca3caf49ecb368ac9577fd940d0a52ad""1LP8PjHbQMxn3i9LqDNFZCiXjykvitn84k"UOP_DUP OP_HASH160 d499b623b3923cf90bcafb2bf3b9717ad3016379 OP_EQUALVERIFY OP_CHECKSIG*276a914d499b623b3923cf90bcafb2bf3b9717ad301637988ac*"1LP8PjHbQMxn3i9LqDNFZCiXjykvitn84k8$J " Baeae82c66cd5618e842f3d202f8a894af1ac694801afbb0700684631c3a5afca:09@aeae82c66cd5618e842f3d202f8a894af1ac694801afbb0700684631c3a5afca""14bvbKrBW4tpX2aCF5a7uaszg35Tq1C82c"UOP_DUP OP_HASH160 2783419913fd84520c1edd7da0be286775a1af43 OP_EQUALVERIFY OP_CHECKSIG*276a9142783419913fd84520c1edd7da0be286775a1af4388ac*"14bvbKrBW4tpX2aCF5a7uaszg35Tq1C82c8#J " B83e453fc2300b7f2661f491fa5eaeb7cd1d5043b41454f1cb2a005f523f715be:0@83e453fc2300b7f2661f491fa5eaeb7cd1d5043b41454f1cb2a005f523f715be""131er8U1wbwrspgPnSbHnqucvPrVagdns4"UOP_DUP OP_HASH160 160fd83db04fd16327c004759f337d4b3f9e2bc7 OP_EQUALVERIFY OP_CHECKSIG*276a914160fd83db04fd16327c004759f337d4b3f9e2bc788ac*"131er8U1wbwrspgPnSbHnqucvPrVagdns48$J " B15c7fd53381e288055de831eca71e4c10c311f1dd37111cbbf9d68a905467463:1@15c7fd53381e288055de831eca71e4c10c311f1dd37111cbbf9d68a905467463""12AyQQjeJpp4Apn9QuUpdBVecm65whrkhw"UOP_DUP OP_HASH160 0cdaf3eab71c736ecac8910f852eeb2a4fe123eb OP_EQUALVERIFY OP_CHECKSIG*276a9140cdaf3eab71c736ecac8910f852eeb2a4fe123eb88ac*"12AyQQjeJpp4Apn9QuUpdBVecm65whrkhw8#J " Bd1083b9367e8345caa801aa69231894bd6840b7ccb22b1a9d2b2815a858ce8d1:0V@d1083b9367e8345caa801aa69231894bd6840b7ccb22b1a9d2b2815a858ce8d1""1PoHtVWCLeviJ23AbahFzAJSBs1CBGw1vx"UOP_DUP OP_HASH160 fa13ffaa9c71cf3cd1065d4661bf0485976a5feb OP_EQUALVERIFY OP_CHECKSIG*276a914fa13ffaa9c71cf3cd1065d4661bf0485976a5feb88ac*"1PoHtVWCLeviJ23AbahFzAJSBs1CBGw1vx8#J " B02647d2ed4b63e96699da70ad3473ee1d82be0af041a2f5e4f461ac6492af817:0@02647d2ed4b63e96699da70ad3473ee1d82be0af041a2f5e4f461ac6492af817""19FLjQj3YY1jtsqXrkYENXL31u9h4LyzRP"UOP_DUP OP_HASH160 5a774cedcea93ee22f220c45c74f357dcfe9eaf9 OP_EQUALVERIFY OP_CHECKSIG*276a9145a774cedcea93ee22f220c45c74f357dcfe9eaf988ac*"19FLjQj3YY1jtsqXrkYENXL31u9h4LyzRP8#J " B9dde000ee1eb79e41debf1b4044b037d98588dc489800408e85fe8704d87f10a:1@9dde000ee1eb79e41debf1b4044b037d98588dc489800408e85fe8704d87f10a""1HU5AGJtRsTM2bQjWFK4SjCGMBos5sGdcv"UOP_DUP OP_HASH160 b4a0b7434d5d206d84c034cb6636cd367fd03e6e OP_EQUALVERIFY OP_CHECKSIG*276a914b4a0b7434d5d206d84c034cb6636cd367fd03e6e88ac*"1HU5AGJtRsTM2bQjWFK4SjCGMBos5sGdcv8"J " -Baba28887cde0b022e19792e2b1f85bc5ffe454ae291cabf0490bc0b7ffcdea73:0@aba28887cde0b022e19792e2b1f85bc5ffe454ae291cabf0490bc0b7ffcdea73""1MvKsVBSxSPhcQLXwjWfCXC7s1Y5S8TEzR"UOP_DUP OP_HASH160 e578505c1a4019d307ca69cba53f40d3dc0523f5 OP_EQUALVERIFY OP_CHECKSIG*276a914e578505c1a4019d307ca69cba53f40d3dc0523f588ac*"1MvKsVBSxSPhcQLXwjWfCXC7s1Y5S8TEzR8#J " -B935fdff823e795576f481143929d9e9d889b6f0b2667f04995fedf27b94b54fc:1@935fdff823e795576f481143929d9e9d889b6f0b2667f04995fedf27b94b54fc""1FDUpGUrJLcf85JKsE6fbQ2yEWTq7R7ivN"UOP_DUP OP_HASH160 9bedf8a4a7d28909103284500db843f87abb1d1d OP_EQUALVERIFY OP_CHECKSIG*276a9149bedf8a4a7d28909103284500db843f87abb1d1d88ac*"1FDUpGUrJLcf85JKsE6fbQ2yEWTq7R7ivN8#J " -Be0019ec2c7cce14e962de26204043d06883d216508ad78eb12bd5e0ad2db2545:1N@e0019ec2c7cce14e962de26204043d06883d216508ad78eb12bd5e0ad2db2545""1F876CDCW1Mk6BZCAAbJz4JFk1kBLNqvQx"UOP_DUP OP_HASH160 9ae9c18902828fc66a556fcd4dee700e2a8ce50d OP_EQUALVERIFY OP_CHECKSIG*276a9149ae9c18902828fc66a556fcd4dee700e2a8ce50d88ac*"1F876CDCW1Mk6BZCAAbJz4JFk1kBLNqvQx8$J " -Bddcf995f1367d34279a2dc9a0c1d7c6061dc7168a8d8bcade996e06f8d6b6116:0@ddcf995f1367d34279a2dc9a0c1d7c6061dc7168a8d8bcade996e06f8d6b6116""12bFzgRYzeA3byJS33gHGe1jsSyipgNUnF"UOP_DUP OP_HASH160 1172c905c5d9d97e7f9f9b3927cf293bd825ee5e OP_EQUALVERIFY OP_CHECKSIG*276a9141172c905c5d9d97e7f9f9b3927cf293bd825ee5e88ac*"12bFzgRYzeA3byJS33gHGe1jsSyipgNUnF8$J " -B1db154fcc80970ef6e51af54a25a85d394a1674f47e03c93845324ff4851298a:0@1db154fcc80970ef6e51af54a25a85d394a1674f47e03c93845324ff4851298a""18Gk56KaUKdXU9DsRSS68Vbm7tMgfVj6rD"UOP_DUP OP_HASH160 4fc312ca09cd43ac8f4e8a5fbf7c34bc5ce4cd63 OP_EQUALVERIFY OP_CHECKSIG*276a9144fc312ca09cd43ac8f4e8a5fbf7c34bc5ce4cd6388ac*"18Gk56KaUKdXU9DsRSS68Vbm7tMgfVj6rD8̏$J " -Bd887950afabc059c62e649148b6fa66d2f3fd307b82c4c0be043a6a330729e23:0@d887950afabc059c62e649148b6fa66d2f3fd307b82c4c0be043a6a330729e23""12fADQ9iZaHC6eBzT2GV9GwmZMud2rAPVf"UOP_DUP OP_HASH160 122f9fa4ae63a7de0d90f4f009a3c293b3f07d07 OP_EQUALVERIFY OP_CHECKSIG*276a914122f9fa4ae63a7de0d90f4f009a3c293b3f07d0788ac*"12fADQ9iZaHC6eBzT2GV9GwmZMud2rAPVf8#J " -B088dda146ed53a83b77c93cee60371e4e7c2739225dc663809cd7d112142127d:0@088dda146ed53a83b77c93cee60371e4e7c2739225dc663809cd7d112142127d""1PRDHJpZqWm3pUizbJXzWJ4ydXYXZ68STh"UOP_DUP OP_HASH160 f5e7008b0abcdc9c5d51ce117752d1db637ee2ae OP_EQUALVERIFY OP_CHECKSIG*276a914f5e7008b0abcdc9c5d51ce117752d1db637ee2ae88ac*"1PRDHJpZqWm3pUizbJXzWJ4ydXYXZ68STh8“$J " +Baba28887cde0b022e19792e2b1f85bc5ffe454ae291cabf0490bc0b7ffcdea73:0@aba28887cde0b022e19792e2b1f85bc5ffe454ae291cabf0490bc0b7ffcdea73""1MvKsVBSxSPhcQLXwjWfCXC7s1Y5S8TEzR"UOP_DUP OP_HASH160 e578505c1a4019d307ca69cba53f40d3dc0523f5 OP_EQUALVERIFY OP_CHECKSIG*276a914e578505c1a4019d307ca69cba53f40d3dc0523f588ac*"1MvKsVBSxSPhcQLXwjWfCXC7s1Y5S8TEzR8#J " +B082cafe3617f1e0c39304c7662381cdef80218cf2885a0ef10f260a0a1f697d5:1@082cafe3617f1e0c39304c7662381cdef80218cf2885a0ef10f260a0a1f697d5""1G6vCf6PHzeH2fMpe2Fto99DqWi3EgW58k"UOP_DUP OP_HASH160 a5a86062b7350a36f0499ddea20ebc4f667ffb98 OP_EQUALVERIFY OP_CHECKSIG*276a914a5a86062b7350a36f0499ddea20ebc4f667ffb9888ac*"1G6vCf6PHzeH2fMpe2Fto99DqWi3EgW58k8$J " +Bd887950afabc059c62e649148b6fa66d2f3fd307b82c4c0be043a6a330729e23:0@d887950afabc059c62e649148b6fa66d2f3fd307b82c4c0be043a6a330729e23""12fADQ9iZaHC6eBzT2GV9GwmZMud2rAPVf"UOP_DUP OP_HASH160 122f9fa4ae63a7de0d90f4f009a3c293b3f07d07 OP_EQUALVERIFY OP_CHECKSIG*276a914122f9fa4ae63a7de0d90f4f009a3c293b3f07d0788ac*"12fADQ9iZaHC6eBzT2GV9GwmZMud2rAPVf8#J " +B4f00c04d96fcf9266f46e7c361f80b66531f8ab8df281edc376ed14a24453c41:0@4f00c04d96fcf9266f46e7c361f80b66531f8ab8df281edc376ed14a24453c41""1KbybSgPzgmAKgqRYzjCi6ENgfQZvu3m1m"UOP_DUP OP_HASH160 cc0fa622bfdfdfb6cd32cefa146db224729fd704 OP_EQUALVERIFY OP_CHECKSIG*276a914cc0fa622bfdfdfb6cd32cefa146db224729fd70488ac*"1KbybSgPzgmAKgqRYzjCi6ENgfQZvu3m1m8$J " B104aa9586c8fca11b356add6c8970ff0ac1c28c2507b81283a7e34f04f83499d:0@104aa9586c8fca11b356add6c8970ff0ac1c28c2507b81283a7e34f04f83499d""17pvJNGAsVtiitJW6JuyrQ8DevTViaaR5G"UOP_DUP OP_HASH160 4ae0cc09d6849c6c7f70a04e0bfb74b0c7cc35fc OP_EQUALVERIFY OP_CHECKSIG*276a9144ae0cc09d6849c6c7f70a04e0bfb74b0c7cc35fc88ac*"17pvJNGAsVtiitJW6JuyrQ8DevTViaaR5G8И#J{" -B7741f071ee9dcabdefe29695cb66e742b0e566b7777b1185aeb107c47770dac9:0@7741f071ee9dcabdefe29695cb66e742b0e566b7777b1185aeb107c47770dac9""1FRN8sc2YXXW4tyYkvFzknTiSbTg5Xqo51"UOP_DUP OP_HASH160 9e2d632491d4075cc63b585466403373f0e7b250 OP_EQUALVERIFY OP_CHECKSIG*276a9149e2d632491d4075cc63b585466403373f0e7b25088ac*"1FRN8sc2YXXW4tyYkvFzknTiSbTg5Xqo518̔$J " +Bc87091f6631df5ebf39148789f8412aefe2b4efcfa0448a28ad38f13678b1257:0=@c87091f6631df5ebf39148789f8412aefe2b4efcfa0448a28ad38f13678b1257""1BVeVZ6jNXuvXXK4DFUWZWW63NL36tDbjb"UOP_DUP OP_HASH160 731c33a6d1b18fb1648e8f3097db81fd894d1189 OP_EQUALVERIFY OP_CHECKSIG*276a914731c33a6d1b18fb1648e8f3097db81fd894d118988ac*"1BVeVZ6jNXuvXXK4DFUWZWW63NL36tDbjb8$J " B4d91787262f3244bcfeeae708024095a67b8c7000a293c5c01917dceb66356cd:0@4d91787262f3244bcfeeae708024095a67b8c7000a293c5c01917dceb66356cd""1Ndr7hzrFGe5En7Qp2tV5SGSsyWLNN5eiH"UOP_DUP OP_HASH160 ed529da1e2a8fa2fb3b6b0452dc587f2abd7dc85 OP_EQUALVERIFY OP_CHECKSIG*276a914ed529da1e2a8fa2fb3b6b0452dc587f2abd7dc8588ac*"1Ndr7hzrFGe5En7Qp2tV5SGSsyWLNN5eiH8#J " -B5bb9000fa166a8eb016bae56dd27db633b0f4b6ab146455c239ef2dfd749562e:0@5bb9000fa166a8eb016bae56dd27db633b0f4b6ab146455c239ef2dfd749562e""127sqhAEfXYkeV16RD1gG1eqmJf8aobPiK"UOP_DUP OP_HASH160 0c450f6cae108cf015843fcd13a3737168371775 OP_EQUALVERIFY OP_CHECKSIG*276a9140c450f6cae108cf015843fcd13a373716837177588ac*"127sqhAEfXYkeV16RD1gG1eqmJf8aobPiK8#J " -B88976e677e33fc9e0b0e595072f4fce8c800cd4defe158372de466ff410cb72b:0@88976e677e33fc9e0b0e595072f4fce8c800cd4defe158372de466ff410cb72b""1MzzW62PGEtc2zJJtGeYXj9QYAi6v9GFEz"UOP_DUP OP_HASH160 e65a39af079d2a3a4c947f1c3399d99ac0090b37 OP_EQUALVERIFY OP_CHECKSIG*276a914e65a39af079d2a3a4c947f1c3399d99ac0090b3788ac*"1MzzW62PGEtc2zJJtGeYXj9QYAi6v9GFEz8$J " +B5bb9000fa166a8eb016bae56dd27db633b0f4b6ab146455c239ef2dfd749562e:0@5bb9000fa166a8eb016bae56dd27db633b0f4b6ab146455c239ef2dfd749562e""127sqhAEfXYkeV16RD1gG1eqmJf8aobPiK"UOP_DUP OP_HASH160 0c450f6cae108cf015843fcd13a3737168371775 OP_EQUALVERIFY OP_CHECKSIG*276a9140c450f6cae108cf015843fcd13a373716837177588ac*"127sqhAEfXYkeV16RD1gG1eqmJf8aobPiK8#J " B88976e677e33fc9e0b0e595072f4fce8c800cd4defe158372de466ff410cb72b:1@88976e677e33fc9e0b0e595072f4fce8c800cd4defe158372de466ff410cb72b""1GoYPXyFoBdSLJRqaiiJhiH95C29SiSSzk"UOP_DUP OP_HASH160 ad57390a480ce37ed6adca4ae8569981610ea963 OP_EQUALVERIFY OP_CHECKSIG*276a914ad57390a480ce37ed6adca4ae8569981610ea96388ac*"1GoYPXyFoBdSLJRqaiiJhiH95C29SiSSzk8$J " -Be27df070b1627f1a8bb78878dbbbe2c2905cfdae7ff91980a9523717528d818d:0@e27df070b1627f1a8bb78878dbbbe2c2905cfdae7ff91980a9523717528d818d""1CFUk1cSrSoAjcmM4JnDTzU68xjzHzFmpu"UOP_DUP OP_HASH160 7b665d54d202acca7cba22c3d914793660e9f84d OP_EQUALVERIFY OP_CHECKSIG*276a9147b665d54d202acca7cba22c3d914793660e9f84d88ac*"1CFUk1cSrSoAjcmM4JnDTzU68xjzHzFmpu8$J " -Bd704339e645758c6bed3363b6eae2fa67dc8b1534148a6197a0a87b782ac8b68:1ϛ@d704339e645758c6bed3363b6eae2fa67dc8b1534148a6197a0a87b782ac8b68""1MAi6vsYqAYs8kE71G2KssC4sLKAssQYKt"UOP_DUP OP_HASH160 dd3891da57f34a57355c434b68cab61b1faba977 OP_EQUALVERIFY OP_CHECKSIG*276a914dd3891da57f34a57355c434b68cab61b1faba97788ac*"1MAi6vsYqAYs8kE71G2KssC4sLKAssQYKt8$J " -Bc2314350b4a8b4dc669e7ed778453968a185cfd3f3fde6684c4f0575eecef498:0lj@c2314350b4a8b4dc669e7ed778453968a185cfd3f3fde6684c4f0575eecef498""1N6sePERe6yScf4Yeh1rVHKGNqTg1zLfTo"UOP_DUP OP_HASH160 e776ff48907cd44112b7f891d654f7281da177f7 OP_EQUALVERIFY OP_CHECKSIG*276a914e776ff48907cd44112b7f891d654f7281da177f788ac*"1N6sePERe6yScf4Yeh1rVHKGNqTg1zLfTo8׈$J " -Be7053464ae476abe7764c61af0bdec09da2d5c0711cebcf3eeaf0cab0950e6b7:1@e7053464ae476abe7764c61af0bdec09da2d5c0711cebcf3eeaf0cab0950e6b7""1C8nqN4td7BE4Mzqvf8UNCwPmLyqQUuS7n"UOP_DUP OP_HASH160 7a228e36d5c180ef012f9013e91c02178a850cda OP_EQUALVERIFY OP_CHECKSIG*276a9147a228e36d5c180ef012f9013e91c02178a850cda88ac*"1C8nqN4td7BE4Mzqvf8UNCwPmLyqQUuS7n8#J " -B84a36275ce91c8d51651a649a57ad1e56386e4e29f275280a9f390a6261b1bff:0@84a36275ce91c8d51651a649a57ad1e56386e4e29f275280a9f390a6261b1bff""1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY"UOP_DUP OP_HASH160 79a2f7d6d53eaff291543f9aea88eab1376d7db5 OP_EQUALVERIFY OP_CHECKSIG*276a91479a2f7d6d53eaff291543f9aea88eab1376d7db588ac*"1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY8$J " +Bc6cf991f336064aaa2fab47cab66893b911a98a95ea9433e226d2de8130071b4:0@c6cf991f336064aaa2fab47cab66893b911a98a95ea9433e226d2de8130071b4""1FGZh7rkFTbN3zP1WrdS4scYZVP8qejgEP"UOP_DUP OP_HASH160 9c834a40ce1fab6dd158665e3d8c24c91a196f78 OP_EQUALVERIFY OP_CHECKSIG*276a9149c834a40ce1fab6dd158665e3d8c24c91a196f7888ac*"1FGZh7rkFTbN3zP1WrdS4scYZVP8qejgEP8Ǜ$J " +Be27df070b1627f1a8bb78878dbbbe2c2905cfdae7ff91980a9523717528d818d:0@e27df070b1627f1a8bb78878dbbbe2c2905cfdae7ff91980a9523717528d818d""1CFUk1cSrSoAjcmM4JnDTzU68xjzHzFmpu"UOP_DUP OP_HASH160 7b665d54d202acca7cba22c3d914793660e9f84d OP_EQUALVERIFY OP_CHECKSIG*276a9147b665d54d202acca7cba22c3d914793660e9f84d88ac*"1CFUk1cSrSoAjcmM4JnDTzU68xjzHzFmpu8$J " +B97f0a074667abc36ddb51f94c94c6c4f12ca12ae726391c4550a582dcccd4ed3:0@97f0a074667abc36ddb51f94c94c6c4f12ca12ae726391c4550a582dcccd4ed3""1KonECgYvKRGWhGB9hnwFqfv8mCUWA53nt"UOP_DUP OP_HASH160 ce4b270781fffd7b4b6260ac0cf5dd7a863311b0 OP_EQUALVERIFY OP_CHECKSIG*276a914ce4b270781fffd7b4b6260ac0cf5dd7a863311b088ac*"1KonECgYvKRGWhGB9hnwFqfv8mCUWA53nt8$J " +B2aec70d6fd7d4ccdcc3079216f3b38e27a32036bc98deb6daad607f33c24161d:1@2aec70d6fd7d4ccdcc3079216f3b38e27a32036bc98deb6daad607f33c24161d""1EzS7ZSozPVkjVNStteKPEuaPdcLXYrPFE"UOP_DUP OP_HASH160 99764ef109ff86accdf37c76c165a8de8b4a05b8 OP_EQUALVERIFY OP_CHECKSIG*276a91499764ef109ff86accdf37c76c165a8de8b4a05b888ac*"1EzS7ZSozPVkjVNStteKPEuaPdcLXYrPFE8$J " +Bc2314350b4a8b4dc669e7ed778453968a185cfd3f3fde6684c4f0575eecef498:0lj@c2314350b4a8b4dc669e7ed778453968a185cfd3f3fde6684c4f0575eecef498""1N6sePERe6yScf4Yeh1rVHKGNqTg1zLfTo"UOP_DUP OP_HASH160 e776ff48907cd44112b7f891d654f7281da177f7 OP_EQUALVERIFY OP_CHECKSIG*276a914e776ff48907cd44112b7f891d654f7281da177f788ac*"1N6sePERe6yScf4Yeh1rVHKGNqTg1zLfTo8׈$J " B13e315f89e0ce7ca3beb0da35cf58d6d4aaf8d0f188ca7efb85893551c444e91:0G@13e315f89e0ce7ca3beb0da35cf58d6d4aaf8d0f188ca7efb85893551c444e91""1Gmv5wtqpZPLW7Yqm13A7EKGie6dXJWDvA"UOP_DUP OP_HASH160 ad08809fcefb921c2fea4061ae9fa1e39ec49e1a OP_EQUALVERIFY OP_CHECKSIG*276a914ad08809fcefb921c2fea4061ae9fa1e39ec49e1a88ac*"1Gmv5wtqpZPLW7Yqm13A7EKGie6dXJWDvA8#J " Ba78f812f318f3e44e169abc9068f6b6d674e006d0e3062f04e7a3fbbe9b1f0a1:0g@a78f812f318f3e44e169abc9068f6b6d674e006d0e3062f04e7a3fbbe9b1f0a1""1KTp86ovERzd1FUmrEEfimJRPbPJ3GZYfu"UOP_DUP OP_HASH160 ca846a38a50ec80be23061228a6f5009d0b92510 OP_EQUALVERIFY OP_CHECKSIG*276a914ca846a38a50ec80be23061228a6f5009d0b9251088ac*"1KTp86ovERzd1FUmrEEfimJRPbPJ3GZYfu8#J " B1e2ace048f8dd2f26f7bbe28d867ae69d2e173befaa47feb0d375e10972597dd:1@1e2ace048f8dd2f26f7bbe28d867ae69d2e173befaa47feb0d375e10972597dd""14GbKQHKXyqQmjQpfLXqKW11Ty2gA7smzp"UOP_DUP OP_HASH160 23db436d7360d3915be9b4ae6c9d7f2108e7b839 OP_EQUALVERIFY OP_CHECKSIG*276a91423db436d7360d3915be9b4ae6c9d7f2108e7b83988ac*"14GbKQHKXyqQmjQpfLXqKW11Ty2gA7smzp8#J " @@ -92113,45 +99035,39 @@ B4c2618d8b2b0dc0c9caf04c5fd854fa249a4fcd44f83c66efb81ea6d2675f67f:0 B78b246c10a41f5b551635c5ee39efc5e0276706f0808b2af234f53e053d2079f:0@78b246c10a41f5b551635c5ee39efc5e0276706f0808b2af234f53e053d2079f""1Jny5S5bg73oxMM7sqXa22uwSiSnLRvS8T"UOP_DUP OP_HASH160 c32baab63fbfeb27c61732004f4b60255724fa26 OP_EQUALVERIFY OP_CHECKSIG*276a914c32baab63fbfeb27c61732004f4b60255724fa2688ac*"1Jny5S5bg73oxMM7sqXa22uwSiSnLRvS8T8Ā$J " B7d83c9a906cf8806fe9b10c1ed4a4c01ed3152a1b3559d9d06ba524e8520c46d:0 @7d83c9a906cf8806fe9b10c1ed4a4c01ed3152a1b3559d9d06ba524e8520c46d""127Zyj2p3dQrmYakD6cQAsyHktwKhxGH2s"UOP_DUP OP_HASH160 0c36267450703cd1930085989643039f90b564c4 OP_EQUALVERIFY OP_CHECKSIG*276a9140c36267450703cd1930085989643039f90b564c488ac*"127Zyj2p3dQrmYakD6cQAsyHktwKhxGH2s8#J " +Bc2bc39b76f2f4127e4108f90e00b23bdb29578d4fdb828493c0a0a331e17deef:0@c2bc39b76f2f4127e4108f90e00b23bdb29578d4fdb828493c0a0a331e17deef""1LYH26XbMtBo4YjB1J5riHptsuisrxnPva"UOP_DUP OP_HASH160 d654a816d8d861ab3d3b434f3a17dab1fc6f269d OP_EQUALVERIFY OP_CHECKSIG*276a914d654a816d8d861ab3d3b434f3a17dab1fc6f269d88ac*"1LYH26XbMtBo4YjB1J5riHptsuisrxnPva8Ҟ$J " B356c4d7c277f01ab667eae7db016b98dd6b88a82256c655d5d4658bb372e2ef8:0@356c4d7c277f01ab667eae7db016b98dd6b88a82256c655d5d4658bb372e2ef8""1JaTFmPrdG6d8kga3KBQHkPNZa3yQzNnev"UOP_DUP OP_HASH160 c0cdc801f28db01cebaa2646fcd61cd3c45ce9c7 OP_EQUALVERIFY OP_CHECKSIG*276a914c0cdc801f28db01cebaa2646fcd61cd3c45ce9c788ac*"1JaTFmPrdG6d8kga3KBQHkPNZa3yQzNnev8Ε#J " -B9fa403c66bed04e9e3f4e08d779968527d3fbc316a976fabffb67884ca970c01:0i@9fa403c66bed04e9e3f4e08d779968527d3fbc316a976fabffb67884ca970c01""1PdtE3tsxkYv8tukqdbkjUZo7eo5RMyAeB"UOP_DUP OP_HASH160 f84c809988b892f165cab6c70bd3b59cdd2ac6dc OP_EQUALVERIFY OP_CHECKSIG*276a914f84c809988b892f165cab6c70bd3b59cdd2ac6dc88ac*"1PdtE3tsxkYv8tukqdbkjUZo7eo5RMyAeB8#J " -Bfbf53b24260c1ba8e27a730e04f53fe376f2b982b60ebdb486118e09a2410088:0h@fbf53b24260c1ba8e27a730e04f53fe376f2b982b60ebdb486118e09a2410088""127CywbsySWqi6XUTC24kPP6VMSQrf1r7m"UOP_DUP OP_HASH160 0c249f9814c2b074aefc6012808dc6025f17515f OP_EQUALVERIFY OP_CHECKSIG*276a9140c249f9814c2b074aefc6012808dc6025f17515f88ac*"127CywbsySWqi6XUTC24kPP6VMSQrf1r7m8#J " -Bb323ea45e9404c15795fc25438340852ff079c757953567f8b2d7d90913d8809:1\@b323ea45e9404c15795fc25438340852ff079c757953567f8b2d7d90913d8809""1GaKF1MuG8578C49QyvanRCn5G2wq7YT7p"UOP_DUP OP_HASH160 aad6d7398a59984162cf79a436e5f8ffb7ec7e09 OP_EQUALVERIFY OP_CHECKSIG*276a914aad6d7398a59984162cf79a436e5f8ffb7ec7e0988ac*"1GaKF1MuG8578C49QyvanRCn5G2wq7YT7p8ϓ$J " -B16b98078c3bd9ae259904e184b48e62087e03daeb45eda42446746f0780bfd7a:0@16b98078c3bd9ae259904e184b48e62087e03daeb45eda42446746f0780bfd7a""18VSq1RhW5nyUx3ffBNK5AhZ4EgFpm1bu5"UOP_DUP OP_HASH160 522a1659a61d1141272b19f0c6ad9bf97a7dab1b OP_EQUALVERIFY OP_CHECKSIG*276a914522a1659a61d1141272b19f0c6ad9bf97a7dab1b88ac*"18VSq1RhW5nyUx3ffBNK5AhZ4EgFpm1bu58$J " -B30b9c41e2d6644ed1ea233f2e7d39a78f272376871ea2e1a47234c95505b22a3:01@30b9c41e2d6644ed1ea233f2e7d39a78f272376871ea2e1a47234c95505b22a3""1AZp2pkodDrU9XnA5kL1JayN6YiTHq29qH"UOP_DUP OP_HASH160 68edb3e404ce774cfcf6177f4f157872b715ea07 OP_EQUALVERIFY OP_CHECKSIG*276a91468edb3e404ce774cfcf6177f4f157872b715ea0788ac*"1AZp2pkodDrU9XnA5kL1JayN6YiTHq29qH8#J " +Bd618b204b64ab050c12f96b017b8403e666f9042b21f636aef3cf864b4667a30:0 @d618b204b64ab050c12f96b017b8403e666f9042b21f636aef3cf864b4667a30""1K3k8NXjmTYmCs7toAsTs8CcK6CZaKnHwE"UOP_DUP OP_HASH160 c5f718c23101ec6191393a28ee30c368e73a9fcf OP_EQUALVERIFY OP_CHECKSIG*276a914c5f718c23101ec6191393a28ee30c368e73a9fcf88ac*"1K3k8NXjmTYmCs7toAsTs8CcK6CZaKnHwE8ģ$J " +Bfbf53b24260c1ba8e27a730e04f53fe376f2b982b60ebdb486118e09a2410088:0h@fbf53b24260c1ba8e27a730e04f53fe376f2b982b60ebdb486118e09a2410088""127CywbsySWqi6XUTC24kPP6VMSQrf1r7m"UOP_DUP OP_HASH160 0c249f9814c2b074aefc6012808dc6025f17515f OP_EQUALVERIFY OP_CHECKSIG*276a9140c249f9814c2b074aefc6012808dc6025f17515f88ac*"127CywbsySWqi6XUTC24kPP6VMSQrf1r7m8#J " Bbb4c6cf5db7bb7ae49c05badac00c2a5be77d84a672a204a92d1f5c4f4e11285:0K@bb4c6cf5db7bb7ae49c05badac00c2a5be77d84a672a204a92d1f5c4f4e11285""15YsB4ewNqQraUm2CYvHTHoqWe8rkY5j6B"UOP_DUP OP_HASH160 31e747da9799758892c3b3141f109cdd5e1f6cbc OP_EQUALVERIFY OP_CHECKSIG*276a91431e747da9799758892c3b3141f109cdd5e1f6cbc88ac*"15YsB4ewNqQraUm2CYvHTHoqWe8rkY5j6B8#J " B2f1de0f7d5247c3904c82501c85404a0c0a6920f79acc24e1549ecadf14d68d2:0(@2f1de0f7d5247c3904c82501c85404a0c0a6920f79acc24e1549ecadf14d68d2""12A2VVB6LgdxJxv3JRi4qoa5fGBqbRw3oj"UOP_DUP OP_HASH160 0cad1d3a9dd5c4e0f436bcbbd910462e14e00470 OP_EQUALVERIFY OP_CHECKSIG*276a9140cad1d3a9dd5c4e0f436bcbbd910462e14e0047088ac*"12A2VVB6LgdxJxv3JRi4qoa5fGBqbRw3oj8߸#J " B53f85fa84f9efdb304d38a87fa4d60d9d423a3de010713010f929b727bb5f31e:0@53f85fa84f9efdb304d38a87fa4d60d9d423a3de010713010f929b727bb5f31e""175Ps4yq5qxPCpW4ivXLXVjvsFmi1kfz5Q"UOP_DUP OP_HASH160 42a580fb19a652271b8ccd55a7de270e4e75d13e OP_EQUALVERIFY OP_CHECKSIG*276a91442a580fb19a652271b8ccd55a7de270e4e75d13e88ac*"175Ps4yq5qxPCpW4ivXLXVjvsFmi1kfz5Q8#J " Bed30ae4713ad91dd6ccff159fbfc9f244f8420ca1b99f1a2651e9fa3e4688993:0 @ed30ae4713ad91dd6ccff159fbfc9f244f8420ca1b99f1a2651e9fa3e4688993""1BZ9zKYyJBqnz9jUF8KDUfWbmTjpQoB2jx"UOP_DUP OP_HASH160 73c6125780d242725fad6842a999f6af77e0e3ba OP_EQUALVERIFY OP_CHECKSIG*276a91473c6125780d242725fad6842a999f6af77e0e3ba88ac*"1BZ9zKYyJBqnz9jUF8KDUfWbmTjpQoB2jx8$J " B0fe4b759f90283aa111ab61507cdca5334e64a861a061cca5d34a56e0e4d058e:0@0fe4b759f90283aa111ab61507cdca5334e64a861a061cca5d34a56e0e4d058e""1KGgtdxaCwocUqWRPXpr9oDzBfZPdqPHhc"UOP_DUP OP_HASH160 c869cd6210eda9a44dbf2722a75af36ae315a950 OP_EQUALVERIFY OP_CHECKSIG*276a914c869cd6210eda9a44dbf2722a75af36ae315a95088ac*"1KGgtdxaCwocUqWRPXpr9oDzBfZPdqPHhc8#J " B77f78044f7cb7ded3ae1ca572efe55bb9132e7b9d97a769535fe721182f3d0e5:0 @77f78044f7cb7ded3ae1ca572efe55bb9132e7b9d97a769535fe721182f3d0e5""1LiKgJTs5oCZMbEQj4tVxWvwvDXLsXpift"UOP_DUP OP_HASH160 d83b091d621fa3c50c8f35db3998abce2b00809e OP_EQUALVERIFY OP_CHECKSIG*276a914d83b091d621fa3c50c8f35db3998abce2b00809e88ac*"1LiKgJTs5oCZMbEQj4tVxWvwvDXLsXpift8#J " -Bb501ee05839736dcc9b2abe8873c566623e9c780c3f8e26121c23b5c369bfad5:0@b501ee05839736dcc9b2abe8873c566623e9c780c3f8e26121c23b5c369bfad5""1Phcow5j4KhYpEiRJJ2UQUnY4VkEgb5HWR"UOP_DUP OP_HASH160 f9014c36e79927bfeb8bb7bec09a6bd8d5124141 OP_EQUALVERIFY OP_CHECKSIG*276a914f9014c36e79927bfeb8bb7bec09a6bd8d512414188ac*"1Phcow5j4KhYpEiRJJ2UQUnY4VkEgb5HWR8#J  " -Bcc7499fddbcfb61b58fa9679d999a09531bf659e203762908f42627832d9c95b:0P@cc7499fddbcfb61b58fa9679d999a09531bf659e203762908f42627832d9c95b""12LForpLH1X4qnDJ9vEuJmtWakChz9haRf"UOP_DUP OP_HASH160 0e9c63dc4c768654acf76c1743a5b9fee8323296 OP_EQUALVERIFY OP_CHECKSIG*276a9140e9c63dc4c768654acf76c1743a5b9fee832329688ac*"12LForpLH1X4qnDJ9vEuJmtWakChz9haRf8$J " +Bb501ee05839736dcc9b2abe8873c566623e9c780c3f8e26121c23b5c369bfad5:0@b501ee05839736dcc9b2abe8873c566623e9c780c3f8e26121c23b5c369bfad5""1Phcow5j4KhYpEiRJJ2UQUnY4VkEgb5HWR"UOP_DUP OP_HASH160 f9014c36e79927bfeb8bb7bec09a6bd8d5124141 OP_EQUALVERIFY OP_CHECKSIG*276a914f9014c36e79927bfeb8bb7bec09a6bd8d512414188ac*"1Phcow5j4KhYpEiRJJ2UQUnY4VkEgb5HWR8#J  " B98df4c6c13d6d211fe1284306033bb2987e6747668b6443e832400099fdca337:0م@98df4c6c13d6d211fe1284306033bb2987e6747668b6443e832400099fdca337"!1FkqyQP54Ns8tHHZZid83C8dHKGnwcsLS"UOP_DUP OP_HASH160 02ca6c425e62ff622a74d187a93bbd77f73f1cb4 OP_EQUALVERIFY OP_CHECKSIG*276a91402ca6c425e62ff622a74d187a93bbd77f73f1cb488ac*!1FkqyQP54Ns8tHHZZid83C8dHKGnwcsLS8#J " -Ba7f1ebedf840bde99e6813c644cf491546d039181c16d7542b1a17411c297eca:0a@a7f1ebedf840bde99e6813c644cf491546d039181c16d7542b1a17411c297eca""121UYGwwh7je2K44vPxNKTmh23KNUmziyJ"UOP_DUP OP_HASH160 0b0f1d47557ab659c7421d178dccdb5303e2de93 OP_EQUALVERIFY OP_CHECKSIG*276a9140b0f1d47557ab659c7421d178dccdb5303e2de9388ac*"121UYGwwh7je2K44vPxNKTmh23KNUmziyJ8#J " -B0f534cc97a603d0df9519f3fb60c5fe05f1f335c37ae10f8469a28069a5f5ffd:0I@0f534cc97a603d0df9519f3fb60c5fe05f1f335c37ae10f8469a28069a5f5ffd""1MVmphdbHQDfWrcKUAczTmhn5wQ7twNsP9"UOP_DUP OP_HASH160 e0d39417459486b29cc47f347ee6d97291f3b37b OP_EQUALVERIFY OP_CHECKSIG*276a914e0d39417459486b29cc47f347ee6d97291f3b37b88ac*"1MVmphdbHQDfWrcKUAczTmhn5wQ7twNsP98#J  " +Ba7f1ebedf840bde99e6813c644cf491546d039181c16d7542b1a17411c297eca:0a@a7f1ebedf840bde99e6813c644cf491546d039181c16d7542b1a17411c297eca""121UYGwwh7je2K44vPxNKTmh23KNUmziyJ"UOP_DUP OP_HASH160 0b0f1d47557ab659c7421d178dccdb5303e2de93 OP_EQUALVERIFY OP_CHECKSIG*276a9140b0f1d47557ab659c7421d178dccdb5303e2de9388ac*"121UYGwwh7je2K44vPxNKTmh23KNUmziyJ8#J " +B4a41ae0ae6ed35484915fbfbd77551c96b3e985641049f21cfc6c08f4b229dbe:1H@4a41ae0ae6ed35484915fbfbd77551c96b3e985641049f21cfc6c08f4b229dbe""1JmfuyUbVf5hNsBMfTwAxhiHmvQPm1ZcBd"UOP_DUP OP_HASH160 c2ecec824ec9636486b17977cdfdd925e36f0727 OP_EQUALVERIFY OP_CHECKSIG*276a914c2ecec824ec9636486b17977cdfdd925e36f072788ac*"1JmfuyUbVf5hNsBMfTwAxhiHmvQPm1ZcBd8$J " +B0f534cc97a603d0df9519f3fb60c5fe05f1f335c37ae10f8469a28069a5f5ffd:0I@0f534cc97a603d0df9519f3fb60c5fe05f1f335c37ae10f8469a28069a5f5ffd""1MVmphdbHQDfWrcKUAczTmhn5wQ7twNsP9"UOP_DUP OP_HASH160 e0d39417459486b29cc47f347ee6d97291f3b37b OP_EQUALVERIFY OP_CHECKSIG*276a914e0d39417459486b29cc47f347ee6d97291f3b37b88ac*"1MVmphdbHQDfWrcKUAczTmhn5wQ7twNsP98#J  " +B29c673a67a62e346dd45be769e0a7c0924e75f400d817f1c688b8b8b1e112e09:1@29c673a67a62e346dd45be769e0a7c0924e75f400d817f1c688b8b8b1e112e09""1JaZAwNfz5vhtgig2yxtbroR64uMQ7jAzu"UOP_DUP OP_HASH160 c0d2b86854ea850accb1df50fbc4a1cb8074a7d4 OP_EQUALVERIFY OP_CHECKSIG*276a914c0d2b86854ea850accb1df50fbc4a1cb8074a7d488ac*"1JaZAwNfz5vhtgig2yxtbroR64uMQ7jAzu8Π$J " Bbfee03c0f74e94d26d88adbc93e836866792f71238f1a03411e9b8524f054585:0@bfee03c0f74e94d26d88adbc93e836866792f71238f1a03411e9b8524f054585""15BTXpiXnggbjZXis6ESmkT8FJt9iBoZkM"UOP_DUP OP_HASH160 2ddacf60de510aa5e7871fbf9ef0711bc8c7af03 OP_EQUALVERIFY OP_CHECKSIG*276a9142ddacf60de510aa5e7871fbf9ef0711bc8c7af0388ac*"15BTXpiXnggbjZXis6ESmkT8FJt9iBoZkM8#J " B24ca2cd01743d615d7a6b2bedd30996aee1b28c45bc222aabc2567d6bfc7f2d3:0@24ca2cd01743d615d7a6b2bedd30996aee1b28c45bc222aabc2567d6bfc7f2d3""184xWHnCvLFwTZihp6e92Gs3w4ZvDTLDjU"UOP_DUP OP_HASH160 4d88762b936001dde3abc5c1b01464a991f3629a OP_EQUALVERIFY OP_CHECKSIG*276a9144d88762b936001dde3abc5c1b01464a991f3629a88ac*"184xWHnCvLFwTZihp6e92Gs3w4ZvDTLDjU8#J " -B0c2336fc608506caf2baf6409cffc710938bdbc1589250f327b0107dc654fde7:0@0c2336fc608506caf2baf6409cffc710938bdbc1589250f327b0107dc654fde7""1FVTLyGoL1Y53pbJmmjvZdBVScBj7XDmLm"UOP_DUP OP_HASH160 9ef36626c1934c0a5c4ac79a8e21a653480b0969 OP_EQUALVERIFY OP_CHECKSIG*276a9149ef36626c1934c0a5c4ac79a8e21a653480b096988ac*"1FVTLyGoL1Y53pbJmmjvZdBVScBj7XDmLm8#J " -B7494732248a9d75155f0c44501fa8ca5368efdda9795e7c566e6262e6e1118fe:0Y@7494732248a9d75155f0c44501fa8ca5368efdda9795e7c566e6262e6e1118fe""1FnTYU1ftvDbSBzp9GXpmUoyDhAV2ztjcr"UOP_DUP OP_HASH160 a22aa2c58d95814bd7c9392326cc66a8da216eaa OP_EQUALVERIFY OP_CHECKSIG*276a914a22aa2c58d95814bd7c9392326cc66a8da216eaa88ac*"1FnTYU1ftvDbSBzp9GXpmUoyDhAV2ztjcr8$J " +B0c2336fc608506caf2baf6409cffc710938bdbc1589250f327b0107dc654fde7:0@0c2336fc608506caf2baf6409cffc710938bdbc1589250f327b0107dc654fde7""1FVTLyGoL1Y53pbJmmjvZdBVScBj7XDmLm"UOP_DUP OP_HASH160 9ef36626c1934c0a5c4ac79a8e21a653480b0969 OP_EQUALVERIFY OP_CHECKSIG*276a9149ef36626c1934c0a5c4ac79a8e21a653480b096988ac*"1FVTLyGoL1Y53pbJmmjvZdBVScBj7XDmLm8#J " +Bf9f19d5859d5ccca65a1b2c32db1b4a4e11a9fba4c093b95e3fe8a3483d9db2f:0@f9f19d5859d5ccca65a1b2c32db1b4a4e11a9fba4c093b95e3fe8a3483d9db2f""1LbK5fevJLqZAtV88eAQGkU1zpNXKvcPfX"UOP_DUP OP_HASH160 d6e7a01a0736ef60d54d844a05bbc04c40846e9c OP_EQUALVERIFY OP_CHECKSIG*276a914d6e7a01a0736ef60d54d844a05bbc04c40846e9c88ac*"1LbK5fevJLqZAtV88eAQGkU1zpNXKvcPfX8ۡ$J " B9a20b0200e072dcb92088034e602c1cba1a2b693195f0f5273c2c505c641baf4:0@9a20b0200e072dcb92088034e602c1cba1a2b693195f0f5273c2c505c641baf4""16BPxQEuWMVtEBscSrRDfwdpvKPCgrZqbJ"UOP_DUP OP_HASH160 38cff357df6f5a3edfa77be24470daa57ca2b3fc OP_EQUALVERIFY OP_CHECKSIG*276a91438cff357df6f5a3edfa77be24470daa57ca2b3fc88ac*"16BPxQEuWMVtEBscSrRDfwdpvKPCgrZqbJ8#J{" -B4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:0ؚ@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1DgwRN92rdQ9xpEVCdXRfgeqGw9X4YtrZz"UOP_DUP OP_HASH160 8b2f28d57c7272399521d5c01c6b9375d5df38aa OP_EQUALVERIFY OP_CHECKSIG*276a9148b2f28d57c7272399521d5c01c6b9375d5df38aa88ac*"1DgwRN92rdQ9xpEVCdXRfgeqGw9X4YtrZz8"J " -Bb34a7c6795b7b2396fa9fa5f293795d8f8d5724e8a3a8865fa539e7954c9373e:0%@b34a7c6795b7b2396fa9fa5f293795d8f8d5724e8a3a8865fa539e7954c9373e""1GRBFFsR3DHESq5w41ye3Mw2b7sHKmNHZY"UOP_DUP OP_HASH160 a91c6c2fa90fe0cbdfed9afe53ad135c92679d11 OP_EQUALVERIFY OP_CHECKSIG*276a914a91c6c2fa90fe0cbdfed9afe53ad135c92679d1188ac*"1GRBFFsR3DHESq5w41ye3Mw2b7sHKmNHZY8$J " -B8bc571abbf670d514ea414cd63d42631c01f1fac22c0665bdd288247e0d7687c:06@8bc571abbf670d514ea414cd63d42631c01f1fac22c0665bdd288247e0d7687c""1A5LyghRT9XjJ1afP67K3W4zfowZgMnRwv"UOP_DUP OP_HASH160 638b78dd435d7b07ca894f90d80dcb6de353597e OP_EQUALVERIFY OP_CHECKSIG*276a914638b78dd435d7b07ca894f90d80dcb6de353597e88ac*"1A5LyghRT9XjJ1afP67K3W4zfowZgMnRwv8#J " -B500295a0141fa525135eaa6c47eba48a80e58ecf9acc75ff3db52313f9ea4944:0@500295a0141fa525135eaa6c47eba48a80e58ecf9acc75ff3db52313f9ea4944""15nQvz1HL23gXYDK78kteDx99mauvCc6VN"UOP_DUP OP_HASH160 347732a261e242ac36f7bfdb3d57e2bf63461a6f OP_EQUALVERIFY OP_CHECKSIG*276a914347732a261e242ac36f7bfdb3d57e2bf63461a6f88ac*"15nQvz1HL23gXYDK78kteDx99mauvCc6VN8#J " +B4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:0ؚ@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1DgwRN92rdQ9xpEVCdXRfgeqGw9X4YtrZz"UOP_DUP OP_HASH160 8b2f28d57c7272399521d5c01c6b9375d5df38aa OP_EQUALVERIFY OP_CHECKSIG*276a9148b2f28d57c7272399521d5c01c6b9375d5df38aa88ac*"1DgwRN92rdQ9xpEVCdXRfgeqGw9X4YtrZz8"J " +B8bc571abbf670d514ea414cd63d42631c01f1fac22c0665bdd288247e0d7687c:06@8bc571abbf670d514ea414cd63d42631c01f1fac22c0665bdd288247e0d7687c""1A5LyghRT9XjJ1afP67K3W4zfowZgMnRwv"UOP_DUP OP_HASH160 638b78dd435d7b07ca894f90d80dcb6de353597e OP_EQUALVERIFY OP_CHECKSIG*276a914638b78dd435d7b07ca894f90d80dcb6de353597e88ac*"1A5LyghRT9XjJ1afP67K3W4zfowZgMnRwv8#J " B8b08e37b5973e250a10dcc369cd80cc931ff9e1ea53d1ff9deaecb65366cacd9:0"@8b08e37b5973e250a10dcc369cd80cc931ff9e1ea53d1ff9deaecb65366cacd9""1H5zbbow1gYECrWphQ4x98NJX5AcgCZJ8t"UOP_DUP OP_HASH160 b073c16d091a5a03fd80a1648ee595733c9c6fd0 OP_EQUALVERIFY OP_CHECKSIG*276a914b073c16d091a5a03fd80a1648ee595733c9c6fd088ac*"1H5zbbow1gYECrWphQ4x98NJX5AcgCZJ8t8$J " B4b957e977b23288006bb974b3ce5c4a7aa86cb193ecea0656cf4bb18928062e4:0@4b957e977b23288006bb974b3ce5c4a7aa86cb193ecea0656cf4bb18928062e4""13ZyX7aw1kzij4ztNgwEj5tQERNVYWXK8r"UOP_DUP OP_HASH160 1c2cbe008fd75e21991113761141fdc8223e865d OP_EQUALVERIFY OP_CHECKSIG*276a9141c2cbe008fd75e21991113761141fdc8223e865d88ac*"13ZyX7aw1kzij4ztNgwEj5tQERNVYWXK8r8#J " -B737dcbe0a5767109deecca458c20a5c7226fe438291b75324696b08430992ca6:1@737dcbe0a5767109deecca458c20a5c7226fe438291b75324696b08430992ca6""1MG4GQkM68eufzb4UyKx4juD8BEtQSfqFb"UOP_DUP OP_HASH160 de3b7b2cf4d77ef24a2bf6d69121d27d845df2e1 OP_EQUALVERIFY OP_CHECKSIG*276a914de3b7b2cf4d77ef24a2bf6d69121d27d845df2e188ac*"1MG4GQkM68eufzb4UyKx4juD8BEtQSfqFb8#J " -Bdf2814b988178866e3c566227983e021393a666847a5c4400888bd3438fdfbbd:0M@df2814b988178866e3c566227983e021393a666847a5c4400888bd3438fdfbbd""1E7HPfnRLQSx9nbizunpCC4pDAcK378ata"UOP_DUP OP_HASH160 8fc9d037457e5f8c206f65ba4edc5d02da6e9951 OP_EQUALVERIFY OP_CHECKSIG*276a9148fc9d037457e5f8c206f65ba4edc5d02da6e995188ac*"1E7HPfnRLQSx9nbizunpCC4pDAcK378ata8$J " +B737dcbe0a5767109deecca458c20a5c7226fe438291b75324696b08430992ca6:1@737dcbe0a5767109deecca458c20a5c7226fe438291b75324696b08430992ca6""1MG4GQkM68eufzb4UyKx4juD8BEtQSfqFb"UOP_DUP OP_HASH160 de3b7b2cf4d77ef24a2bf6d69121d27d845df2e1 OP_EQUALVERIFY OP_CHECKSIG*276a914de3b7b2cf4d77ef24a2bf6d69121d27d845df2e188ac*"1MG4GQkM68eufzb4UyKx4juD8BEtQSfqFb8#J " B4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:4@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1GuoZGTG7iq6iYCtpvAB37QfNDKSVxuYP7"UOP_DUP OP_HASH160 ae8661496c2b14bb03d1852bcb3af362f30d5f82 OP_EQUALVERIFY OP_CHECKSIG*276a914ae8661496c2b14bb03d1852bcb3af362f30d5f8288ac*"1GuoZGTG7iq6iYCtpvAB37QfNDKSVxuYP78"J " B4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:5@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1BoEzJgAJuWRJYYFbSHiViUMwgEPMCHWif"UOP_DUP OP_HASH160 7670119559e8868bb6ef294102da5c622d4a38ce OP_EQUALVERIFY OP_CHECKSIG*276a9147670119559e8868bb6ef294102da5c622d4a38ce88ac*"1BoEzJgAJuWRJYYFbSHiViUMwgEPMCHWif8"J " B4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:6@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""17k2iDiaXJa71zndWhSdMKwqE8JkbwwYAo"UOP_DUP OP_HASH160 49f411adf671a38a8a25eb530d088a64b4ee68ec OP_EQUALVERIFY OP_CHECKSIG*276a91449f411adf671a38a8a25eb530d088a64b4ee68ec88ac*"17k2iDiaXJa71zndWhSdMKwqE8JkbwwYAo8"J " B4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:7 @4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""15rq4yDoVobtHYDVa2BDESkVPPCmFdDkPd"UOP_DUP OP_HASH160 354d02c2041f85d368ae1421e7e14e62c8415401 OP_EQUALVERIFY OP_CHECKSIG*276a914354d02c2041f85d368ae1421e7e14e62c841540188ac*"15rq4yDoVobtHYDVa2BDESkVPPCmFdDkPd8"J " B3d572069ecd07cceeda5af53a8bf9eec23e0f11cc1ca6abce0d2e9894c951bb1:0o@3d572069ecd07cceeda5af53a8bf9eec23e0f11cc1ca6abce0d2e9894c951bb1""1CcpRsNQgU2P1iyqNnSDZj2ftjh4XTZpuz"UOP_DUP OP_HASH160 7f6f88a8b569bbcf1b9ddb1211231f3f26e7d028 OP_EQUALVERIFY OP_CHECKSIG*276a9147f6f88a8b569bbcf1b9ddb1211231f3f26e7d02888ac*"1CcpRsNQgU2P1iyqNnSDZj2ftjh4XTZpuz8#J " B4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:8@4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5""1DZaXjaAAqQXU2Dp15VFuDVVYJSbpA3Q72"UOP_DUP OP_HASH160 89cacf3d660e52d60da199b131735057f4401608 OP_EQUALVERIFY OP_CHECKSIG*276a91489cacf3d660e52d60da199b131735057f440160888ac*"1DZaXjaAAqQXU2Dp15VFuDVVYJSbpA3Q728"J " -Bfc01b2bdddd370953530e57fa92fa5ecee1bff561b245e243040081fe8165090:0؀ @fc01b2bdddd370953530e57fa92fa5ecee1bff561b245e243040081fe8165090"!1r4ka141h9NCN47T61LHkdBHeM2Yaezgy"UOP_DUP OP_HASH160 094783724cd4071409b3b067866e01b355994725 OP_EQUALVERIFY OP_CHECKSIG*276a914094783724cd4071409b3b067866e01b35599472588ac*!1r4ka141h9NCN47T61LHkdBHeM2Yaezgy8$J " -B87542378b850631d30d30a247b681a9b14cc6bb16d5c9245214a26be020c9918:0 -@87542378b850631d30d30a247b681a9b14cc6bb16d5c9245214a26be020c9918""1M8YBMH6LswAKTetQixDp7m6TSjABqbw5g"UOP_DUP OP_HASH160 dccf7430324924fa9e8fcb1e132afb5608a087f2 OP_EQUALVERIFY OP_CHECKSIG*276a914dccf7430324924fa9e8fcb1e132afb5608a087f288ac*"1M8YBMH6LswAKTetQixDp7m6TSjABqbw5g8$J " +Bfc01b2bdddd370953530e57fa92fa5ecee1bff561b245e243040081fe8165090:0؀ @fc01b2bdddd370953530e57fa92fa5ecee1bff561b245e243040081fe8165090"!1r4ka141h9NCN47T61LHkdBHeM2Yaezgy"UOP_DUP OP_HASH160 094783724cd4071409b3b067866e01b355994725 OP_EQUALVERIFY OP_CHECKSIG*276a914094783724cd4071409b3b067866e01b35599472588ac*!1r4ka141h9NCN47T61LHkdBHeM2Yaezgy8$J " B4c8ba7c4be86ae3bea52870b692458585d80b01530be10518b59c1522bd456dc:1S@4c8ba7c4be86ae3bea52870b692458585d80b01530be10518b59c1522bd456dc""14wrYo5t5Uid4jXXFJH74XZAV6jS1xcGAQ"UOP_DUP OP_HASH160 2b483334fe0f6fd0abb0013762fa42214f8b3ed1 OP_EQUALVERIFY OP_CHECKSIG*276a9142b483334fe0f6fd0abb0013762fa42214f8b3ed188ac*"14wrYo5t5Uid4jXXFJH74XZAV6jS1xcGAQ8$J " B99826f07d5ae5f0b213d4e8b521bc50295f4da0b04ee84d13b902df8d11ccdca:1ذ@99826f07d5ae5f0b213d4e8b521bc50295f4da0b04ee84d13b902df8d11ccdca"!1pjEgfxJaFB9V9WCPnXjTjT6uoQDWPkDd"UOP_DUP OP_HASH160 0906ce967bfa4d7367caf273705af9c26357bffa OP_EQUALVERIFY OP_CHECKSIG*276a9140906ce967bfa4d7367caf273705af9c26357bffa88ac*!1pjEgfxJaFB9V9WCPnXjTjT6uoQDWPkDd8#J  " B4c8ba7c4be86ae3bea52870b692458585d80b01530be10518b59c1522bd456dc:0@4c8ba7c4be86ae3bea52870b692458585d80b01530be10518b59c1522bd456dc""1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY"UOP_DUP OP_HASH160 79a2f7d6d53eaff291543f9aea88eab1376d7db5 OP_EQUALVERIFY OP_CHECKSIG*276a91479a2f7d6d53eaff291543f9aea88eab1376d7db588ac*"1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY8$J " @@ -92159,36 +99075,46 @@ B68208bc066284a194524b5932236736051f4cb4b52efcee0264e07d97c78ad62:0 B73f2cf266e9ffc359fa81743805465a20634dda1ae9a9292bee2865145d626fb:0@73f2cf266e9ffc359fa81743805465a20634dda1ae9a9292bee2865145d626fb""1MKwxaFojk5eBiLFsGGoqaoJ9y7j1qNpnJ"UOP_DUP OP_HASH160 def7e137567d1875f53a37823a3a71607013802c OP_EQUALVERIFY OP_CHECKSIG*276a914def7e137567d1875f53a37823a3a71607013802c88ac*"1MKwxaFojk5eBiLFsGGoqaoJ9y7j1qNpnJ8#J " B95f63db9de63d4da5d648d6f31cb3377b079797cebc673afaa8a5b58e9028db5:0@95f63db9de63d4da5d648d6f31cb3377b079797cebc673afaa8a5b58e9028db5""16v7xqgxkckCrv7kcVsDvNAaPyb7Mm1gjX"UOP_DUP OP_HASH160 40e47cb2dcb217caf1ea3d6f6f824fbca0d5e603 OP_EQUALVERIFY OP_CHECKSIG*276a91440e47cb2dcb217caf1ea3d6f6f824fbca0d5e60388ac*"16v7xqgxkckCrv7kcVsDvNAaPyb7Mm1gjX8#J  " B271034654d562a3e378ad36886a9dafb8b2b376235048aac31ae7ee1206c3488:1@271034654d562a3e378ad36886a9dafb8b2b376235048aac31ae7ee1206c3488""1BSWDFfLy9LuBGzgtSyAJSKxeYsucTMSvF"UOP_DUP OP_HASH160 72840a8cbd6495b1bc38a228492582f8f5b8d271 OP_EQUALVERIFY OP_CHECKSIG*276a91472840a8cbd6495b1bc38a228492582f8f5b8d27188ac*"1BSWDFfLy9LuBGzgtSyAJSKxeYsucTMSvF8#J " -Bc6c303cffe3ef19fa64901aa23836281609201c8a0b431ad8c4024052f9e55ba:0@c6c303cffe3ef19fa64901aa23836281609201c8a0b431ad8c4024052f9e55ba""1FtoTAtNiBpupMuZs41kotydCgKfCMJFWa"UOP_DUP OP_HASH160 a35dc023bd188b3cbac4f719d8621b8a5e7b2061 OP_EQUALVERIFY OP_CHECKSIG*276a914a35dc023bd188b3cbac4f719d8621b8a5e7b206188ac*"1FtoTAtNiBpupMuZs41kotydCgKfCMJFWa8#J " -Bb0c26bafe6beb989363001131d046ef9bae3fe6296105da67215fd096189902d:0@b0c26bafe6beb989363001131d046ef9bae3fe6296105da67215fd096189902d""1NRanZJjQApdDvks4SxeuEHyF2yC81rAKQ"UOP_DUP OP_HASH160 eb00d3c53fd5c53965d4d90871514a92e6366c62 OP_EQUALVERIFY OP_CHECKSIG*276a914eb00d3c53fd5c53965d4d90871514a92e6366c6288ac*"1NRanZJjQApdDvks4SxeuEHyF2yC81rAKQ8#J " -B94c7cc59506009a9bf6a7494e8844cc8c3f20aae622eeefb02a515e010a8f4d9:0ȿ@94c7cc59506009a9bf6a7494e8844cc8c3f20aae622eeefb02a515e010a8f4d9""1NZd1w9DgDG4hSKcuz61keBnhKqz6g4Hct"UOP_DUP OP_HASH160 ec8604575f002162b0b8493d01eca633eafedacd OP_EQUALVERIFY OP_CHECKSIG*276a914ec8604575f002162b0b8493d01eca633eafedacd88ac*"1NZd1w9DgDG4hSKcuz61keBnhKqz6g4Hct8$J " +B2b757f94ac8a20c788939ecf76d7eec5508e4f4efcf5f72aa2b94e824555396b:0E@2b757f94ac8a20c788939ecf76d7eec5508e4f4efcf5f72aa2b94e824555396b""13jWhDz15eFtBPy1RgpAt3noVqgU9eaA9C"UOP_DUP OP_HASH160 1dfa8244ac051152b29911c36992e83f366fcdb2 OP_EQUALVERIFY OP_CHECKSIG*276a9141dfa8244ac051152b29911c36992e83f366fcdb288ac*"13jWhDz15eFtBPy1RgpAt3noVqgU9eaA9C8$J " B02c28c9ca32271cdfa3442736d1fba2e600b49810bf5da446d9fcf87fabe305c:0@02c28c9ca32271cdfa3442736d1fba2e600b49810bf5da446d9fcf87fabe305c""1LDAqQZ2HT9dEvcDzzbsy9WTBcYNzw2YNN"UOP_DUP OP_HASH160 d2b79747695753a9828e9b26acb1b84bed3257ff OP_EQUALVERIFY OP_CHECKSIG*276a914d2b79747695753a9828e9b26acb1b84bed3257ff88ac*"1LDAqQZ2HT9dEvcDzzbsy9WTBcYNzw2YNN8$J " -B6bfda2319c5f12ba5ebf90006a9769fca023a0c142e65610ba37d95ea2cdfbe5:0ƈ@6bfda2319c5f12ba5ebf90006a9769fca023a0c142e65610ba37d95ea2cdfbe5""1CpixWzi5VWtHgjAn6QKrAQPPC5oExygjm"UOP_DUP OP_HASH160 81aff53aa361f522136cd357536d317201125668 OP_EQUALVERIFY OP_CHECKSIG*276a91481aff53aa361f522136cd357536d31720112566888ac*"1CpixWzi5VWtHgjAn6QKrAQPPC5oExygjm8#J " +B6bfda2319c5f12ba5ebf90006a9769fca023a0c142e65610ba37d95ea2cdfbe5:0ƈ@6bfda2319c5f12ba5ebf90006a9769fca023a0c142e65610ba37d95ea2cdfbe5""1CpixWzi5VWtHgjAn6QKrAQPPC5oExygjm"UOP_DUP OP_HASH160 81aff53aa361f522136cd357536d317201125668 OP_EQUALVERIFY OP_CHECKSIG*276a91481aff53aa361f522136cd357536d31720112566888ac*"1CpixWzi5VWtHgjAn6QKrAQPPC5oExygjm8#J " +B1d5057485d11e05bd399023801e2fb694f91c62da64b507c7125f719d9d8da8c:0ǂ@1d5057485d11e05bd399023801e2fb694f91c62da64b507c7125f719d9d8da8c""1KHLDRx9hT3ugu6UyKLQApqGoyJUsq4dan"UOP_DUP OP_HASH160 c888f573c6d9609b00684541cdea35cd6eb6271d OP_EQUALVERIFY OP_CHECKSIG*276a914c888f573c6d9609b00684541cdea35cd6eb6271d88ac*"1KHLDRx9hT3ugu6UyKLQApqGoyJUsq4dan8Υ$J " B825ee9f5c19adc1f46c7c0e12aeb9f55a4446ee680fbb04a25552f795225ed78:0@825ee9f5c19adc1f46c7c0e12aeb9f55a4446ee680fbb04a25552f795225ed78""12nHd8H2brDaTJp4nbFMzQtc8eiQMDDcnM"UOP_DUP OP_HASH160 1388b859f96dc4ba2d9579aad9490296bff61744 OP_EQUALVERIFY OP_CHECKSIG*276a9141388b859f96dc4ba2d9579aad9490296bff6174488ac*"12nHd8H2brDaTJp4nbFMzQtc8eiQMDDcnM8#J " -B0421ec51f01bd4a5ec6a16b808a08be2c684889232cb1b75561566ce2091b14f:0g@0421ec51f01bd4a5ec6a16b808a08be2c684889232cb1b75561566ce2091b14f""1LNfkPB6B7LK7AZ68DT5UbMXtVrUKeVEzW"UOP_DUP OP_HASH160 d4837863631754e21be6aad4843f4c3777ba102f OP_EQUALVERIFY OP_CHECKSIG*276a914d4837863631754e21be6aad4843f4c3777ba102f88ac*"1LNfkPB6B7LK7AZ68DT5UbMXtVrUKeVEzW8Ύ#J " +B19e06145ec72f028c7e2607ba6f18db50f01d4e4eeaf5f747fe3dbc522ae5d4b:0@@19e06145ec72f028c7e2607ba6f18db50f01d4e4eeaf5f747fe3dbc522ae5d4b""12TTPqLcCNyP8o4zQ2KyNi6WLUCQGp2USw"UOP_DUP OP_HASH160 0ff8f91eaf359f0ee86345a5c25f9e55e7635f1d OP_EQUALVERIFY OP_CHECKSIG*276a9140ff8f91eaf359f0ee86345a5c25f9e55e7635f1d88ac*"12TTPqLcCNyP8o4zQ2KyNi6WLUCQGp2USw8$J " +B0421ec51f01bd4a5ec6a16b808a08be2c684889232cb1b75561566ce2091b14f:0g@0421ec51f01bd4a5ec6a16b808a08be2c684889232cb1b75561566ce2091b14f""1LNfkPB6B7LK7AZ68DT5UbMXtVrUKeVEzW"UOP_DUP OP_HASH160 d4837863631754e21be6aad4843f4c3777ba102f OP_EQUALVERIFY OP_CHECKSIG*276a914d4837863631754e21be6aad4843f4c3777ba102f88ac*"1LNfkPB6B7LK7AZ68DT5UbMXtVrUKeVEzW8Ύ#J " +B2609e0cbccfacc98642c2d64608d1e0957ac0a3675e743a62fce27b8c0c1b974:0u@2609e0cbccfacc98642c2d64608d1e0957ac0a3675e743a62fce27b8c0c1b974""1FS16LvPn1KVfQyvnUMfcZB8XHBJrRBg6h"UOP_DUP OP_HASH160 9e4c3ca6f721968d9c7de9a7b7aa137c0f806aba OP_EQUALVERIFY OP_CHECKSIG*276a9149e4c3ca6f721968d9c7de9a7b7aa137c0f806aba88ac*"1FS16LvPn1KVfQyvnUMfcZB8XHBJrRBg6h8$J " +Bccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9:0=@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9""1LWmQDkNmoq7sUB5M7EK8V7amvqp776P8L"UOP_DUP OP_HASH160 d60b842dadca4ddc92d70c1cc5a2733041cd7273 OP_EQUALVERIFY OP_CHECKSIG*276a914d60b842dadca4ddc92d70c1cc5a2733041cd727388ac*"1LWmQDkNmoq7sUB5M7EK8V7amvqp776P8L8$J  +" +Bccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9:1E@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9""1LWmQDkNmoq7sUB5M7EK8V7amvqp776P8L"UOP_DUP OP_HASH160 d60b842dadca4ddc92d70c1cc5a2733041cd7273 OP_EQUALVERIFY OP_CHECKSIG*276a914d60b842dadca4ddc92d70c1cc5a2733041cd727388ac*"1LWmQDkNmoq7sUB5M7EK8V7amvqp776P8L8$J " Bd55ba7efed5552aa59bd1e0fcdc658487a1930125b5d5bd8888ac691118afa92:1ӌ@d55ba7efed5552aa59bd1e0fcdc658487a1930125b5d5bd8888ac691118afa92""1NHGWxrotCmsTK5hhju1n57P68TcRGxK6x"UOP_DUP OP_HASH160 e96e3fdc70db419b7eaea276cc63574f75f962ae OP_EQUALVERIFY OP_CHECKSIG*276a914e96e3fdc70db419b7eaea276cc63574f75f962ae88ac*"1NHGWxrotCmsTK5hhju1n57P68TcRGxK6x8ϩ#J " -Ba9b6da034f10e9a9d28734df4ab611b1d53b627d1d37582e25175343707f673b:0@a9b6da034f10e9a9d28734df4ab611b1d53b627d1d37582e25175343707f673b""1DRLn5c8FLEYvi8jeBcL3k7rsypbCR7CXU"UOP_DUP OP_HASH160 883c006eb82a0d43bd1c1afbbcd3c5665938ee41 OP_EQUALVERIFY OP_CHECKSIG*276a914883c006eb82a0d43bd1c1afbbcd3c5665938ee4188ac*"1DRLn5c8FLEYvi8jeBcL3k7rsypbCR7CXU8$J " -B7f087e09dd93de8db34bd445d134993bb98921f33e3d07aad07c0365d4537761:0@7f087e09dd93de8db34bd445d134993bb98921f33e3d07aad07c0365d4537761""1PrjEfpka98qCStCPQRdGP9Z24KBWskmgz"UOP_DUP OP_HASH160 faba67ebad358c8d4430ad92fc191462d2a5f436 OP_EQUALVERIFY OP_CHECKSIG*276a914faba67ebad358c8d4430ad92fc191462d2a5f43688ac*"1PrjEfpka98qCStCPQRdGP9Z24KBWskmgz8$J " -B5d47e53db3f77d747c16b4ec276139e338abfde3346c940898c0101b03e57132:0(@5d47e53db3f77d747c16b4ec276139e338abfde3346c940898c0101b03e57132""19p2V79cSDtjrmZ4NVTvZvX926v1DfKhFV"UOP_DUP OP_HASH160 60a5cbb5ead64c9ece45ac97c13389cd9f71f623 OP_EQUALVERIFY OP_CHECKSIG*276a91460a5cbb5ead64c9ece45ac97c13389cd9f71f62388ac*"19p2V79cSDtjrmZ4NVTvZvX926v1DfKhFV8ݖ$J " -B2b6e0cc53bc3a65b140d258740dcb7bd07f9411f27765fac63f3bb88542f9c01:0@2b6e0cc53bc3a65b140d258740dcb7bd07f9411f27765fac63f3bb88542f9c01""1AiEfTkFmoyw9QodUU6Mp9KKWpSUkFiYbi"UOP_DUP OP_HASH160 6a859785f9f1850a50d40dc3f435212c0cc859dc OP_EQUALVERIFY OP_CHECKSIG*276a9146a859785f9f1850a50d40dc3f435212c0cc859dc88ac*"1AiEfTkFmoyw9QodUU6Mp9KKWpSUkFiYbi8$J " -Bd31f038a0e360017a5a13e6354dc556ed2d1b68db6faef85b288dcb0b1858cf4:0@d31f038a0e360017a5a13e6354dc556ed2d1b68db6faef85b288dcb0b1858cf4""1KzzfpA73EHYfR8QKb3zrttnH3dSSPacji"UOP_DUP OP_HASH160 d06a1d1e743c7b312cca3c80a3d50acd7640494d OP_EQUALVERIFY OP_CHECKSIG*276a914d06a1d1e743c7b312cca3c80a3d50acd7640494d88ac*"1KzzfpA73EHYfR8QKb3zrttnH3dSSPacji8׉$J " +Ba9b6da034f10e9a9d28734df4ab611b1d53b627d1d37582e25175343707f673b:0@a9b6da034f10e9a9d28734df4ab611b1d53b627d1d37582e25175343707f673b""1DRLn5c8FLEYvi8jeBcL3k7rsypbCR7CXU"UOP_DUP OP_HASH160 883c006eb82a0d43bd1c1afbbcd3c5665938ee41 OP_EQUALVERIFY OP_CHECKSIG*276a914883c006eb82a0d43bd1c1afbbcd3c5665938ee4188ac*"1DRLn5c8FLEYvi8jeBcL3k7rsypbCR7CXU8$J " +B17c6413b1347595a3d1be5923030cacb1b733691132e4992208902013da0b8a6:0ح@17c6413b1347595a3d1be5923030cacb1b733691132e4992208902013da0b8a6""19UAWfx8EJuvgZVRJQRSegyxj1ntRobn7P"UOP_DUP OP_HASH160 5ce42d56b878e5f0df9d1d9aab1aa55f3d96fafc OP_EQUALVERIFY OP_CHECKSIG*276a9145ce42d56b878e5f0df9d1d9aab1aa55f3d96fafc88ac*"19UAWfx8EJuvgZVRJQRSegyxj1ntRobn7P8$J " +B2b6e0cc53bc3a65b140d258740dcb7bd07f9411f27765fac63f3bb88542f9c01:0@2b6e0cc53bc3a65b140d258740dcb7bd07f9411f27765fac63f3bb88542f9c01""1AiEfTkFmoyw9QodUU6Mp9KKWpSUkFiYbi"UOP_DUP OP_HASH160 6a859785f9f1850a50d40dc3f435212c0cc859dc OP_EQUALVERIFY OP_CHECKSIG*276a9146a859785f9f1850a50d40dc3f435212c0cc859dc88ac*"1AiEfTkFmoyw9QodUU6Mp9KKWpSUkFiYbi8$J " +Bac94ba5d4b1203c08a9ebedc261a2f0759711c620c446d82d6f47ed2fecb2e6f:1@ac94ba5d4b1203c08a9ebedc261a2f0759711c620c446d82d6f47ed2fecb2e6f""1HDDLb7taNRUkZZmmkEZDrMJhwVUXqCGwx"UOP_DUP OP_HASH160 b1d14d97e6007ee15eace60e64e3a9da734a85f1 OP_EQUALVERIFY OP_CHECKSIG*276a914b1d14d97e6007ee15eace60e64e3a9da734a85f188ac*"1HDDLb7taNRUkZZmmkEZDrMJhwVUXqCGwx8$J " B8a9b6338672fdd1c746b3722a9181b3d7d38fa744dac58a5f2118afba894d670:0@8a9b6338672fdd1c746b3722a9181b3d7d38fa744dac58a5f2118afba894d670""13VK6quzD2bVzUjTUmdtQRq7dZfcakDHGb"UOP_DUP OP_HASH160 1b4b021c0c7c161891b45b2715f5a3bf8f19c042 OP_EQUALVERIFY OP_CHECKSIG*276a9141b4b021c0c7c161891b45b2715f5a3bf8f19c04288ac*"13VK6quzD2bVzUjTUmdtQRq7dZfcakDHGb8#J " -B4b1323adeb2ff03736e548b07170039a5bfb476f58e5b4ec6c5ab3b01ef0f689:0@4b1323adeb2ff03736e548b07170039a5bfb476f58e5b4ec6c5ab3b01ef0f689""1NRFbzNx5yhGnU2gce6UE5FMtjmHomkALa"UOP_DUP OP_HASH160 eaf0d092536e25bb36eca1af147aa4464db7bd5b OP_EQUALVERIFY OP_CHECKSIG*276a914eaf0d092536e25bb36eca1af147aa4464db7bd5b88ac*"1NRFbzNx5yhGnU2gce6UE5FMtjmHomkALa8$J " -B937908df41bd91448853630af772a554871116847059ac292057865ee0f26366:1$@937908df41bd91448853630af772a554871116847059ac292057865ee0f26366""1PQcGTswHSq7x3a3qfCAhjT4B9oq74djg6"UOP_DUP OP_HASH160 f5c9c600b4ee6456d32d30851dd5e6ce82775714 OP_EQUALVERIFY OP_CHECKSIG*276a914f5c9c600b4ee6456d32d30851dd5e6ce8277571488ac*"1PQcGTswHSq7x3a3qfCAhjT4B9oq74djg68$J " -Bd6050176068a5bc1ab48edb3921b9ab1789b99ff2ac300f5281eea2ab3120f21:1@d6050176068a5bc1ab48edb3921b9ab1789b99ff2ac300f5281eea2ab3120f21""1MsVf3pNpraoun2gC25Ge2imj4YTRuAemN"UOP_DUP OP_HASH160 e4ef3c0e91e41ece6ddc50d7ab419f1b0d6429e8 OP_EQUALVERIFY OP_CHECKSIG*276a914e4ef3c0e91e41ece6ddc50d7ab419f1b0d6429e888ac*"1MsVf3pNpraoun2gC25Ge2imj4YTRuAemN8$J " +Bac94ba5d4b1203c08a9ebedc261a2f0759711c620c446d82d6f47ed2fecb2e6f:0@@ac94ba5d4b1203c08a9ebedc261a2f0759711c620c446d82d6f47ed2fecb2e6f""1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY"UOP_DUP OP_HASH160 79a2f7d6d53eaff291543f9aea88eab1376d7db5 OP_EQUALVERIFY OP_CHECKSIG*276a91479a2f7d6d53eaff291543f9aea88eab1376d7db588ac*"1C69zSEfQKMzSfe41an4jDZGZpcbEZvrdY8$J " +Bb8f0716bc848e2a9607e3ff9aba0d829801c69d406be806a71da6ecc82482d53:1@b8f0716bc848e2a9607e3ff9aba0d829801c69d406be806a71da6ecc82482d53""113SfaGm7UKEyjjoirwN75Krzy8fyNdxmF"UOP_DUP OP_HASH160 0076418bc924d6e12a22f1386e6e5d91ce0d2fa9 OP_EQUALVERIFY OP_CHECKSIG*276a9140076418bc924d6e12a22f1386e6e5d91ce0d2fa988ac*"113SfaGm7UKEyjjoirwN75Krzy8fyNdxmF8$J " +Bb8f0716bc848e2a9607e3ff9aba0d829801c69d406be806a71da6ecc82482d53:0І@b8f0716bc848e2a9607e3ff9aba0d829801c69d406be806a71da6ecc82482d53""113SfaGm7UKEyjjoirwN75Krzy8fyNdxmF"UOP_DUP OP_HASH160 0076418bc924d6e12a22f1386e6e5d91ce0d2fa9 OP_EQUALVERIFY OP_CHECKSIG*276a9140076418bc924d6e12a22f1386e6e5d91ce0d2fa988ac*"113SfaGm7UKEyjjoirwN75Krzy8fyNdxmF8$J  +" +Be332206c5be47eaf03ecd322985be1d75850e5480153c00847a3709a55a9ac75:0@e332206c5be47eaf03ecd322985be1d75850e5480153c00847a3709a55a9ac75""1DLjB93jbWsiq9tSc61RwsrrWgh1MJr849"UOP_DUP OP_HASH160 875c9e51b6f78d8f1f41540eb1d7491768bf5e65 OP_EQUALVERIFY OP_CHECKSIG*276a914875c9e51b6f78d8f1f41540eb1d7491768bf5e6588ac*"1DLjB93jbWsiq9tSc61RwsrrWgh1MJr8498С$J " B4018349645052ed7e599e66c7e1f7d8198a4ae9e3cd6a7553ef201050fb265ac:0:@4018349645052ed7e599e66c7e1f7d8198a4ae9e3cd6a7553ef201050fb265ac"!1y2yTGNVQioMviKyWGnweu4SuWYtviEUy"UOP_DUP OP_HASH160 0a98f0ec82fe09ef82543e35cfdf70e391128a52 OP_EQUALVERIFY OP_CHECKSIG*276a9140a98f0ec82fe09ef82543e35cfdf70e391128a5288ac*!1y2yTGNVQioMviKyWGnweu4SuWYtviEUy8$J " -B455f757dcddc6bd6c93bcba6988f81e3dbeeba499dfc76a88c2b39a68f97b7d2:0؋@455f757dcddc6bd6c93bcba6988f81e3dbeeba499dfc76a88c2b39a68f97b7d2""1Ghqw8NaFF5jsiMZJyUbBTxmXZ3tMQaXah"UOP_DUP OP_HASH160 ac435f648f283387571245052e3709cdc81fc677 OP_EQUALVERIFY OP_CHECKSIG*276a914ac435f648f283387571245052e3709cdc81fc67788ac*"1Ghqw8NaFF5jsiMZJyUbBTxmXZ3tMQaXah8#J " -Bb31548c039cc50d61e4326091905eb2f25eb843eccb65714140d7a692eb3404b:1@b31548c039cc50d61e4326091905eb2f25eb843eccb65714140d7a692eb3404b""159yu5wFedv2g2bKPrxmucbR32jwzfuhMP"UOP_DUP OP_HASH160 2d9353aff579ae89baedcbedc34ba3ea1c411787 OP_EQUALVERIFY OP_CHECKSIG*276a9142d9353aff579ae89baedcbedc34ba3ea1c41178788ac*"159yu5wFedv2g2bKPrxmucbR32jwzfuhMP8$J " +Bcad6b92bd012d91cae1a32a6d812d0718bec67f454d505e9bda3dbd7e2c1ec90:0@cad6b92bd012d91cae1a32a6d812d0718bec67f454d505e9bda3dbd7e2c1ec90""1GuTPh1BBjSFLT3NuoXqhx2qdNAgJXT6d6"UOP_DUP OP_HASH160 ae758c0a8601bc11b4a3b800f04d540b31a15615 OP_EQUALVERIFY OP_CHECKSIG*276a914ae758c0a8601bc11b4a3b800f04d540b31a1561588ac*"1GuTPh1BBjSFLT3NuoXqhx2qdNAgJXT6d68$J " +Bcf3ccdfb51b1e54c77b595e5148a8c5631ba8caac2e51e0288ae05c0bf153cc6:0L@cf3ccdfb51b1e54c77b595e5148a8c5631ba8caac2e51e0288ae05c0bf153cc6""1BUZD6gBGb7osykqVHPgQrCTY8du8Kkt12"UOP_DUP OP_HASH160 72e7600ba615bcf3764eeb77bb8a189792abb388 OP_EQUALVERIFY OP_CHECKSIG*276a91472e7600ba615bcf3764eeb77bb8a189792abb38888ac*"1BUZD6gBGb7osykqVHPgQrCTY8du8Kkt128$J " B0f363b84c3606e6bf68b72388593cc191176fd2c82a969bb75cc189ed4647798:0@0f363b84c3606e6bf68b72388593cc191176fd2c82a969bb75cc189ed4647798""1KP5HSmNLhGcvEWFE1Bo6pFmf2WbCrA5zN"UOP_DUP OP_HASH160 c99efdb0417c8361c66aee19f1e36e7f74f0c4b7 OP_EQUALVERIFY OP_CHECKSIG*276a914c99efdb0417c8361c66aee19f1e36e7f74f0c4b788ac*"1KP5HSmNLhGcvEWFE1Bo6pFmf2WbCrA5zN8"J " B6feca1524e44283e16a217ff224c74f284663d39f37255e98a8a36764835c2ee:0@6feca1524e44283e16a217ff224c74f284663d39f37255e98a8a36764835c2ee""1BiCx1odEswNKuKt5BHLG4sLUUP4ckboqR"UOP_DUP OP_HASH160 757c4950ca740e31eb544c7f9c9cb19e90c36ad6 OP_EQUALVERIFY OP_CHECKSIG*276a914757c4950ca740e31eb544c7f9c9cb19e90c36ad688ac*"1BiCx1odEswNKuKt5BHLG4sLUUP4ckboqR8¾#J " Bb8521db9d23d607338d38960bbe15daade4d9a975b201f2e69adf1df3ea65675:0@b8521db9d23d607338d38960bbe15daade4d9a975b201f2e69adf1df3ea65675""1JkzSTFDXynVGHYtfJDAASwAHkTZ6TpFAn"UOP_DUP OP_HASH160 c2cbf8e28f53b11c6e0845fce467b2b88cb1e226 OP_EQUALVERIFY OP_CHECKSIG*276a914c2cbf8e28f53b11c6e0845fce467b2b88cb1e22688ac*"1JkzSTFDXynVGHYtfJDAASwAHkTZ6TpFAn8#J" -B7624336bf9c5640c48bd79b633ae37d34503ce3f89bd4b29b1b3685ba90e7ebe:0<@7624336bf9c5640c48bd79b633ae37d34503ce3f89bd4b29b1b3685ba90e7ebe""129rY8aMqBbSS8d69hLb8q1dZbxxkBY82A"UOP_DUP OP_HASH160 0ca4cdfe4f13a87e83a14793e572827c545801eb OP_EQUALVERIFY OP_CHECKSIG*276a9140ca4cdfe4f13a87e83a14793e572827c545801eb88ac*"129rY8aMqBbSS8d69hLb8q1dZbxxkBY82A8#J " -B2e6f9b96050db39edb44a4b25386fe92806e51466f8c877984a81a97ad7df907:1*@2e6f9b96050db39edb44a4b25386fe92806e51466f8c877984a81a97ad7df907""1Cymu1a6UC4DWTVmahufRjqCCLe58Be3Uu"UOP_DUP OP_HASH160 836627c6cf715ff7dbaa69f9a06e52cf59c4c520 OP_EQUALVERIFY OP_CHECKSIG*276a914836627c6cf715ff7dbaa69f9a06e52cf59c4c52088ac*"1Cymu1a6UC4DWTVmahufRjqCCLe58Be3Uu8#J " -Bd6c5575c8d281e7dc3fcab29d4dcaacb2cfdd47702113fa04426b0371c10ff15:0k@d6c5575c8d281e7dc3fcab29d4dcaacb2cfdd47702113fa04426b0371c10ff15"!17zag3rGKdrZ1PCURu44K8Z5TZpSDLhxU"UOP_DUP OP_HASH160 01528fc5dca618859f80e584ee168728824b150f OP_EQUALVERIFY OP_CHECKSIG*276a91401528fc5dca618859f80e584ee168728824b150f88ac*!17zag3rGKdrZ1PCURu44K8Z5TZpSDLhxU8$J " -Bff1de523a77a8b45ea593d5e67b26a63d9b9a0cc34aa623a08fb4e5dfda57d2a:0y@ff1de523a77a8b45ea593d5e67b26a63d9b9a0cc34aa623a08fb4e5dfda57d2a""14xBhMFMucCLTKUbooXQ8ozErHFKDFGQSD"UOP_DUP OP_HASH160 2b582efd0e77ae4c602971b9ac2fe9634f2f88a8 OP_EQUALVERIFY OP_CHECKSIG*276a9142b582efd0e77ae4c602971b9ac2fe9634f2f88a888ac*"14xBhMFMucCLTKUbooXQ8ozErHFKDFGQSD8#J " +B7624336bf9c5640c48bd79b633ae37d34503ce3f89bd4b29b1b3685ba90e7ebe:0<@7624336bf9c5640c48bd79b633ae37d34503ce3f89bd4b29b1b3685ba90e7ebe""129rY8aMqBbSS8d69hLb8q1dZbxxkBY82A"UOP_DUP OP_HASH160 0ca4cdfe4f13a87e83a14793e572827c545801eb OP_EQUALVERIFY OP_CHECKSIG*276a9140ca4cdfe4f13a87e83a14793e572827c545801eb88ac*"129rY8aMqBbSS8d69hLb8q1dZbxxkBY82A8#J " +Bb9cf67862beec243a794b6218cd6cf1ebfeb4057052c501d13760bf846adfd3f:0@b9cf67862beec243a794b6218cd6cf1ebfeb4057052c501d13760bf846adfd3f""14pW3trUjFVBXX4kr9Zj4abRgn8RAAtJHb"UOP_DUP OP_HASH160 29e42d5c33929167760b940aa36d98ff12a9e818 OP_EQUALVERIFY OP_CHECKSIG*276a91429e42d5c33929167760b940aa36d98ff12a9e81888ac*"14pW3trUjFVBXX4kr9Zj4abRgn8RAAtJHb8$J " +B3d6e2609d8a3347874d83e738423e9ac653655e2288a6d67df1f54adf3579437:1V@3d6e2609d8a3347874d83e738423e9ac653655e2288a6d67df1f54adf3579437""1GeyBUjxEVx2xDiWt6egzDKWTVRczJjv9L"UOP_DUP OP_HASH160 abb82cb255e76cf627556be36e725fbba71223ba OP_EQUALVERIFY OP_CHECKSIG*276a914abb82cb255e76cf627556be36e725fbba71223ba88ac*"1GeyBUjxEVx2xDiWt6egzDKWTVRczJjv9L8$J " +B26f360377a5b31f4941e81b741849484f1034df61104912c04b918528f783332:1N@26f360377a5b31f4941e81b741849484f1034df61104912c04b918528f783332""15f3daX6V68d3mSEYn3PeKrv91sACW1B3q"UOP_DUP OP_HASH160 33128171c413cd1c8a281a84b020f2de1de44d50 OP_EQUALVERIFY OP_CHECKSIG*276a91433128171c413cd1c8a281a84b020f2de1de44d5088ac*"15f3daX6V68d3mSEYn3PeKrv91sACW1B3q8ԛ$J " +B2e6f9b96050db39edb44a4b25386fe92806e51466f8c877984a81a97ad7df907:1*@2e6f9b96050db39edb44a4b25386fe92806e51466f8c877984a81a97ad7df907""1Cymu1a6UC4DWTVmahufRjqCCLe58Be3Uu"UOP_DUP OP_HASH160 836627c6cf715ff7dbaa69f9a06e52cf59c4c520 OP_EQUALVERIFY OP_CHECKSIG*276a914836627c6cf715ff7dbaa69f9a06e52cf59c4c52088ac*"1Cymu1a6UC4DWTVmahufRjqCCLe58Be3Uu8#J " +B21f4219597496d7a0fea69ae1ef7d2dac895358db866c72aff647b0dabd6ba5c:0(@21f4219597496d7a0fea69ae1ef7d2dac895358db866c72aff647b0dabd6ba5c""1BusTSyM9FvabWoS7shtJ2EezF1ayiJvR6"UOP_DUP OP_HASH160 77b101a321b7ff8fca9516e93f02c1194e2bc4a1 OP_EQUALVERIFY OP_CHECKSIG*276a91477b101a321b7ff8fca9516e93f02c1194e2bc4a188ac*"1BusTSyM9FvabWoS7shtJ2EezF1ayiJvR68$J " +Bff1de523a77a8b45ea593d5e67b26a63d9b9a0cc34aa623a08fb4e5dfda57d2a:0y@ff1de523a77a8b45ea593d5e67b26a63d9b9a0cc34aa623a08fb4e5dfda57d2a""14xBhMFMucCLTKUbooXQ8ozErHFKDFGQSD"UOP_DUP OP_HASH160 2b582efd0e77ae4c602971b9ac2fe9634f2f88a8 OP_EQUALVERIFY OP_CHECKSIG*276a9142b582efd0e77ae4c602971b9ac2fe9634f2f88a888ac*"14xBhMFMucCLTKUbooXQ8ozErHFKDFGQSD8#J " +Bb51b72d0b65d7852d8f8ac89ae76af0bc67471f9cc8e80bacda6a02677587910:0 @b51b72d0b65d7852d8f8ac89ae76af0bc67471f9cc8e80bacda6a02677587910""13fnPtwGCjUYyPdnaKkhnJhLuCkenAPJe4"UOP_DUP OP_HASH160 1d45f3a579567e0186e5c8d8ea8447e70eb0f326 OP_EQUALVERIFY OP_CHECKSIG*276a9141d45f3a579567e0186e5c8d8ea8447e70eb0f32688ac*"13fnPtwGCjUYyPdnaKkhnJhLuCkenAPJe48$J  +" B1154bcb2a2f7d477bdf31bffcc1193be0cd800d24c4ef967f9f6c22872b3d112:0@1154bcb2a2f7d477bdf31bffcc1193be0cd800d24c4ef967f9f6c22872b3d112""197qjmC6yqmu7THX8zcEPfZPpr2rTWWhjy"UOP_DUP OP_HASH160 590c2f951a825da70bbb590e760ead9a4050e1ac OP_EQUALVERIFY OP_CHECKSIG*276a914590c2f951a825da70bbb590e760ead9a4050e1ac88ac*"197qjmC6yqmu7THX8zcEPfZPpr2rTWWhjy8#J " -B7d5a80dd9d62d3c0bca7cefc64d5d698ebb18ef518778cb5b36b29133a24820d:0@7d5a80dd9d62d3c0bca7cefc64d5d698ebb18ef518778cb5b36b29133a24820d""1QJbkiVFuc7TXWWx5u3vP5akXjGhh8c9RU"UOP_DUP OP_HASH160 ff9ef9ae40307b237cb9776f80b1c521ac709021 OP_EQUALVERIFY OP_CHECKSIG*276a914ff9ef9ae40307b237cb9776f80b1c521ac70902188ac*"1QJbkiVFuc7TXWWx5u3vP5akXjGhh8c9RU8#J " -B06fc710a122cbee79c752d521720d1251c5d9295fb997279d775f010b8b914a9:0@06fc710a122cbee79c752d521720d1251c5d9295fb997279d775f010b8b914a9"!1YtxwqXZ2yiNhroQcvoRBqKh3HcmsBas9"UOP_DUP OP_HASH160 060845cd07c4adfe0538631714e8d31ac162d144 OP_EQUALVERIFY OP_CHECKSIG*276a914060845cd07c4adfe0538631714e8d31ac162d14488ac*!1YtxwqXZ2yiNhroQcvoRBqKh3HcmsBas98̏$J * +B42986b2d606e76c3d27134e32026ad1c4272e7b3a2cbb135ad855c7108bfc4e0:0@42986b2d606e76c3d27134e32026ad1c4272e7b3a2cbb135ad855c7108bfc4e0""1JojZhRxTSCGn5d53BSPFryUCfC44o8t6v"UOP_DUP OP_HASH160 c350cd90b9d25c12b09b567d85f057b37d0c110f OP_EQUALVERIFY OP_CHECKSIG*276a914c350cd90b9d25c12b09b567d85f057b37d0c110f88ac*"1JojZhRxTSCGn5d53BSPFryUCfC44o8t6v8$J " +B7d5a80dd9d62d3c0bca7cefc64d5d698ebb18ef518778cb5b36b29133a24820d:0@7d5a80dd9d62d3c0bca7cefc64d5d698ebb18ef518778cb5b36b29133a24820d""1QJbkiVFuc7TXWWx5u3vP5akXjGhh8c9RU"UOP_DUP OP_HASH160 ff9ef9ae40307b237cb9776f80b1c521ac709021 OP_EQUALVERIFY OP_CHECKSIG*276a914ff9ef9ae40307b237cb9776f80b1c521ac70902188ac*"1QJbkiVFuc7TXWWx5u3vP5akXjGhh8c9RU8#J * @5930370a10fb52ffd10ca68d548088cad43ca2dea91e54758e15423929f8154f @5930370a10fb52ffd10ca68d548088cad43ca2dea91e54758e15423929f8154f#ح"B023e2a1075803e4e4758757a8427625fe565e145eca44aeb14497ce0f2127da8ff* COMPENSATION* @ca01579accb6f1ab2fedcd14d9f4c268f56e4c9dd934fa83521ae9e006ac991d @@ -92338,6 +99264,7 @@ Bd2e7907b0a50aa8da9f823ad6d28811ad454b41f3faf20faae7cd0d29a1db976:0F Bf60ffa9464cd57aedc4b11c24c552e29ee702db6ff61d2ee95e507de3f1cab24:1F#@fd15e1727be25bcc76007fdc4e0d31aac1213db7820d11ab67a1d5a1a37b0ec6: Bf60ffa9464cd57aedc4b11c24c552e29ee702db6ff61d2ee95e507de3f1cab24:0F#@27003463a0009b303d4c17612ea238706beb2863d1290430ca370c7ad6c38d97: D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:201F"@cf91974bdf96a449b179150df05e5cab1c3ff7e522927fe1f930e180d67b80a9: +B1feb758b5b983d05fb7fc92bb4a48eda6b434b257f59c66f72a9ec25b542fb3e:0H$@d098def9a0bfc22d39b5ef656a22291761cfad5596082f985adb9a07f775e2d6: D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:204F"@05db403f6c90cd4f0b2b73730719b551a39d3226b6d8dcebc682fac0a27311b4: B55f5be9f68ea3b16b4fa16b1bef147b915cbe0d2b2f69d72a660cf190c2f1df1:0F#@0d38f120ebfe5775fb7cc2237b6944046f44c0d6e7a9d38384e3a5bdaed43131: B6e0a2c691f93f5fb8eb3ec1038e4beba9f7cef82f23a5f662d6ef0823e35c67e:0F"@d6c7030aa78703319e54a9db9e68e9d0556d6fda4904683c71baa160e6768984: @@ -92349,7 +99276,8 @@ Bf3a278823f336d961ce0b7d1a53cef8cbd35cf28b83211c091a2a55722dc17f2:0F B01ebb0b725539f269c939a23e1f62ebd155b0676a9c897fe43be062fac6ba81d:0F#@c85222a2bc1116deadf170f89fa9d12b301edd318758ec6c230eaffb8f53e600: Bbc27118f03b6f4102ab338ef5305290b26c430a9b9a50d22de4486057ef6c978:0Fƺ#@39678a19eb4a25a9bd131c9e6ba68fa60d554c0ea911845abd9994f8d3186cba: Bc35eeb9452b7aa08edf041d92863e912e01699e0c39df41205e439d014273632:0F#@6d76c51fa8aecf5cec11d120d29b0cb5ef1e7e1f66673d8dd42e9c636774b6bd: -B12f3eb0846f9cb5cc35b5c3fcff174b15ca4fa3b72088fb0b67a1c85ee720b05:0F#@3f40ac8a1fe42075b7054f4976946a966c480c9da78d07d8dfd754636e398ef0: +B12f3eb0846f9cb5cc35b5c3fcff174b15ca4fa3b72088fb0b67a1c85ee720b05:0F#@3f40ac8a1fe42075b7054f4976946a966c480c9da78d07d8dfd754636e398ef0: +B2b1a66a1d03dc9852ad1e02bff97f263eb4b29f53b0f44fd9587308dcba8d739:0F$@8ae6cd71f82da733688b04914abbccfbf363574f4253c2aec04b79bae7c834d2: D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:200F"@4bbb407631bac2ec88af2836a57a018706d82d0ecbc5b96489a4b9d42b9d0e66: B735cdbc2519a7444d26f6f7859a1efa88c709c66152ce7a54bc8b1b20731d48f:0F#@6b1a366cb814db6ea2f032b6979742ef7d81e3fdaf0b2d3de14f39fd6302fce6: B2b7e63881f34520d39754a8340dfd26da8415a3f32f7a5fbcf937be57c21a421:0F#@644334032d3cdbce9bc89b93ede5bc209862295f1b611e0ea579eaee393e43af: @@ -92368,6 +99296,7 @@ B276cf7bdc1d1059914c69073443a7168a296140bd36b21cd84f4f9da47d7ea92:0F Bd940c966df5a4f0308baf9788fd8d28066b72e18a015dda2c1973ddb0340a92a:0F#@b80663bed0dfe257abe485106764e3a1ee0e8afbda7ca66b87dbd362cb5f41d1: Bdfa88d3dafc56c7526a690d7a1e35b1f4b2804971b186fa3c201d6cb95410c7f:0F#@e89fff36ad6dfab4d71930fd5fc7647858b96ac58d05279a7cb1e2ba19692490: Badb0c9bf93b86c5987dd73b9fd58b6e11cafe1465cb3823bc46708c15869b5a8:0F#@dc6e0f6f0aa8d0219bc26e5c477afec15fd57def05672b1c3c0dc238cccf04e1: +B5aa2e6c36eb6a0b0d7fab78c36529279929b859b274ac8eabbc04d6ab36aa74d:0F$@69b0676495240a58a8d6f0b8fe3b7d1d7278b1aff138095bfedbefba393f177c: B792f63a34ab7605974f28efc75f994dff72e1a5d29668dafcce3f8794361297a:1F#@3a1f969d741aee2f63a375f226569ecc5756180accea7ab513a73a62b2336e2e: B792f63a34ab7605974f28efc75f994dff72e1a5d29668dafcce3f8794361297a:0F#@4c0d50d432a19b8ef725fd1c3a22efe08bd261df484125b8cb2b1eff231e2faa: Bb5b09c086496666626ca932fb5afe3369ece41c08b0f681db95cc3d212d2b140:0F#@3c6719aeb793d06a6bf0dcbbb638b2f64dbf2f5dc907dcb37fd0f5b81350a389: @@ -92386,7 +99315,9 @@ B25c3e21ce2f7665d634a4b8f7422a0bfd5986761f62f6a97accfd88d01542969:0F B3e1012f15d3f99fdf3e7df4676696d2719244791fe284a66cfc800f6640ee0be:1F$@6a6cf40ee372c2883b504ef9d1caf095b5ab52d76df957909adceff6e8934b5f: B4b9976f686d6b6641eb8273cb7963a372f4551c09098df83b5c4e18c994e32a3:0F#@2e0d7aede244f4b30cf2e88d97f4a3bd2017f6ce47223b8ca65b67bca0c3bd6e: B85a997936d44ba8db56be7b52be987b8063989e3fe6ab2837c73955b74ffbbd2:0F#@7f7ec355a2fc74a29da5aa7c5f41534e9abd7c98bc9263f346ae694b2f6c4b41: +B04f9368046ecd7de0aba84e105d30231b03d8594c340e778d3b3487152a339a8:0F$@91c1abd48f9d3cc627a90e9e11a4cd8a1d32316783d11bea28707bedc296a8e1: Bc00e931c3ab3be6fa761e6e82a1574f0d4a4dc2531010be44b4ac17d10c860ae:0F#@a8dbecd1eef70571b82f8b73a91c06c9f2632fa8a394122993aecd37f3b99266: +Beabc3a6f575f6151c24079adae97004e7f4c628233d1d11a505bfd745c41f7c8:0F$@47a4d6e74c512bce032dcccc405dde33e0bfee9f2ab866cc753f685a444b04d6: Be22273f66a5c7089ddff5ec1e66403852756be1c237808093a69400ba3d744e6:0F#@caea43283bd86cafdf6240f006d28cd5025e5410961984f5dae75afb7702f9d0: B2cfc79c91e8e0a22b15c7c6e8e7a1b78ec007b712d8b1f549bf33b21634be649:0F#@516c229c62c46dbee30e927e95f3adc2a871ea442cc7af52b4a42792dfc36ba8: B9cfc9a6238cd6466fbf6f325ad5123a4bafd0376983f3f72cc03dd4800d12611:0H$@530c4ce80093b1664f55fa945b2b7bdbe12b9c067dd8b67fd8dd1f13a6718546: @@ -92402,6 +99333,7 @@ B8dd919c7e03bd8ba67e7d39ee3c0d9765f9fe24e86470cc120032ceb5e3dafd6:0F B1f216e4f49614bdb723c3b1e7e792fa9ace0e695d559abf5eac26b4faf449ae9:0F#@df864050135492a9933de0bc48c573bfe911437b3a76be11c57f1019941cc770: B5550d44d29cd99f2ad7814a4d90a47db5f7e190b9a19a5054a7be731b51a4c01:0Fޣ#@c99a7fa5b17e6d35680c17458e484d99367102a1f608a7dcf1738cd2ca8586b0: Bc4ab82207878db649be3f2f7c38383b269f7da57e21611a0b23ca329fa9dc0eb:0F#@836cd43b6e557b40031edbdb554ca4557ca166ab43cb6d9de2bc42b10a74ee4f: +B002b8064905b1dc4e8fe87dbff0274e6c64de79f2d392bed449c7efe60a924f2:0Fܠ$@f3179b2e49604ba29c555ae02aeac0dcc872a514b6227226eca573308ef08694: Be5741cdd733e97f141e980675fb3e4616106f36b5cd22e2e570a5932f42e1ede:0F#@e1a0f33e0c06eaff1a1aaa365580f03dc1c91dbbe4b62b8803feb554e75266fa: B6b12186ba2256c88fe5cb1be37e1b26180271f9996bce8d29932856964122f73:0F$@47eb69b09b9c9669c64079b54790dbfb650c1f80659731f481a4a8b25bad1909: B0fe00bae05d5df66f9fa2cc9d8a437f1c8528faabea46effea8f7e0865e303fc:0F#@bc90e1de609a85b1cb775fa92991d0be0ee1f034384cfc335323d7e7640951bf: @@ -92413,6 +99345,7 @@ B3aefc80f13abe3b1f6b2742f562f9c273d51ff6f739d0d6d77ff5dea99dbb82b:0F B3dc060fbf040bae5fc6ee4e85ee15ec549c65856d893ff5d075695c81ffd91b6:0F"@1b10a33a5b94fb62311c0324fa9172aac8ece079723ce99a3a4bc280906dc65f: B0c114047e347f34811b2d3b69a0e76380a95fc259da62146940e0a2aa4261c34:0F̌$@55b947d38df91712c8c899439b89e46fc57954d8ba0c1c215d94dead3ff4afef: Bb834734834438120e98df59d568f525d39468f7cbdea320a21db3412508d128e:0F#@4704b689948ab149fc807c05b252b1e6f57ce9d87bf0481e75da4802615aae29: +Bddd832e8d2ecf2ef26085a457b20d95d50cfa59a440c245537f46ee5390e462c:0F$@bb06452b2419e326b31b6f42a2f5f99f570742fd5e94b842f5592783204a6671: Bd255f7f5c7fffafb32a337027e9256208807de04807a41825137c16172c554c3:0F#@52782a69f2675ed4d4cb94256a7fdde02260a1aa895795e2deb5bb6866ff030c: B2099e6993b1e3e3aa323dd8d71295cbcfa035530f46d34180def66194e6a45cb:0F݊#@93a5d59ea44266c7827378362f00b7e4cfba595cd742b7e9444e2a959134303e: B3a3ad693cfb22e82e19b2bd0cc23830ade7c77a0281cc4613d9cdebc7be61731:0F#@a942c49d49ae0005811e1436d88cd4802238a34272c0258ca57b2c5b03c096a6: @@ -92422,7 +99355,8 @@ Be79fcf3b7c1f5c3308a8306260cc972ef3ce89ca3d251298578b8a2e6abfa355:0F Bce7d292ac57a0264f9193ffb3711fc10d06c8979b1f3a60d35d7e001c936c50c:0F#@60e8e4bcc7e4e8a03eb3aaca910a6c053a5013583983dca668bf5fe603bca00a: B504a0ebfdbacca9b82564d4e9095b24bdb94cf7cb8c41db324e3a53557d5cb5a:1F#@e38930b751d17ea5bfd31085ff75cc3b8e0f9d288efdc857d94c7c1c7c60ba19: B504a0ebfdbacca9b82564d4e9095b24bdb94cf7cb8c41db324e3a53557d5cb5a:0F˸#@4daacdeb82eff561b6115ac5a676506eb1acc148d3feb44cc10f2d34253cc87b: -B072888e02f2641b8aa8e7b15dea45c3eb4fc590d6e4d2568db02855a2b8713b1:0F#@7b95af2e703c26ee8559aebd337f9feaf8e767238c860080eae5f54e1e4980e5: +B072888e02f2641b8aa8e7b15dea45c3eb4fc590d6e4d2568db02855a2b8713b1:0F#@7b95af2e703c26ee8559aebd337f9feaf8e767238c860080eae5f54e1e4980e5: +B36b9602c33b680856f4a8066cba92ace6df9d88ec2fe959def92d6ab79e82427:0H$@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9: B780688329224255c07f24d81b9409edbdac953d384a8324b234be2edc4dd4f9e:0F#@bcecbd398c196f4badbb1ef6ee56fa2d817f70d07d9dd5d276db8c03e185d2e8: B455bb136a12e567281cb158c99dc13a5765ab067d24c39405ffb4bee3188efc8:0F#@1522a65d0aebd731acc3368d804e3c246c70e36bf1818fd970db5e585ccae240: B02df27d251c35db043021ce5cd1a8be70c455e195f5d32a449715d644a758462:0F#@125531221093684511aedc440388cced51db8d1f39c8a40c7ff68b4c3181799c: @@ -92431,6 +99365,7 @@ Bb296cbb984556cd799acd696b37f88b631ea023c69205a2e05a06726c432f066:0F B0c7d99e514d9f61fec5ceefe8b4311c5b36fd6f8060484696107525015bffad2:0F$@a70a8745d72205dfec81b20f4ab45e8a28fc4a50026229e51a473d2f29cc60da: B99e01c3a5e86b5fbc028b148a33d987cdf1ed7aefd00f0b7b7f606403715f175:0F#@60ebb45422bfab1b34cc8f2ee731b56b058e6190b6149b591ca541784da88348: B25a4386d9f4c791369145e55ba6841073112c6ca1c117bdaa2f540b18a5d8265:0HЃ$@e6907bdd7d9999b2218e3a82eecca1fd616c3fb23ca433be3ab3fcf8f9425c6e: +B0ac953f21fd386d847e042c099ea17bcb6eac6ec94ed91ce1630d4e08c2ffc57:0F$@8c283b3aa2cbe8c95dc8bd2bc7200083eb2da834b55db01b390d6fb891d3a2e1: B34ceba21bcaf8f01a3714b94da596d6a3e684e1133d34c8f05f84fbcff00cf4b:0F#@bfcc9d26851232ce8ce0463ff1ce68df82816be89718eefdc858fcdf60f14cb4: B2a02d8c8f1c45177a9b12692ffd5e330f2b81af394146c4bfa0255b83470de38:0F#@fb96fca368ba5c4cf279ab4fdd69d15c603427f1fa5e4c2b8fd04af085e621ef: B0ce18ccf69b26a28ade38381bf1b27924a7dfeaa10a0524de0535726b0ead68c:0F#@2cfc79c91e8e0a22b15c7c6e8e7a1b78ec007b712d8b1f549bf33b21634be649: @@ -92462,7 +99397,9 @@ B86a1e302eefc1cd485d223aedfc9f921256954525a34987b504afe9d7cab2076:0F B5ac8eb4e44407ef6390532d1ce155a0bd9e419b093446a0708f4a22f8f82aa83:0F#@ad42183619e63b92ccb7b72c298eeb5c46e74f55b8a67aae8d40be7796aabfff: Bee7290f2d30f207956207339ae291855abf40c1ac7a758a9b52692b52c8464dd:0F#@a9aedb97602c2b8c664e7a5b0f3132663115101540af3635cab2831d9951ce6d: Bbac46fd64e057a541530c87366a4fa4fb616bebb7a7970230d7545f6a2e0daf8:0F"@66c8863c6eaad581d0cb02463499de0b9e845383951623c6edcc24b02c922189: +Bf5b4c09b592f94eefe9e1303148351b4a3234c8b433a8430d58a09774ba3cd37:0Fڢ$@58d3636b9681738b5d2887254b146f6f3c1833b71564853432606b7e59f99eea: B020ceffe35eb261e1c0a6bafd8975a39dec2eff03742b8468d4a35474588d4b8:0F$@2d3378969721db6a6feab0b86a876401d20d30df0059b7e1ff9cf6e50b9dbf47: +B22ca374d0dffdfdb2160cc6f85a76682c7c6b1b77eefe70daf7c5a87eb930fea:0FҞ$@c2bc39b76f2f4127e4108f90e00b23bdb29578d4fdb828493c0a0a331e17deef: B7c2289bf62fbfe92f1efdfc26788788022b5291eacdd53cdca090a5db298cdd6:0Fм#@cfc549a245c05c77f1fced49bf3ee25db778a149bc6c0885169aaf09a767450d: Bc5e4b98c4a693a76dbd91f69de6f66f2a304cf297e286e71353eb5f3706701fb:0F#@4a032d7ab74fce467eb2b3724acbf7f7b54cdde2ccfc66cee4f2345efc650d16: Bd6bf0a36bb9699b4be2e06c55f7e315cf1b66c4298b23f33762f34178077fe98:0F#@6a3da3e29cff47faa81174ccf6cd858d9ba09305f36f1bf8b733abcf8e3dd547: @@ -92471,8 +99408,10 @@ B59c8a12638a37d977e4457e09ecdadfd55433590417ac67df01b5f058d69721b:0F B6755c4466c606e38de74cfd24ece4b693e17607f796d8ab0f61ffb17dc652a47:0F#@4e28cfec593f4c41ebaec90f7add02d93a55ffd518810954b5f0b13a7950b5b3: B4e6299038562e13e233506846136fbb5b06a935c812d6dca16965e816b62e94e:0F#@06b4c85ceb0824d8ba1d012780cb816c04e09fff67a4939db99b38480855f466: Bb0583c47f516992b040b741184c2940e6e385a3a4c1de1da3035b50cace48a3d:0F#@e575a64ff27bce46d60957135fc22111df56828cbb7d8f8a6200d3af47f5f316: +B0a902bcab38db37cc93f38c9699a883e69422912e678f9c02081e5b52ccbbb78:0F$@e2b3f466c665570faa7be549a136414c39006aa02845c693e630157824107046: B6e71d5bcb057568e8e21fa975131fedad0a61a5a3cf455e90294412d1e169920:0F#@3c1883e127a01bd85345866bdc57de4ba4d0ee1991e21244c13c338f12fde3ab: B78682da3894c6624788af18846b6ece7543649b3b6d4a5116b81661e4f73a1e5:0F"@8e677170edb4a7d96d63e1e4c8738a5e00293fda619797d511ff39f9ec630309: +Ba87aa6f874d3284061773ade82f2b9fec08da305924530dfdf341c47fe39bb42:0Fՙ$@b4985115c7ee289ca28af50a5b7108c4dd9dcaedf47b7f9c1d9348579874be45: Be76575b4dcb3aca65688459e8805fab21695b2d9548b25d8d9fc8d0315b5f6ee:0F#@e4eab1c0be086d16afc9bf4dc84cc6fb9b9e228ed8fafcacffc4da768f3d75cf: Bb6f015b0a1ff35c378ec04cd31a6bcc727bd56bbe5c5a3298b1a36c999790826:0F#@fba609ffa52961c6f7225c31621353d3c6dbabfb0e5d4143e295527def7d0d5f: B7acd028bc5a0e7013ffeeba93d86f8024026dfb386acceae7b8c63a8cea80cc7:0Fֵ#@51ef99569776c49d32a3ad02c960745fbb67064bb3f7790f2c0b33dcad6821f4: @@ -92494,9 +99433,11 @@ Bf9801e5958b5a453e687e7c7c8a4d0f858d1c671a6eabcdd1f23172589e1314b:0F B3ea1e1229022cde6347af3a78a396f549d7c7f886631b8136bb90106f7e484b4:0F#@865fae539dda0c5565bd89c36092745e77da59cfad75907fbf75d2ef1d2acf99: Bc1c96271ca315bd421d23bbf3b900d02d37a8ac568d08bd9156937bd8caf17d1:0FŠ#@be0551207e40b5aadd7d628fd38aecfa8235c81e3ae9cb78560d936babdbaa3a: B0f96737f60cfdcf4fd640ab1cabd03a6b84be77a4c46aeacec4243fbafbe95eb:0F#@9480c1f0445c3b40c24abf3548b82410ef48371c98c2c5c076ebcee5717f8bc6: -B78abbf845c9a3e16d25e0d899b29dd7bd807af09053bcf3b04a492aa449eaf83:0F#@f0899697cd1906455324fd93cd462c3285d19412b7b90a673ddb417d05a21c92: +B78abbf845c9a3e16d25e0d899b29dd7bd807af09053bcf3b04a492aa449eaf83:0F#@f0899697cd1906455324fd93cd462c3285d19412b7b90a673ddb417d05a21c92: +Bbd17e4387b0df0d65a3a982a7f28e1703811b8b79cf7675555435ae68a4e5336:0HХ$@617039deccfb5fce9151f62c8e215086c446a982a805a638bab1328047de1b27: B222e34d0d773f2062f95da40596e6a07f53e0fc8027cbb16e194f697f091797a:0F#@390877c6678f7728e78b1f01b74848bd6c8e0d63099dbfd4ce25a8e6e17c0ddb: Bae26097abcff187410fb09a3c1e36227df72442991468c160a74a1fff6a49181:0F"@9b9d47871287cec053969f4fd787ff6ed79bcf32f361f99badd8811bfcd75bf6: +Bffb93f79cf5600c9828b8f8b1037eb3adbde0e06dca1f73a942b2418b69ae598:0F$@639203308f85d95aa29ebcead2b1730456f4436516c2bb03398dc72322ee19f6: B63ff6aecb2215ae37f9c50bc0733d221c91f4951ef7c9620c50f987035a48285:0F#@6bc50ae9ab4a55fa2c1537b0b1f62cc807c59146c63cda8499a3e3fe624ca73c: B39cd4abf974b7183ef3111a9f9759ab4a612111047234ff39c8761ca05bec7c8:0F$@1fcb68307ffdf02b930dd8f4e2fea046cee42071895ed83c2f339f5662d1431a: B7b38b927999b128006bbd0137c7c2a354ff939289e7462a5475f2160eec903bb:0F#@936ce94bf0140f41df3ba1d26735486cdbd29c2508c34f5b18725f32762f08df: @@ -92517,6 +99458,8 @@ B20cc7aefe62ee524fb66805cc3df23d27afb0b464a558dc6cf14a2c235f976bb:1F Bde45fef1937ce2fa8997e9d2b158e39cf946fceaf8c20eb04671db07e84d77e8:0F՞#@81e3e6d770afb19ff003f7d7c02eb54b2a0aa86a3161e1f0503e9fc671ca1317: B23d37d25179887fdd8824284cc4f7f71405a6c51b04095856a12da764fc45f0b:0F#@56ff31c65a56e71395bf9c2f33676bbcb423ff6a7a9046337a9717f026670048: B10c9d6ab3d23d278cad1e3fc416e31c60b212482df44aa2c6bc4e2c809777b4b:0F$@72fb163e4da2ede033681f6a8b676be3bf810b4f6bcc4b30317b563d7c05ee8e: +B16b58ec6b193a422431275303dc09ba1c8813f16e242b60fcee0c20a03974e21:0F$@c277ee7f374799b429b4a932287590021b8a6d245a8d79a0f3f5c60c7b7609e0: +Bd66cfde6e07bc92bc4a81bb77797ba2a6a3c78f0d0507c78e85173edb4b32fc1:0Fћ$@01f338eaf8827932b3e33ce516b01f3f72a68ba818dc4731dd0025fcf0b3ccd0: B3e523979c39130c35c0f71bafcb11bac5d476d85563e510ee08e7cf77fb7221d:0F#@135b2c28b3a220dcdaeb02adcb3c2e7f10dbb343abb2e8c0463b865404a418e4: B63395bb63f57881ae08d8847a12c788349c3a4541262499a4519b1c28315302c:0F$@dc7d027f72584186584608b5baef505273dd6702ea98f91724707737bfa765f7: B9f22f6e209d6c6b76903e00e91285dd69c26b980ffcec62bfdf6a79d3e4d2a95:0Fټ#@166cc3c2d0a3809108e902e3a124fdedae671e49909410dac38186405560bf9a: @@ -92533,6 +99476,7 @@ B76e595ce9af0280bf5b3a1df498e616ed62f960fc1674eaf85cc0d0f07a4a303:0F Be20924f31a313ac6aa9dc5da81eda8b948f944e3fd5850389bc557649832d73d:0F#@2836c89321edb5ffdd0abca66fa37b76ffae84a8925830a578bf0b3cd59dbb2f: Bb7dae23d5df89c6db43ce207a16629aeec839286078ebfadf8ee6e9a6fbc2842:0F"@35202767b8686fcf99c44302b171c8377f82f6e41c1734ec7366b573ede33b7b: B082d8ff18063ca13f62f4da9b4ad868d5cb1e46e79398907699e611f0a27670a:0F#@8ae066de64edca7f6ceac875d1556454fe5df055ecd42381a5f3a69e98e81aff: +B07ec9b023370c5c4801f668371a7da9ba13584ad6bec818840ed165bba54bacc:0FС$@a3272201f18746d6dd2f735db45841a8937ce69df87a7d8e31c10739493c844b: B20b65f9ca3d508485153debf05d915311513595ea4c8300c090406a09c7fd790:0F#@95ad1e2407e8a1b1077e42b0759b091246e82fdc980be47037d40fbbddde6598: B45afb00d6fc3e923cbc623f0dd816f1469c927c45cd360ae082cd24224df9331:0F#@548c6fad49da305468c480c869771f09f36f20c17c90194d638a907f54f8b1f9: Bcaa0559571f15b539ecbcf6f7f5a54b3eab7856921a5bbc713487926162ed690:0F#@4ddc7fdeb34df6c7b83e6eb2ef320e171a938af5660445a0783c5e606abfb8b7: @@ -92548,7 +99492,9 @@ B9327662cd038b0d976851a960e21f2897576b91c36cbcd2ca2e6b4a1bbcb4435:0F Bc811f803947bb3317802159f4ad2dd4deac35a286b3a0036b176e3fb99e8512c:0Fϟ#@2a2882bbc51bbb19b62e9edb144bc827cd227455a57095cfe425e3929d09b977: B991997954cc0e599ddb240df6e073209a1f21a062d5da135989da47b571c32cd:0F#@e3947b06bd4601c38e49533392b773775b4b86491db202dec0d7b3c02352499b: B1b4783884232b6ed8630f9304daa9ebeedcffed9a627f6678021f99eb3107887:0F#@24f111b8242afcdc1a48e6d8373f68500873671646cceeb9bf54a0a059ca4bd1: +Ba5581f181eb80d35ab1defd3aec74d8ac65d1c769aa754987fd4465ce84bf919:0F$@9f53e2cd997732642c43f44387b57be0cd6178443847c491ad91cfdd3fcb397b: B32a8dd191a94bb1e49cced8d64813f87d56c7027a203f69e0de0ac7791f1069e:0F#@1f47211658c3da0e50c277e757a3b730037761b73d322730d8a6876e68882ea0: +B742f52416a66a4dcda04815cb5d0e0aba4a4c6616ee55fa5959bd7f9d855e9f9:0F$@f4f0c7c32cf01d58873480b477817e5d58db451692b2797f594b95b8772ced8b: B452e9d1b0fcd6aaa730abfbeec7395afb3128b3bc56c6fe4679198f29816553a:0F"@bb5fdbacdafdd8a83a6e9246593d3fa18cb3905c78aa71aecd164f28ae2aa9ff: B04da114799e62fb83f392b7d6b6abf0e76ce33ebf53b92b0f470ad5f293ca770:0F#@d5adddb09c39b65258b7ae5e37985be0edad01300e38d30566ad307c60cd2d5d: B1a580b76df439cb570ef4446a394814902422c889227284da320ba0d593f97c3:0F#@2e3be730410f28877550fcbdc5b6e8a3165edfb7b55ffa07e56ae1b2d4e0bdb0: @@ -92586,6 +99532,7 @@ B7c5b5fd76595656268722e8f485842d9795fdc997ec3961a03e7b1125d717b56:0F B88a784b1c5814d7a2e87e4fd3f31f92f3a1d0fba17ca124e4f8bf83b364b2044:0Fɷ#@bf723db297da9fd19eee936e3cc57b61e458b29e441c251172294954993ca6d7: Bcdb7758ea9e1e2b3a11b3bc6a26aee1907218d7b9bae1ffef37f46c10a4956e1:0F#@8cdee3afa5e98b5b71125cdb59841965bb1c1ffa97a8002603b9ee11055f7738: B020c9ab376ae3daf2c2e3a5753f4f85fe889ce7c57ab41ced53cd37674b7c3eb:0F#@85907d3761b099033303a3bc1c42b76f8725bac0d71bc044a087fc81cb499c1f: +B77e5d1512efef50c686e57b768b93be7883897c902883e0973fb1548d3133cd3:0F$@f09e5c788e9b76757f1040aa85d007fe6e06392a90d60ad95ac7a9ab90708197: Be5240d1135430a532753efbe5a202c6271d7c3935581026acce57edf7fbda03c:0F#@d4efb287539445ed9ad333cf91d59afd2973bc3685f22364f24cf96f0dbfdae9: Be49dd8f9421ea4e78b14c5120355217a30727f8abf2e8cc4556f535f450bd0b2:0F$@1dcbbb600f3c679929f58590146fee9884d95aa68bd559193ca7e5225a100335: B588171f7c6b9009ffd863b36c1ecb08fc50b3e4cd6efc0097f2575f9f3275515:0F#@e02e55e80211e8935c76e7cbc81dc1d70a5efde15c5f5264e37b3c307c0e869d: @@ -92613,6 +99560,7 @@ Bb5ae78a5696b5070389016e4278861060ae8c7816b09a4f39559e81739a13435:0F͂#@5eb23 Bbf21260f236490737773ea5c950990695addaf7637f21b0daca379300c0b54ac:0F#@9d02c8425a56e1995c2e905f4f3360940687edb58c5c048fafae5cf6558d8e59: Bd0878ea8ad2081f33d76c3bd1fc0e402346e8d896f40c87761cbad09a4c37d6e:0F#@04225afe16ceaa6e1f64d7cf8545a7e55b4bf646ef9ebb7124e57a86a9d0086d: Bdbc4a1ca7ba9b337ffda7f4608da480f2fb8dc203b4c785a16c1897848274637:0F#@0a3793a4e49249edc0af1b2b52a9ef0bcfd0654be1e448f20bb98e8767703212: +B93c3f7d67078ccb2a100eb072c530b11c1bb42ef2697d688501e39f33fcd907a:0FȢ$@39e49297e7c940b4d914708704bebc6cb46e7a99f04e554d67d3d57cbfd8e09d: B8f6d81ece744cffa847b6eb5d85e8d23a547e5cb31246e9ef38d86c8559c1fc6:0F#@d2937136f267679f6a30feca3476016d83dde10f4b0872c2c9b9f3264919df97: Be9f2d4077d14dac0da782df2f06cf11b8c69bc2b9f4a5feb5ce4df1b53fede78:0F#@ef3dab56c1d8fdd59e4d275b126a070aa0b5578498a6c148b7dad418fdd741ed: Bec61ea061203730c0f3a6c640d6917577272a9216431033731c784159b1921f6:0F#@1fe471d440a55fc69361dd8eb8cf2fef0e1596fb227010a7f2fe20e3cb82188b: @@ -92622,7 +99570,8 @@ Bfd620d574187a993030a56bde0ecf9aae0c136c1bdae08d9c350dbb86d94ea70:0F Bf91244d364402f45fe802d5e4e9263d82a34e46ff92d8a5f2e2415faedec93e6:0F#@c94d61078767b859ecaaeab539cf748fa7bcbec0d4d53c9ce73630aa2e695f14: Be48fdec7d224949f2dfc0f88d63d9372bc330ae187260cb4833096d19d13b99a:0F#@ab98eb2515b0c40891f464af4558855e74326b16fd753f3196a99805066a5dfe: B22df16833095fdf382370e688e947de137b0de63dae8b24d30d8ed69512b352b:0FЙ#@34ecabeb66ff854d758ae9e6428e5ef183c6dff5b3067f835322de3491fda1cc: -Bac651336f5630dee889c739c907fe77939510ec87924e7eed774522749ceaab2:0F$@527453cb2ee19f0ecf1d2138a1e49735643727b86e822f8ecf5f79bdbcb4acad: +Bac651336f5630dee889c739c907fe77939510ec87924e7eed774522749ceaab2:0F$@527453cb2ee19f0ecf1d2138a1e49735643727b86e822f8ecf5f79bdbcb4acad: +B8561d977999ed550f62e9b41220490705c8cee30a130a6f6eaec8fb4f26ecd70:0F$@06fa21292581916c09a61543e8fb19f77bbf47ee17c380bfe3b8c90ae4a4828b: D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:223F"@a0ccca59b30b8be10222190ba630b30e45afd10c2584acb7e137e47533755704: Bf3f6cd0b938fb4f76a34671ec8239732eb9f15bfe5d5557cc59b5a50d0d10cef:0F"@4937793d3b9d38cbed7c8af6d163fa31e47e09514025ec2c9dfade01a43fc78d: D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:226Fމ#@3d38239a7b54fb2230ee57d5b91bdfcab968dc99c97a591c88a1d2b8d254a2c3: @@ -92636,14 +99585,17 @@ Bf810089e6dd9c3e149ea051cf252093e725f4ed7ce51f004354a4e3e24727097:0F B129fbf36a6da17db8708a21b1143b97f745bddfb73d6b4ec636c3513d411a6bf:0F#@5f565af2f9d65ecbc3b63dccb0a10cc9ec0827145f3636bda6c19914ff690400: Bef8c3551e5cfc1b7204cee5df74eef1c7c50efa378e3b5cf8ba067ca8d10e09a:0F$@a7b67f141db9b368605480f9e47fd37f654980179416565e6b5a408714f4629c: B3372eb274a1c5232f081f7bd08ab9b534762b7177149cb2d402cad6e4212c52d:0F#@3caeec483ce716fc3f640403b2bbb9d903ea31c92d6ad3485f79452e8019458a: -B3ff7bbb68e589df29b7b206e71877b8cb549d657fedfdf1878928492690f5f60:0F#@2663f108766eac0c67d3fa0d6ae867b779789a1df29079b67c46ab8565cb9c94: +B3ff7bbb68e589df29b7b206e71877b8cb549d657fedfdf1878928492690f5f60:0F#@2663f108766eac0c67d3fa0d6ae867b779789a1df29079b67c46ab8565cb9c94: +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:220F$@200c7481bcb8fa91d461fb992fe81a5e2d3c22a3e734c2ece0145f41991c60b0: B02901ffe24990f35cb047ec70c83b77c0da02877862420e8dc834ff496a94637:0F#@7177fc92c5d9585ffd645921297b152e49f28f67f124d86ccd67c97655871050: D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:222F#@6e3c863eb157b7c9c63992a7dbf3e29971a5321e4abcf507c63ee1a1c2f1f8f8: -Bb0a8b35b5e955013e332eaa767dfc2bafd4ebac304d82b31786f709d10486878:0F#@a0cad47984c08faf656efeef952fc83f4b426ab52021399461f4bc93ca11806d: +Bb0a8b35b5e955013e332eaa767dfc2bafd4ebac304d82b31786f709d10486878:0F#@a0cad47984c08faf656efeef952fc83f4b426ab52021399461f4bc93ca11806d: +Bc39a5749154c5f16fe7f3f6535f9e2c8e4f129e296e09ca53f5d29d40f522ae7:0F$@7077bde12817a677a929cb82ad48c7d117f59b201e7cdb0b051a33d26fa30ad0: D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:221F"@cf7ece6bfcd57008561e42b00ba900ef6a3b68f03183b177d6b7ee239847fad6: B577240c643700012817c11fc988f3821a4b2d895bf2fb26d6fcd957ec0ef1414:0F#@cca760027a931ca9099dcbf6906119bb7f3982b941f72340202ea63e9f29695d: B76bf7fc1ec2bef38fb2e0085a39ea290839eb348de0cf56d18dd5d6ba1f1ee46:0F#@89b6f1a065a651e2f7947cd10ab530ba3652df90a0ff13c1cc719cf5b23871ad: B7f6c4ce592a48ee27de965cb3f01c23388cbcd9e347a9faeeb204a5208ea5ea6:0F#@31b684adbe6ca46d64053ac4c60e639e1d2f91bffd4c9ada1fba470cc24fd441: +B4234d16feaa33228861dfa8327b5ccfed19b8752c5477a2ec9cccb519efaf45a:0F$@8388d0eea4dd826b6c9217d560be49e76bbe56ab3d6946e15fbb7eab72f23f44: B143587c915efc38100892e3fc90baefaf06f0196ce7eff7e66dae2a7a7456f52:0F#@472e652ef3d1a5e8a00816b1f687070497dc9a7523ec3f4e43b32486bcfea372: B2034a898f7962ab57d98023f124fa81423b95ec33df806fd3b7aedf31df68460:0F֠#@5871d803acbcee803465d351bf8dfdf2889d94f1542bcb9d9989a630ca3af824: B521fa9ad8c1d388c7c168c8f52809bf74b884ecb32005130fdffbb8233b6aba4:0H˃$@b40bbe37c7c13522576ef1b4ff9475a553af4854da195aae8bfc1360b6e9452d: @@ -92653,7 +99605,9 @@ Bef7c952be860e6b765edeb70295eca272166cfd2aee50c8732fec6839426abc7:0F B49a5f7dfc5d5361455493b37531621ac97e69a8ccbc2f322a637d3e81f793348:0F#@903cf5ee686ae372a87cd30ffbf5fe5e348b949b688753cd51bc06c129758df9: Be496435cbc63b632aa43da167f281a4351d5a96bb370e781c8dbdc53c5d6ff33:0H#@e888370b22d0b27e9ae0d37859602c96b1f6f701824faae517af02606683d7b6: Bad10806410a4043b2637c4e168e6cd7d65a621cce0a1c5f64619ef25364fc61b:0F#@3d602370bc71a691961c2b47f5f5f2efc81d04efedf39c4940dbabb967e91078: +Bc7b67abce88f9656979f0f1fada08e33f5fae95f3df6899208207a1011b2002c:0F$@5be468264234a9aeea07613e60947e204465bf16fa2e3eb64964b9c5c38d405d: Be8858170de32c251500e7db8a151e95fc81501c3a19d0d835a245fd92dc2983d:0F#@38347cb38ae9fae715c2af01d96b9f1c8ecb53954aa31f77929476540a7c4f6e: +B01f338eaf8827932b3e33ce516b01f3f72a68ba818dc4731dd0025fcf0b3ccd0:0Fқ$@d0f5c6017c8b4ef4edce349e920a3ee8f6e717033276d0821b999003d6a25a00: B0285a3cdeb521c05ec3271422eb55d69e2ba891a4f63c826403c4570df53316c:0F֎$@e71c857420cef90b57ea54f6fd3617eb5513c850566fb1330c2848a4f9a52e55: B05448480d1bb8e36c81405ebd98831b4e62b20f6e6a7455ab7762637c0b5dfeb:0F$@3dafa9ad1b8c5f524719035d439101d58774609f0c8ddbfa5fbdc416b9c36bf4: B83d187a9372116ba6000a936b7d8819250d5ae38528a0e2538d4d0e5fe768f36:0F#@0183d9132bde4dda8578176b1c215c0b939fddb952094be485966a898b24e9ee: @@ -92661,6 +99615,7 @@ Bedf67d54a8336f7b78999b5e5971e259157d9d01a26af394f59fb8a8d0974fa5:0F B1e0c9aaa1de0b98b3eaf38276a471aff1a06cf8fd11d95b28b62402b74feaa21:0FӉ$@4c6d0181b1f9b994100ab6e842db57f926e876e01a0b23f704fd3bf13d44af8c: B0d140b07030396670d419cc2297bd96490dfb3a483444c050721b42a8080f0c8:0F#@588b5c7c9639370c28a61a7b7d9e0a5e834be235cacce3f0aab7b8837d34a564: B6bae46df9fe59c60404170a81bf79b467dfd924d3aad0ea56723ffbb26647ba4:1H$@300a35a1483fa2ac92e5644abb9a97850892051603dcdfb0173173f3a6fb5355: +B58dae32df3ff623ee6d3f223f15e979de203a484c6430a01ce7708be38207cb2:0F$@dc6d1d5668f568ed269f41546f8173b5d8995f2f71dc97e6ecdc750a9fa2c5ee: B9617df71fcfe1c08f739a0705faab4f26627eb5be580ac217dd3ffba923720a4:0F#@a7cf46228064f13fe0e05835fbf5b05f211812f6bedc632a65d1c71a84afd3f8: Bf24e6ecebe75df7f8e66903ff532ba2aac9f97c0b3ffd1579d7db9acfd3ace98:0F#@2a2a5dd921b9c281c38616d91a8f7e11d492059d062f00c0ac744c4eb736484b: B43a18f3f95e3646ba3c4791bdd69c9486b74e21077db1f8e6e8823f4267faf2c:0F#@1de68556a5687bcfd1f8d1e0b22fabeaffdfc533bc37717c482124fb1f95cf5b: @@ -92669,12 +99624,15 @@ B66a7bd5d0b2da9bf0601dba416ad4692fbaacdf5abdbc0d6b9c9dce54bfa1991:0F B18eb79f3090a9337bdf74d6c26831e5bacb536ae5e785089c130869cc9db9351:0F#@052906bebb4f831ba420d330df34df0816f73a2acb79e23d1839f2bf0e3195c2: B6c1054b01beb915dd05023a9778785ddf72f4ccb026be78b9d7d29345a0d095c:0F#@986b9588f6754fa3366356f870387d781f3d84c068cf79d03c1c82345c3c03ae: B5f9a369a5b3932756a00ce385309b97c5fd5c1df9b647006c993420b2067d024:1FϮ#@7e19d386520ab9e5825118656d3b5201caea086e38e97c877faa5d33155de71f: +B7a58ba66773179358663ec93c9121f02547b4cf8d2ac6f294b6f3afcb9522c3d:0F$@7a035f890db52ddb7a4339b2ce5d6b08c7d46283ce2d4a44329000094a9861d7: B461d2be0a72f91608a655af2dbfe8382cc71466e0e3a945473e3178887747476:0F#@4b48d3f50185e9d719e1f91aeeac45b2c2ab76685f60a585dd09712945103bce: -B4b57147cf8e4667404e17eca6aed04958872b07985fe2925cf593611d34d7337:1F#@c835ff28c50bb64a3049e128abc946addf2ecc8df0a956c7e3d900af0451b41d: +B4b57147cf8e4667404e17eca6aed04958872b07985fe2925cf593611d34d7337:1F#@c835ff28c50bb64a3049e128abc946addf2ecc8df0a956c7e3d900af0451b41d: +B7a58ba66773179358663ec93c9121f02547b4cf8d2ac6f294b6f3afcb9522c3d:1Fǜ$@ae6f8a5c67ab6e26dae15c8ebab05eacbc06929eb89012d6c155cbe480961a79: B4b57147cf8e4667404e17eca6aed04958872b07985fe2925cf593611d34d7337:0H#@9559f54553e731e88e2b58a63038d14449736bb5614dccb494a8e933b6ceac45: B5f9a369a5b3932756a00ce385309b97c5fd5c1df9b647006c993420b2067d024:0F#@edd2e191e7b76a7a84747b80bff64c73d93982da475d47e522bbd50607e9c391: Bc5284bf30adaa52b553a4c3b00dd482d27a8e6f538b5c998569ff0a3257b2462:0F"@7a1af8dc72ebe7b10016f612e0525d2c63806a0bd9b7171cb4d24fc9e764486d: B6014dd71dcb53bbbb2adeb84c581953857a44956b1d36f48f5700ea47855b21e:0F#@5782e183d5bce0fa343372d9bb4b18404eb0f9dcd724110e84463f32e29ebbc3: +Bc85ab331f98575975efb955e7f2771cd10cc3185038df433426599a9bd65e618:0F$@03366bcad15e9cd0049c36ca62449d6b454573f030ee87980266e208fdda77ce: B1fbc48fc1052287dcd33da555184a3e095bd089244b2375cf1a4a3afe67c2367:1F#@aab104a35037b051d927cc93914f69af635883e12600d5f34cbe454908084f49: B1fbc48fc1052287dcd33da555184a3e095bd089244b2375cf1a4a3afe67c2367:0F#@1aacf40f84f8019f6d3f82d0736fc956c3eb3056cfdc4193d95af698b35dc2a9: B875009655e6b2d81360f4e2b94cee9d611240375765c682ebc627e3fdb6006e3:0F#@bb4c6cf5db7bb7ae49c05badac00c2a5be77d84a672a204a92d1f5c4f4e11285: @@ -92682,13 +99640,16 @@ Baefe468e1db576588bba79f347ab6b437249e61f063c28d1f241a62e0ad83841:0F Bd8eb51a9c776e3ffbfc9c821af5ef21a883ee70ac481e95d0ec2c4b6625473e3:0Fۋ$@4f8a3547952f05f7f9295beb5595eba3acb321892d8639a532ca0373cd4279aa: Be2a80a60863ff7b91e2897ca95e20fe72b744835591f2a81ba3c4f7b47de00e7:0Fӳ#@b7eec58e53af08da51303a20a140b33de29c1119e5d3ec33306322efd4d68a9a: B1610ff3e2f10eaf49827fd0df8eb84b7ca296153acc40aaa67eb0c5db13f6821:0F#@c778e2187cebe303474e0f38718af9a5fd39da4cabd9e8fa394a639644519aca: +B3bfcfb3ab5e97d956b12eb38827f9f50db1fe2590dd4f3937e00e5d85cd89d43:0F$@58fd22c3f6a3f2520ec97d7928aeda8b183b51cc4274890357b701ca4c5a00d5: B7ff3f5430a1b3b574d3c1c5b801ff33fe8e3095fdf17900fe974ff62cde7da36:0F#@5a7f57a532d2edcbdb3b3498e28a08ce669f33d765e427bea332c77e64abf2ec: B7a3935d8158d45f7f06725da64f11388abadd1cc92b0fcce1d414be430ea8cc6:0F#@4609ba4d02c6de9e7cae461026e3a5179b04d8511d19b974b8cd3d921efa8050: Bcdc1e9ea655683168a1f7f76d803c175e45fb8663f3ebfd1bc8615512778fbc0:0F#@221af779743bdc07e3a8c9f8f093cad186142721d8fb4111473b349096b6481d: B5d957b13082397c4dda6eab45701cf1c5b842e7b0dc22914646ad250cb8c0006:0F#@eb659e31b9930ef6c4e7411f5a93c5129e3a7235cf2dad291e91bf03a99a2ce5: B2385637b7fe173e640b6c61fee2ad5d02aad76d624b85d64024794af8ce8bf62:0F#@878ce9b36e8e1e59611bd50b05f1a3500abb3f58f0e7f36d6d418cbbe4f767b8: B5a71d93533ae3873ff2cbe92596dad618cb79d88f04d76951d322603c173893d:0Fڑ$@25500d4a9e9ec2dc9a9bd716026e9ad241f2a9fbb3223e2557faeeb0355d0686: +Bcd13114dd99821de448b9c9a717894074ae1e22facf3e573706360f459de6680:0F$@77295c5191449fd5519f1f7300414fc3d17551fcb656ccceaa26b81a6fa10b58: B0b48a631083a949f5422df0b3edf14e51f07ba2a3c83418c8223b35395288eff:0F#@546e1bbc8e959fc63b9c7eb7e1ee92f9af0e495fb9347c7e1debbccb8d8ad0cc: +B1f7f0220fec33b63d9370165a20edbb5c39d524cb3749a68db2204dc6ef8cd70:0F$@73d02ddbdce5d6dd1b96fc23b835b1904d5cc6aef1532b6278f8ed39eb33ed3b: B93f233aa422bd34df12f1ce6ce8326675525d2428ac83f4b79232a2d0e7fe0b5:0F߱#@6e8c41f9a4fcdb6813cc9972ca1b1e2a5c784a4412221485c7d192a96990cdf6: Bdc561b2cf7ebc1636c986db8d710e14e01e0072bdf1a0b621094d3c2ce4a4276:0FIJ#@7981494bde3f1d3afe7e0e9117063c0c59800b09519fe5a12409f485d923fb35: B4162d4182dcacb992a0bd435539c584adb5164def862059d90764df459c14cfa:0F$@63ed45cc48352690464510292f1c4bb5742282c4d95dee5988ed5043a2345df9: @@ -92696,12 +99657,14 @@ B4e9872ac79e988908d2c739f5cca969e361b2112eb30328eff6407b88c8097bf:0F B7555ffcc3eace68ca3ec27e68e1c75c3cc27afcfbfcd8a7c715291f0d5a2ec66:0F#@a235409db72538d6793464bd9901e4a5fc276527e502311705f14c9cab8a2eb5: B5bc3d5577e8a82b29c378bd833f2412daea7c01ccde17bc35ff14d89e31840fd:0F#@c5e4b98c4a693a76dbd91f69de6f66f2a304cf297e286e71353eb5f3706701fb: Ba1163ccfb31c1065db0e336c609fc2e3b4e3855b95d29e16bad3a707eb0112c8:0F"@7d5dfb3ba6f77bb5d1ee79a24c02e866ae1130874276501312eb9aea18fe37f0: +B8afaed9a3f5a254b6216a46573b78123cc0152ce699e265d26c9b92cd54909c4:0F$@cfe8a3d71fe1c9ed4b4c6a37f4d4282914b0a5b7fb62dcacc7363988b9642798: B92fd9fcc903bfc6e2de95b7d6986e6435d14f125b3fbdaacf0c480de7c7457fd:0F"@be72578f5218cc8e1ae87c60e6511d29a7dcfdc878d1c6c447199a0eb5ff52e9: B4162d4182dcacb992a0bd435539c584adb5164def862059d90764df459c14cfa:1Fݕ$@abcb8f3671a9b310121ad60022be9f4e15dc8630d9760b37d748b881f1ed6d4e: B7555ffcc3eace68ca3ec27e68e1c75c3cc27afcfbfcd8a7c715291f0d5a2ec66:1F#@5105112636ff2a8ab4cb92f37e957428d86c22aa67f5352f519df183cc91b4b4: Bdc561b2cf7ebc1636c986db8d710e14e01e0072bdf1a0b621094d3c2ce4a4276:1F$@ca3db8df75a956e77814d680782d2511795847fea35499e840083878dea7c327: B42fe3a81b6ee49a2473c158c3472615d725636c50cd1d555b2dacd55ddf581a9:0F$@9bb2beca6a211b928c7dd79599699e7be19a1805bcd2b16a640dda0cbc103cc0: Badd6870c23de08a5e22da297cf4f1053fc6f928b4606006e1c84140cfb739515:0F#@f54b3a122797f2f7e38c0cca98446a8777bcb318194988c994c12be8b6ac43b6: +B599b7979a06de72913c04c53cf248953049d93892942b3135e67ae764ab1b7d0:0F$@7ae031ef8cec388cfe3d40a7084b2afab8e827958b29af3656a4511089496099: B89ade3b6de106fa4c0c5d85a028ccb685f26cd9f317c7ba049bd70b5e6a5ae12:0F#@288866b91318b39335249aaf32001e589becdb066525089cbd5cb887b13a6f84: B79d639d5c78948c3509d8032118c4c8277baf49458a191612a87c8be6f8a1167:0F"@7ba967ff1759ab1863d904cf974094b5898e22b068691abb6f9eb9ab3f057d76: B3508e5ddbf7a993f6785cdeecd8fbecfbddd8fba9f0c84903ce56d6a2e15b905:0F#@ba763d82e8f4626f2f505569e7e11218baa30c5450c5c93d1ad395f492aad844: @@ -92710,6 +99673,7 @@ B0fd0509d0082d6e71b944639960e98acd9ccc9e125cb7cb34d299a46ce634a36:0F B100c3d7689f53171bb6a710772939005cb8e9185250a06ba96edc4ca8e6ef81c:0F̚#@e0d939b36a87627e022323992555c29775b008d86adf1d2b8d392f1706d1774e: Be0f35d0b527c5ae8517fe72174eed551dd572b817810195e36a5a3483e2ac53e:0F#@2b29e3fa06988a34132d5c6bc86d05614e62430cd00161fb2679715876b6e7d4: B7a2d140ac71a1eb24a8e943f4c71699e08092b44d1aee1e9c4d7d97659541b65:0F#@a07aa362075b491de5746724c724b6cbbac16724a4e5b55266ddae5240706428: +Bd1a7f38dc062c0abdd671666c7cfbe094edbb461bd0d0a31599af27aa58e55b3:0Fɢ$@61a0441a4f8aee0bc2c7e77c3559843959a4b3ead738ecbde0d6440ff32dc455: B3083dda598f6e16431cc32bfdee6c7c3e8c1347f3f8d30665f4545bcb848dc0f:1F#@7a6a072d090682206038af618a36fe8833d365c5a9ca198024a9c397cb1b7717: B4699e992762ee8cf7fce2c568ada4d367a11be0e909d84d101f00f0b1bccb577:0F#@ef52398bdaf43c778a9e4cca8a10e528286ae62f5c6ac486c0a8a959fcaeb7f7: Be91ec7a06fbec721c67c0c50df4bffad9856f26b53ed59aa7b2b3204c6b437be:0F"@b87036cfaf4be5acf8b2458b6c75893c7dfa136d14d60f3e563539a6adafa97a: @@ -92719,6 +99683,7 @@ Baff6be6064f3b353db4b92ba9d3069f23389cb6fe3abf799ab567d359b5c7923:0F B5bf6357598224bbaa55dcada06022f1b2e3907e23f164f7b14671112ee984e21:0F#@a4e8e0708f9e822ca6afcc27a9495116f31cd09b2bc184a8003bd342029ebb92: B7243e5699e5c30a33e43d3479ba2c47a924b20c68ac7c8cb2162ce624b9e8a99:0F$@fb90292866d7a5bee84c39b86facfa3cb580f2f5fa64183c68fabe7cf5003b6b: B608941fd089536cbf6acbd7cb38335fe6324426637c97c2ca9be8cfae0865604:0F#@8a765e354a83a226bc875cf9d0f3aa2cf758c171f1e9219e5c6c784ad6860adb: +B43c79d32223dd1c26430d0508a0e851fd702f8062913b939ed77b071199c28e7:0F$@cb4e21d6c886d8430cb886c040179fbe2f7b1768886b215f384bdbeb72cb7e35: Bb66c3bf531f1b923af328ca7b8e83cf97ead7cb0ac9dfb40d285c6dafb180dbf:0F#@0b88232b2bba5e0345b552de7812636bb7015f65f35a484b989a3af9f8981e50: Be03e34dbf3a354b070c7c2dd79c307f69e45c0d0c37d64fb3dc3bf53a025905a:0F$@c65656b2b10f41d81b4fca6df2491d31f6b8270a93c11bb02dbd670e2ea20dc1: B0b4275012b64c8984ed6a7f54c5e765adab7f4611517ab8e89c6bd833ee6a237:0F#@7d1197d1c60a3fc5d280a9e317b52bd1e36bc1cf039066152a3f3a0f23ce25fc: @@ -92734,9 +99699,11 @@ Bb831d618764b082c80d0049d2484ec8de1ffe4e5850bff178a9bbf88042f9d15:0F Bb86d7513351e809716f7fce49c8a797a422489539baa6705779569b3f50eb331:0F#@3ebdcfc1f12f63ecabc991110699c572edfec6c4f3c1bed5031c9aa258917d91: Bcde0e0be538f26bc4c65c0c7d21f2eb1718293366de14e91c59e9e7769e1d4b7:0F#@7c16e1b9ab80b70bad21f1f719a0ba49c0a1f940dce50db762d19aba395e69bf: Bdc99d73f1573568a0ae42757a02829379254e65523b1297c4ede65627c162d59:0F#@c2fdf446ece052829d553b30620ed1934c6b1b2f93d557e6440b3f35e7c9fb60: +B4aa4ceb4cc920df91a2864a7544fefc668afc5c3c41a72c61ed195916dd3302d:0FŸ$@4a59f592b5d81f90e36a939372640e3637c28930a9ab23a2af6ef1bd13bd9139: Bc9000357dc7274aea78aa799b45d795ac4e77f36f7d078254bebf7bab0e1e76b:0F#@2fcf11cc7d004b4a835ba12bc3db2a7ce12e3efac09d9767cbb7969e507610ee: B08858cbfed3a795547b93b06fb0245b77070127d65cb0afcacd898e0239553c9:0F"@4d618f9f763bc60689603a35cda3176a184f81881b0975a3d8b712948db3b30c: B67f042894cf911ef4c6b85117034341d5a3e9af30e6f9876e900019992e76f08:0F#@241728d64b0d2259161bb4f88189f3e3aa5b8bd6a57386bb6599e2390157fcac: +B723352bb7d333c6272f0683dc496f6e5741886f7211e79e923b237ec1e94cf45:0F$@a0778641c2e6cea4bbf818b2e5762e31af5fba767b5aa71c6f82e7f4ee70f553: B2806709ddc592c95af774f52f6bd38f2d924474d05a49e67bbd0a92ae9b8d323:0F#@b99f07c37c9fa7ebb403989434ff8abd74543ce5b77abe72cde1f5ee945b81d8: Beb1e2b72cfa0b3fb97167f06cb2512089f5ba8ecf869ba01d9c9c2efc42fc101:0F#@190856ea6b1319292939cb1a9f613d8af8d82a59468be9d47b478ba09ea9efcb: B754e3f5698c7cbfd4468de340797056ab1e35b8226e192886c3112f7106ade7a:0F#@bbf2b462d8456516cc29cbf2d66ec2b29d19ee50a21e5fe5a859bc5259f943f8: @@ -92756,12 +99723,14 @@ B560cae9bb523418643eab7767d0e88666a0094f0ac56fdc97af67f985cd7be07:0F Bd926c1100dd3c0df617129455ea0f193ddaddff54996f764cde0c8aa21b56c2b:0F"@aa175357482acdd2453e160f7bce4bbaed6256341819532c5b40f9c792d1fbc0: B85fd956f301cc0ab2e4a1ebd5a471b3b6bfa7d5c5a62c0418e138489299faf71:0F#@43757fb55fd3639752f88ee59830d212f79a4a682e2e72d8050b5a45c4036e5f: B67b2d91dd2d37d1f096662b5663c4b230b5924275f4dcd99c538263337578bf0:0F#@4f931b2d4025c2c6ae0907e669e83043841ad214c1ce2b4cc179f25e396d5b71: +B2ff49269678c9f8d0fc736a8360aa3f41bb1336c2cb4ec09080f340b589f9d1e:0F$@6ed9386cd82bae1d9915d7f6087af164f526f1b208cbbcb8dd1e8ec7b6ec3a29: Bdce4ac5301e06b7e49eb7aaf54d71bd036d91a8def7e57ff872c8f9ad1188cdd:0FÛ#@d2a60b16083373a39c60d997da2f12a8164dd9ed3f134a1083e78e3ad28e9a77: B20030d21c1670de612bd6d00f0d42fdd6d8ad81809ebbc30a40f9f2a4f3bd11a:0F#@e63ff6ca8477f929399ace91f9621d396464398827c39f77d139bd54f5fa8af0: B8e816efd7b87a40c98cb36e5424db2b1ebeae89d9f1b072a6bb7a663da661cf6:0F#@06aef69645bd7da2894bf502227cc6b99f66ba01c7cd3f45167991a7edcf2787: B1fea60ba34e9d006851da161460bf949075bbb7377fec03dc053372b5eff2ec8:0F#@699132bc2fa33f889157cd9b0e20aea22b4ced4bf3df69fde1e27da7eaa7f74b: B3be38e07921c6fdb8aef4345122af896e51a297f53923da074f1a676421e3595:0F#@f303337898aa50d95eef2e6bdb18c891401ab69808e2b9936ee815de429b426f: B42bd5419094877c198709a22024ccacd517b7d89b65133e71f6e1ffad3c00ee0:0F$@92f1d514fa126db8dd62a3e91b3b53df6d99184383fc97e2abf29291bc6b8de0: +B2f022e374c917486ca50dde0414c9f60cf5b0053e19e239c874434affc1a1d9e:0Fڛ$@a179293c84bb36f442cb46a888fbdeb1576b1ea915e42f544f8f1989307da771: B692f0fa452c714756555c3fff55860de2d0d0f923429d226b2a7236acfffdad0:0F#@611f5acb27c5cc6003d812ae3678a8f706767db173ac7b6b779b07ddbd327409: Be5c0cc85b44ebe37f56edb6a7f6cc749cfbdca518f533b3e811a33e6c0fcaf0b:0H$@a50b2c3d029c131bc1f91b520b3bba54349e449b6ea82c4ea7d0e5a785665009: B7de8286a4b755e0342b1346c3624a315be1a81f70cc3a4eacccd3926f960744c:2H$@0871cdeb29b700a481490083b1a666af1a152524903331dd500983afcba134e1: @@ -92789,11 +99758,13 @@ B3eeb27dba86429816bbadf62e4304dd5f37a131cfc3e222c224fc04493a462ad:0FԴ#@de35e B72d2632f6220bb53cb1bc222d9a738c39da95f9c3142afacefaadcaaf20a0114:0F#@c80adf70f0dd13d2f5c75540f078a7a05a5a8b9789482818f0c464a855792c32: B31610f0abae67cf5fb1804a6895b18bb84b7670aef714a32298e660a44a65754:0F#@94f68bb48dbf88fe953be49c8a53b05103e8a3151c9b3ae74412f1f75dca32f5: B8229f6f72f5f409398e3af642677c05b1bef740f09d19698b547834fdee91482:0H$@581a73c99fef547b3963fb94059eecd531656361185c78fa015b79cf1035f3be: +B910bd2652cf4b432acd70b3451d6cbff822fb879e8be9bf7bc5894fcf4f810f7:0F$@0d4e3bc4cda3c3a1cea2e8ab285d8bc6a49366f9ff3f876c4726ae59697bb0d9: Bd0d901f3e8c1bf837de7c31f939aaac02daf718dafd6b7460eebd93da6bacb64:0F$@976465099d4058e167f0d3a30edc1071d37b9fa87c50b9d683ed507fb35ed754: Bec7441d62ab128ba1b4d0ff20416abde16d81423d73479aa6d567b3bf9d34ac6:0F#@44d5435292ac915b60b71d98fbb277c6cf84906f40e99ced3845267738a488d0: B31610f0abae67cf5fb1804a6895b18bb84b7670aef714a32298e660a44a65754:1F#@43be5e798734877b0365840176c8b8a45fbcb64d0de5019d0dd929ed4b64ab6a: B5e239f39fd734fb057bb1494464b680e823c5879dec0295cd1f29aaf11fdfe58:0F#@bde00e4d9589dcef991e7088fb8b94be7d7706bafef501652e8b09bda320ae57: -B83e62ad76751584f93b1dba961e8ccf01a611e0a1b9aff4828c082cdbed4dcd5:0F#@b7a5eceee065994152be88bc69a28de5e44a1a1d542e8953dea600a26a08becd: +B83e62ad76751584f93b1dba961e8ccf01a611e0a1b9aff4828c082cdbed4dcd5:0F#@b7a5eceee065994152be88bc69a28de5e44a1a1d542e8953dea600a26a08becd: +B94c342115e6662ab2e281b305138833e3486c6ef744c82883d566315520311a6:0F$@039ac19914bac4ad75eaa7848d35e310330d6930c38251b2bad19fe105b9f24d: Bb57d85d1175fee05f41ac1e62eb27e36ede2ddca99092426fcac7a172e399997:1H#@4e28cfec593f4c41ebaec90f7add02d93a55ffd518810954b5f0b13a7950b5b3: Bfa948e530780066f7d372cd4bf009709850f501ff196927a8c904f844835a043:0F#@b61e18fe13349ca8a142c0162831ef5a1ef981ea35b1e14ff30ab798cd6d8275: Bb57d85d1175fee05f41ac1e62eb27e36ede2ddca99092426fcac7a172e399997:0H#@8cd2a089d62742548b497598641d932e5b35c9fdd002225b53b3024172b5a16c: @@ -92817,6 +99788,7 @@ Bdf864050135492a9933de0bc48c573bfe911437b3a76be11c57f1019941cc770:0F Bf48be376b98371628e227b942900e1b5e24fbeb4f33dc6b9609ae655d57ef822:0F#@4850f42b769dfd0d3f5b7fcfca96d3d1ce03101746168ea8da6febc11d464996: D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:192F"@96f346868100cba05e60030a42d18eef474ecd2b78342b5615b3c7c344f903e3: D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:191F"@15168822babad9e4ad9d18a6fca45fae259edbf7d38231d1c9c6450ecdc91d58: +B25e30f5e03b9ac2ae7d385010789f2fb570605d01264ebb9f754a7a7e8e5c29e:0F$@3c2ed645b599e23ccde32ca6aec6e6d99b03ae736d3483ab217b18c037a28d3b: B918c7b5e58087d3c565609e2c30d1d41e80848af4f29046e29003f483b4f79c7:0F#@a4c85eba314f692695394e12edb702b0eadb738e482ebd6acb8ca94ea219608f: B7992edb9e999379d26d8f24af2afc83bdff95c788f293fe933fa6ab1601bec13:0F"@c2951865fde7ae8afc5fb8bd57b767e5757d9c5bccbcb07da885a82aff868251: Bd88400a4d7a1b53bacea45698b3088f4ac726bda2d80402ef412d6ce8550d700:0F#@b3e0e54bc32bd5046d543a67567fddb27dac6b39d92fbabb5613b2f0f773e602: @@ -92839,11 +99811,13 @@ B27a7906425a399dda85fb226518800402018967a46ece7972a91d29dc7c44126:0F Ba543eef19d113518f9ef8f646c1578d44e6ae4ec2c109806ad5b07e4a5c61808:0F#@e562fd534779f0b4b3c76d34e02a07322fd822164b560617da9e2a0d07545259: B2874a87a3f51d9422ed441c7b3005d1bf95e2697242606e4255286aa02b13d8f:0F#@be198af4f68b1bc2bd63fadb5633b4e191288248c061d49d76a5926541559569: D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:180F"@268c2d5774860076042eddafa272c7a21b5c9e2142523d26e0b5cfbe2920c550: +B6c55842be25386307b471d58b50e1db64ce6259f9bfdada83234a05f6cc03110:0F$@68a557d213d6e97827d20f6e4430851e10e53f19db2c66e75dfe16be1b477f96: B205a456cda41e66c8176264a1b6d388cfec168c19454245ccc5966fb3f41baea:0F#@007d18b50e4ac931577ddc4a0194deb867babbb7448de5f5ecd3a0c5b4cbbcc5: Bbc00ad43e72a8342f4fcbff645b3c6d8aec2e4a8093ab0344b8e0d2e9bcef839:0F#@55c676ca096a009e99f028e929bb49483a023ef57c3d16f3b0958f07f0f694c6: B33da71c1177faef6baa4937fbbbec31689f6e593a2d44263c3abc59d537d05db:0F"@e3f7b404d2e0d0d548553174ffd91aba381e4aac6da1e29f768009ff7d8a5b95: B01500c9574dcd657a7bc7516b99c8f95228a371636c00927bf412d9237c97ebe:0F$@2b67c19295b38e0920dae04438397c13f7a214e70e1ec12e584b0b9ca8f7045e: B33da71c1177faef6baa4937fbbbec31689f6e593a2d44263c3abc59d537d05db:1F"@6a18791e6ee7ccf1d0fde167ec98601df9fba916ef3110ce9d29ba6ebd7e5834: +Be8ebaf08350449534b2a2131b4831af8bad0bec2ceba5a60890fa5ed5b5dffe4:0FÜ$@306b53b12d5f6e68d374fac216085a27338c445789b0b873da0caacfc78f403a: B50b9f537b1da450237198da7cc99724b701804c2d5297d62b5e427687091bd06:0F#@dfa30216181d8752f9310334e5e1d2b841c351fc15de33c5abd867fe4aeae40b: B7b555bc6fabbf4bcfee4887f9c7625e0da7b779ea2938fd0d0143c41e48c3e9e:0F$@b91a262309e4435365b9915f449b14268c690120f5cfc8f422cbd91b176c8eec: B21fb1eb68b5f6b3231cd8ac2c57777d6911aaff25bfdeff20f9815bb14fd3c98:1F#@23d37d25179887fdd8824284cc4f7f71405a6c51b04095856a12da764fc45f0b: @@ -92853,8 +99827,10 @@ Be716d517fe39d25728d93fd58e327afc01e9f62f86911b9b0a593ae98b6ac789:0F Bd2bb3238b0b39940b9b643323600ea7b124575f0f149f5d8fea098cad1773d85:0F#@018f90c3a0e2e71b93092115bbf0fc915d043b92589b676d127587ed23da8751: B656296026b03a8f55004ed2a7f881ee9f210d718ce059ccfd09a1b8d40f2e444:0F#@50044459413485ad5a74ce0f56e46ab0ff1a58500e2b23df81628470868981df: Bad4225d4dc1e31b71d8a409486dd5252395d1dfb43579ddf6996586086e68f90:1F#@7d493d4d8bfe5e96a9fab692847e23afd3331eb55620f6aa0e1fe5b302941953: +Ba8636c22cc7bac97f9e646ab854092022b0e09af08d37bc4338d2e48be6c17f5:0F$@83837565e719be6b5d11667a8f5223086532af27a9646e2c6b3c71902cc03245: Bad4225d4dc1e31b71d8a409486dd5252395d1dfb43579ddf6996586086e68f90:0F#@7d2102bc7efa5e08d3ad5ecaf48a0645cd1b0839c015fc17327bc071ba39c796: B8d07b2916d7a114854bbc7356bc97b55fafed2362cce6d942a88b00fa90d6177:0F#@b7a4b5bdd17df89816766fefa60229c847e19619614aa4956f1f1dac920ab4c9: +B6d41e0a05f0f44753e3bc9af0b868c7dadfd084704f1840eeebb5e8259aa5fb0:0F٣$@c894860ff9005bdcf63efb36dffd85f814ac1a3bfab06af4974677f92d7b90ad: Bb80f99a963ef4776fe7ef8f14dc787f4147028eda9011fa8e80824af5fa38255:1F#@f379bb4008251f8e9b7d2d890ecb4824fd77fe39e097389a08dce34addd648eb: Bb80f99a963ef4776fe7ef8f14dc787f4147028eda9011fa8e80824af5fa38255:0F#@eb246a65eb0f07e0a40589e2202ea3528ca7d3998e9f006dad5893617b0cfaf7: Ba3396ec15dfb6227e34eccf877d5b349d28ddd57a303714d3b05d7d8540053b9:0F#@a3ce7e6d2287e6d96eb29f513b49010bd49935595a4ab4412d72c36edb3b9042: @@ -92872,6 +99848,7 @@ B1d7e179a0a6883f415e8258954b9ce49a5a8d930f15ad5d69205f77c09251d47:0F܃$@25d6b B71cf78ffb3f50fd342a8997cdc8a175b818302878d771ed1899d7bfbc197097a:0F҈#@8a3c29b784685a9806c5cd51e1546b3e491b0591c86eedfc2d48167be9340585: B20233116284df14a6a89d86b55e8f8aec81165310ccdd467a55aca405b74cd44:0F#@33378ed0218bf8826991574e14099663da2631e1a6fe182fee7fbdafbafeceab: Be0187b64fa2a7db1526960a930fdd5a092adf40f553bca8bbadcd10b4eca5ab5:0F#@f85b9d7a6cf0f1161825ca3672f1a27e694208a0ddbe7146f069f740b1bd0eb1: +B2482e6ca3c409d3b8207b4ad75e1e7430a015bda928b2ca7ab9e8b104411d2de:0F$@8986a543a017e0a5e595f278c776a1d154d36c34e1b7d8f8384c4168dc5ea9af: Bd23fdfbfd56c2be0cb166c33dd23e8d8892b90b12f59e790fad49d526a06dd9a:0FԴ#@b73612859906ab17dc97ccdfefbd66ac43afba9dd3faa4037da1860909a49db1: B43ec8ebf09c690136596c4a29b1d69ff075255c36f2ca6259c816675a5e0fef2:0F#@03a13415780db2a77328edf2051ba6cd3efc59c48a971f3b758a2dcd18934a12: Bf749efdc0bf94c5a7a3d748ba2353841bfa6e484a83aa642ba37bb38cb324839:0F#@3ba2f552fa765898ad8f1a0203aaaa777f3e2f0f7fd4a407c3146acdacf8cadb: @@ -92887,6 +99864,7 @@ B3dceba9ac6ac26072691bfd6036f672bd6b3ce75928d73a6fe9fbe6c6dc9f5b4:0F B232b423d86f0b2b1df419939855ef073a7673de8bbdbcca914a8cbf06c1170df:0F#@061b1a9edb6184c73aa02b021d680d5739d9a1dfc123b9134dbb4d16875a8414: Bd06a255af18e489df833355097c3ed14a683c55a99c6e1d5fed1e8d4c5be47da:0F݆$@0ebd825b8cb251c41d309db0324f38aeca5b1703b591e761411730e68de29db1: B54cfbe0f36fb517530ed20fdede5c4b82f81a5a30e40e5b6560573e54b517884:0F#@b9ed14ff59264ab7b3fc4544dda5e8e88e6dfd6a0d80095e25c4188de25ea90e: +B5e0fcd0fede973004748d3cea92b45a478d75f68a6753f8d059bd35689245b1c:0F͝$@8daa78b0e99cfceaccd13b3c813cd945f7e273497296184d26be215aa232a57f: Be922c47fdf74a8086ff732db377edce2b65329646f37bb623b2fcd56c5dac24b:1F$@e52ef2d3f119c9b9c7dd433b52da4ddcd25c75b348dbbdcb6f2de19fc33667f2: Be922c47fdf74a8086ff732db377edce2b65329646f37bb623b2fcd56c5dac24b:0F$@10384cf9eeeeab9ba2645c21ebe4e5be7c20eb5cd782fcf27b856716b643c95a: Bede8de14a6ebb39ebdb6816c11612465e21df35e288817fccc6cdbcf30fff924:0Fܬ#@4d8151b5c691841c4158f6e7871dabbbf9999f559752f0eb14df5af4592d2e9e: @@ -92899,6 +99877,7 @@ Ba39609f680eb7c12fd97523f08c85626515cfaf99e4dfb5356bed2c749e49cc6:0F B5c579fe450060ff67aa0ed9d798c4f2e9a8c912c26d028e290baa91ea76f6853:0FԨ#@17d125cfd799d41cc90b570756d1dfba4d2716df8871ea766945117f9ebadd26: B8d6db05578c22fac2dd6849c4cb71228fad5d6cca9ea1bfb508b5e53b27b017a:0F#@7f5c5a8732c50b06c850e33d43973b6bcb53b5de4fe79605e5908979d152fee0: Bdbb717a194e7e08a744d8ec7a6ebdf203b8d97a888391710e0e34444cd5e2507:0F#@04a3b261285da2a2d618f163a6b06a416dc021433a8fe7c61c9708354fc4c141: +Bd442e91d02b9efe2cedd612d953b136a786e597dfc5ecb302770864f159a45dc:0FØ$@04f401bdc7b3e40fc7f74a8a79cda1d71690e69a165e3e928d33500a73d52b79: B3855ccf209f46c38c8f5486f8b691ae3abceb41f3eb907d6c942b8c454a5b534:0F#@bd201c6a07789cf337a71b989cb5d2bc9a6fc0e6bca9e10e22f8d9cdbf81b99d: B68e917e281148d7f0b750146f52648b30c27410e8d69eea4c64a05e20412167b:0F#@cf3f7304bd6fb773940220ec35028d4b14efb119510301be4754baeb80d7c3a3: Bb9d747e894ba564d4231e9aa4a710a1524ed3561c463de448688d610dda69cb4:0F#@28d0beaee75220f8f256bc908286856b657ebe27b5382bad2db83f26e7134099: @@ -92933,10 +99912,14 @@ Bce4a4d5721766db4779f61f600607a2b8cfc91a2b6f76731e8a758bda0bd9464:0F Bde6d17f36a8cad1e0493cf24499ae322c6c80202980a941cf77937cb3211f4c5:0F#@5ae4ef7095268d57a9616afb2cac5bd1acfbd052edca7fe1d301d081df3410c8: Bb56fa6b658a01267b817ba9de8a9fe16ee69fb731ae8b62c26fb425413c3c4ba:0F#@0022a861e2080f61ec88b2873d3f07e6815d78f2781c56ad74f16dba6c29330d: Bc4f8b8281cf403bca88fed4e2e3b1641d74e17583adcb5d99b8ab8488246080e:0F"@693886bbe6a62acf0d79a2bca075d7824bc1c0b3c68f9e872bbcc4da820dcd19: +B34bb7e9965486dd8e4d2e4e18afc0b4c4599ccd60db8a8aa88165a98bcf64aa7:0F$@d660b74cdd652275b0033b99aa37b887ecc452663b054a727e38c120482222bc: +B195d29a1549bd0f3d22cb72515b9d39578b1febb68431aa7952e85ae90a62a05:0F$@e7269024b10a37ae56c5e4f7d301fd2d3355c3c418b92298fd72452a7e9b9d42: B76ab6708af42b4ed87c7f51d36ee9430c23c80f4c1cba208d23239a04f5f5271:0F#@db70732b33a5b8cc052db60ca22d6428e2dd197b8335bf554ed8f92660705997: B2d3378969721db6a6feab0b86a876401d20d30df0059b7e1ff9cf6e50b9dbf47:0F$@9c347b3018ba4ee320f07ef250737259f303037d5413df87040af5144b677a75: Bcde7af12bce397ae30d9ec9d07cc89badb7f3bff03ba948d5807363601ece436:0F#@8ce560496e1d1905dfc20ebcb98d231bb5efe88457c44dcce154144552cb3cf0: B3befc775cfacba2fc274d060b1d5f9826aa388570d326f40a19e1d4198d2cdc1:0F#@6add5474b3b66aedc9a4713cf73626234bd7bb7f2cfe6198e1e7c04306f89a28: +Bc1124735315039b362d2fab53738ac2319afe69c57d2cefc008d0efc7593360c:0Fž$@225cb73627a093a4fadd5de97a3614c15d7058ef4e1d0e0d704b3958b8c066a7: +Be3b9a21c50d07bf67bcfb2af98fdfcc11a078535a738806e028ed77bb13bdd0c:0F$@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9: B6c0288b8fc619944fdf4a0022ab5355c25fe0c0e701a28738cf2972488337f5a:0F#@5bceab84b65de56aa321dd25933c403cb00cf6ee046b812bedc6f2c8a1bef010: Be3b9a21c50d07bf67bcfb2af98fdfcc11a078535a738806e028ed77bb13bdd0c:1F"@b9285d005e14b017d95528a84faea784c0a9b91ce0d620f749da7ae6ac5269a1: B02754823985728b48556595ba175cf10f994fe494aa73b05ed248dbb4d30ae04:0F#@98539441369023c3f827b192bade8e498a95f904cfeedcc62e11ceef016ff890: @@ -92947,6 +99930,7 @@ B33ced23506725b7bd6108af927a4c75a60d24073f4ef7bdc1973667ae5d627bb:0F Bed170977bbbed8d4da128bc9c9e1ac332c58d15300fb2054577c5184ac8aa90d:1F$@f6471e8c42eba69c6642afea63cc4ce60b4f70eb121fbcf45504a05f601855f4: Bed170977bbbed8d4da128bc9c9e1ac332c58d15300fb2054577c5184ac8aa90d:0H#@c3723a160cde576934d4be71c9ec30dfdfd178c33de04669d1bc44ceedecc383: B1ac5812fd765bfa51f8a33c9e51cd184c5c4418e5d36022372234520d3250487:0F#@c937fb706eafb5e09feeabc29035abd5ba5e88d71da14ef0af64ff3f5c293bd0: +B44395bdd47b3a79c079e94bfa9f3a0c5765ab0c9ada51a1433ad6e9a82d6a456:0F$@bef16c17f394a0e3b3a397ead2c023304500181d526aae933368230ca951436d: Bd655165d27599d0f40b4bd84ceedb54789af6d682555b764726ee14845dc0765:0F#@fbb8929f2eef461e1b5f959159ef783f2b658426e37e5cab06ab54e83f65eda1: B00915a5c4c700c8ea8761b3f6e7523643c6586fee8e83603b0c46c8ff36dc871:0F#@727dff2ac24ce767a94b7d7c4ccd191455646f92d8fbe2a1d3c62581eed99f38: B541b0a5e07a9f5d895936ec1dff8515d4ae684ad32d9caa094d78c5e1951f757:0F#@b1a20aecae150ee57a72cef2b1bceb5cb0bf36795350904e08d9750112084e43: @@ -92965,6 +99949,7 @@ B711e3c2428abb426815c5951362a032e3bfe61c00f713f65237f2cdbb197dd87:0F Bd1d748ed200af40fbfcbdc9d2ade44c2ff021980b47e7743a266a669468bd902:0F#@effd57b72964e548fd0d13f1428dd68401b5307b2d07d1d47a11594a0d7e70a7: B54268450f3bf050e0dbe85daaac7d9c688a8ae8f84e58d20ec02baf73d1e6991:0F#@aee897eff7d195406907635f96d96db04211cb02ad7b0f6501a939f38d46f6bb: B6c9292aadd7c2c69b280035cd2116165f2064d41b7d1bc1003ef8f7906a70ac7:0F#@12940ada12237de242c7ab244ce8d7d9b9732250d2eced0bd27ccd34671a85c2: +B90bb3c499aea520fdf2495a054d9c7641acae231da249b09436d9e77a419657d:0F$@1f8e8ecb70cce69d041cb126df84958f0b63b232123f92de7b7d6860a42e1b78: Bebca8fd04c1232bf4f33087558b6fd859528606492eec1f5ebeacbf118f54c8d:0F#@9711f9d0b8703ad48da87f740e684adb703f7d54bbba66b9bda36e77b350d7d6: Bc891d8617bab27e7a119fcf3ea8c92ccdd7acdbfe1eb03bdc590f79fc0bbc610:0F#@178793433fb5e120678099fff2121ec45c073a769ff76865aa767339e41405eb: Ba6baaefc95c3bd6aeac150cca3bb802d8e2b95a4a1b74a9ffb24a8e177e6a4d8:0F#@f4bb09a39d6310a85f00e237075465238c8cc6b479bb0bfc70fd4f3fd7c9b236: @@ -92990,12 +99975,14 @@ Bde3805520857cbbc48dad28a2fc27722c065894a918b9cca166ea92972c7df6b:0F Bce815d462f70d5cc5ed5fdef3c0ac4fa5670cbfbd31aa8678d82bab3f3cb384d:0Hķ#@6cf8b73d0e6a09c8575be5d8902fa747e47ea4d26d562ad26ca70b448294a11d: B434cccd741ecf8bd017f753877d3f4577b9e0d9b760e7812e7b43e8e570a2099:0F#@8b1d3da45fb9d3826e204fda0faf904d54ed0f50d98dd8462fcc6e1187f3c65a: Ba3f6286cfcd194d829e4685e642526f8cf8300973592af9de08dbc0167d6cb80:0F#@d23bdcc995d5431c78527f280aa639e4bca9973ae9b029922bfd9bb01d9b3d05: +B8daa78b0e99cfceaccd13b3c813cd945f7e273497296184d26be215aa232a57f:0F͝$@e03511299540938b7f813c74858fec2167364fce8070e38d648ba886ecfcaf4e: Bb7e0c23c49deec0fab850a36eff2c787cf1a345de58ef13dce82d2f3f58f222d:0F#@42e2e7e087381be6ae815ff5077a4a0ff38fa17c8ac8bd9ca5151c6a454c2218: Bf25308c65da1867f42aea2f4087be09c8af9feb684e8320e93730df791ebcccf:0F#@e50fde802ff376223f9a63a9e96fdea777c6953f5b244adb367dc2fcf77a413b: B57eb2a550dd1d738a8d9f8c4e08f40ecabeb36f0e15757db45f1d8538a54e2e8:0F#@ba29943b9cdef6759aed63ffa99f9296c58096e56d77e151cc062d3efa1db3f7: B57eb2a550dd1d738a8d9f8c4e08f40ecabeb36f0e15757db45f1d8538a54e2e8:1F#@6e0024e12d5d9c4c8d272dbe968714cbe60dce40c6af8e8ac0fa0204aed9c8d9: B8c708bd7b572bc6cc742b8607665e17aeeb854e94da42f44b74569038d7328fe:0F$@fed5816a86fe5f01de0b2b0e54e02e7f0be249159c4c2c101b4fb8036fefb4c2: B49b8864bd42d414add2725ff20886decf611bcabb6c20b442f5807d27260e892:0F#@29da85d067fa48afbc582d662cc59204111f6d35dad53c909ee8ed9f227b33f3: +B1b8fe5513129ee5483e2cef6c1ec632eeb8783842c8022f12ee96a347530077e:0F$@64adcbd74ff745173393d99452ffe5024df5c76d67566c8504cbbd4049e87313: B67dc959e9c3dec6d3485fba52b0af7d5bedfb00d685ce51c04b825af7191cf97:0F$@363df00fa2972b39705b55e3e5a00e4daa9b7a33513adcad5e569c3223ae7f6f: B7253fb539cee8d24aa2e9e1d2476caa1c06e462c44079e03adbd8024aa70b623:0F"@ca627702ad00e6b4770cdaec09fed62d75d34789637638948e82b05547fb9aaa: B7253fb539cee8d24aa2e9e1d2476caa1c06e462c44079e03adbd8024aa70b623:1F"@57ca7cfef7da1d67ead6a99041642fdbaf3a84f93bf2ff12735bc0556fbf05ec: @@ -93014,8 +100001,10 @@ B60ac97f0533da7fb202f05d828d20fd0b018443d769a220b9347eb3ad84689e2:0F Ba2fd6e2fa773b5b05e89e96d4056aad0e6a9e3797f8194894be05e6e1650928b:0F#@67d9f89f65e8da1301be7cfaf608b20decab28887f39dacef0837b91879a14ee: B2f5e51f1edd20216bb33426460df4e360c110a662be1df0813a35eb0177c1144:0F#@e7487708df31397f0a27596aa256a5dcc2d74d8dc846c799cfe64365a9763a1e: Bfd867c6d0b33a4454e67ac2c62febf6d39749cd7b328ba9e3bd3c17d28791bcb:0F#@9f22f6e209d6c6b76903e00e91285dd69c26b980ffcec62bfdf6a79d3e4d2a95: +Be7269024b10a37ae56c5e4f7d301fd2d3355c3c418b92298fd72452a7e9b9d42:0F$@723352bb7d333c6272f0683dc496f6e5741886f7211e79e923b237ec1e94cf45: B4253a459e98d4758dbd68e07f22101f237463d70034dcb979e1545f1680068d6:0F"@9bca7ed8850cb5e5c84f637e327a718f1e8c8aa8c3bd8025af9576814c9d375f: B95640934ce40b4e5e2544403f3add1211f52b35b218e2601cb25b1e991a88748:0F#@bbd9f883291b4e3612786db60d9b6ea1553e16b30aa47a3b452c804e7f6f6bce: +Bf0b2756c9cbfa72db5ee373cafd4e06e538c01175dc397a1eee1ca91a1637a29:0F$@a84394f9e749443a4c83500c92c3534ace35f761d5dea0311cd18d8d6e00e88b: B7e05c812095dcb3718a6e286c4736b370e4f506e973f124f90dd614453a843cc:0F$@48f727ec30e08308b113da55e7e422f7550218a3782dfa712f1077aaccee337c: Bc5452dab2763efab37c48cb42ccab66a598ca7d6c7a44e5c1cf917ca1f7924ab:0F#@ae620f2d818ad3e2aae249c1cda6409f6e2c90807ed7325733d85ec0d117557d: Bb370e27aabefe0c72ffe1ecfb7e25f3ce6699bf89e33c9a28101ad348e527e12:1HŅ$@2a7aea63993d93c23d5a3ba61227b4a9a48ba8487d5700a2f664f7d8631adcd7: @@ -93027,10 +100016,12 @@ B92c620a9facc8747f380e1c3316eb44c2c6f4dfb8ab652aa27beca5bcba004cc:0F Bbc4895981d362500041efaf85c51b3654c5085fb52dc92b466285de0fec631ca:0F$@10e3972e31434d0b852ce92506af2f2380cb728f1d2afa1d315193b5d8d41019: Bd6533097429430e4129cc1848fa429281a3cdf5406b5d72e42cb95fe0c3f2e22:0F#@ed64e1d7f39a3ded8fbfae2fbd093aee996b98cb8ac508471941a395c46d0f7a: B143f512ea5de2d35d7139deb2dbcb559d28cb353cb9a457073fe9959bc477d5a:0F#@6a21b4679707ef0347189676b3e584a8e11bc3f717a089e142bcae0a05e0fead: +B60588a786d36b78628228c787aca6e18163be63feadbba7fcd3e678f6f83ad8d:0Fߠ$@2c29aab20dd1af55c1ec177353d6de72113ba96eae392eb84082ab6b28a07291: B143f512ea5de2d35d7139deb2dbcb559d28cb353cb9a457073fe9959bc477d5a:1F#@21fb1eb68b5f6b3231cd8ac2c57777d6911aaff25bfdeff20f9815bb14fd3c98: Bacd75313b5d78cf003a2779dd0f6709e29a08848948874d636ab5a14d8ad806c:0F#@d18d804ddee1df31df22ca51bea46a2fc099bfd640fa0e433c7175ae42726323: Bc209584da21f1e69cd4861cad7f95a4955a102c9583136547d3210bc4673b8f3:0F#@ea2eedfa160ae604f9109537d2ca6fbe9bf2c7253e614d833dfc2a3f85ff5740: B0850ddeda5a2991d9320a026bbe68afc7508d695756626a9fd7f02a65b1a0f2b:0F#@2054f90093630851023a34914a37f07da3d8fac912f8e8a83002cd579b67b7ef: +B356f23502b9651b28554a900a4a256bd51c7f51361227daab94a79443758324f:0F$@983dac48f99d4fc0d7a6751d17de3ccb33b636e4b4a9d4875cd299c08bc5c485: B5b0c63c57c09569d8228249be769297b1fd8e5188618bcb334ce3b8b29320c25:0F#@86c645dd235d73465faa11498a2797eaaf3410d13548670a1882c9caa6079b71: Bc432498243e71f4b51f06811c6e5b59960ed3cfda6906902a4a5c56dbf79cdb1:0F$@11970ecae3a2d2672ea909769571dba321a26cf2dfe15756549bddb0dfbd4a68: Bc7468ea64bdd789d67c3b89bc8f81c86ae2d591a21c761aa5dba8b492fc2dedd:0FȌ$@deacc03f73e873da014282bdd97fd23c8fdd91bbd8bc3b68511a0510a77108d3: @@ -93040,7 +100031,8 @@ B7bf344e6998a4f058aec529431f21bd698aa725574f43563ab426d6419528e81:0F B7e2de2ef7ab8c72b1e1756ae174b333071988f3de1596e1f5a6984cf7912ee9b:0F#@db1077d1b9fdfbf45e6ad05d7ca1de89a2e62927d3fd6867d5565c1d092eb123: Bc5512bbc296483737fa4449d7ded67b0e76d10d9fc4ecce8266384b32a001243:0F#@1f660e04f364324a73498066d6d4b132f70702b4a4737f394e88dc51f996042e: B795a414cf648e878a31077d5d965d6ddd7713cb1cbe7ac0818a08158734ffb13:0F#@819e540485b12b1a12891897b9e22911d0c740a05129623c86c4ffb45d64a55d: -Bd1effb6e5fc0304286e8c0d387e286cc2f98f9a28b7e44b7c45034dee27a5b1b:0FІ$@8d50f6bda2f55616f6a7c67ad6d2c26b4b33ee562a7e5d9eca756f9ea31a2ed3: +Bd1effb6e5fc0304286e8c0d387e286cc2f98f9a28b7e44b7c45034dee27a5b1b:0FІ$@8d50f6bda2f55616f6a7c67ad6d2c26b4b33ee562a7e5d9eca756f9ea31a2ed3: +Be6a4fc4d47a86c22addeb0a0821a6f3f2818cd4881090753a9e8f98fccf594a0:0F$@954a604e933e54ac43181d12ad1fd9955ccd62611e8f109cbdeb12dff51b7d07: B8de175d0efb24031e0ba2b931b001c09af06332bde966119a0f39a861ec6a3d3:0H#@ffdeb236144569159f05dfedc236093adbb41acb0b6e830b94517a7f405af0c0: Bc848f856cc8a2f067c54a200bacd246820da5fc3350c6eb5a42d10b73a4dc1c5:0F#@000d4fb63b287b01bcb4228a579a48978dc8e841150e748d1aefbebacee51898: Be4cbe301ae17b4ed53824df545ffd55ed8d68883e13e9829007911002a016016:0F#@7cd2bcce38a189eebf94f0b97426b699c0c19448f27c5b02c07d8453423a3d4a: @@ -93048,6 +100040,7 @@ B080d08075e8bb69390137d4b4f2981afe185642bcd055db2ed0c9876dcd97cb6:0F B8cd9d09d38ae5ecd356c4d9f510f3f5fc0c4e91e90bdff6a0d236d2559e51b33:0F#@86ff26841c897f00b209cf0091ee27bf26a29ef596b6d628e13e63a0f08028ce: B4552003d590319fdd5a636c8492390b132f87d79a3e0b2f631c24d8763307a1e:0F#@4dbeb1b52726fb80a8f5d175881eb47d5b67ebc484e6665b0aa592e78a514c38: Bcb99465f023efbfb10658b5514ff5790d78235e220757c81eb18b5bcc6070f85:0F#@0dc79241b3e6bf9d05e3c6577fca56bbb574c9258806d37ead0f131b4ea6836c: +B05c5aeb13db705330e19f3f32ef7c19f2f1e26015e4b73335ac92b1b597380ad:0F$@df41bf0ed58cbd1454e3c2f3ed392619a0d270b9fb9d7253129a0d0214c6e1b0: Bfdf250f93099b66075be2e9ef408e297ce80aac7f7616a5fcfcacd514a4b28cb:0F#@7ee3214610d77ba04c15e2f549b0c6e5a57d1ff08deb38c1d36848a9aa36b0c1: B5b385a75e93dac10d11c6c00bda5de1a83a9494e26dc46b208a1072eb0f6308b:0F#@75fae64afb9ac87bd983a79a5e1ead991647469c2ebd8b31d2021b11ba0954e7: B2040b9ff94e078549a656bf11f75bb7ef716e943e55de99b440d505aa1d6b84b:0F$@6b07a73909db3857343503cdfa2c62107f1b1f42f68178a034b035e3777ba76a: @@ -93059,6 +100052,7 @@ Bd4d62af237b9cd4add3de3a1b0179db65659483fc46ee3a362e4a153bf14fb32:0F Bb8806026a2853b1e90a98529fe5c42ea882c29ef7c34f57f71f2514d775a8f59:0Fɂ$@2bdf8e401a201688189a8c0965c0d1ddcea49da14f7b18b2b98483663f9ded33: B204be4e758962f5cc3ecd4e2a7bf398d3a6fbe6bc0b65b7900cc71eb96495061:0F$@00b2f5387c8972cc8eb4f5b8bb3df15987004c70c43242da606bb3e59404e058: B652c97cae9b1af2d737c1a5c8271fc49fb7a2388af3e8845a9fec96df72985d9:0FҶ#@200946f24e2c8e40625ed8e9a60869d9e963c9d6fd821c9b84b1e1d1e65b1808: +B954a604e933e54ac43181d12ad1fd9955ccd62611e8f109cbdeb12dff51b7d07:0Fٜ$@7f66e4ae65b791e645b418ab7bec3594b4e51895fb199b64d80fef3d75f7b2b8: Ba2313342d16c2026caa7284ebb80c939d0cd07e1bebc096c364b15ad0fbf94c9:0F$@0d8fa3abeffa5f7ab63e4da0cf37c38a1afc6830defe44b9c5603ac025853561: B1339d19611c9914b8504e8be114eeecaa3026fabb11324d930b45717c5a76068:1F#@a6cab354438e2ef90c7377f548a4b3f6c12d107cd51784045dda691b930ea8d5: B917cb156eb58777db6818df195e98e023e31be70e740ebf7eeb15e5ea8a5bc0c:0FɌ$@5798c2811f6113a2ce6d203534a86056adbf598cf1f8e8d536f4df49a800159d: @@ -93106,6 +100100,7 @@ B16aa425ec78a487da60396faa8ee78d1468beb329fc3a0292b2ad9f7c4bf1b1c:0F B848d35df094b12f8419dcd68b5e2d6060423338c511dc8aa591676c1d455d42c:0F#@64e77ae99d76448c738f597c2259e5fdb24d45e86560e4d02d841ebb02878620: Bfecb99ac59fa79b6ac866867f68191fcb280eb72b410339b736fda2520c84864:0F$@a8a16a35369b3f5d51bdb13556d27d75522f14997fb9c3bdd4f1d867d16b5aef: Bb86a01cda42ae9e68e66080805bb46121843f73f2acc1d28d95be383c93b22b0:0F#@3e4eff6c02d1cdf7f1a12f17ca5f8c731a15f4ea595f9576420107b80310ad2c: +Bec8562f3470f0e9e639f3daace86410f816bea826caa85e6f8d6e0d85e478e6c:0FӞ$@af8b32c7e44260236fcbb491dc1f6f6ff33fabe879a289c1fc00b7c0211033b0: Bb87a48795ba11edff124c6c45e6be768bb33e5253d646f3d49ca363c7bd21aef:0F"@253a343bbbe7d6961339e68a4d4c7e0154dfb60884e8a8349f4bf1eb3a244512: Bc864bde0a8bae98b5b46ce8c27b3269c7d6b770f7bb40c0e085e3bb5d657dc97:0F#@e529b22bffce89f1e8f29e75817d6b8d5c4a8d82107e3ccfb8ab5065d2d8ab6a: B43757fb55fd3639752f88ee59830d212f79a4a682e2e72d8050b5a45c4036e5f:0F#@8fbc30c690f7a87b2ada551d199e74c86437275680aa2015ca1c2d1921657cb9: @@ -93138,11 +100133,13 @@ Bb9a640d83f98e5b2c608161daced28bf59d5dfd64a91b20d12c4706e07b70bb7:0F Bdfcd799b759bd5bd4dc3e668c65255de1e4fb42c28f0f6bb53af76bfd19f678e:0F#@f0117304739e4cfaa85e8ab560ee842132ec3267aada55b0a63fe82d0d0180d1: B5f565af2f9d65ecbc3b63dccb0a10cc9ec0827145f3636bda6c19914ff690400:0F#@238de4b98699b364210162c2ba5f77c3ac4d8d1fef67b622b230fa8d2d27b37d: Bac519327d3200ca95918d0f077bab5c41dc67480c560ff4f99d5178f4f896da4:0F݆$@5efc386d2b5151cfa458480eb206c767c895278b8476635a96f1db20d4bec468: +Bcc00af3389948379fe4180f8e83249040336ec2cc81905d8c49bedc03b0cdd84:0F$@b07633a57a35b70327c7d23643db67061d8f175449892c39e225f082d2a3ec6d: B4074a9b46516cd18dd2b44cf16d51996180d754c77df70f4ce67676225436ece:1F$@982105b6d6c323a33c41af8cb7c1d110d2af1c3e0eb8ce1fbe9a26afc5a0a8ea: Bd39df857b9dda9dc9c7271a63b1923347014ec5823e6a91096c69453d00ef3d1:0F#@f875d658cdaad22f2c217d4ea47f5e40bc6fef8b0607fe60b342744bb3de3c73: B0646d6f5ff92b6cdf0be4bc61c73799b5da9e414a325c5338c500042ad3f5e52:0F#@cca7c42f81036a6c6c5dff73d3847da84c0a50b99e44da3e93021a7ea13161fb: B11535c9e0d1a379339a15b7c9262f19dcefad30eec69985b048f95aca6afc935:0F$@92baeb230846622988569875d5b3c6beb57a84156e5c5e5381ef8fc964bfd804: B75aa22bac24ac957a5b060e92f1492f569e46fae2bb03686c2328442e46b4bae:0F#@b412d4937fe76fa9f1b5a95de2948eb08e0445e37b989f7a9631380c8ef6debe: +Be1b07493bd48fb6ecf247eb53b3aaff4def907fe3efad38f48faf0ff54465e65:0Fܛ$@5796527d343f97d6c7213147665dced2a8ac54c4afcc1f96bf9245e82fba832d: B0952467028b6ffd680a19f906d7ffddfffcca1f7fb34802e15ba4c578022f94d:0F#@7d9b09bcaf73b3a6b4ea5393245236afaf4046393b70cc2695e7d50987a68f9a: B59825cc4e45771ff573376a708daff8288ee151e964808ce4c9d0d8fdcb06415:0F#@8ca8465b0fbc6d4e4d8e54fc728b7977bcd428fd8c4afbb941e96e1b772b7126: B5674dcc04276d100d36bd4e175d8292aa1fce00de66831adbfc9618f911f6864:0F#@57b33b8377c59935cb3d7fa2d1019ba51a86d00d3aa53ea78c2fd3132c35bc55: @@ -93158,6 +100155,7 @@ Bb659efae86c1a85863b11fac9082c12831c555047727b3a5794574b7c47cdff7:0Fَ$@45cb5 Be90b9bae3588e5f3e9f8f2689f22a724df86c4d4cc0b322261b56b3a6d580126:1F#@9b9ec2b0669685e0a2e909adcbbbbe7280b0aab108a5cb9942f9e9f4337fa81d: B754d4a63db049900d8954efed921932a56892a89432cb7fa660d1f0a583bbd97:0F$@2b2b50eeddee6487827eaa32c095f0b5ef06e5469e4869cb92699819e3429552: B2cfa654b2ca05972ad2500a503bee42ae501ae796000d3f63862b38e75842842:0F"@7992edb9e999379d26d8f24af2afc83bdff95c788f293fe933fa6ab1601bec13: +Bb07633a57a35b70327c7d23643db67061d8f175449892c39e225f082d2a3ec6d:0FԤ$@0b3e96dd88f47c16bb9ec8d6190b091779521a1a8eb591db6e0ed3bbe7b30aa0: B06cf9689e77f3855c6823a1d5e67afc9eb9bb1338c401b10987a06a3a78d9768:1F#@cd21c42401fb0ebbd5bcc3900820be3ec474bf89bcb68e344fb6bd39b12782da: Bbb5f979fd06ee8a55dcd8844f15c17e0e6f7cbe1e9baeb193c34aa7c9fd0d77f:0F"@19e0804869178dd7631ae9369f69057df37202b2891541dfe99a7cdc5aa53112: B06cf9689e77f3855c6823a1d5e67afc9eb9bb1338c401b10987a06a3a78d9768:0F֓#@dc5ae363d7538e0a460cfab7e798714c4bb2534b1838d33a2e87d11bd82cf0d8: @@ -93172,6 +100170,7 @@ B48b41a512a8767248ef6dbdd55b64e812a5ddc20828620157ae6a92cf7cc0c60:0F B6458967aecca7f97e8c059f83e83a67044ee4baa0fa16adfd12795cb0cce214a:1F#@05be8f2ad715510aceb18cccac685106b5328f5695d3ead9c1be147e5c4d7b23: Bec49fe70d6fdc8ce6c554c09074f8a123846d87ad4e43013ffa89513451f09ad:0F#@9ef54ac586656d3b44bba8abf6a5e7b0e2312293fe49cecef0001d3259b86af6: B311105453f95a448ad818ad526d47698ea8a8cab7e2792ddeb2d6843418d5ee1:0F#@5f5075862703a39165c0f62c2026a5d4ce6a44047a213b7861b20d1bdb6b7b1f: +B280e494af92ab9d0452e6a7b6b15e8e3719ffffc9a3fe965d85aa192aa287ec0:0F$@41f49ae8275ffd46a2cdf8afecf19a12f9e6d14465eb553bd0f5b6ab55c7b470: B09addc058442649af7c602ab77a535d1487571a5bc7e4a542e3b87f7db8fa320:1Fˊ$@eadd0075312e075fdc28c30da8da0a20dff5c028acfff365101903590c7fdd62: Babcdac26485a52d411dbbe7acc5e374126f4ab7fddb9f282af355a6dd35a7251:0F#@b21c1fa3c092a574d03433ff4cb8f526ac11d5b01a13aca768731d8c0f37c636: Bb760be52b580ace3197e7f3067c0de5eb929f4ec29dcd290fa49c08aca9bc871:0F"@128e4a0f8bd4ca7dcad2f582c11eecfc2fa77e4395a2b83273a148467ec4e63f: @@ -93198,11 +100197,13 @@ B77ca640d37bb51027c2fb1ba1e574206529c1e1b2ae6bebf876bf1c10be6399f:0F B46034c17beed4f27a7d25f54e4478cf0200d03c2d56a9fa02b86d0f8f674a6ec:0F#@e50cfae670058dabc752b2aed6381006664f1723d7e6aac582d2e85c4e5befab: B10bfbc245d546d0786b5e90194721b55ef077cd7578a551ff65f5c9a9234ab1c:0Fȍ$@35359e5e17c0cde312e1654fe8e71d5a51bc2cb22590028116e2f7aada43ed56: B5efa434b86e457a7f2add836cac6bf1cc8dd4bb49f1f2e7c90e0ed314a3d172a:0F$@ccd249d35a10ea42b80e4478eaf742d0aa4e95f659a6b6a970c436c555cfd261: +B4c0522eee76e2c94e2926406c98e9f9934ee6363e6870d7068942ffb223255a1:0FȢ$@f66be1cc7020994f3ff6b94b81be06144f60ce09bc4d6e94cfc0cb8ba7389d44: B81ca2c66efcf3791834141558100a50c9ecebee81d28f9c68a45849b3270f00b:0F#@5d538d7641b8171b2f6c7b523f6180bb5bdbc4a6465c1a7517a94894ab2dc20f: B5049401caa7554e5e84386234d5d17e1072e9fc89865d02fcac80318f62868a1:0F#@d3c6cd8c6aed06943fd868740733b6c9faf2db80db713198b12af75d1b6326ee: B81ca2c66efcf3791834141558100a50c9ecebee81d28f9c68a45849b3270f00b:1F#@77ca640d37bb51027c2fb1ba1e574206529c1e1b2ae6bebf876bf1c10be6399f: B4a032d7ab74fce467eb2b3724acbf7f7b54cdde2ccfc66cee4f2345efc650d16:0F#@8094e3e9e20a60fc9136f79a827452b69a9111cdb1975bf2730931d0a93051c2: B311b8e10f2e9e5e6c1b7532b40169ae852ebd044494a968716ce636530d86124:0F͌#@973cb39c6357e7619c740fadcb2da15e69359c8acb504cfdc81f003e351014bd: +B2c9061faeb345617e0beaf2ca893248c09a7fc087e8b9ca89377507bcfcea7ae:0FƤ$@b874a8449d2a399f777e0fbc8f5d62699c703b165ee2cf3442d36a0c986f97e1: B6d7336463157f196a4fe4c495dde7baa485d0f264649347e97d23970f91f471c:0F#@e72a9483d7dec41d405f0de9ded0355796e09c8e2ba300c19b5e6d1f5682cc97: B90798d6c472007bd7321151d13c5ce51f3f6915e517c70522546c7b532187cd3:0F#@4b9780eb5f0da5f48273d2cf7a92061db5213b230c0fcc092f6c019c6d50e8f0: Bb965f1c78ab20e799045f2207aab80575af429c1c20e62e9581ffcd2516e8a66:0F#@a2b074f41ab21708db3fd662066c783b5634e9d1beaca10a81cd2b45c5eb8e28: @@ -93223,6 +100224,7 @@ B06bb7e1acbefafa0b6b54ac7d36cc140896e68934928dfd5e072435cb6634f2d:0F B5fb34c8acedf9ba244cd3addb75fd1129f8fb630f605b39e5f249428804fde71:0F#@1f7bf6593dcd14758ca5458a2829fae448693fc02d2f9a3e2f49481aebd58648: Bc01b583ab5401ac0fcc7c007ab3a8d9eddcab41a717c2815475628549743849a:0F$@9eeb7529602e424456a2b42c2976969e38b6b18c5b05998549e62a03b444bbfa: Bc46c03a8846e4ed921d30c752cf9515f0da71b9c45edc05e797116087c91adc1:0F#@278056da9f274c16f1661dc058ac6bd3483f685c9e0b9cc2b4829ac77ccadd04: +Bc6942c351f7a98f9c32e478d2d59f349e8fcf8a56dc5d2c055d8d94a52475dce:0F$@4f00c04d96fcf9266f46e7c361f80b66531f8ab8df281edc376ed14a24453c41: B223b99cdee94bd39db8b769c82b5fbc66d99ce3c9b2707e60b5a6a98fe8f1858:0F#@7d481b295dd74161f4fde28a57b8056d0f5b947b6e028aa133b72bb8dabcc95d: Bed1891c06ac75b857ea5fb3b4ef827d2aa4fdd1a39a666be6a55976da40ad494:0F"@e23264f0c6077b05e70bda7288c55cc23c37136c8a0a52c7e2cd102d6169e03f: B10f044e1b95f97c378069da6c0aa60fe021ac211ba279e90f40b5984315c0cf1:0F#@eff114d82dc9b69bf77f38722c2a93536b503f49274b2cc6b6d7827f79d0a3fd: @@ -93247,7 +100249,9 @@ B2f0e7747da92a80b54340345da52bc5f8b298f5a215c2123c7932c99c5d97152:0F B8712737ced752d304e4dc283c39f76bc6fa39e53ccbd69ac457fb32692575390:0F#@1a580b76df439cb570ef4446a394814902422c889227284da320ba0d593f97c3: Bc559885c98df65faf13b7b9c372e6a521041d21a7b6aadc820d79acd5dc8ce0c:0F#@899da12d89231181e7f605a1caae01b8f9006a24b1a652246bd7919d9a5a5770: Bddb29e192edddc5c52a167355431e9746a8beba2c74b5172e3b5e1694a882a31:0F#@aea9d8990d27e5cbd7265cfeb7fa18ab026fae5df5c6de61855cf57e0959d0b8: -Ba625f39e08b45cded0c5e844b56dab16dff9dc53daa353b95ccb45432d080ef9:0F#@377a3c2d9f904a911c3a9406d510547da7313ba6f9d24f511c5f3425d28abad5: +Ba625f39e08b45cded0c5e844b56dab16dff9dc53daa353b95ccb45432d080ef9:0F#@377a3c2d9f904a911c3a9406d510547da7313ba6f9d24f511c5f3425d28abad5: +Bc1822a7ef6309d2361243751d390fb78957b11672bdba314a8b9706ce0919793:0H$@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9 : +Bcd2c64da45bdcfdb77caa598a92b3f9deef08ebb502992fbac4b1477d6ecb860:0FĞ$@09caba7ffd9de24228a2c9d5566a0eb5fdef184534c624120edade4ed72161d5: B10ffaa38527420069411501f2bbeef4f8a1772b5ac5bcecea22ef8f2ef2d1cce:0F#@848d35df094b12f8419dcd68b5e2d6060423338c511dc8aa591676c1d455d42c: B18831fb72d4e0bf26521634fe1776e829c676b7106b1681dfb96cff3e7aaf58c:0F"@b330a114bd0d18501d2b9fe4731374809ddbf19cd23b322c0937fa95e1c987b9: Be6deacb9fa39bae2c139359269139c8099c6aa55616e847e16b6b43daa5d9057:0F#@9cdc4764a8dd35f52126ea79621f3888e435251a6b7e280fd3148af07e6feffe: @@ -93282,6 +100286,7 @@ Be397e739cabb25ed235af00c46a16ea4fd3b1ee41331c5abc1b52f26feec6d1c:0F B7c7abe19eaa291350217359c54bd7354f16da353267a6ee38f2191ed3e4abddc:0F#@f81562f95ce89f66cd92751cd45bd80b0a6f26d3e9b48ed5ed847a0c75d38afd: Ba0709a923624fde526d33f9f40502e8fc01c9249694e402c4d653abc9562a734:1F#@4fd91a94f51d9d2535c5d86fc151488c0efc48cb9bc2203f1e2255f20dc2d552: Ba0709a923624fde526d33f9f40502e8fc01c9249694e402c4d653abc9562a734:0F#@f3be354afa10c3c3793b3ff40cecec6018ddf61a5ff821e23d98ecbe45bf1719: +B2f228c8cbe1981f96c364289a80e56d50f060cd07394e0a77977efd2ac3b9b8d:0F$@de10b0fda3eddd42efd473db03189a8c3f4d4674924adad24b5317a9642b9753: B81a4a8deb8ea5b30ac89da5d8a6f6a578d3f399598de7d92f886997f3ddd5cbe:1F#@a6a3863ddc0fdb02f2e2de75990cb6bb386b7922f34d30972d3e223aa0ad5fe4: B5124c0fb007fa18eb6269aa0b8a6f815bedbe52f360b2372705800b1ade7a4af:0F#@ba258a83975094800779deb38c5a20ac75b63fecd396a7be7b205e8fb4df12a5: B93502725d671a66c940f2893dec2d1ee9437d801c8781e13a0cf5250fe8b47dc:0F#@1fbd61b91f3a90adca7241b32423f234d0ff08a99445117c5babaf9b321736da: @@ -93289,6 +100294,7 @@ B12d38caa1cb8e24c920e827877579d00eca64f74fabf25f74a49b2837f5c9568:0F B69e974debf9ebf0e4ce542f1cdee614df31a5abf429c855b30577a00f8011f5a:0FƧ#@9f7bad0db11bea2417bdb1642f1ed12bb95f388d937668ca179e38d136c8c64b: Bdbb762e33608cff2d90682afa547ea3621e1191a14e56ee5f5b78fc2a0d53325:0F#@f804510feaebbe0cd6957e503371516f6ef85f0d37ceb6f56936fedcdfdf4308: Bc42b18cce76e077a7f013bb69588779c5856f6d527df7a649433122be0d31405:0F#@62fbc213e0e2fbd2a2519781c4d3508225112f448ca7e707cec8ac05626da311: +Bd8fa118ed99ba9172132b6c72f5198a06be1a49311a6d54175988eb5a5f0c46b:0F$@901800d015ba2ed140e4b40daa86e246783137b932b6f22bb03bc7f1ecc748a0: B808e320ea5793c471bdcc855ad831e02c4b171a7ef0977dbc5d6aa8269bc368e:0F#@766e0f995903202654620faf64656093bcd6550bea757d0b2e463158369e3897: Bff38b7cde4cf22403dac2ab189fc7e81cec9126eb451e7d0c78d93d367a889d0:0F#@dc7b237658f71790d65c9b1ff36536dab5c8bc7818a6c4605efd06b92faee99a: Bf0555e9abba82e0dcfe1aa28e410f4f25afa8d31d22c3770a6bf9cc50dc66050:0F#@efa3e65c80a77113e9cb776fa4530eb6621a18cadffe36de0eab72ad16b18745: @@ -93297,6 +100303,7 @@ Be4ea545df5d2e1149bff237c732139985c002669be5c1d927e71476129cdb253:0F Bcc615a315fef3f401b1c4503c53cbf668d0181c4acc075901f763a0e153e5c54:0Fغ#@3d4d1d2b1a0e25e2824ee9dc26af9e4bf05aa6d2d1074fd388bd67dcebc01f2b: B61272f71145d963b380269833653278ca000563d552b48d8c9b29dc95db3d2c7:0F#@4af15524626daf2a63aa47bd5a69aa1ae3eac2586a1414f048a31e614c60a7dd: B6dce7f156249eae7b31707101a256b310c25cb30f86d2c712ed382e4bc24b90f:0F$@e352c6a0ccebc52aaa9ee631db3a6cdcbc84233fb0a043fd115e6f26f0b9961c: +Bef39199e7aff2498a6e7f2a764c3d728bf5ab8c2b6c7d319afb60f789ff39b50:0F$@978e0d76aa61b5774ebcffeb28d341eb75c9aa62faf2b5f828598e7750c50b13: B64d18f4793915616d2d2eff9a2011760ac4fc5d3e7b58aca93a829665119592e:0F#@c6fbf16e204f0de3be1f3a1b0c7c7cb06a39add2b57b9eec32bd1b1f0ad6bae3: B3bc43168775815fbed53d7de3e774e9ee78f71028451cca50822aa55ff4e7490:0F#@5c53a01c7c921a5cad37697fde82f6ebc41444805509f4151808d2fbbb6c2af9: B967e41d8942b008ac3b87d25641e58a6945dd4ac03c789f89e82e1782a7bf04b:0F#@117177a325166872f04b68a70e9cad1a949dc845e19fa953c1af68ba0d91cdbd: @@ -93305,12 +100312,15 @@ B97686fa43055751c8554e066bf5d360610aed5b1412c5365521dc0da586da58d:0F B8b1d74a10a16bc69c6d41aa8f9ba6cc2dc3c452d73ccd421a35461344ef0af5b:0F"@e3012da7d52a52dd954c7b17ccd526e98c96a70f6d5e9016921bbadef4bfffdb: B4dfd2f0c6169014d93d60bd6c5f6797504127bfdb260730afd014cf28dbc530c:0F#@7a63beb559372015c400fb118a6bcc3b7aadcfd491b2268bf455db0302383611: B63ed45cc48352690464510292f1c4bb5742282c4d95dee5988ed5043a2345df9:0F$@4c8ba7c4be86ae3bea52870b692458585d80b01530be10518b59c1522bd456dc: +B70721b574f3f4b0916fa0e9375bff824e59560dc207a4b97f7998b7d22a77e20:0F$@8b2941ed503fdd4961187d47cbe4e8b4fa7627b07aff6b10d92830505ef99d50: B8919d59a5f4e4a6b1b56086979f8c1e94429aa034627406575b5ae547b5dba81:0F#@42b2276b1861d699f487c893ebbfd845cd4ad7ce57d28dd49a0f0375c1d7bb82: B5eae7d9c9b8608b4ba49791ac43195e893a9c0417dca9f7596bf613adcc0b1b8:0F#@ce3b6598d9f8de7d6e3998b03c99a1b76655007c62b403ae8806542bb3b26b1a: +B70721b574f3f4b0916fa0e9375bff824e59560dc207a4b97f7998b7d22a77e20:1F$@f5e038c1513896d99918a9c4b1c71c9dff5d56dc23f7d063e1f615ce76837308: B86d51c39726077a9512623e46e06efada48305d43166bf326c121fb838d5c8d7:0F"@dc937029fcf52138db9657999483345b4dc23ac56b904ce1fdbe3054991fc4d5: Ba277792bcb3e3f6145ee282a361754e4a67e4434816f5683ef6740ab2ec663d5:0F#@53fd478df165b73db76fc2ea8230c913559c60c954fe4b51469163f3957ef75d: B63a8f647c29675a3a86bbc5d3b80e7ddc96f13548bb24fd08eb0c558fca0a894:0F#@c42046fca71923cbe9936cdc823ca1b9d9f59b67b3aa8f23d81c2df8f856193a: -B9efd356965f3bbb4588e82c54a4c2e90e276808446e3b416878a552692f7d80d:0Fݭ#@c816c40603e3aa78da304dc0900771bccae84ad7ece2f7198e4de0c3e6d25555: +B9efd356965f3bbb4588e82c54a4c2e90e276808446e3b416878a552692f7d80d:0Fݭ#@c816c40603e3aa78da304dc0900771bccae84ad7ece2f7198e4de0c3e6d25555: +Be34cf29a5b60beaec42029db040d538be4badc5e8656116e80fcf0c06e71f9d6:0F$@abea48063ba9138d928d6147820c879b623e0c2ba5f42e9964f4a751d68bc69b: Bb2145b12d74e402b6b3bdab9c95a73dffd800fffe6dd13709e54a9c8d8ce7719:0H$@d9d13467eaead6035ebd169f22d730347495641ececc79d3554d5395efcdb8ef: B6cd4597aa35b3a89555e96a2e40a316cd1f3da51e3f62ba9d4ab33de79e2b584:0F#@72a1ef5a983546f4dc1f386b75e890fab35bdf67f60bdb5edffe088cfc2e78c6: Baaaab54af7741a5a6ceac6f5a199617e0a19120bb7ca18bb1393c05cc55a674f:0F#@bc27118f03b6f4102ab338ef5305290b26c430a9b9a50d22de4486057ef6c978: @@ -93326,6 +100336,7 @@ Bc65656b2b10f41d81b4fca6df2491d31f6b8270a93c11bb02dbd670e2ea20dc1:0H Bf97b2496453652350fe5ed9699bf285a1cae2615ee564494b5edd94ca9f62e1c:0F#@e5867e336bf8dcd932af40565fca000bfd597b9b5cb4c3db5d03d06cc53694bb: B3f6ba147f063079dc7bbc99dc98ca5a6926554217b0a044cdcd33860c31a0d18:0F#@724e4e29d42edb0e0a3b47d496a826f418f58717c3b5d3b8f0e4664ed70490b7: Ba8ccf4428721b17fd3d786904e3973bd51fa3f1bc573e058f988c1bff0e8f301:0F#@cc9bddc24cf0bd090541450a291971fd9da38ab7752a29d0ea34c67a02c91be1: +B95635cd6529db6acae7e267c541dc9357e58fb6f36273fd14da21c8c8406123d:0Fڝ$@9d1ac216d5a11d1e985a6430343040b41679ac54072ec4f896868c3a157b6115: Bc465778fd9334bf1fc62dc36616349b0825433c182b647188f116ecaa14c4b25:0F#@5b09e653b07e0c810874321e23e972ac448d4b230564ec9aaec2f9443b254c54: B3faa5de19d7fcf054021a90404f86c7a3b410e765d742e9ced5c6b36c38c5a45:1F#@15c814229881d593bbd7ffc4332abcc2e84a28dc5f56ae992e0df2f8f34a164f: Bb3edd63a71c3e4e1225f3559d04f349efd6f82e6baf1157c115d516e4dab847a:0F#@b9ca6d5ebdd1baaab7cd0f100d9013be382932563e2ecd10bcd8923b13c69df7: @@ -93343,7 +100354,8 @@ B0339028890302e1da87a037a9aee84a2596ccb6b03b8d8be71687f8fb7144be7:0F Befb0a4e47926f4a141c2dc8f78ca0ea857b85f2104ff0d5f5ec292e6af0a98d1:0F"@cb2384fdf8625fc4d04674e2ca5b38733535528bdd0ce3b81793bf502ca078bf: Bfb9f6875e50d79c5cbf20b1a2b9d4ebb416fd6d2d76c841d45bc594af9c112aa:0F#@0be51f4c6b4a04df97fe0658adf7c0749a5c6d2395940c6150e31804c06c2a55: B63a1da95ac8b9d36f21110f7c575a707e6e4a2cae72d7f91cdc5c6b541898a20:0Fׁ#@fe62e5c7418a471bc96d8201d1e3a20056e9dc418fd17fd033206a15a2cb3ead: -B67d7e248831f236229212e48a633725426b01da9fc472b49d55d5ef8631e63bc:0F#@b8f606a7db6f5425714486a01ea0c24dfd1941aa83b4cc9c10c8380fb6cc648a: +B67d7e248831f236229212e48a633725426b01da9fc472b49d55d5ef8631e63bc:0F#@b8f606a7db6f5425714486a01ea0c24dfd1941aa83b4cc9c10c8380fb6cc648a: +Bc89cb891908ca06bc7b1ccc9d8a8a93acb7f9d38c7ee0447a39d6ccf2be01b75:0H$@5808ec999d7b71b806342971cee953fc17e52b60c2c8507fae145aee6c56e6cb: B65d4e1f5362cfa4ab4f0a1aa662b9471657b0dbcbfc012f5fcd71b152a4740d2:0F#@2598786f2fe749ad55f2ef8ae35f7f7cd7b54dae7130dab7517910f26afde68f: B0f9b6c3dce151747b8b0f371d61f036e58cefd3664aa55f4fa6b2497a93930b8:0F#@f324fece7761405898996095b57b650d25b3069ceab77bd65b17fabd704bde59: Babd870d935b9fa33eacabf917467ed52f11cfea6f7456b9ab0c81f9beaffa485:0Fυ$@0117a9692866af3ac4a51b3753e978ec37d4c2ae184414254c4fd919117ef61d: @@ -93357,7 +100369,9 @@ Be7036b5d74524ad023e624b6c5a90dcc1ff725c852a90ab855ce887fe5843d78:0F B7dbb9c3e6483e1f1657cee09c597e2637736faef9a0d1f5d8648c15feb9ddc3c:0F#@2bfc60ef614551a4139ef4d88bb971677a2b5d6724a7048f3c08a2183a5a8698: B2f8d82ded5d9f9f8ee5a2b76bf3333681164e1c5ba81723f728aca1268adb1cc:0F$@939ff4700eeec1e489a6586f6bde80db2f7751db51e0ad4449c92f8e56855e3a: Be71fceee56c74d3993dd1f0c30218acbd45f1a0ea714c3fc5877329ae1f83e2e:0F#@05a0127008091627e86d62fb7d14c5464deb0e4bee3057c057c557afa0f00b82: +B7077bde12817a677a929cb82ad48c7d117f59b201e7cdb0b051a33d26fa30ad0:0F$@4d03d067b5fd1db76cca79e23679bf0c47f83e9d7fc116c1bd9dc78ac82434f3: Be71fceee56c74d3993dd1f0c30218acbd45f1a0ea714c3fc5877329ae1f83e2e:1F#@0a3f43a4bf4cb437492b2396623cfa72d249e6525be730e9542146ac7c63da70: +B973873a0c1a08876ab047531758c5e5fcef67c06a9b7c9d5641b1f108d4669dc:0Fܛ$@04a17e030a0382fba3d37cd558205923a8d6bba358b0ed894590dd4ae22bcf42: B0ac5e5624e87a3e16682e2e8bf200e126482d14df57eda29ca1e6bb47206c248:1F#@c81cd2932915b78d52b7b06e8538b21fe9aab29240b7f70a95a0535cbd94255e: B98ee03a6ef0a4154701fc33c45679ef8655c8b7d4e15c9f0a1dd8a319fc0590b:0F#@2e7a3972353cf0a5ef07d7ec8478411bdeaa9d4006c4f16257be455c73bc8284: B0f8d216f6b8346674649fb216081e86378aa14d738fa7a6d2930a2876c1d8626:0F#@3ee663c2f3bcbdacaac3b62bee312028b9326bbbb7201baf5274fad4eff3c61f: @@ -93371,10 +100385,12 @@ B7edbc6848e3b5226dfc88d0d6d1fc54197d778869534ebe81e968537a5d16f48:0F B8b3fb938505329c8a08b4ded8b1094350eb1be7b86fba549a5e4d0646a83d135:0F#@9972966130730d89eeae5f95fb1116bdacfc0de94c98a5458df195739cfd020b: B9f7eb2ee6b93161fdf6face1de8b794a7dcba324a15db15b2ef01f70327c39ac:0F#@906186ed519c84182f20300b7dc5e8bcb1cdbd5208cc3570c822582470806b39: Bad7f89451582e07f4bc73649e60980c8c5796865277f9af110b4afd95293ff66:0F#@b1417ca8049a54f5dda273ae72de776d2830d00c9d9abb771dd4341332f019fc: +Baba034357ada91c65027eb8a194992e1e36033a59a9bdde22e33ac219349f49f:0F$@aea7cf564755369dc94a3b68b0addf5db9858c5a3be64dc3b8374938f5315665: Baa7e7eb3c02637b4128ae187a3755e1e384b001a70382b3e63cd7cd80a1148b3:0F#@8b125ff11161ad275cadaeeca3c0dc9dd55daa340de0bc780d294689e9689fe0: Bf1b9f8d489993a4e35f7ffb1c4c74fe9e50786401b1416ae6da436d8e8db006a:0F$@6243dea5a262086041c559d3b901f9943e996d4dfecae9e1ecaaa3b7a74c65e4: B8f7b1f7a67c42965cf9ae96db22cf14c26b9fd34e8dae70751ff8572e1230ff0:0F#@c00e931c3ab3be6fa761e6e82a1574f0d4a4dc2531010be44b4ac17d10c860ae: Bf1b9f8d489993a4e35f7ffb1c4c74fe9e50786401b1416ae6da436d8e8db006a:1F$@4162d4182dcacb992a0bd435539c584adb5164def862059d90764df459c14cfa: +Bb554abadf59c5b245ece1ec944a88b28089b93fe46ac0bf06ae71fc291a3d632:0F$@47bde2a65ee4c88a69613234e51f0bf0f5c325fe2ab668f7dd4d970b9885168a: B1374bd68ae1f82d610f9c907e8e23818eb0f498dae589ee163459a959c0281b2:1F$@357b377ef0da3758eb02bb9eb5f99dcb35711f26e2c030f9210b7809d8fff44a: B1374bd68ae1f82d610f9c907e8e23818eb0f498dae589ee163459a959c0281b2:0F$@2ff49269678c9f8d0fc736a8360aa3f41bb1336c2cb4ec09080f340b589f9d1e: Bdbfb82737aa87c9595d48ab6fa797e702654dc3af83c00789e1c8475a215902e:0F#@f0555e9abba82e0dcfe1aa28e410f4f25afa8d31d22c3770a6bf9cc50dc66050: @@ -93384,10 +100400,12 @@ B29da85d067fa48afbc582d662cc59204111f6d35dad53c909ee8ed9f227b33f3:0F B35232add508c33a385207183bf1fe917d6b7ae582fc9cfe17f251f0e58b61d97:0FɌ$@36e527d054f75eb959cf8b194bb37d1118fed1f655e5712367b1654e699e7ed1: B2359400d942c9823e66479fae0808dbc7f5f0bcb66c24cc6b2da64182d324670:0F$@264f7182ed6c697219a03a97f2eb04911f0246133e2348084944624b46d686d2: Bc0a72c478f92ff54d936221807332a162c224c31d574756bc41e8d04a1a4b163:0F#@2d229cdbabfc55cea92c9d003044c9a63a433f6574dc359b070c56072779d53b: +Bccd249d35a10ea42b80e4478eaf742d0aa4e95f659a6b6a970c436c555cfd261:0F$@b5ab433c32a819643e0724b81d873cd75b8390afbed3c171a0925be9f2ff7c0e: B5848726844af445120ba39435fbc9f5052d0a2bd6efac51758333317971d0514:0F#@fd9baeb704404f370918dab4d8b0f2aed3ce34a894df0b495d01ff2efdbef26a: Bf5d006630de8f5e17092532b430c9c0a09bd279268041a672493162ece712f52:0F$@da9ee6798db120a248b809ce6eb1bb0515e0110ea323187e51c859c8032e3332: B5acece6de1e268cc2d05c46f5ed8c20655f35274277ffac60fdf072ab5ef8ec6:0F"@1ad2e494c6b77955baff073dd6c33c1c0fdcc612271bc05e20cc9173ddb052dd: Baa52924c2287978119e349f900ba83857f52d02e6acbff11111b8b1d675354f3:0F#@9f0b4ee6f7db2a5a2486f2170bea572ad938ba0e6bf7fa5ea1ddb2b02363fbc9: +B07975fee5c8faf1d54a5d393e1e358cfbc237054eadd9a05460bfc409b05615e:0F$@7a58ba66773179358663ec93c9121f02547b4cf8d2ac6f294b6f3afcb9522c3d: B257a3cb2e5702791e85ef1553d8ece9c4460e1d174647b745d140b84d6a65d41:0F#@f5929dffb8a1dbf938a0172a17c5de44a280e66d1970dba366a84e7f5fc48e67: Be3fab5c39866d98b4667cbb0f2e33e504765b9dec5d97d0fc6c7ab7dade514ec:0F#@5d1d1d41e39048e9cce6c744dda143add15c756004818e3a76154fa8e6457667: B6bd76f90ee52dfc9646b5eefe1c30c0ecedd42e76ae076648816320ef79858ad:0F#@38cb8f8d59edca0419b269743912a6719f3d331223a25c7e8ef6673cdb9d45f5: @@ -93396,7 +100414,8 @@ B7b7af85ae72f67bda76d07866b023019ce6f3ac9b984377ab0ec7e87c4f097ba:0F B35c80b949a734c6cb25ee5c4caed03dbcc3d53c6104b32c290c94702902710f9:0F$@307d581b06bb7d0f37968b40ff204268049a8d2b11939928820c00bd503fee36: B6d0c87494cb7fe7b00a247468f3bb5082d96a457d5ce25f53d37410ce2b9ceb7:0F#@e4b6de09db13472dc69a175cb0b7c400beee9ef87a4998bb672a2e4c58ce4b55: B0ac5e5624e87a3e16682e2e8bf200e126482d14df57eda29ca1e6bb47206c248:0F#@fcbef6bb98077ca542814f009eebab566b46cb973cf438c71f2711b5609ad7b5: -Be14a7bbc9bde6e16846aaefa8c3375fafe19d623b3079eb47f5ffd149fbb71ed:0F#@c2764c782014263630dd0f8aea0ed3df79691e35251cdb6e933400aefedc696d: +Be14a7bbc9bde6e16846aaefa8c3375fafe19d623b3079eb47f5ffd149fbb71ed:0F#@c2764c782014263630dd0f8aea0ed3df79691e35251cdb6e933400aefedc696d: +B6f95117ea20544ed040ec7a2877f7025e9020cc642ae1aacad51fa1fe7ccad91:1H$@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9 : B2798a2440afe2d02390e3efe7b8ae8e9eb6c00d4cefd083a9a1181901ba73ecb:0F#@34b83c3209bad578fd8015b777ac3fa6d85f8095c7f8fbe9d204cfa1127504e8: Bb3d87b07d77d30609223322edc1e12dab44f1f905a9a528dc551893ed814582d:1F#@b9d99c2ae342c16d319c4d0d263bb2dfd5137015305c3c934a4dc27b3acdfbc3: Bb261bcf5b68045877d05d8d261090f545eb87b591557dfbc3b5294d285aa39c4:0F$@dec0023d55ec5caa35af92424fd8076569d2aae548ed1e2f5624427944fe90a8: @@ -93407,6 +100426,7 @@ B50044459413485ad5a74ce0f56e46ab0ff1a58500e2b23df81628470868981df:0F Bf74ce3609f88318c42835c01c2829698f9508ed7d51fcf0be41eea7a45b97281:0F#@e242b952811b47d64c786254e804f78eea085070263d96d663087ed32b542f6e: B073945d2b61a65f3ba31f09c0003d978ed3144a2be2ca56771d0f8cecde9eb3d:0F#@79c171ad279b1ac0ad56a40bf1047127751c892a955c72ff70d575a971ac05c7: Bdb70732b33a5b8cc052db60ca22d6428e2dd197b8335bf554ed8f92660705997:0F#@faff1790043c79bf6f65b16653073a7920862bc594743b775bcd6ecc389d6ae8: +B9d8613e74a587852856e0ae6391932518fe0860556ff747b3672c18dc8e429fa:0F͟$@f3d2a491fe41aa9a018bc42afb2d95ecc1ba6b243721efb3f2ae7baf754b9d58: B5e6c238be4aa4a974e3c2728d809a212a0323958cfae09ee99c5f37b91b632e1:0F#@df7438c420a9b80ba34fa28653a53624a24cdced385f5d135592161dbcbec1de: Bcf82c5e8146613c36e10e234aa655f3afe487606c7f2c1c4d4b3a149b1c9bece:0F#@462b3e902fb098cbf29235023be44e2db9f3c09cee20a7e3b4f48550c8b9d78a: B6fecd40d82f4a6f6541e374c90c7411cd75c8187e2f75ea5caf7941a5a88db42:0H#@798241698e08bec6bd203a4800238e5720387790b26d445472bdae194802cbce: @@ -93446,8 +100466,11 @@ Ba0abf24262b43cffcc882d98b504b52b4923aaf75f942b6e72206a6e6deb36db:0F B1c063c8f3b914595812841ad414d90825f3d385ee33c1f1dd5c63db4417ca819:0F#@ab3e7f18c457a2e00d0eb7c7210c5746e9567d370f1db0e9261f35b6acd9a0bf: B53734e0f315d4d262aa0d0fad27354263e5055d01a66be25c4ab8d9c57a044bc:0F#@d4acd25fd011b7765703012912c40d273f9a7e579ab2ff6c6f77345f0821cfad: B65b051cd5568b2be20237bb67bb571661ef7964d1f4a70d6386f42f7435d995a:0F$@d052621572ec33daa0b390d2136dea8a5bfb5adf8eb3611696db980e9db62beb: -B53734e0f315d4d262aa0d0fad27354263e5055d01a66be25c4ab8d9c57a044bc:1F#@15ebb38e62d555616b39909312cab5bb0d4036001692a7b75bc6d5cd520bdd59: +B53734e0f315d4d262aa0d0fad27354263e5055d01a66be25c4ab8d9c57a044bc:1F#@15ebb38e62d555616b39909312cab5bb0d4036001692a7b75bc6d5cd520bdd59: +B5c7b1d705dfe18f7f607f072b258d1b27f0fccc9ac6c233f6076444eaefa6fb8:0F$@90d35277ea1578d99cc8c60239eb8810b9a3e0b19948e53436bcbbcda0df0087: B11826ecf0ec4945d3cdf29faf54ddb924bd8ef1448d4c2032349e6895229b69d:0H#@95b541115c59177a22111c4a2505772fd04fa31a9fce347ffb57140e3037fbdf: +B4f8938bc84cd188dc960fa9ec6d709cc4b5fb854f8093d6df841776c62456ba3:0F$@e6a4fc4d47a86c22addeb0a0821a6f3f2818cd4881090753a9e8f98fccf594a0: +Bf63f1e74168d937aa9e975a294051044a1720acdec6271be2146e08191ffa945:0F$@4c8fe15327ae386b08fdc08b3562558484e4f746918531a39e5f11d757e65532: B11826ecf0ec4945d3cdf29faf54ddb924bd8ef1448d4c2032349e6895229b69d:1F#@607f01c8790a3221339071a8067d4c99db3b4a1d97c37752453c617ce4db587d: B0e774a9d9dc7a93235f953498f49240cc23413670287e35cfd59bd2ccb5eb1ff:0F#@30a8889706b63524e9c7e06be3e3ad2f9892981f3c2f213ad894389649e06d1f: B7221c54626ac686dc383ac5c04fdf6b0aefa5e21048afe28fac0bd7f24198328:0F#@17adedf67b3a1560dc44df4a71177cfe9d58c8e3eb3b38a6a823c9a2b2ee673a: @@ -93458,6 +100481,7 @@ Ba8bfa24687419b085fb7221329edc66adf8e1a8cd4e0dc5f3c1f3d9932e392b8:0F B29077caed844f1e472614d95c1674248dc8ffceae66d2658c76460d4a2422884:0F#@d22b6962adf2f3a5d98e78e80e731e6c5afbd39f75c5448e3a18341f435df575: B56ccb316fbc7ac7ac6fee79aa54eb6528e64abf35f75621b494fd53856e16d73:0F#@4381b37c6ee982841b192eecb807bcc243b38001a8ee78c6d63ef5272923a5e6: Ba1fc1d3b4d20e513e574120d7710082be7b701f7eeead41f6dcb92d1400a8ba5:0F#@cbd2971f2faa7e587f9d4c3b5b9699ed57e3436c4a371394a500bc8a0654ef9f: +Bb0d94962e505403ed4984075052cde7ea28402ad2a353bf764403439439f436d:0F$@dc52d0c329e812fc1bbca83b28c8c70247226b57f3725fd6e519f0744d9e0162: B8f86e2649ebb84b31eeaffabd7ca68242d27ee67224722e30bfe5e0af9936a52:0Fց$@513a51ad9c66ac94fd350840d284a8c88ffd185ab3b55af60ecc4991cf178daf: Ba051acaab5f5e22dfc7a42a29b10908b3f6439cbbb9b6b00a30bd43abc3218b6:0F#@90fcc01b8a1040f7cc22c7015e9e46359b12dc597f1f9545225a8682a8690ae4: Ba6c546e85296337afcf8b2710ba295efbaea143bf4ed32792cc5b3bb692e4228:0F#@63315a04969d1376a8633d3a3b96cfea0c60efcccee89cdeec4c1bb389260a7b: @@ -93475,9 +100499,12 @@ B27a8156b351703e13a75c061754b063f1e8d8afca1e2e4bbee0dd3582b5ac8b1:0F…$@b7a69 B6193d360d7e03d4b0b3919fcabaa07c7ca95da3cb41ebb3c79eaefeedbfdfdd5:1F$@beb9744bbf6da678364bd11c65955b4385df60b4ed908c869f870f9bac458750: B6193d360d7e03d4b0b3919fcabaa07c7ca95da3cb41ebb3c79eaefeedbfdfdd5:0F$@386671689faa793f0412cd0ea51ec679191e28a001310351c916e5159768cfcb: B30a835b37a10b221cf0d45cf5ee6ae522d072de787cf4bf5b5ced0233bdf8b0f:1FϹ#@2a0b5829eed5ee159d616ddc788186816840bfefabbd7b0c17cd1276e6659e5c: +Ba5c02898e33d520c9b93a8dce1b9b188e62dcf3bcb401bf72265470e7882a687:0F$@8fd27fef5181bb74ddadc39838c85e90cd2c2c62551c570cef93361a473e41b3: B2a84ae66b638653776c6392d70b90f26ad9d4353d65b8e5cd64372c75d2022ea:0FČ$@ded43228e398d869bc6d3404348fc42699e1bdec5556c5b9b82a8f976e94db8d: B859c9e9f0f69ec5ebfa799c7ecfb2ae0d01e947daa12c77e8ac5528b925cac1f:0F#@b96bd65c3e5adc310698293b2e8500954da8f84a6c3c67b9f966ce95ee47b00b: +B42dfbaa285fe262faec498bbcad2337f8fe99a10acb76170d10dace28cdf5001:1F$@da6167cfe66f1756889f5093d41f7b29086bde7c2a2952a9ee05bb4f29b2e35c: B28651d1e20651728bb3e4a8a04e09d0f27bd01c0cede52dd37a059b384c364ca:0F#@9b80255e80900510ae4af8df7af0fcdf96e05f202d2d0011a14ac7ce9b635c1b: +Bd136c12f0e4d409f1e2d36c07e4ee942131cb18f1a6e4eff86edc1c8c892725f:1F$@e87c5cda9e42a105bf34027170809ae240d9584f1e9277dc3f289c18cdc41bd7: B89eb46d4c8f5ac15dcf12feb5e50d15f8ce86c4ee6b2379650b51270a55ed2d2:0F$@78e59929559df6879d876df29fc90a725bc3c6c8c67c3bbffb603e0660f200d0: B6c99538f0876ad8a9a47f002a7f7bda1843516e4aebcbc7705c5f872b1be1d52:0F"@2f7396562eb6904203bf352a32b62cf816265b2f6ae77c226cae4e8668e0e3dc: B38b499f1e9000df556e762267a72c0f1293db53da25a71ee99701f28fe767c3f:0F$@12d0745f56efa193ff7dfa264700f182af72900f045c2b6a615d9721b4da3da4: @@ -93506,6 +100533,7 @@ Bb229c0cd180a19dd40a2de790eb449751ab171dccf63ec5214e1684641343fa9:0Fҏ$@844b1 B8239a19496dd8ff565041a349ec4bb52e40137102e739cb90698171c8d273cf3:0Hކ$@efb78f06ca28305ad2c689626a5a02f6f77038a4ab4c96e36d9e4cafd4cc39e1: Be8065a40ff7ba244cfa8c29057620a375663242ee991390b98963df0a16872dd:0F#@4d3190f6f086ca9904166c4fd7e3ec10071e63f80cd316b69cc45d85c09081b1: B4db8b06c5bf731785621478a52a8f171c5abf85718f0e29b18044151b25f6c7c:0F$@8c9efd5d33217039b415992753894f7e27ec59384b3949dd73c5daa75ecb74e5: +B8ebdda25687548c9a5deda355b033e295f937f8a6f999bd85e05677560fbe5f1:0Fٞ$@d5ec4f1543bcf5c0cf465057991410a1a268e151cfe006386d92d8269e670e09: Be15802793da88dc4ea68876782af469bd38fca1767b30a03fc06b6f6ea254610:0F"@25b35b79ca8ae6ec0e431b83f93538f7c5e663f8c843d1bc64e32438af165e06: Be93d5839e6fc4a83fa14e5a3a7918aefc57893ffc9a7b395ab0960cade20cacb:0F$@76e8011d9357148532406773f20e579dc226b59cf858190a92f2d913eed7a7a2: B28430c46dd28f30b34badd71af9e4edb4cc6758b1af95bd39734b918b399b4f5:0F#@2c78058413943b39a425f73ccf191ee2e8ec69820a3282c66019c79fa4a05018: @@ -93516,7 +100544,8 @@ Ba19724b9c022be9058c6f2df60c25ce0df40130fb23b8dd7079869682c792012:0F B36e527d054f75eb959cf8b194bb37d1118fed1f655e5712367b1654e699e7ed1:0F$@03ee4b1e5d8f71ae74b83de18577b110eb0f7f00a941d5227f06a3ad2b78c6d3: B01f8cdae9b9808252ece925266042df23dd368456cd7e743d35c8b92e54b2ce4:0F"@fde10d72eabb13369515332b0d249684c92b2996dbe57a61dcbb3daaa0a0d6e7: B209049e04848f5c4b81945973c01ac26c32c8d0944d68b8082a37430a86e0b8e:1F#@61def90477dc03290e374445207594f60452fe93bded6bf86a6754e255c449a8: -B209049e04848f5c4b81945973c01ac26c32c8d0944d68b8082a37430a86e0b8e:0F#@ecf76c39c44fb4782343d62ce32f1a14cf3902c1bfaee8f3632764638b6c585f: +B209049e04848f5c4b81945973c01ac26c32c8d0944d68b8082a37430a86e0b8e:0F#@ecf76c39c44fb4782343d62ce32f1a14cf3902c1bfaee8f3632764638b6c585f: +B7cdcb69036b0dec5a1338c873b9ba6fc9b7748b992d4bc636cfb581e4e7ec1ef:0F$@99d81c186714f21960e1f5c1469f73b4da868729c7cb3ab2f96f9f686d64f529: B5de81c3b421457430d51e04ffbd121e8894c41f068d688a5ea512d06d6658ee3:0H$@c38007704c95315db0073c05581d726f85144b2d564ef6e51ed3f41ad763cecf: B57f09661f591021a46a79be973f2f8fe38b438cb9394c90840d1b96a1610196d:0F#@594002343a071f30dcabec7a53b622d94b1e2292bda22775fa71ae7a929a8197: B71e5b0fb7c188a6127333b8b827e5b71213fe50459a38e4961305592f122fd37:0F#@ff92dc1c236494399a279371fe4ac4298b44672a0889a97ba1e787f8c404ace8: @@ -93528,7 +100557,8 @@ B7b95af2e703c26ee8559aebd337f9feaf8e767238c860080eae5f54e1e4980e5:0F Bd499d7253fb3c73386bf99cf0f6f16bad7bb62c9a464683aaf3988c32fc367c4:0F#@e4b93da6c2472ed9d97341c92849b3d01668c4083ded66d095af0744e650dd7c: Beaa8173a3f883a56f03b8e14637c0bf430a4898f38a3bc1cfaee97e43ac1ab44:0F̏$@2b129cd6930e671dba904fc9ffc5bd43b57b19c95153482d404718fc8f044e4b: B212427d6ea6bd8de76cb7fc6f38653ff66cdd14eb853703445dbf6cc81788654:0F#@f488dcc9d2d84c7adb9e37a10291073721c241b30c0b30bc2c62d8f304cdda0e: -B95108d7b583c50933bc54711246efb596dc46ce8d7e92a2ddccdbe4ab5ea88f8:0F#@ee67a088577a9ef3035255cd52e2e2c5eba0fd26784940f06e814837a5b6379b: +B95108d7b583c50933bc54711246efb596dc46ce8d7e92a2ddccdbe4ab5ea88f8:0F#@ee67a088577a9ef3035255cd52e2e2c5eba0fd26784940f06e814837a5b6379b: +Bb38809a56886feb2b2656938a0357ccc2f7eebc6a33100ec7a4f3ec9af3edbaa:0H$@723352bb7d333c6272f0683dc496f6e5741886f7211e79e923b237ec1e94cf45: B1dcffc94e990f32257e8b3081d1b071b2f4917b4637139d4424c22038718f642:0F#@a041f86b20cd714b75354d6e1c91d496832cf8737afac129ccfd78fdec888aba: B15168822babad9e4ad9d18a6fca45fae259edbf7d38231d1c9c6450ecdc91d58:0F"@9b3fccebdb416fa9645f1d34f71353b2c659e14d8a0fca4f9f123cbdda327dad: Bfd76d463560a9811139de0f3ccbb4e4762d55c167143604b8afcbe17e966ef9a:0F#@3a1f184ca4e5e1e05f42399577f529cf7373ac34affdcd8f37cd89d5d9b605ea: @@ -93555,6 +100585,8 @@ B7accdbde69cc7058577422a61c4080a4bedf4834981d401c000e94553f05b49e:0F Bfcb9f60044fa5595a1985f98884e28f8be554c807fae6fbb79639aa4587b4311:0F#@4a0c3fe91b7485117a59f6f22043bbe3f2636d9e39a8f005bf61def9808c9493: B42b248d88636e505e9d5134d7aaeb2e83109ee299b634acf85a70c1712f5c4c6:0F#@5d45966eb8f1bbc4c8ac49c75d8942af06406c07f7538e5fddadf862800d1a69: Bf1fcb95f0c799d5de7293885c79a53f612645d5d0c9f21ed93089060bf1c4d97:0F#@e27d4588cdfd1b9ed4d6969cc45baa0296194e34af5d4050d30daa988fa7506e: +Bffb621dc1b317f5b0a04964cfae760b5646504058b5fca9b79fd665acd515bdd:0F$@b4ddf7128381245fb902d8976592c3bdf6917f67fcf6c40605ef881db6a77cb8: +Bdd4fafd1ba7a2f55eff54cf50e2770c67322e1f216f9bf7ad85017abdab15384:0F$@0603e47f23efdcca881fd261971da82efb1e5fb9f1b3d9240ba42f1eda6d8b87: Bf00de36392549d377bcc48cfffa2cf7ed11fb85404b7a0d89ec44519a8076fe9:0F#@c2e0806ff26580bbe5f51f0d6edb2b29f2269f15e7d6fc14cde812232e02da58: Bc7448aa95f04ba90234c10b4089fa06df6e9e7d503292fff6e2c18304f354908:0FÇ#@2887de8c94750dddadc94991a237f38af07ce822e91c012de4da6553c2a47fe0: B4d1a0eeee597b22ba688334e0f8d623443c2a6c966a91d09ced37a21d7dc22aa:0F$@db955aa8f8533f04208f79d58c2fcee3eea8ae8a5f92ae2113323816be99357b: @@ -93562,6 +100594,7 @@ Bbc5c2101f4afb8cfdc25e1a3e1ffdb1a94a4b5843b81fee353e6016b8cb9b418:0F Bd259b812ddc7d7fb76ad009b4189d0f27fc7903d0f60fa0d1f36f531d9dadfd1:0F#@b104c5c490725b3ac1eacdf1d3ceae4a00baf6cbf73d0b06a2150dae1747b583: B43c07beefef29f59d094ed0a0ed735403d87fd72e61842feced9a8b4744af8f7:0Fׂ$@ef8c3551e5cfc1b7204cee5df74eef1c7c50efa378e3b5cf8ba067ca8d10e09a: Bef3dab56c1d8fdd59e4d275b126a070aa0b5578498a6c148b7dad418fdd741ed:0F#@bac21ae8df928b23c9847a325f3de0f565be2d2eebfed079d604e9a15711d4f0: +B88976e677e33fc9e0b0e595072f4fce8c800cd4defe158372de466ff410cb72b:0F$@fd187a8f5d94eedc55b5d4f07b032c3c55e79add2bc4a80de8c0c715f6eb6bcd: Ba8da20b087ccf7b4f306e88b3a2bbbb6edb9c846d601213f9bebeb734a88d4a6:0F#@c01053967025502e725c7f76002b8c32a4111e976e38825abb4136a07da5eb50: B20c4a4b1683c3790391b57f4694741a28496066ae938dbb1b1b8ce3647efa26b:0F#@fbacef3683f5276d94af0a854e8241e35daf4e01f54ebb9607c436b76ec88f7c: B87874e885aa99b4a0b086740ff25a165d87da83aee6e3030affbb9619e7b17fe:0F#@8ffeba6c7cf1d94cc4741c54aac663b3c51a891f92d1c55631aa66698c156221: @@ -93583,11 +100616,13 @@ Bf12c8d98ca1de599d82b3fe7f315be188a7fd1e2bda6ef8ef8609bc7ab59a525:0F B733e9db399939f138c0af747f05c9cc2d9796cb751bca7a63496b75317b1a455:0F#@f85ee9b5a80c65be8a95647aa7a7258f19d113fdf2dd0f06c703044d6d91dc79: B733e9db399939f138c0af747f05c9cc2d9796cb751bca7a63496b75317b1a455:1F#@4d0a39948ee4cbe4aeca5b98d6c782294f52d459d47a6cf0c1c35e645b2273f1: B1d3a69c29a1827aca8e6d5deada84487ff3897cb783e3216953df41836a6d57a:0F$@d2bf09955db1e7d0cf766f05eccbc3582251db4c946c6dd12e04db0eafb1f278: +B4a59f592b5d81f90e36a939372640e3637c28930a9ab23a2af6ef1bd13bd9139:0FŸ$@92bbc5d3cb6fccf447969e0d0b5382f125e71aae6134a00c61fe3e9a9197d39d: Bf21b653282c1ae5cb7a90bcebaf6ef0bab062f04c24736e2bf18c15d8e6bda44:0F#@23f23d74046be7779386131f896e484911cc97f1ff5ca37c74ed729bc9382222: B753bcfdb7980a0881485a22846a374beabc9655c58b1751c06d05bb55b20084c:0F#@2c923e3bfc22ac75c98e4cc8f8141e28698b81615756989ee221b0ec8763517d: B00a2a76265454000e8b1a3e678486999c2ca1e322319950856f1e853e3d99b95:0F#@635f9bf5c8d59cbd3fc698ad2d598e109d7b0765b67e56fbeb55018e28711667: Bb1622be08783d3e2fbf17f279b773e6ace15c4fb26e3b3131fb15532f584354f:0F#@3d8d5aa3fe6dfcb6dddd1eeba796be3cf0c5a986fc1fa1ef94ed62527e666986: Bfd4e0829810d2498b74bf7e574e0e7ebc9ac655a081e4cd7f6e5ddadac7e79f8:0F#@1b4b55694e2c335d93fe356e4b6a8ab7688a81a7128d47a5828d170cc66d8d80: +B108265d1e71f2a54a501851529c729c391bb81681a98ab5eed3d8e2b1184ba93:0F$@19e0cd6e4bd6897f64727136cd393c994a38f7c66c5fdb75130ea8f19079de01: B7d830f48b9359606944f0476bf9250364ddae460e199cffa08f0fdf441ef2308:0F#@cd9eaca3afe7b780de544dd3638686842d4dd73f35d730aab2628e427cfa9866: Bbb2843a57af0a1ee4afdb753af78dfd307384d7e8c1253d565f64bb1c744cc49:0F"@98a02aeba82b9b971a0cf5138c1b17c757d5b0efc15933ede1c109ee15529318: B05cc40e57a45b72932e9c168939f7693ca43e108bb59f6bbc0a313b96f0319e5:0F$@a2ffd3abb12a3c9b74aad95281a2f52e9db49d9c7fb56346cc80b7cdd274d8e3: @@ -93614,6 +100649,7 @@ B431be6b270b5cd17de76169812f63a928aae8897b905f01865cee44c365b02bb:0F Bc5f6e596ada0bdadf4431a7cbb229d309ac8c3458b5c0af84269945005153c1e:0F$@85c9ee49fb35cc6ae58f3bd6c43dd0ee4ef0d75c204e34766a73f35275e13562: Bb2edfc98d879ade2543b63e4917be7d04f71d73e490e1bda7e65dad9859fb0e3:0F#@174bb827ed506841b4a906ff93c3338ab43b82218242329f2ed3d9ef55340168: B416e50a3d5925066e2fb8c062f440b897016c64692e7ee1af3d9224bc6e5f249:0F"@baf4ff568336feec43a78811c44e272f85699a8b4f9d44f49d5fc33acadb90d4: +B7494732248a9d75155f0c44501fa8ca5368efdda9795e7c566e6262e6e1118fe:0F$@2482e6ca3c409d3b8207b4ad75e1e7430a015bda928b2ca7ab9e8b104411d2de: B69446ebe1b5212511b6cd4ad0ae72ac7ddb9ebac45b6a292f91804222dff48d8:0F#@9b57ec862a728d520aee82fdd641109c833ab9ba475c601de7494e1194678b1d: Bf97dc5637dee5fc36738a293a625e5f1323fdf9eebcf68c816eaf54e963634ca:0F#@5d8658c634d05c8426a2137b05a0ac7db8e609131ba3d47fe1d3910ddad4cb74: B2a7e7e7f2c8041eb6c1282b7e5814b247ddf37dd5cbeb0bb9e90e562f4b74bac:1F$@f01e769ebbe20ccb4adf3aebae585003973374cb6238f6ecff3adb0e451e7646: @@ -93660,11 +100696,14 @@ B4687c27fc439fe774549fde36425d40543a27b09046c076a3170a04cdea98ff1:0F B9abd736eb844819c8dd3d5e07646aefb7a596ffc1153de7d526e0212609b8ab7:0H$@27c1e30ff55b18e750555ae3bc96e0ddb57f87e648a52e5f21025b4aa8fa5600: Bf6655dd29bbbcb31db07648424849459ff3e616a7688c73a0d757e5306708069:0F"@efb0a4e47926f4a141c2dc8f78ca0ea857b85f2104ff0d5f5ec292e6af0a98d1: B42fbb7c7846ad742ac90b748b5eb53595106270ff67899ce9a3d9a0b3e59275d:0F$@421dc204cd06da62e8713e7494b19030db247cc928f6faffbf873e535296bac1: +Bb14f449e9f828bd03f603e7febb5f1380ac6ef2a2e15e83cba5313b605c8f3cb:0F$@975c2ab0efe394d98d17d0c576a71a9535b4d9e2e6b5dbde89b9a28294c95f7d: Be02ed77dcd4a2008d991f4a20abcd3a9c057bec4a72ba56f093dfdd6d474502c:0F#@3508e5ddbf7a993f6785cdeecd8fbecfbddd8fba9f0c84903ce56d6a2e15b905: B0d1503dc0dd101ade275c97ff685dca9aa3a91864c7cff1dfb7cf5b8b3d7264f:0F$@11e7dcacb0afaa7b3f82599536c532315c7243908c26f09604268ccf006ecc48: Be8d612abec315b9101785b5d60fec9e2a2f174ed6578c76d54e13557441d86ad:0F"@f3f0961c34bce2e3bd049e980f666ebf9e2c8c9e1b16111e1e7d29d6e01d609e: +B9d1ac216d5a11d1e985a6430343040b41679ac54072ec4f896868c3a157b6115:0F$@86c923993ad79bbb2af0d63fffc042caaa51829aa3006c82192260f2c5e97361: Bae0513e1c29b5a768b20c9c6c524adff7276db1066697ab870342d7e70170dc4:0F"@d926c1100dd3c0df617129455ea0f193ddaddff54996f764cde0c8aa21b56c2b: Baead2d511bfca1aa1415261a59438c0a2de87f1935ec40ada67b96b3c6f4ce67:0F$@7482813956a69c7e847e7e6a0b94a6e607600a04334b0b8e29aa3477d5b3f5d5: +Bd098def9a0bfc22d39b5ef656a22291761cfad5596082f985adb9a07f775e2d6:0F$@0672bf535af3a00eb1545c6a4ee05afdffb27d2f421218bad7aed1300381e169: B82444bc4d78ca7d9403c4cf1f9a0d55b11079a121198b798019d4dec5585723d:0F"@92c620a9facc8747f380e1c3316eb44c2c6f4dfb8ab652aa27beca5bcba004cc: Bed32964d5cdcef99e3a14769156a0fa683a69d0e778d914bbc6f00ba2112220c:0F#@9408369093a3dcea231913f056e310d7de87a7996a62f2a304a1b433d75f2cb0: Bd84e66cfa5f5b149dd56678a7bcecbc5e091a7e9385f81ade0596e10fff0de9d:0F#@0c6e8ec3491a1844d9ca75ec7f7c29bf45732ef1a8c33b53ce92c2811f0b1997: @@ -93726,6 +100765,7 @@ B85e490cd2cd4bf769aa70d7b03e9ba05c561b243621701d807b36e60190cdcf7:0F B3fe6d09c12d5cbee250c3d752df5f7613d8f4460c52dc53b4bf6d80a867175ac:0F#@1ac5812fd765bfa51f8a33c9e51cd184c5c4418e5d36022372234520d3250487: B603f42d9c46d9967c4eea6fdfe2e3481e094a2eeb05ecb4c7794ebe7218ababc:0F$@097ec9cf5fdef8721a12f4e520470d4074f513bd1f8154e62548bef212430225: B6dfabae70f0157c5f48969de9ddd03423a160889862d87fda82d2d55655b38bd:0F#@edbff470d43a12d76ae79e4e7cb073a597ab805d78b4bf73c8b4002ec0e2cb87: +Bc1904a74fd85fa6f91066162f0b0e6069684bdf116fd42f3b9e30c27994ef049:0F$@691f3050e7abcef5689a00a846210cd33aa9b99c3f5b40455d4eb29b12709e9b: Bdcaa0e3669f0a09eef4c3f6cd5bacdb8e9a5817375e93f6949ebc406b786ebbd:0F#@4de95596870c07de330a12c250b257e7f0aa83132f0cb1763cc9a061e01bd93b: Bd97a7bee9862d2d76b37be01a29f8284ab8d3ee26a4d7d3f796a950b86385cd8:0F#@f2e5fa5326282f5814bf0adfa09412e3f9d46f3132e38c832d53460bb841b531: B29200939ed18c07eb18eed4385e294fb469e6774d9a0c5828dc7a3763306db5f:0F#@a222c37f9795f0691d0857971937caa6bb1ddf3715af2c82e25ade4b3b06d353: @@ -93742,6 +100782,7 @@ Bf55efa960dfeac81ce874f7488e61a55d18b1cad8bc5093acf4f600fbd7d1c67:0F B0c09822347d2a85cfa17e7d077217ec569893abd3c9f1a14d352e2a7eaa16a66:0F#@abc1a603e09f05e3eb0175756cc1dee40d316db794b0dd63cdcba8b9b95d5be9: B648b8af7618130e96370c2e2a901e1e015738eb756f2e6ddf125a097fc03e5b0:0F#@2cfaf3a7d3e86b3c67f34e811aac886a0c4bba4e821772588d627f0c0359d2a5: Bb8991c96aafe78d47a7e590300524120b61c689727e508948c774438d7413915:0F#@470870e8db4cd0e74506a99c70027f71391df03648cf92f6b8f0f979a8698bec: +B60b8c912b4d5fa5a2da2a67ed991154360aed733de046606b21a8e0206138384:0Fޡ$@ee3efcc5b00de32e3cbcc1d215cf25d48df39733cff37a719880fd4423b8b9cf: B9b9d47871287cec053969f4fd787ff6ed79bcf32f361f99badd8811bfcd75bf6:0F#@3577a3990ba48ea4661a9f66ec70417c6598e699680a2c918190750ed8db19fe: Bafdfd096d9ba0b917524869204ef86a777ff9d1844e08381e266d6c238e3b6e4:0F#@03839e76327dff378f8b9dc1198bdfb9b6b899ab08db6b59d273a7130e823175: B9dbe80aaeabe3a5c4adc1c1651ec5fccf00efbdad37739abfee7c5d77c112ea9:0F#@c4ab82207878db649be3f2f7c38383b269f7da57e21611a0b23ca329fa9dc0eb: @@ -93756,6 +100797,7 @@ Bde7b1693a92de7627b12758d9e2263cf72c60e429980168c8110a7e8d1293553:0F B1dfb786ea252750b2e8352bb4e9e10adcf43005a8906b81156ccde69050cffa7:0F#@073945d2b61a65f3ba31f09c0003d978ed3144a2be2ca56771d0f8cecde9eb3d: Bf89fa37ca6e55a2cf00d0e3ad3e410b7db98bec0d3ae502c300ce051f7e7bf53:0F#@5d38cdca1ce1b0ad7e4d7174f1eb956d6d73c2ad56683ecf90337be2be3a8246: Ba3a6a2d6fb8b1ba0733e6fab7d68686da8df063004c71bcfa5b1c198a085c1ec:0F#@c8063534d5bbf35d13e0437eea642bf47d486fcd6642c03df6e8270639fb9647: +Bb76d54c119521c95636e611c04da469ec33440a7034c656e25dee8c258482179:0Fڜ$@7d84fa52b91bd91c82602bdcb2a6bada2b689436fa71b10e8289a9c9de5ef96f: Bbc8a9cb19c4c9ba244c0adbf4c1ac472033a5e6355764d973c33b94d97283271:0F#@48a315f1f928c6586efba36caa8c475a40c467e10ed8dde0c5eaedf64294b406: Bee5c881db7231c45bdbe5e865d417ac29459342dd0304e9b6100cb19e2b52b87:0F#@b24abc6d1d69ceb792098b09a49acb7ba4d4db00a26775d7d35731577887acfa: Bb21c1fa3c092a574d03433ff4cb8f526ac11d5b01a13aca768731d8c0f37c636:0F#@7b0fd44a4410da9a45dd702525bfee9e01ab2ac5ee94e1fa0bdc96061167f3fc: @@ -93793,6 +100835,7 @@ B718fc3997ee4e8a1fe8f2ab9f46f3c304db0da97cc5916fab3f8ebe3760583d9:0F Bc2c69d36f8d75f379d129a8959ba7b80ffd65f5c890afc889253623156089adf:0F#@d2e7907b0a50aa8da9f823ad6d28811ad454b41f3faf20faae7cd0d29a1db976: B721a7529926456fe59982a26977f338e4d8b7c2a9b09f4ddb416531d97c68ddc:0F#@fa44a578b74bab83aef6a23056e6241b2b0c4e7101ae429c8b15316396b22a51: B3699389c73da7f5a3019324f0dd506aad0ea523649bbd8c8c01ab5391d1897a2:0F#@3043a025efbcbd1077aa8cdae7ac1083b301f2329253cc5fa8c94197152ab128: +B45b47b33b3518b6ac0f0eec1e1075607f59f66c12153b663cb60433428072daa:0F$@207d2c38d50381760e75c116477cc19c7ea6bc248cd259e8287b4ea016e83575: B4df3cda4f8712f77ea2eab7a3ec11117689fc0dcab2cb466851f9650480a823b:0F#@00188b782c86afa265e54c995bc1096bbe91d10066b4fa142cefba7fbcbfea4f: B6d8b663b2e20dd247442047876fa5c7b779f721380c483d8f16a81d42d1ddefb:0F#@495473be88d1389ef459a1c23988e19ef27fcd7defc3c7bef09f649ba545080e: B550e1c74c140d3b29c49fed86aa68f1f5ec8962c644ca0c2491adeabec8f92b5:0F"@d3bdaca446a526687392708e55aafe12730af2fcc630e2fb3993859f96899695: @@ -93805,6 +100848,7 @@ B07e52eed88fd943c4cb8968c9ff0182c2884c80ba3b20dc0c100fffdd71495fc:0FȄ$@a8983 B293bc4c18562dafd284dada086ab28f4a559d85a17f02bae1e0ada15c457eaf1:0F"@8b70a2f43c8a934eaf06d343737dfc7c4ba715df8f24f5c1e2dab712d0d9d0ea: Bad2d0322717946a0d2702b572a5b89238dedbad97dfd2ae9c52d0116c5912dc8:0F#@f4ced657e5a508b1d018a156cf7df26c23051db1f242f87e529034e9a2bb61fa: Bf202716122f40af2659a878395448731f371ab6ce09816c26e8e6b32f8f97c40:0F#@ac7cd003bf3d31ac58d3366df992f9e901c7a68b024d075448ba018e20c3ad67: +B9f5d5f6c6cb3a664a209204fb466d2b4e32ca4003f2717cf35b1863bf1c3aada:0F$@f51801a2c5011b9b2b5032808116c6fae9e0a2d1f6d26314fafcf20e93080df5: B74a3d18878b7c5b6cafc20389caf7a3baed39cb902fce4be4b50e7dbaf5cfd72:0F#@14c52743b16d99a0a36dca5dbb5f85c58dbd13575f998402c41e6d1fa67aff24: Bc924f1e17cf5510a0d23d09ca3def885c8055016b8fd84a5d75a0acdb6f9891e:0F#@b64935036cc724825244d4889a93549fe57154adf88a4fd85a6a51e62b39348f: Ba7eb95d93d3821451eb58f421cb35067be9991309d7273c33dae2dea60c5aaa1:0F#@18bea542571a5a9da5d30fd9244490cf7677d9e06a826f9d65e6cad7fac79f00: @@ -93826,6 +100870,7 @@ Bf81269fd104b4a2fc6c37ae05f1ac6dba27e4fbc0d2fae2a3d43d8dc0d19f4a6:1F Bf81269fd104b4a2fc6c37ae05f1ac6dba27e4fbc0d2fae2a3d43d8dc0d19f4a6:0F#@e79fcf3b7c1f5c3308a8306260cc972ef3ce89ca3d251298578b8a2e6abfa355: B810fd0bc659e1196779ecb9e7f575a04accd08efa67db413a97db02964f7c03a:0F#@d1825d2f3238dcb1e63986f926116d1aa96b6cf43d451daf483cfc11393ad7af: Be0a68dcd694f523ad9c5e7d92dc11c1c2748da9ad61956a071e7c0146ed2b446:1F#@26cfd006591de68e47402a994102965000d6f22dbdd9f292c568b69766b8d500: +B0575027b18d121b763f345127fa921faf40b58946e2e68598489b121b372142a:0F$@fa6900deba66c6af1454fff9bea433df4d7b92b8724d7d8c7f0449e1fbba4d4d: Be0a68dcd694f523ad9c5e7d92dc11c1c2748da9ad61956a071e7c0146ed2b446:0F#@d0163a133ed5cef00328262ef277345dd396626d3b54caf83599c96408212d61: Bc04575444cace8844410cb33244d50f049eb03777990e5b16394c2dc370b7aef:0F#@c2603b8dcc3e46e0cddf2b90ab8fe94d1095b193ef0827ffc0fa978a0eccf3b4: B8baaa3fea15676e485781c3557ef99c62c942ec8f5f951bb0714422df5e26bf9:0Fԉ#@af06d25252002df9cf75024de6bc2e0d0a22a387c5373dadef908f991e4a5955: @@ -93836,6 +100881,7 @@ B9e24771f78ddf1cb3d132f5de1f9076ee8eed35c65cc2dbabf81cc56db0ce017:0F B6b1ec5e4283b95b33fb24dc6e698c0ca4c4933b94780891a9bea4c06d5464816:0Fδ#@a554a0f1a2650d9184857d3c92b6aca6be5cfd22366d3ad9172b5d2a3e6a8154: B8d26b223cb6caca394ea0dc23f4358af5ed13eb52506109da9aaaaa1e5be1233:0F#@89e04c83a96e88aaf60d2373cc523925176b348dbfc1b6e2d564dab47fa070a0: B7a5da3ca0e2aca378574b03a332f33405a1b0fda3d93bba0121a9465cf326589:0F#@6755c4466c606e38de74cfd24ece4b693e17607f796d8ab0f61ffb17dc652a47: +B4e4804a54394ad12f014bb3f6c182ad0ae3b088e253b6af20cf16ee6282a5938:0F$@8131ee058e6f70e9a72a1488b8055f8266fd81de35df99a3ff778fe2c6166332: Bcba47e8df691c82346e39794d9b4685b7f47d8a74e1a18bbcba8876a65915eac:0F$@e27df070b1627f1a8bb78878dbbbe2c2905cfdae7ff91980a9523717528d818d: B3767bb04f8cdbb921c7eb2d26db68278ee1abe1aea0bd38478d5f41ecf570a29:0Fܹ#@b03ec31bff894dff9aeae175dffe07952f66ea68c062b62f1741a88cad285739: B17e7f16cf25184f68a996c128058f8de3442b19a0d4fe65d9f66b801eb88b117:0F$@702d7fb4c0c23a46e4c6f323605035e30043974b7307b9533d12d2e567c71f6f: @@ -93862,6 +100908,7 @@ B12ee7b3e89bfc826b9af729ec15a925950a5ed3ce1ee2ccd93c0365a481ebcc7:1F B3cea69370186528da86b7d779a9d59d92fa07658fa5d406a4355251c937db151:1F#@ceb21a5b9f11ee341d822cff04fa4e5acac30192d4a84ec2eff723412b4a2c4d: Bc8bc0fc0bc782dba4e5189bd5db2b61aaf49da34d13f01929ebf551632425646:0F#@b54bdb9b52207bbd94f27e015852e343c073fd5a90ba5dfc3127d65725d8a0d6: B46636bfe7ece4550777b47fb6db1e391adf2ed63222cf3196b3aa0728b25e3ea:0Fɮ#@3d3df18f80c53ba6145f4df03b74a5657f51be2128b42c8c247cbb4023fce08e: +B58fd22c3f6a3f2520ec97d7928aeda8b183b51cc4274890357b701ca4c5a00d5:0F$@8948b1606eea52c2209c724d6eed904a264e4e86743405a707249625e3dbbb46: B1c204a5f84388eaa63418f50a9b9a59de63cc2005cbba056ca1f9fc8cf1bbdc3:0F#@e3af3d9abbfef5338ba55aa1fa2f45ef99d8a89aff1e679c1ec97f792c41171d: Bc5aee972f41a5d2202a8a94fe385000f8aaf72f10a92b9a53b4cc2d4625ad1b9:0F#@18942a6f0b4254a2f013fe38b646f43acb91a59a28575c330848650ac5f14c7c: B6e1ab5f7de521f1a5406a91e1a825a7a0252d0ea8414f1368b15ec25f6b85df5:0F#@10566dc364d613831f1f1b0ea5af5a34baaee045c64ff7c3aec32c40c09d6c6a: @@ -93874,11 +100921,18 @@ B731cd867970e28426a12b045697ec0a751789a061635ba3b3615bcc65f80d95b:0F B731cd867970e28426a12b045697ec0a751789a061635ba3b3615bcc65f80d95b:1F#@32251923269df4c160e301baa4efadd84c057b9bafa93f1ef4a00c961c537ae9: Be8b676a1e31bd7b8b65aded09a386e0d58ab9aa842d7cd33dbe7b4e243e41211:0F#@950ddf27f06d369713c938446e1cb62770d43379b106650f39517c5487d3cf05: B097ec9cf5fdef8721a12f4e520470d4074f513bd1f8154e62548bef212430225:0F$@05c9358d75aaf496bc421bbff95ea6d3a7bcd926f0e0d30f57c6ded69a7179c6: +B5eeb00aa0df81a196b3e2c41693ba0017dc11e771f44f52285e754fd5646a98a:0F$@b11977b0b1577ed74771d757e8f31e904fae4e8c5b5e8ef7d8684d88690938b6: +B5eeb00aa0df81a196b3e2c41693ba0017dc11e771f44f52285e754fd5646a98a:1F$@dad439e28ef43c0776a42502f113cf1e9a3256145423525e70713728b3d456a9: B00b30d142213121bb4419533c9a3de0f498f2e8bc38192b4bed40bff53cf92df:0F#@31db9f7ee18ab3ae8164251633d4edd58bbd300cb8b3638b0edcc058e2cf66d1: +B1edf5fd751606adffa6447d45022297f246b73678cdbf985d82ed15dffab171e:1F؝$@05dd349f8a8d6abc8b07eabb1a6c931c078975e6030a9565fa83ec06c1087f45: Bc8b607bd115ac42bd2a2b5baf8cf4762cc25d23290bfcc5f813994c6bae027d4:1F#@f67848c9756d9cc8f8b8ee95b88b3e1ba1eb4f885f02d2ac1032ace8db74aa91: +B1edf5fd751606adffa6447d45022297f246b73678cdbf985d82ed15dffab171e:0F$@19e06145ec72f028c7e2607ba6f18db50f01d4e4eeaf5f747fe3dbc522ae5d4b: B6255f0767b12cf36973988b3dec415373c7a0111fe2fcab3b7c39a3dfd124e84:0F#@6bab93c6443b0b9cd2d47c3b7c99fda05c2e7fcdc13b0e65ef63fd49e9febfe1: Bc8b607bd115ac42bd2a2b5baf8cf4762cc25d23290bfcc5f813994c6bae027d4:0F#@167cd5a1fef57b5991b9840701db898677240eaadd65019a79503ed52cf60d4e: +B59e94fbafa784da5f4f4d357fa702d62ed72c8ce33a419b95f3b85e177db0844:0F$@ba892a2f1b7e68273ebb5d3816940ff2e3265f6768af1b790d64c16d4adbfc22: B709989bf24a440c15de777a4b1febc22d6deefe541791b538679dee12f220d7b:0Fϝ#@eb3b3debd3a82001c341e655b26de4f5a3e146538118492007b76a109eae22fb: +B9b7526364c5b6e54cee111c526e7d301b7c66e703a0024d10dc20b11c8cf9b60:0FȢ$@56786ea835651f2eeaebb237d0d429724a4ef297fc47fb47e6ff199007b16cf1: +B57d743b852e987cb7b51b34d37e21d1103df66355e448b19076d2e188f77ce74:0F$@d451bdf2c2acad23a1bcc7496021f0a29c24b71891efb2581d8a802ceda1dee0: B553ecec169a476148fcbe927017ac294b623f0595b8aa80b838d2c8349fc9167:1F#@9bba0410f2fd7de4ee948e228768ec4ce2178eab2e0853c5dd8a0fc973459942: B4655b7836b48a32b7b60bbc365962acb8fcafc266ce3cb2a0653ab2079e94ea5:0F"@348aa0a2b6ba288c34ad0c5aa8d2231c402c8e5a2b3c8a52cacd1837297410e3: B92fb9f506511a724c041ee9ba1f9b4753e86abc685c7c408b170c3924dbcd913:0F#@2bc56c44d80941f834f51557039c05fa76bd1e7e70f5a616a9e8d42621c7bbe9: @@ -93908,11 +100962,13 @@ B3ceffe3e2236a26078a4e3845a477eaf135fd28dd84929915e438ab3221b144d:0F B94db11e01d02040192e5408f697c52dbed7584f002da243b77d260bc10d5f11d:0F#@080d08075e8bb69390137d4b4f2981afe185642bcd055db2ed0c9876dcd97cb6: Be13e35a5e6612e2cbfcf9cf5a0e25287471b6bd092c8ed6770e0e9d027e3f91d:0F"@b228b2049b13fb111dc3255de4e5d412304f741f3cb860e21c3b21f1c6903243: B326c8b0b2782a3c351b08b98be547b7b19e58e09aeaee1ee69895bbb72e35d83:0F̠#@c710ce33e40684fba0ffbb20926036abf5f848770c91d4b5793f03ddc9f26350: +Baea6e0396a8baf3f38d1ee20bab9815af6e1afd6b1f3370a679f37797f1bbb64:0FҞ$@88898c32f42337b0bd40f9986a9111012dfee1f0434374275a0c4ad7f5316f4d: B88270a780f4603609f20d2c0621a25d7dfda6f116376f0d455f145a412bb87b9:0F#@1db3749fa8f4f254b1400339eb0f683fe58eb294bb48f47e55f890ba9f5f202e: B9c28e6957ec4c65aa66daec68c8df24f0143eb5b35502f3738d8d27a5b292305:0F#@42e11348d90443d3a74f15f1cebee6d71f6ecbcdfa6a44891556af9f1530c3d8: B0f1feab9019a7b801912641df85737eb4f068cae31550ba63f083c9c8869f226:0F#@7a3935d8158d45f7f06725da64f11388abadd1cc92b0fcce1d414be430ea8cc6: B40642196f2c72aaca2f9f73697df6eff40879da09a1268bb1017f262042a7e74:0F"@d239b911df40d7777dc09a25d6e80d9e94ae221bc23fa13ffbace8d34b8f51d6: -Bcb9556dc7015184a4c1bfef6efbe6b3ddd973aea6331b6b06357fdc85acf1ec7:0F#@a0e7f8ad600b480f2cbdc3bce126b12e747d9f2f28b391f4eabab1816457d0d2: +Bcb9556dc7015184a4c1bfef6efbe6b3ddd973aea6331b6b06357fdc85acf1ec7:0F#@a0e7f8ad600b480f2cbdc3bce126b12e747d9f2f28b391f4eabab1816457d0d2: +Bdad439e28ef43c0776a42502f113cf1e9a3256145423525e70713728b3d456a9:0H$@cd0f1c24dc7ab4dcfd4f7fd02413b891aeda6984ebc4bb146e5f93a967cfd6aa: B49b95e1a48d9648bed8347178e0a77244d704271d3f6a74b9365fa28c2b86c35:0F#@a51babb85e1fb13d724c78bab590dc11e136173d1e439b2270f663a52e04a1d1: Ba0bf5c97509b558331c230e8d2f1bf315486059fcbc4c4e48494cf01a459c3cf:0F׈$@c2314350b4a8b4dc669e7ed778453968a185cfd3f3fde6684c4f0575eecef498: Bdb02ab16210bbf89a13370217363b910899f3ba1562bd603905837ebf979f7a1:0F#@d421f7cca9d5781cd3f0f8099bb7e42f7693e70751b1cc4c5bd9b4373e81bb3c: @@ -93932,6 +100988,7 @@ B67271cffb30b989fe3a7095642364461ef9d628c4777e0530e90c3b331d0b3ae:0F B2e3be730410f28877550fcbdc5b6e8a3165edfb7b55ffa07e56ae1b2d4e0bdb0:0F#@9b374fa89bed808e9c4de03b3b43ebfeb7c53deb8601450a7db00f7d72a0965c: Bbdf2fa7881c9b9853b1ebb01c10583cdd87b6032dd97edf6470da32bdc98ecd0:0F#@795a414cf648e878a31077d5d965d6ddd7713cb1cbe7ac0818a08158734ffb13: Bb7c49a5fc2a210fac6a7785b61e48d82f604a8066bdfaaf729181c41df5d25de:0F#@37a698f430326e8b45a85732655a557a34e2b56325fc09d8661732399f2f252d: +B38a628b745102d4150c11fcd4e68a6ec1064b6f2ada532fa5920debf89415daf:0F$@bd69e6a2b902ffa33d1f7a382f1ac974760c5aab18a3f9ca5cde9a1262127999: B64755af788971b1d804ab887743b74127c410e30d5066ff28855438dc554b5fa:1F"@0abf4b2f7aec6ccd8d38144954e1f2c2b9c1d010e6e78ca04a40344fce39a155: B0c3c8647c2197b1f17dc362fc3c4cf05881cb25c7c9daa8eb2b2847fe63a9638:1F#@90df2d67480007a25ac8726fc876d4e0f07d53f721a473e96d3caa78da05cb04: B0c3c8647c2197b1f17dc362fc3c4cf05881cb25c7c9daa8eb2b2847fe63a9638:0F#@a77f8186d40df7096c6a0636c71b2509749ebac208fe30e92d0cfab7faded410: @@ -93976,6 +101033,7 @@ B308053b048c534a2b065e628f6fa6a5de3161e666b585d18968f17eeff6dc0d7:0F̏#@200c3 B17f6cb72cc7a5f3544de1f37a45855a01373e08314d2abd170ec0e96079f0b32:0F#@5c7af613c2d848ac06efe194ebbc1b08bc61100c5972a5091fbbf5dfe876c851: B6dbe680e502b2627c399beb20ece34194994307b74a550ea06f2b58ff9451e90:0F#@564260ab81a3132bf4a9d2c5dd75fda1a43d26ba3a461699470ed62743153e04: Bd5e03356c80f4354dd65e97f04cbc692f8f24dfc86233190feed839781aac2a2:0F#@e239a0ad0216bba1d258cb4337b6fc69d06ebf64c04d0e913c1d2ddff0a38aac: +Bf21ac18abd3d9480fcdaef00873a2753cfeaeb2979c5f56489907e4e946433c3:0F$@9bad8949796d3156b85c63246fe4c2609364e47edf97c25f3363ef0819c4aef5: B60cac32099a98cfad2a229d601bf3b668618686117db49f214864c8f02aa26a0:0F#@953c2f3acf7a68b0446b0030209b7325d606f706e6112f4dd84e4f37948fb77d: B6cb22ab428e7c51784d4e9ddeea8303fa980d3508b0524dc6186bbe2598addd9:0F#@1dfb786ea252750b2e8352bb4e9e10adcf43005a8906b81156ccde69050cffa7: Bad2155a4391adfa36636972303e0619ffff3779972a4dbff1393593b0b176739:1F#@996c3f7e8e3672161ade8ae5f9341856b30743c3d35a54d3d0393c469e84e5c7: @@ -93995,17 +101053,21 @@ Bbf3e2788af3569c916fd64a7fc47b2b69d5a62e532a4393c6d7ea10fe59681ec:0F Bd0de21cc8dff1a23951f34daa2c95fc255b9792e7a187d079bf94b449c1905ea:1F$@ea0ef5ac463091065652782c5dadffa86de5e1173177a90b805c48538a16857d: B1eb6433fa5c7fcc1ce747a9f66be11c93f91d11e2342b9e3423e9fe2b99d8789:0F#@a6f59960fd870f613ca6d79d126aac193c42de36a83af972fc8be3d0ec3b96a9: Bb6f8e125bfc046bb40f674477b024e9fc5d0854262e7adb96b9a489ea6bead8d:0F#@0cc0235482a899917bb158e085f562d19cd446a6a42e349436cd69d3ace6d9b1: +Bb1a1da5e8432c37731b237a1681de201e7cebd09b80bb41c7901b7e62d0d4357:0F$@86a7c3f24d3a82835590563d9bb7e4ec5a26e9ecf90bedd9202df268bc1d42e8: B8aa0f2fafbd3fc9e6af54e4c5091edebade0b3d0621e63736dd801f99f96628b:0F$@e6314b75c0ac7d58dbe9b52060c372893a204947cbcaeec4ab1ec7b00b4f13ce: +B0009c64e839dd427e70bc95f804fb098740f8766bc45af9acd5640b91a4c5d90:0F$@04f9368046ecd7de0aba84e105d30231b03d8594c340e778d3b3487152a339a8: Bd459ad3d923d079aca838b77e241a6404adf9deea64237e5e4b439e02a35f6d8:0F#@b59df5899669a1dbfcb4f3d1a7104204308c94c83a5d91a6d901868d554a9948: B13346c27db27e2354ea117edd1b2e10691faac785ecf6f8432c95da4e1a9bfa9:0F#@e8607701357959edd4ce475011a1726afd86c58f525cde56ff6efe5cf8bd0981: B13346c27db27e2354ea117edd1b2e10691faac785ecf6f8432c95da4e1a9bfa9:1F#@0517fef7af7702659aa2ddefb8c947ecc1a8fc00bd464a131deb340b87513c5a: B5d78142bdf5e9062e0034b43e259e0f15ed5091f7ea4e455bba59a44fa2bf6d4:0F#@9b8651a313903eee2ac54fd4e510c7f105c6f7b86b1b1a7715aa9936e812cff0: Bfc7781cea9e24f82b5ff2baf82f90a1fd17436c7f6d50b84aa7509bc07e2a863:0F#@b86d7513351e809716f7fce49c8a797a422489539baa6705779569b3f50eb331: +Bd6141ea3189630930eef840d93bde91cfa2f0dc7d35abe6f7f17abadfccf5d09:0Fɣ$@36c708aaf994f5dc664f627262889f8874f13790cd412d5fb5319dc4467731e0: B53bc9d543ba02a057eafbc8b2fd5370d71058b135a2645ad498a7b02d570dc21:0F$@c54a7f4e1fdb135d34f4e92288500a4005b01468228b971596cfd1d16a53f52e: Bfe615677523647414f8030ea4d9ca40268a619fe8f355f9dd2e4609d564c6ec8:0F#@974deca0da8df6352703b13ed3ece02b8c8dd675cdcc6f4001c563d9bb9481d8: Bdb52ad8df09a8e6f9b11619f80899165a4cafad58e50e928137023b4d55fe4d3:0Fل$@367c686b4258615b678db8a63f2b140710109e93e7f071ae29ac892006260d60: B86188e50bb06dd8f3607d9ea0f124329c557c8fc22afe21ce304d3b1ddd21b2b:0F#@d60e0692a5b3e91c85104979ae3942edfe7a6b35ab18de761114a7c59f9a20bd: Baf753075def85ee0845bb883cea6bc8584d4e9dd2dd8d7898979b7b4d9cc2a25:0F#@a847fac9b97d29e64444243ef2ed3a318dc9ab976b5563620fe96416d303f1fd: +B430396266b1735256e173a7d4e21cf4257fed37826bc1ae77897b5f688c02cc4:0F$@392dbf898bc1956033c21c2a19816a30183a110668e6e0458f8dd526da83c994: Bcbdbda6676f4f53205b3e77d5957c03f17236d928979501803c41b62e7af307a:0FЃ$@25a4386d9f4c791369145e55ba6841073112c6ca1c117bdaa2f540b18a5d8265: Bda0531a02e7fcd5fd69fd1af529fcde5a74a33aa8c1769df18b90abbf89be735:0Fَ$@89b10191e3f82915a26f2a69726fb6d95ed645bb0c6503ddf3b64f479cb2a280: Be112606086b96ee544eb694e25e8b94f71888c0972d1b41d171edb73c1a209e8:0F#@ce9c569df8821efce8c9b4ae122f78c51f1094cb89ed38933e20d8a043a755e3: @@ -94014,9 +101076,11 @@ Bf1e257030284002c8be311eb3b0e72f432cacce7737dea69c4c50091d0447b66:0F B0ec2ce65a59a768b3ab1bf3ff8d9418184b70535403ec8d4548450d0b0b11565:0H#@1ef312f39636b3f8dcfe18d37957b56fdd9bc80da5b399a8e17f1b61e044d541: B8f4deb9eab1325a95677feebc248327916bbd5f7f1df9c285eddaf4530966270:0F#@37cb17586252f35b0df09de94ae09f978f18522bda7ed39d5a3642317484d6cf: B2b8d92c0f9e2a775100fd962db62e307c12bbe6d86f711989befffef51f42511:0F#@7a352998b96ea8d83a39a9cbf6575df9c4db9dbb62e7b760d81f9aea8eb826ae: +Bc24788d07f73111d42b1c06dd3ab27f2a3bd0ac9749b36ef438b702f0550386d:0F$@4b810f8200215aaaf2950e7a99835346847aac017bf21dace06d9b5221420444: B387b874643084b20e36d5e7f3bf6d7ef1d88fc695cc58d7034bc284a1af117f3:0F#@da1ec4baad805f519142ae31d60ca487bd0bfebf109742f61b20e325e699f729: B535e886b5147b2a93adcc3c5e9a94571e05c780a462f54953db618bbd5995530:0F$@e45525dce025dc935f54691d04af50dd45917b08dab1da0fff991a8be864da68: B2d2482fa57cdc9e27943ea02d8355ef1894067caef8ce826d6c8d877557b524e:0F#@70b432c4f9e13cad48238f81a1bf074927ba2f3963a28fc21c803b03484b5e75: +Bcfd147de25a5140b0ae5d0973e6491f5a01f052f468eca4a69fb5e9290d765a7:0Fڢ$@69e44cd49835dd8b2a048adb9b7cc114ca7bf59ceede6a11f7245806fbdd94d3: B74de61451252fe6ba873ebca4f2748950c751ab82ed28051b864f56e26d72383:0F#@1f9a813aec161309188d4466338aa1a57eb30b39e8fb602b758ae1b7f540e948: Bb4ac31300c9e2532e2c5ccf03ec2328317878c12bc12004c27325fbb3a021747:0F#@365f877d6d45d0cd77871d6bb77da6b78dda4162abc971fc4451f4c2e580c32e: Bf34ded357e7c96d51df322defe13d07b8714151f42d892f996ef0e3db18dff1a:0F#@d525e37bbf8ec0252994612364fb228eb63d2cc247764f1bd69f654236ffa6c1: @@ -94030,6 +101094,7 @@ B936ab90ca6122da1797d95900497d57fdb924812cdf2f5240255088ffe6f02fe:0Fڃ$@ce651 B201e340e9c623eb8314a7299a970717690efa7028ce4bd4efe75fe98111c1826:0F#@effe59e3079594a7a53e5a169e11ecbee241c2d531429ca73931ca45b5940736: B845955403491b45b4eccdb27faccfa053c982a4954f59e8f33e850b49406d726:0F#@781b3289b8fb0e59cee3b5e2552391ced728c2f1f2e1706d7534de6c3bf35f67: B3a6d19c4ee4f1bbb332c1302e76577ed33c83bcc8913633935250ee27a95743f:0F#@a8eafdeb9e6e434a50f01283f47052456f5961291e7c3b86590a89d036dbcaa8: +B01c62b79e6f54e2bb43c72a40e015e18c498936e1b982536712aacde252f6bde:0Fҙ$@303a0b169077cd7c41b9e4915a31e3eb4638defb09f977d556cf3d17b77823ed: B654930f68c8c1861f367c14302c0c408fc02d5a9955191865c514de74ad08ff6:0F#@1c5d2a17bcdbeb16866b76709afe080db8e5cab57f0ed9086f7b08b49206a3a8: Bd0607f370c4467271195af27ba11d5342415e943b817ff2a0386a9efb301002b:0F$@2f8d82ded5d9f9f8ee5a2b76bf3333681164e1c5ba81723f728aca1268adb1cc: B246b0de70a99212a8ebdbd38c5f3eca3f364c55d912ddb2dfbf6d4f52ab21bb9:0F#@b0604fee7f930f19756d47243ff4e16abc859c0b56ed7f38823acef960376a71: @@ -94040,7 +101105,9 @@ Bb80c7160e3692bfd0c4b9f3376d2c25fa2cc06d038b985684688253bf5d0a093:0F Ba77bb7e27fba154cef37100142d4a38d369686568bb39d5c588a76fe8ea2060b:0F#@625ab30e22a90ae286e2281104e819d11726c16df1ca83c2d8db5d2d9a137c6b: B89b5c44e9f8baf5b62721f043358e63de08190a1745e62246025f3355f57dae9:0F#@59ecf2bf790dfabed67af7fe1c48267c56c3d493e3546444ab76057eeb4ea34d: B8ef63f4cacdd41bda0f48c10c63fd6e4c42294e2c9997efb768b63e629ed7261:0F$@4f196b2980b691a74a582d8f79646fffe5ff00da2d83d0902b4610f122582fa3: +Bf306b15614ed59193ec56d3d2cb8994958c4f0df2a677e380e3d48c587a59744:0F$@9c6901a251e426d47979314a8b8a9769b6c88c480f4f7ef96c32e911138084b9: Bf7a15b89372e2949a683a83d3c3b1e987485f5821e5f06aab01e567dbab4381b:0F"@a9d78ff1cd3e2709a31391eb797d84f8c3e73d3b90efd3f7b71ff1e22aa0dbd3: +Bf8ab8abba3a55a14e695f81f4d62a69bd3a1ee84d6f89fa02681704083119e6a:0F$@02cc3d798f774f23c6bc761bb75fdbdc1a13a524aca6543c9d8b7e690fff4cbe: B32446d912c6bd75ee556ddf19c0e71e479c6ebb6ab6e2f8cebf173cdf8de58f3:0F#@b2837abee25ee798bcf70890e2d59af80011797c6a0df4ca123dde7fe9cfe88c: B545b1410135135191757a65451a81884da857b5e3e782633d48f3696b151b0a2:0F#@b77b2e69a0f41a4bccac29824e75db180873a99b0eebb0714e1af0ccd132978b: Bac0e39f4c47f5523a5d3af5ffcba995ae3a28d8d1e0ad77a347a7cffdd5a04c4:0F"@77a4f8de69f249a5bca38ddbe2d8754560e2ed1dc9f1e1633dece63a93c7d578: @@ -94109,6 +101176,7 @@ Bdc240058de5829717f0a7044ced0e7d35d5bdd9c72b59470be52590383955bd7:0F B13332cd0b6d4a52e248ecd285369325e0e683c5e2319283c25b23b78d8cbf55d:0F#@ebce2f35dd245e54ee6251d53c664821bbee45bfe8cbea0a1fff3eb2ff1b3565: Bb674c0dd27dd10d7ca29debe67adc18821a68d6609d465af965845348bb17f5d:0Fݕ$@705af915aa43bf436daccedc8019e72708e44b30edcd7be77e95843e1c97dbce: B92e39788458b2c481a8ee718dac1d95a344e3ac5f83bfc2fa3067546f55ec83e:0F̗#@56fcc63f961642fb2778f41b8867daa82fc50e2f5624537a7f8320086fd06cf5: +B975c2ab0efe394d98d17d0c576a71a9535b4d9e2e6b5dbde89b9a28294c95f7d:0F$@e331dda24ebe68da33953fb687dcdaba3fe984f849c555d6c11f2b9a56f11390: Ba70a8745d72205dfec81b20f4ab45e8a28fc4a50026229e51a473d2f29cc60da:0F$@8eed9e153d27678635d809b0ba5f7c9799feefca955f96abac1f61eae46bea74: B5162112ef450d3ee9cd4f66aa7bf059c343307868d2c2133313add3772837b0e:0F#@f3fbfedf1140a2bddb9203a639443e1029446982bd7011236fadcf5556214ff4: Ba70a8745d72205dfec81b20f4ab45e8a28fc4a50026229e51a473d2f29cc60da:1Fˊ$@09addc058442649af7c602ab77a535d1487571a5bc7e4a542e3b87f7db8fa320: @@ -94161,6 +101229,7 @@ B3f1d63e5b64a7802dbe430204ff98571e29c8f19cdc679473c28e71ac67e6412:0F Bc99ef88c3d57d493e08caf754630a1b9334d6b937b7706a92288b2115f9d0706:1Fϩ#@d55ba7efed5552aa59bd1e0fcdc658487a1930125b5d5bd8888ac691118afa92: B7c894876d6cb16a4ef6977c6f6d76ee362901af76e02c7200d8a0ae50c83b77c:0F#@80a533f28dfb35aa995b984baa4e1d301fa63e4c01ef29bd7ec49a454b7f1d42: Be706380af6037341f749cf2357453dae89d73049abf9a6d243cc43295ecfc8e7:0F#@417caee30a8600e70f55761959d2a7ea81196a533391e9c43faed07ea6c8fe21: +B2e1d9891c0b4cfbbb50505325835270a12e9ae9b42b480583e9dab38ddc9523d:0Fǚ$@1d581e2a194113e9f4c218d29f1f2db3a9fb5c1edbc7a3e5e6568dd5bd5f2654: B70ae6f1e3e031af30ea390c9351d28bc28138efe35446b55270743b6ea853d65:0Fغ#@7924ef2775b4406e72f0a7ab4fb431ee1f5acde02ed580465b7787225f9190c6: B02a1f3e5f2b45c764f19e1d611e48958f1a467526e50434211c7d0b7432a3a46:0F#@d89d7ce6dbe3550ba4c478d601a7b14bc3de00a4194cb2e8da690f1f2a68e3fb: Bf15806b38d8d11c2112cc6ac5f9f89ab6d518c5d4dd0dac2def8902df91d9b34:0F#@49e1d78a957ac58fa5ad4c7dcc75a73f08a820bf0e46f18c418ad98a02ed5222: @@ -94184,6 +101253,7 @@ B478bcc32a29da85ac13cf8a745791a9eae952407538a86020484f9d6fe0d2cd3:0F B32134eab91bfe739f66df1c733d6c458e3e8ed8d6c8da4dc0a0b4eb6f1f99795:0F#@53b03814943ea11a9fd590a9e6c5fb159f331cc6f15913169dfbe3c3f7657de4: B2b80e7c184ff990428e1de15161c48b9b4eb5812af40d28d6aec071efb5dd2d1:0F#@0e8a72c497f0576b30cc1f2393db73053049b9d895ff25b7729a03a5d67e179f: B9b49df1c1ac49c0a2892f885519ed620278d9934a035b8c43fa936d2c031e933:0F#@991997954cc0e599ddb240df6e073209a1f21a062d5da135989da47b571c32cd: +Bf823e0021bfd4a3b56d84f3af2255b9fdd0c34700d3c357fa29e7b78a3aca464:0F$@02176e9956df41fbb759cf7283de67ea57987300841b6515b71fcd4301a7d1a9: B7a10f1fcf2b0738c6da36f00d2c94ea146349a7d99cd4cea767429140dae473b:1Fؕ$@a50321df600fc4bf84b7f44b380cde327633280c4cb6afa0c270dd18ccf4c6eb: B56b99529c68316a40e5dc8667c37b2fccfadd6eb347f578d708221450b396df3:0F#@b5e26f8ab596480f74f3d54651a283a6d57e828834651e1eb0c93c0bb26f64da: Ba5fec096dde0b99fd6baa44f472a9db7763238b9b252fcd18ec89d74bfba433b:0F"@b40835e8d1d296c80d7cdd76daff6bc13cdaaf20c1fb1ef2a3e72be379e884f1: @@ -94191,6 +101261,7 @@ Bc8a7d2c767e1aeb36550819fd9793286a1ed6e8dbeaa28a205fe74b22aa5c15b:0F B5c86bcdd6ed689e51c3e57d65fca64c77119dacb1a9a2a9664e37890fc4653cf:0F"@67f8f51acc6500e182f0ceb7b1fb24c4de8f9f3f800f0dfb62d62eb7d82f1b67: Bc742d7d41435cd3807f816c5d6f69ca669464df1f47cd0f1aeede0a99c2827ea:0F#@771a9a62a6576b58909e27d3f1f87bb8e7ee4d00d0195c4096933adb5b7152b6: B35e2e21f1dabc9432107a5369487d972792d2badf8d8aef7c1ae55cffcdf7b64:0F#@2bd1786f871e65fb446ab47368b939a0bf396a46d5ee6ac60f26a801aa40ac18: +B57975865c1f4177404ab3579677938eff755fdb3c2db0538af20fd7584f4892e:0Fϝ$@95635cd6529db6acae7e267c541dc9357e58fb6f36273fd14da21c8c8406123d: B2eb7dbff68b27289510663d4ce709d96d4f8b66b3f99d91ad1e4947e00679263:0F#@63a8f647c29675a3a86bbc5d3b80e7ddc96f13548bb24fd08eb0c558fca0a894: B2906d4334991940b3fade5f4406d49acbdc86bb3b40b86eb5bd7f0c3f6c86a6f:0F#@100d553fe63c696e730ecf84d31dce81881af15b76486a16d1338e786d02dd17: Be640de55c93bece2fe95d1c60caa0e9d5253c7322419276542e4a5af618aaf7d:0F#@12156c44d04f5199aa383de5aacb0fef39802ce4db2f19292ab02e3b419ce0e8: @@ -94220,6 +101291,7 @@ B9657d763453f1c1487cc28e529f32c18cce510cefa5b7c167b21cbf7be450057:0F Baded9c39c2451157a8df834b6ccbcba98459e0961e82f8d0c073530adf5eb891:0F#@808f158f0754c3cf7857b5590c38cb7997e9418b630dadb9b907d88754c26c03: Baffc57d797fa1fd62241ad50a7de5c759ff873cc2354888a870a8a8edb26d1d0:0Fκ#@d03afe342a23cb183b51d9378564de6dd7e17c2110074fa9128d4ac247cd81d8: Baded9c39c2451157a8df834b6ccbcba98459e0961e82f8d0c073530adf5eb891:1F#@144eadddb38139e7087b94e767d883924ea2e935595036d164fcc8a27051298b: +B2be979aeeff52e982829fd26bcfabebd47d3a13c9b0b13fb43167dccea12380c:0F$@555f854c8dc726f0cff7809be76ca77425e09a200b0a5fcf8fa40a44dfb912fe: B3480075bd62cc344a668949e6b8025779db5a4778bd1f6a7fc6a404eb38a3f3d:0F"@cc5bd8a0b20569eb92306579a191ed615d890b6e328796cd5ab0e19416c8527e: B78624b97fa7a8be64eba8f59b13ebf2a675b600f7c0cdd2d90aef769f3d57e13:0F#@8a5b05f52660ba58349e77796d2c4241ca85aa880ed2cb62a5fcae00b360b870: B2f79008dafa98f82f27f314676db538c29f9bb0b7f4f3dc658fb9f9d2226bdb9:0F#@050ac098d82636039c53332a18eba01ede89ff86fdf4c48e9039261396cb9df6: @@ -94253,6 +101325,7 @@ B09deec704c0594311cd43cbf0ef97e4bf1e3d8a9261087c463892c67f98a8724:0F Bd39b66a55b5e73b3940d45a07e0ac9418501a330fce6d8850c031d11fbf7b5a7:0F#@87275b1cf14b34cf73c5515e97a172a76e68b4597fc16063d8f62ff70adf9895: B3038677abc107b8aa1d28185f3d7e64dcf588d6e9d8cb73028a95216bbf24d31:0F#@d7caae89e6dc8f5eefd053c609549b4de437260dfe2b281128f50b838c304668: B5b8726a078aa87de8c75f6919ff1701fdda0b2bb5425fb8423a4ff4468509a00:0Fڪ#@0bbf6b8d1ea12b83fa3888104e0047d1b039b405d63680f5a3fdf8988b15b588: +B4d8d2e4896b1733f6b0399f2ce13446cc30c392641e32dc67ba83ce0efd6bd59:0F$@eac33d2d03d2ed7eba3081c62fcff06d79a8d4b82dc8755afdcabfa501da6745: Bd604b970cd32b887a99f9abbc80fe1f7a9bb618d3d52e4d3b45f45e38dcef042:0F#@fb783730a5307d848a654b63171efdac95d5490ea190094d8c700f00f1f04861: B09deec704c0594311cd43cbf0ef97e4bf1e3d8a9261087c463892c67f98a8724:1Fڜ#@0a33c6363f79830c5f035712066bba20b6d315bad5f7f2702d5e20847da1bc02: B00b50ac55273466ea6d79e226dd3e8ff5eab6e251934d5f5c4a88c16f90ce4bd:1F#@771f56a33cdd9dbe058cc83da1221c771dab44d9334d55f14b9559408ca21e85: @@ -94268,6 +101341,7 @@ B8c983a714f6bade0d1f1e223de6a62c4e5237191963565fa4e93fe5449809f2b:0F B15cc3f83e5ddb0c7c7b40ee592e2bbd8889f52058dafb605870c8c4bbd78c672:0F#@ce5ce6667c55ec815fdfa069f217dfc70457e3c104527098eee29587e5695aac: B962c46b40ddeb23111a91d193affdaa9f0ab71c8b1d4503d93d65aeae7c10e9a:1F#@2448e0fc2cb0c11b5868b0001584fbdbc1662e972d60d300ed0c07924ac8eceb: B0e937f4dc9bbc27e1ec3d029fcead1548e763f17e0871e1ac0567365c3c09403:0FԴ#@e790d2f5abf6c1340c789d636b12027a7c93694ff24222f9f73274ffa786ef38: +B37b7ce7ab8fc71d0b5c6449d630df051e548b2f966259ae546620cfd503a55e4:0F$@e0cdf7775535f1fc605785140deb142b93b014a52945597d95a5354c1d80c986: B174bb827ed506841b4a906ff93c3338ab43b82218242329f2ed3d9ef55340168:0F#@669c2a03f9f30199249d0ecb1c1bee3161f9ad7421820b7eac87dfb84b8a74fc: Ba67517740a18c51081963432e313b679e8b47e0971ada505c65f6ab5c2624ec4:0F"@c239f1f2bec98d2d06d626d088e5cbd1ee35d6fe255c3b328cba13a9d4b6f627: B94b038372700e7c999a07db5f7cabda8bf5042a46f301f6c3625c1687dca0e17:0F#@a889a7b8577a0c9aff21a274da80fa0b838b2ddb8eb51337db265fe92755d3fc: @@ -94286,7 +101360,8 @@ B2d870e50c1b66cd8c60295efcd0f1b88a0c7ca0d748c10ec0495f696a73971fb:0F Bf84bb4d961373f727aea167fd3fe0f8da65e3e6887d3034c83bc71b3f8dd3d36:0F#@a255a031e3bd98b5ec056deae95970d5b68d6984562374375cf0facdd57e03ad: Ba6db96dd14646e3225993db40b6c1f3e4a07727a5363f502ca49f9b41a319ebe:0F#@082b30989203e6e8ce282b79b1dfa680ea42e05413eaaa6f567f56b951cbc575: B996c3f7e8e3672161ade8ae5f9341856b30743c3d35a54d3d0393c469e84e5c7:0F#@f3d7853df1f89f705e7527b446f3b58aa320baab395fc7fed00fe6c90a5be1cd: -Bdc5ae363d7538e0a460cfab7e798714c4bb2534b1838d33a2e87d11bd82cf0d8:0Fԕ#@b156114985928dcf55fcf88165ca5457bbc2ec497bf481e76f7de23436a92380: +Bdc5ae363d7538e0a460cfab7e798714c4bb2534b1838d33a2e87d11bd82cf0d8:0Fԕ#@b156114985928dcf55fcf88165ca5457bbc2ec497bf481e76f7de23436a92380: +Bca7f1a4e7f51c6a2e49968fba2467df0733345445ce1a3205745d3a5956d7d50:1HȢ$@c986f1bfeb81b3c894745e0873a2a2df9a013bc5f64ff57825dcad84ce20f0d3: B9024ed1198ec9752aa4277aeab7213a898353a0c17d4c07fdfba950daed3f6f1:0F$@41b29dadc90e917a00a982832c933ee1f3ad8cf191323fa0c08176e71a7388c5: Be9c9ef786f72e4b0261832e4288cb079f45cea24d66d93ab365394a717a89062:0F#@35bf266cc2a752acd79455dfc5c90f133822bf93b4fdee3d5c935f90572aa671: Bcd1efbe70cb70f850b12e30e689b20240e133ed4edf99de23dad0fca1a7e0aa3:0F#@95398b03487a444ad13aece9d88c750d48411a8a096f49160cb041e7f345a98a: @@ -94300,15 +101375,18 @@ Bbe72578f5218cc8e1ae87c60e6511d29a7dcfdc878d1c6c447199a0eb5ff52e9:0F B77b888e4431832576ae0c3e75aa598359175a180b11034e57e9028a58be08fd4:0F#@8d8b097911c93ee71a25e4b499b6f8391085a1402312d9ec7c52b52c4f628d71: Bf52e283e8a1d4d61480fc0355a3149521c0585be45c8eca94ca27f2589550382:0F$@d6c5575c8d281e7dc3fcab29d4dcaacb2cfdd47702113fa04426b0371c10ff15: Bd136789ba50bf698b411ba4c12d0c7c15dd8205a1ebb7fa00d0b5aa3d87a219f:0F#@3b10988027d791ce29dacf7d2e59d7a4b06588a3dc9b164c38ec1d7fbb7f40a3: +Be0b3914f60eac001d2fc6ff61b1bac6cf942216155c2baff5d67971304f83fe3:0Fڜ$@8af4618e5ffc9afeb30e60ada4c52c98db666b9f7dadbfdc6c0561097477668e: B4dbeb1b52726fb80a8f5d175881eb47d5b67ebc484e6665b0aa592e78a514c38:0F#@f16c908b9bb4df308ed474e9ce1ae488c728c89995130832f59ef5b354c410f2: B9a112787e6b6d734627d9ed379e16ce73b5dfa51392c7830c7d6aac7acc04f91:0F#@390f251cd35e66a9af404e3157a3549b2fcd06b8798293006a0ba448d9146b03: B28407e42894bc8925c9693e14c2e5cf755dfbd16d5d500d7a3d883682951b138:0F#@9dc16563594fe2dbfa4ea13e7963cf68d33210796aa63b48b038b6f54e72807a: Bf64a7bd26beef2d5d0ca46bf7c913fb90b90c6651e467ef80dbfc9e81ac2d032:0F#@da10f1a3d910d6122db7de7a5f60b478e921d47ea45618d5fdc21bae4b91ed08: +B5030735a966e7c38ee92c559faecda2c6bf36cd123331f0be22176ddb50cdeaa:0F$@cf3ccdfb51b1e54c77b595e5148a8c5631ba8caac2e51e0288ae05c0bf153cc6: Bab3a77df2531473b84c9d1ed21db5a6171e2515056b9be065100b1f618082c01:0F#@bf7101c149e1d0403e4b3faabd3a6768ddfd3a0bd29f37a22cb3c5a0c8340cb7: B227d9e3b92208323073d1b965ff52e056a77f55da1aea6251f3218061c1912cb:0F#@e9091606bad3d5e90cc1eb27fab0908566b44a16c6110c46e402b65e10213619: B48da2b0d286697205ff6a80737d0891a337f549bb277e9ff86979d3ec06d3f07:0F#@b9fb5309bbee22ea5832d17b4c42bc375e42de6d03f955be1fea0245713f36b6: B65d1d0ca3464e3d9e686f8dd87caa1e66ffae54f57165c7df87273e114ade0ae:0F#@bba2ad168c3a7ff69b29c27948bce7d1c3d09ab5f23bf599b3c02c6cef4d8a75: B7f8cfe300478db07e15cf2c3b7f4c8fc4d75c1aa2554197e1edcb287c7f0c389:0F#@57ba04bb195323c840d0f3bd14ccb1b8f5ba562476f6874865b6da361d3d985a: +Bf86729d68e8338332a8a1c14e1def7db88fa16dd6475bfe6c3ea6dffe67a1c0e:0Fڢ$@f8b3bb892177152891aa5ad49f9d7ecf92509c95a6a8fc04dad970828436bf1d: Baa498926588e9a6f5ff872a2b91cb4973bc0557154aa0db1eb3de077f091126a:0F$@cd86834219d376070b7ade4a1a56a3398183e729839f02e1615d6924ab82e0c2: B23be6cfc4fa3af9dc6bcbb7164e77da6f9e928a97c89f4909352dc52901bdbbb:0F#@f1ad99a21f0a3b46226b208675b986e328d362627b80262c59db83bd9e1fa398: B866ad2b1b639dc4796fabb281c937972ba0adc11d8f783548e195f3a17d77084:0F#@48f8353d07f98cb873ac32dae69c9f91b39c8b7ceba1f8352dc8bfe5cf3695b4: @@ -94317,9 +101395,11 @@ Bf11840ad0b204e3b32f00ad13eabfe7e01cd62d014e2f858736e6cd1e7693432:0F B5de845206f571224fb4971da12db00f3adf455a0814700cff9498062a458d40a:0F#@94fa9127af293e6c72b4b21a319ccf84569c4a1036c8b38557a425ddfa7552ae: Bf6e71b85e2c5922d6ac184ae31ea86c722dc5fd3a3fbebc5eae95c8bbc98babe:0F#@b3625a2f257d49c69b19f9d81913d36861f57b74bc036ae85ef949533b601c0f: B4458b42eb7da5835a291dbcafadfc5e86befab3df24e10eb9f8a052f268cbcb7:0F"@446b1a1ea21c07eb5989b34c8fa09dc1662db447809c71e9a03a25ada6672b7c: +B61a0441a4f8aee0bc2c7e77c3559843959a4b3ead738ecbde0d6440ff32dc455:0F$@62b3d1555e2276a00d94fcd570fc24f266064337df6f75f8c0c50a9c2293f9f6: B8ff6104cd5458cc81ab0d1bd6a82bebdfaf5057b789048482e68c162d60f0f81:0F̏$@fb92d5e231827ed2955baa0060f67b0dd1e773b55ab5fb3a1c51d65e10cfab0a: B5c1328749819b9daccfa82bf14d6934bc104627451fb78ce1fa40a04f1d33550:0F$@b9a674c5a78980fd767651b7e94f4c0fdc52a7ebc8cc5c219ffc929595a7242c: B22dd782eafa63c9e23dec69ed7188fc05a91ba5356aef0f2abcd2098a5ba9dd5:0F"@c33a587b1b4db77dc6df4d4fad5047f800d13c8095506ff49d10a10384a587d5: +B418e5ec3bccdb72d01b95072b1dfed34ff6525caeb212c10a50789f2f4c0abb0:0Fٜ$@1b6a1368cac2ec1a1a9b9ac46c8d1b6c4668e3a3c481ad75a8c99ecff0944e29: B38aae37b73cb831c6bdf68f86c5a4cf11c094544b74be980aee2220b712d5b96:0F#@0c10fc79f9f3ea6ecfbd4d05b0ba0569d7bc376a03920e39524ca8ca87920b1e: B3af26ee1fd0736ca8dbbd11af4c13beeb7b60f4fb4178c0f4f6ff6f68fdd5856:0F"@52469289ae1ba44e1227cf366407e8ba4454fab1ee7e0e8a76a7f6985270d058: B289ce8f6fe16ad0733646f384b08a0c142f6fe2680cf443734e2f6aca61e63b9:0F$@66bd1585a9e03e5c76c300e3e3fc9e3efea39a3090da4d1953eb0a9e166f5651: @@ -94353,6 +101433,7 @@ B13b99fcaea9bbadc8b018605d70237c3e0e6a0c7696aca4e6c1fb28ed35b4a76:0F B31018c9429283f2d618287fd783cfdc228a498d449c442b3a2044878ba12fcf7:0F$@6861c374dd57b00f463292401ae2370add218cbbea00ddd79f046cf335a89fca: B6f305a22779daca9cbf1b36e105cc7d9a6f0834aa38a48eb21515305588b78fe:0F#@c8b3d67ea44bc896449afb0c339f30483e708a33181a78f326bf97a8e1814ff4: B94af617f052ebc83cbfd13263cf78602e553210619a8edd920082e7ffc24d8b7:0F"@8ee274926c2b9e83b313448ac7cdf5ad48dfcb4757038a8dc850b17284601177: +Bb9d524d9c0a9356f40eead3a6d8e1a637103edbc7cec3ead5a7cd50c67474182:0F$@111e8eaffdfe6c4f3add3868729b27ae42b8e28ad5e3d39ecf8ac8c02e335e7b: B4ebc749e9d80b040c7253edbca4b6e359d5a77d162fbd244314ec1d507eb3ec3:0F#@c80234bb1fcab8eb7eda45bda209e9f2ad3df06972411153a5e8d67c5dbb7dd6: Bad667c4522d504b63ccbcca26e202258bc6c791da0aa8bc840aac5b2826f54d5:0F$@a886d667cd896124f80dde0a7235d2696d8f466f003e9f949f970c08d5f72e53: B6b118eff373150b4a6ce57c0afcd51d0fec0e76209dbdd5af32cbb8497511350:0F#@7a8f5619b48a485b9256a2bd0739a5d23632b31242403a34ac6dec86878dba02: @@ -94362,8 +101443,10 @@ B4c988494483a0920d18b4d23a874d8fd5c023c85bd637c3cb2f7794b4512b2c3:0F B9120111a41f7d6c3e9aa78a80b6122b4ec198454b0fe2c5f891215279adbf9b7:0F#@b00a90222c7addf2e621f62d7d20475993519357d7a178d289d1b08d4edb1e0b: Befd9e393f5c3d4039f1b83820b374a4d6405e5a5a044fe5ea069dd700523714f:0F"@7dbcdd73190a22e2fb9e097ff518f3096c78b037106a0c88049e784135caf1a0: B27ad7b527093a75843c68fe60e1ddda6274ce55d2b4da202461ab01b5233916e:0F#@e58733c4578d36fdbbed708fa9c6bd0a65fb1727b8001281c89f46771531d53d: +Be01c921d15824175a94545e02109160b4c1dbcbc1498dd855993e8fdaf3ab248:0F$@9b3fb8c5ab53b3cd784862b6ba3e7cc1e711d74b03ade43935fa4a775bf56eb6: B0c6e8ec3491a1844d9ca75ec7f7c29bf45732ef1a8c33b53ce92c2811f0b1997:0F#@49f554860817fcc316aeb6055efc0b9735a7e876a6cee44d701bf6b5f900ebef: Bcd74648e90b8408774dfac73d15d632f009ddbb8616cfaa40860907fb2a11ac7:0F#@48da2b0d286697205ff6a80737d0891a337f549bb277e9ff86979d3ec06d3f07: +Bad7e3ebe22c8e10c2882737236aa753305fa65b056c0700e3bafb144550ac1ac:0FȢ$@e5cd4404b50b63a6655e828a756671d44df70d0a3dcdaaa956e838c475f2142f: B6ea8ce47cf9932e6e36cb4820d74b805b041f9397a2e764187ba8a381dfc2208:0F#@a2f7957d921dd185a25d8ced608e58961b9664056f82546d029aae83d2753af5: Ba1c04f2b42e611093e5639790ce946dec59243ea0b112423415c2af65078eb22:0F#@9c959f6a8f03b6d6d1790cd5824b8cf909c9069650bf3a92a6b9f38f659936f9: B0c567e14d5d73b21b0830041936a1a606f1567a4c52abb9ba8564f4d92bde949:0F#@27e94722a3b5f011015904c016aa52774a5240a32ad462ed95375f8a88ff6c7b: @@ -94405,6 +101488,7 @@ B88d4cd5a1dd126eea34302390f05839d552b80a77c182db265d9561a1380efe6:0F B54929257c83a9ae6a0964233985f4f57501353dd019e22494e7f90153e1a5cdd:0FӇ#@785047f558650f2b7ad36141b699e5f0a8f9018e8c10c6bc26afd95c19ab1757: Bec2c3022cc7ca6920692659e3459b408952e81b2ebd9a624a349e22b48bb75c8:0F#@1369b77075a96ad2fd53511aa8ac426842e979db104d16bd266026ec80d2fea7: B88beb375e4e4a948f8632a48f5185d0e897da7deea0160cd1e1cd9bc79cbea45:0F#@0a50d5f1a70cb6e1c1fb024c201671cc40d645c41e3f3243a64571b0340a2bc0: +Bf9145d60ca0834d5570c2b17e1037cc3a5a41d18f203ff805a3552e76cb3294f:0F$@792c622a3d7d9161a2ea013d147fb85bedcc87bdff5842008fce350788080aa8: Bb89a956674a106f66c3022ae443418ecc07de436cc8d1945b27f3176244ea80e:0F$@cdf03e17ba8e9dc8ce45822fdb54e0032986b6cdb5b5d87d42e300a5711600af: B36f052979fcfd7933ecdb7247d90bd89851b28340ff3ea8335b11b52e07e63de:0F#@1e92042485a7a8d05c1e95f787616404c2533388d3b5c1dee8cfc8aab27e3eaf: Ba6fe3174bb65dd2f52d0e06daccc1e112d1fbbf3ad9b78733e872e8714901db6:0F#@e7432ba2f272151f1fba5616dd13237af109ad759cb381c6800bdc611f399ad4: @@ -94414,6 +101498,7 @@ B5201a5e9653eba67f5027fb4f21d87c910a5bb1d0bc2b5375dead801cb1326fa:0F Bd1f6c8b50cfe6f0ff875dd046e8f1e769d2301ee2726946e30fb6c9aeadefc31:0F#@925ab9d21905bce5845527840d00b94a5ffce3a418993e2b0ea7c3a0f2193df9: B11a0ded27c0bdbbddbe359575491e0d9a314c437b7b405038a70a7af6f54e4dc:0F#@15d0dab58a92f8fe2073ddd47f18f7fd8e828260002246754ad1067c827f560d: Bf8403901d9e358ffe45f30949ab66bdb55b722ef9dd902ddda5af45bba8cb216:0F#@d17558ae3455c328684692267fc26a388431b92827ef6b40b2715afd111453f9: +Bb4ddf7128381245fb902d8976592c3bdf6917f67fcf6c40605ef881db6a77cb8:0F$@74b1327384f2182c0d70811bbedede41aa8beaaf99f7c49e2c117cbd4b1f6278: B697d9efe561117b06a3b60e2cb370e285cf1302cb82139e6628ea54d84f634b0:0F#@fe74394f17396e793728262188f8fc18540b201166446efb44f8e6dd317a159f: Bb30c589caa6d81b21c57d4564e486cdd2a783e3b21501dd4f0c3d44f1288175d:0F$@9ce870f7727d1bc3435bd4fc8e40faba09ad9639e9283ed9efa597d5403314cb: B54f6d809e162599bf8a0bad8220e0444e2c3dc269a32f0df9d2822f395bc3561:0F#@c9000357dc7274aea78aa799b45d795ac4e77f36f7d078254bebf7bab0e1e76b: @@ -94441,6 +101526,7 @@ B624ac6fe6aa50a2170a103fa06529b719301ab9d56dd326f75b0f8656c4f2d30:1F B4e478e8a8a9fe7ec0525fa7bf9e471aa5adc0dcab5e4cf9e6a2edfa290c940c7:0F҄$@65fcad4b77db6e7eeca941afffac661ad9a48ddb13e532ded878ac29e026653f: B548b3bd4fd5564b8443565e14e190d6942904c6b371b1d1e2279e1de9d34c541:0F؃$@33be26c16c6f5c73439490b52eaf826c251830e201e173fd10b533a87018041a: Bcffa9069dc335a768c0f85f36a505abed811b243179e71190b02e003b8fb687b:0F$@e5c0cc85b44ebe37f56edb6a7f6cc749cfbdca518f533b3e811a33e6c0fcaf0b: +B9bd77bee57c142123d61fb354f1d8459db83e34b634b47110a7c148ad7bfd56d:0F$@0009c64e839dd427e70bc95f804fb098740f8766bc45af9acd5640b91a4c5d90: B10cb3db5b7a5e836184fb88258a6be3ed496ec0b359c2f954359ec2ca58d21a1:0F#@3bc43168775815fbed53d7de3e774e9ee78f71028451cca50822aa55ff4e7490: B308c0a2f4f4c54e2916f943625d1ecbf8f053352e95a9a123e775183af1dc11b:0F#@abcf45f635cc5e58426cd6ab1c7b24cdbf52e5e194998371f758a4b037fc15ff: B3c0e31a06323090077ebcd86834be36bf2597b22aa00309507663200c94fcb29:0F#@f4fb55b5db3f6dee7a59497eb0217e83203d73f8324c6ba1c6f58ed6ec905854: @@ -94458,11 +101544,14 @@ Bccbe13576d26ef183b1792b9da220c7347bcad3b3bf69f6eb5dc37880d6d9389:0F B6e3c863eb157b7c9c63992a7dbf3e29971a5321e4abcf507c63ee1a1c2f1f8f8:1F#@eb6696a522a9cd4aa8c803c95aa66b07ff80e6c40d3d3660ff34aa98c1479d21: B68de36bffe0adb0f62aa2051f50d796b0966251096ee0572b8e3419703315479:0F#@823e97ff761e2d5cbb8f9b72a650815663d570dfc81ec5774b1c7c68c45e5f2b: B6e3c863eb157b7c9c63992a7dbf3e29971a5321e4abcf507c63ee1a1c2f1f8f8:0F#@c2d1dfdd002e907b5461352f3ca9f888825bd01677996edd067ebf234d68cc2b: +Bcced0373583e2cc108c782d5be2aaf9d2d4c2ee5c87cccc3f2cc8bb46b2699a9:0F$@b14f449e9f828bd03f603e7febb5f1380ac6ef2a2e15e83cba5313b605c8f3cb: +B6ed9386cd82bae1d9915d7f6087af164f526f1b208cbbcb8dd1e8ec7b6ec3a29:0FΡ$@07ec9b023370c5c4801f668371a7da9ba13584ad6bec818840ed165bba54bacc: Bf789eea44eced37e1fef69ce56933e10ab616d029515d07d12b7aafca1c103fe:0F#@162a47ed9809e2ce0d45ecab25c669cbee29145a1ef93640fb351556a54946d4: B7f40053baea9e11ae52539823ededae627805d140f14f2d719327d5a5fa647b8:0Fν#@c70749f9e5872eae7fd34194d0767943bb18d51b922e956705e60078654f94a4: Bb71deababc30115ad57a4ab3657a5a00a9ed3989b93ed020b1498823efa63e30:0Fϧ#@6449e7ef831252d75650e71ba5b581ead268e8034a20f07a46ec78dfe77885e1: Be23264f0c6077b05e70bda7288c55cc23c37136c8a0a52c7e2cd102d6169e03f:0F"@d6ba9673ff0d6ac3d02c88b23e818198fbfdb7673018fd6be84517c4737b994d: Bf8e28cd6e040b1432b867f62f26a62f9c61d77a5bef7fe634c803df250b99137:0F"@f064d6ef8de22c9378533469abfe36a2230eac7ecd41f0b6dbdbadf19f364d59: +B6df0cdba4f8770e11da1a4665cdb81c4dc06e75e7784a96f6f984e6032f03f4b:1F$@cd0f1c24dc7ab4dcfd4f7fd02413b891aeda6984ebc4bb146e5f93a967cfd6aa: Be23264f0c6077b05e70bda7288c55cc23c37136c8a0a52c7e2cd102d6169e03f:1F#@ff1de523a77a8b45ea593d5e67b26a63d9b9a0cc34aa623a08fb4e5dfda57d2a: B7c16e1b9ab80b70bad21f1f719a0ba49c0a1f940dce50db762d19aba395e69bf:0F#@d60051cf0a8e5bd346dabedf35d3f58cae816fe00731e8eb444592bcee66d6e6: Bc5b2e8c52d0df49df83b291ae466d3422aa9ed10ffbe7c11b4fc9f07f3d39f3a:0F#@6abc02ff9f9b2918d20c6c4287396451f8f3d465a726ae2a7ba6f5492bc5149a: @@ -94480,6 +101569,7 @@ Bb32d0e1adbc4257e973adca8a94b534c307acf4dedf36a68f58d3151fda2aa80:0F B200c395de9d4e391c8a1ee295c3999563fb1dffc81670a9c619c45ce25609e4d:0F֏#@7c281b595ddf9d1d7f8d95026d46f92214656b589eb520d6506acd33bda8a368: B99059dbf568a04ba29129eaafdda87a4db8f53a0b1afedd9051ba259d548abd5:0F#@0d13fa212f138b7ffa6f79b964c4371a9a0fde826ec472655294cae4796a7e30: Bf2f9b0c5e8ffccc9e9372f359965346a84d329069d06fe4a2a5f87fe4c143f1c:0F#@0bfe851310875f1de634be5f3a091a6c59374044b02c7663595495ac7b57afe3: +B4e305d3fb35af9c8d727bb0f7adff6b2882adbdd7007c99a805832fefd8fa87e:0F$@847b79b99088c4c76fc8b8d77a4e6f7a0a29d0d5664aca81ee67f8862f548479: Bdfd4ed3d8e4233b51c2191f3470a426832fa616c8d21990d8c4e81dcea3bebcf:0F#@34d00a110a7abf3a0a79ec0f84f2ec3ee534f5a2851e42afad9e43241bf992b3: B6b84c7e459193c9a7c9cc381f78230cb53351786060e9db6ad944263161997a0:0F"@0a6c41abcb8df9b808383b1bc6156f3f850d5b934c746b9e03d3d7b3810ad521: Bfe4343cebd2cb6341af9e79f5172bebe25b3ef78a5059746a48ba8e43988dd88:0F$@a4e977e15602c88afaeed48aeff3a22be973ecf1e507e1699dc6e3d402a7d266: @@ -94498,8 +101588,10 @@ Be1c247bf9cb8419337f9df82e3202a927199c25e7ca90236a8bb27cba1fa6da9:0F B33a1972b3ecd3c813230feb75f10593874c92ebc9f6b14f7d8dc74c5ecedbf67:0F#@a887436c2947025e5f235d42c17592d306464426eb5fcbcb5a9926db5d3c932e: B9b57ec862a728d520aee82fdd641109c833ab9ba475c601de7494e1194678b1d:0F#@48bd5a8cc58058fe822bc03ad6478b58ebd85fc1e616108feadf205d432bc1cc: Ba5cc2a1c5886e23ad11479ef64bdab21c08847f8f99f5016de875bc8448fa0b4:0F#@925e0f05e6f1cd0047c8a6c4c20f1562b130f5f5dbe73410d81a890e795c19fb: +B56d941de9ac7c664142221bbb5b7ccc9678919483eef2d516aa2474f823a41d1:0F$@d03cd72464a9184c6161296b2f4f48b8c569b0105cfdd878d5328d00b8d227c1: B0a63c6e617df10abf6ea22510dbd667d67de9a4854e9e1cc06e0ea3b44560835:0F#@dd246acf991462e04d4caf7d4c3a62993020f1d3cc37a7274de54c43d9c407f5: Bd46293a85e8e0be82de5fd44940a14339899ab5dfa427021b19cc28666e55f4a:0F$@fd7307f3c1fb256d2101367c9e91d9f8193984dd1a952ec21842ee05d9529c47: +B2dbe9ded7d4fddcab34927e05da558f4c27b991f493da6c80c4d4ed300a20758:0F$@c77908ab9d6e534bc3a632bc04e7b061b0153a72488958a9083eb5e00e7c548c: Bc0af3aa46691dca9e780d814e61ecce0f8673d7e6beea6b07241f34919abb174:0F#@d902103165ce316631113095730cbb7a98ef96bcab530fc1c6d1c1ffd2479b33: B11d071cb96156a62735867f14955d85eebedc4b872fd0271d638105a1cbc622e:0F#@1205e96cb27efd3ed7aa2a38a025735a49e6e8a24fec2eb1cdbaff75b8805610: B6dd94e7a547d26b37d0f22c23876d18b45362eef501ab6a9b6c6eda2e0cc6a7d:0F#@9de0545945578c68019dad52c054e624eba93be703b044c73942c2d5826bc4bd: @@ -94510,12 +101602,14 @@ Bc2603b8dcc3e46e0cddf2b90ab8fe94d1095b193ef0827ffc0fa978a0eccf3b4:0F Bedda6c333e313d79f632cc7d1d1b0539044f2490536a1374c96273903a2cf450:0F"@081ea59b7c776c23370a81c2f28ffd6f3705b5e68948b63f0c7d33a30849ce1a: B1c4ea4b5f7af0af1407bfc57daca16e29980b4e5ce2218e205527b65fd2361bf:1F#@38aae37b73cb831c6bdf68f86c5a4cf11c094544b74be980aee2220b712d5b96: B1c4ea4b5f7af0af1407bfc57daca16e29980b4e5ce2218e205527b65fd2361bf:0F#@e6fd20bcd4597f337ddb8ea2b44e7c15faa7e189afbb9a04c2dfdf4eeea4a7d4: +B1ba1d7fca8a803d559913bf6e2a24e01b57c4ca0a1d911bef1d031bace7e17e5:0F$@28b710871026b6c2c5d46e7cb550fcbaa31437f98bd68af26e16d4f39b69f255: B1c47fc3e7f0b417ac6cb4d014fa0c198e1ec8b5d6560eb687ebd5948d66444cd:0F#@f9a4dcccf8f203f24c9cd103fe75db7c97bf90408a3ad3fd62b64fabf9238d9a: B1858c510426429ac235b2a3aaaf691cad8157da03516ddabe875d50f932bf90f:0F"@9b6260e6461efacbc199fc74e1cd32320bd36484098c7f4fa65c5ec651aa3de4: B164eb94047c61ae9044fd9bf734b30eaede876a212c3686cb71f6009786259f7:0H#@d123aa495866f68a2e8d4d09754bbbfb4efce8be576258f813ffd11eef1d0238: B402151884b6161405cd090c3ccf9ec388cd8dee19a041d6393048f8dca115bda:0F#@1856e066fddd5a053e3bc1b16a36bc9b7147f66b1d4dc87d2f81cb2f465e3511: B1a3f9f13ec1673510eaf8079435aa7cc9d9d8688e0d82a307f4f031ac7561b15:0F"@a5fec096dde0b99fd6baa44f472a9db7763238b9b252fcd18ec89d74bfba433b: B8cb3753e4488926ea6b18ad45c582dba4194133efdaba97f58e9a553bb58aabd:0F´#@0ac273f01d6d19e6db9a4e6cf7040ff5eba0b74059a905783dd443fd8f0128fc: +B01dac32957c0505a7b690a66df07f2f4017864d3b99241c0de4ce7cc1d920f58:0Fɠ$@0985aba4ca23ebb7e75d325eb00c3c5c059117deaad8cd8669cd9a500437a22f: Bcfecd2d0b7688caced7145294367771f0adf374c9fe1aa1013483b50730bb166:0F#@88b030b4b9e2921e21733fbf3ce0a1a584861ddea7c082bbcb972779d6db20b3: B8ceb4ae33dedc9a065d2d323f8e0464d5f04cc4c44650303f2de0a5554d77aa3:0F#@5c579fe450060ff67aa0ed9d798c4f2e9a8c912c26d028e290baa91ea76f6853: B91e9cc3c0b784a25fa35c7e55d414cc0094dc07871db68833affe27059f980ac:0F"@54e97e9152173435a39cc0585c658338a8315657d07ba7a070f3fe579930bd93: @@ -94539,6 +101633,7 @@ B92c5c8cd251f892d7c2d2f91ce6838d9f286a255a3c0c5a7aab4f414e2ea2079:0F Bc45453fe4faacbcf9b32872f9d21fb78176d8ce46ca6f6199883c1f80ffe35b1:0F#@d388f2338a4c1bd3b58ae10312b4274478d3f659e3af1538352f45dd20de83eb: Bfbf663689459d5104ab3f2e8d01a24b52473c7e179c445a47b22c32862f65308:0F#@fed9d38aa13329d68c03f80e81d82a4fec5ce098a106f02dad3c577d7a818bf3: B364b24c474642b9889f3c02cc5c89ab2fddd74dbdf99d471bca5efb8c9a087cd:0F#@37639711ba125c73147f43f59e8ad1736607b6c10afa94771efa34878c87a4c0: +B0a1364794db3f103fa4162e84a25516f1de97024655c5b9f033dcd4a6f11408b:0Fʚ$@3ce57e8e52447ddbb103f742cc52df80bece2a41f5d790060e0e06906afac610: B4260dd4b90169580027df92106de99ab79c3160bbb025bcf0f6992f7d7a79b74:0F#@498b97ec63f1b1d76763c6ac01cd1cceb8d0efa6f219b2109c75d087a686e64a: B4260dd4b90169580027df92106de99ab79c3160bbb025bcf0f6992f7d7a79b74:1H#@afac35b6958bc00829bf757144c6e9c35e90595468751b50ec66fb5ad1bfcdcb: B653508db12e3ed26c7bc4f79d433cca77293eae741dbff32d78cc7bd941cbd2e:0F$@e782bee5f90f5c2a69fbb98d76b59c40560e366eb06b4741e3daefb35ede06aa: @@ -94552,6 +101647,7 @@ B70af4ed90304c66e51bbd8bb813237c12a9d39978e3447d10f8063e8ccd5f514:0F Bb1fb0c50cb6c71fde1086aece024f4c33649513719c827ae2a0f72ab369dd3bb:0F#@c483fa9f9bd7e24b85be9628befe9de6aa0e1246976c765a686a88355f100441: Bfbd515879124b0f0c29ec8d2593a9eabc09aaf0a669ee60f0aa4488718d6d917:0F#@876598b7d37ca1a460cc4a312cce504eb1d957a97bceb2bfcc34db1fc96f6e2b: B28b87d7dc5ee439ec7474535531d3ee20cd5ad6ea502510cd61db4eb5f316f2b:0F#@43372c036e836a863f6c820974800509b63bfb47a35e51481b5c5be0a2546233: +B44b873bffbbcdf11d371692eeb9e42efc01884f960e6e2a5417c401d3fead5ac:0Fȝ$@995f63c55c187d7e51c6fcb1ee616fd77eb6d4fb58764db1376469f3c53d70ea: B4e8fa6fc530f2c8ac6ae0fecb0c38e902c021b02c08cca02cf3b0dc673fb92d9:0F#@7c50073820b1909902dedf3b3a178f05598a2ace01712e2693aaa6f05f7bbfd6: Bdcf0c1bb07fb3184139423588adf10bd16880fbee6ebd1006967c8794cef684e:0HǸ#@5e16483e9a89fc2edec2a555461bace3802769f5713f239929056b8ce2c1f6a7: B4ba467d3d0e866d01d0403b42c4050225dda0226c77de7e637bf31d4e5aea02e:0F#@eb8f459f66278de542ff5336c23319b67c072afcd774134fae7ee7429c7d0597: @@ -94559,6 +101655,7 @@ Bedd2a3ac3a577f6c8cdad1920aef3152b1f72ec3524773a0435fb793dbabcc5b:0F޵#@7fe4b B11e6b0adcd96779bec7c14be5c4af486b34fae17519e20fdd0709f98bb830e6a:0F#@4ab9eaeb58cfafd1f12acbcb023ba69129bb07155ac69cb6345cdc8158713e3e: Bb85b603902dd401a4e9105a5bacbf0ae7294c68d05039b9cdf5bdfe1d072028c:0F"@62ab9dff74250143711ab23096f772c558538061dd35ca2aaba6ff414f645fef: B020895f09ca4ae1ffc5f57dbd76a41b8fc05a900547f8e49da5302415795c11f:0F#@6eec567f309b895d48ab53f92b9aa100e4dd1118dcb5c1035cde3f7fece69552: +B16e7da38e9e259da73d8515d790bc2a769d9944a967804690572dd2e63300f44:0F$@f45d74eb432cf1c2406cdbcecc0512ddb67825e8ae3250dde7a07ac9b19bdffe: B4af9155e21e8f460affcf8ccad3743312bbc812f854d1470751e6bcc3d592be2:0F݇#@84df6e45f880a60ec71d341cd401a09b90ef5d4b7591620999bf83408a84c167: B68d76d80834f02d033fdbb4799980ad7fb71aea3a48039721ac2468bb59685d7:0F"@693bb0939d8ae5255e5fc9626c3d3a79b398fe1ba02a33bf2a70d4eda58e7383: Be6ffe171deb8b5d59183445723de4605bbae712ff2927e13404631690a5af366:0F#@43ee4f502d9cf7583867755b6641aae10de1c49fa6369bbd4e68972dba265cee: @@ -94582,6 +101679,7 @@ B32bf5915148a38ec72e0df6fb0d76366cf85e8cc8545b191e2a3c1ff36c46b56:0F B694584f3f55b8bf14166199b77d9f0ac9bb5872adb65f35428d0db18852eaf62:0F#@1a6e0d824a849684c1b31776f444dd25e8d60c75e48ba8996b277f9c476dd66f: B736ef03aed5324c94e63f63424c3ab19b6be246bd634cf5460223ece6a8c5dce:0F#@02a7fe427ffcbafd111822f2ec87a9d5403710b658cf76021ec78c863393aee6: B003bce4bb424f58a5aa267999846baf0e539dd62dc5fc8e520d7fd55af84d502:0F#@8f0b12818941df662ec9a515a07bb1887e4fecca54adcbf52c72255078999f2f: +B3ce57e8e52447ddbb103f742cc52df80bece2a41f5d790060e0e06906afac610:0F$@16bd85e32d8424533829599250af31dd49e80c5e7bc1e5815414f6bd2be842d8: Bebb353bfcfdec33b1c718ab3613f239ee44434f9561a455921b0453426e43f55:0F#@48d82d71443406837ef2459e8f45087cf0ecd8e54fac930d3318c91b06bd412f: Bf6b8d009f0c8019332086e0f0b7a9854fb0ebf7cc7229e7dfcd39f4ae793540f:0F#@2a204199b75ffa8f4b3d289934f5ddf4e8e31074421ca1c495c4c0167ecd3dbd: Bb9524d8faa661372b85217706eab35eecbf38147d07805fd72e53e46ac66c5f8:0F#@ddf60cf02ac9b8d20f77b1e413718dfb2fd3bd5c130be0bd1d9335ee4cb6be93: @@ -94612,14 +101710,19 @@ Bf723d04ee15b325875b5f731bbb31b83ecaf589d4f2ad3cf37a91652a7b547c6:0F B2ccd673edeebfdb7c4eafdd28a4ee8f9ea419f196eb6956431b8567192179e00:0F#@12666462500777091f24c2f4e50096329c628928ee0f5f0656cf74c5ba759572: B9433c0205dca1aa7422e15cc6dd6532947ec2c3bf29984fefc89a567f719cdce:1F"@a9410b91a2a49c2b70b45e8244317ff46369d8ab0e2e24ac7d48367a95245415: B9433c0205dca1aa7422e15cc6dd6532947ec2c3bf29984fefc89a567f719cdce:0F$@f660d3b19858ed5a43955c8e8156054ff9cad2c2edb4804b5523ad4a732b737b: +Bfec1a2fa1091c2f2293a455968f2c71655650bbaca9e59a56bf7245e424b5b62:0F$@5ca2ab1d9971619f31d96f480b94aef9ef0614cf8ecfb33b6fd78673c4b4394e: Bbedadd1b2c26e06b211fcc857cad035404749bb500aac21f2bfac467948469e8:0Fѷ#@2c2f88d5e3430e9b10d34e6f95f3cf3047a70b596abecbc981933bda2b32cdd7: B1e220c8666fde916f90fa7fb34e4df8088a2336d4db1d4219a5de1a1472f21f9:0F$@8da60e5806cd49c49d50659b2c4d380fd8fdba8201b263d86b09e3944b19f176: +B706da78cc84ff13e235432dee9596770b89da090f7eec1d069f216e057401c8c:0F$@bbba0cb9fd5332cb27fd87aae90e8dd39137257a814ecb6dbf3ad87bd83bbe0a: B273dd8ac773b411e3a5acee10ce585a992cfacf7b2a8e6229a981c30ff094b78:0F֋$@d8eb51a9c776e3ffbfc9c821af5ef21a883ee70ac481e95d0ec2c4b6625473e3: +B8388d0eea4dd826b6c9217d560be49e76bbe56ab3d6946e15fbb7eab72f23f44:0F$@ebab9ca8c9f356b11090db9a3f79f07a2ed0eab0409b2668739c518ec459609d: B2e015ebdc75b52999361e108cd17bf8ef055c70b4d3bbdceaecfa63f94c080ba:0F#@4065b81eb3763cdeed9d31b00d6d3052285e2f25769614d7eec5813d918055ad: +Bc91048a34ddc48b8f4f1f3a11a6f6f0dd36895fba9d5c6ab687dee3ac1a04f69:0F$@ffb93f79cf5600c9828b8f8b1037eb3adbde0e06dca1f73a942b2418b69ae598: Bb274b1b6446864e371f40491d9e07510f092067c58eedb11458d6c3782d6228c:0F#@2f819055e242708feba2f74b407d60db606008aa83dfe41cd3b876e469bd3b87: B5f3477c9d863ac26c4d07fa7bcf48bb6b36d2e66e522b3806900fec711d360d8:0F"@e73bf2ce19fe89f3822a1288f6b34b155d3f4bae0841ca59441bba9016959959: Bb8c08439588c042410df7e14c67de8c8b9b38d2ef34c34e3750a82dce7453004:0Fŵ#@57f09661f591021a46a79be973f2f8fe38b438cb9394c90840d1b96a1610196d: Be855d1a3e2d9415c9ef262ab569a2b94ecabcbdd0ccf0fafc3ade115bcd1a7ac:0Hϩ#@0c3a4f6c571eddd8cfd0c8640d0494422d1d8c119e87f7e74e6dadcc935aa013: +B273dd8ac773b411e3a5acee10ce585a992cfacf7b2a8e6229a981c30ff094b78:1F$@83a532e4f3fa8c40db333638dbbabc6b0dc6c3bbd62d7f79559bb12491900f94: Bf60d045d4967a2fb08210da4fa1f0d90b88c81c8ca4265a149d749b2617275a3:0F#@abdf9ec307d086ddfa30912b71481e3d00b6cecc2e9cbf1687902ce05ec863e1: B0842b054b4c59569ee1cbebc0746a1d3c765268e7ff2c5884f322da8b871fa14:0F݆$@5e3ee12d0a727d8f9f8e2e293c38f5469058e55b71439248d7d7e623a322049e: B8ae066de64edca7f6ceac875d1556454fe5df055ecd42381a5f3a69e98e81aff:0Fʔ#@eb73c4d3dca8c11c12a88b6322c4dbd67d9972ca210e303fdd802f58e4456f55: @@ -94629,7 +101732,8 @@ B11151e95e519b02f0363d7cc3974ac87e058b2e0e5228cc0507751c6e7e7d4f2:0H B7f31f9034a8aab769c1ab95c745803c6f0e2d6b6b7ff57b251c6c5f041fa135c:0F#@5e5e4038822a375ffc7394cadf5e9d1cab6e353442b5071b976ad82754783b3a: B242543bf151db4802bdb23e13b46fa0603399e4cc27921cc3dbdc93b194c0018:0F#@ed32964d5cdcef99e3a14769156a0fa683a69d0e778d914bbc6f00ba2112220c: Ba0ca3e395df754911f37c5f92386a53cb048607daf9abbdab468e04e8ca2b6b0:0F#@bed8dafe71bb35c490cb05feb8cfc6fdd6129488c14cc16cf323befd9b67cc80: -Bed9d02f2dce57f093deb258ecafab08e28261f937b19e415aeb5f4eeb7508732:0F$@d713fac5c326005594a026cac845d21459d4b615ccdeaf96a2b0e5aa07e46e28: +Bed9d02f2dce57f093deb258ecafab08e28261f937b19e415aeb5f4eeb7508732:0F$@d713fac5c326005594a026cac845d21459d4b615ccdeaf96a2b0e5aa07e46e28: +B9b3fb8c5ab53b3cd784862b6ba3e7cc1e711d74b03ade43935fa4a775bf56eb6:0F$@1ba1d7fca8a803d559913bf6e2a24e01b57c4ca0a1d911bef1d031bace7e17e5: B9dbcda5ad7cf806c9d0f28d55198881595954f5da1d9aae86700c21413b6d788:0Hǥ#@af8d364286ca09d9725db285acfc9ab1580a15b380358e21460475d6a1a93da6: B32eccf357ddf37948ec2be744d90bcf8a9481679873cc137d199afae81c26ccf:0Fڄ$@fe6540995c1a25f43c30980c1bbebd8cc21a349e133d1de3c08b771c7d86260c: B9bb2beca6a211b928c7dd79599699e7be19a1805bcd2b16a640dda0cbc103cc0:0F$@a50b2c3d029c131bc1f91b520b3bba54349e449b6ea82c4ea7d0e5a785665009: @@ -94668,6 +101772,7 @@ B1f29c5b56de534ebc3f6ac5dc61752f15c241940303ecc1fd45e173ff965ff0b:1F Ba419af89c5252b3581601bb8576afc4b7a46e164ceb1d1d0caa317092374b832:0H$@899a504a78c98f6152d52b98b6b54575608b108f18cb9a899114c8fc68d070ea: B3ff57c4fb9715ff23c6138bb303f53cb337d4b302ee9270d46b289e436805ee6:0F#@4e3ce30caf35b3c174ab5cf4458eaa07ef72df0868fd940c28c1efbd38565c45: B015eb034183840c5879a861fa81852332a8e7e9360282656a02bf9cf50f6d1f5:0F#@05e849ff85732f075856be2c643cb6e06842e47b9a46daf5b27bcf2af1469128: +B93d207bb72a49ed27e0098bf61956cf764a7064bcbb67f97643f622d14adf227:0F$@921819ae8aade3d7e60e5ced2840b77d4b790fa0b5d85e1b1f4cd0d4fd400bbb: Bf5ea002522fc40ce66294cb5f81385f31c9a49f93c879ca0e7221f1529a20356:0F#@f6e71b85e2c5922d6ac184ae31ea86c722dc5fd3a3fbebc5eae95c8bbc98babe: B2a0b5aa40ea48ba02bfb2b47d172abbf616e83a280611dc494b523af83f3322d:0Fȧ#@126bbf61ead90bfac42e19f3c06c3e3d03c66f673c2c49e03915b3ae9241f31a: Bdc23f0d75e99dea3b9dd5698f9d3b78b989bb95f3af754f7f8aee791f0bb68dc:0F#@636ed74035a200f80687e727150005728b7c85e3662d369616dace3de34948fc: @@ -94687,6 +101792,7 @@ Be03f872c4524d8241b4d339d6f45033b6b2d325862874685010906731b0f8bfa:0F B6cb90521d9c466ef7acb2325897622cbe5dc930ad37b37b44a1912997929e6c9:0F#@10a2c696c07462e70ef2559ff40f4301a67d8c47b2f4635934786eef4dac6e19: B0c6436b53b78a4303a136bc9b6d39be27d67ba46dff326b9194505e72c88f606:0F#@c9af0fda10941ea63864aa29ebb6dd4121991de47099aba1bf30cc97ff3f2143: Bebc02718d0ee8ddf9ae4016ae3233cb5b36ce0cf60b5d4ade0210cb9b8ddf67e:0F#@ce815d462f70d5cc5ed5fdef3c0ac4fa5670cbfbd31aa8678d82bab3f3cb384d: +B5796527d343f97d6c7213147665dced2a8ac54c4afcc1f96bf9245e82fba832d:0Fޛ$@d3b3a0956069bfc1ee444b9074cfde760064edb34958082dceb0a153d22e4f6e: B8d84e62471ea71006a379a14406246ef97fd02064ff12b1ced8398cff3102112:0Fă$@ad646ec9f17b1dd6f9c8b94dd8645d9552c257f0daa7b9022136f7a3edebdc81: Bd867edd0dbabe15d5998f18f7c6d50aa1d49c5d4eed8c9402927a8c6b6d6d93d:0F#@0fe517945d7e2f62e75af6bcb1e47cf3d0d1cc16bf01cfa41611abe1d49df62a: Bf175f85b0fca7e912d8947054b690ea2458399ad47f38bcd306c11531e1032c1:0F#@6fec06a850d33a3f220c636fa4cae82cfe6a28eb36f55384a6d35f17dd208689: @@ -94799,6 +101905,7 @@ B1f9827bc64c7bac59ef4f752cb629f44d825fa17ca0ef2ea3a1ad26834a7cd98:0F͑#@50494 B32c69cb2ddef64e1d8203d3eaa23e077d8d6e7962ea035dc306e5319b10aebdf:0F#@8fafb80980a4748d260ca1805fdf20ae99430379e5432a44e128e54bedd89c5c: B8f008a10bd23888d00bdf2f50d99d8f6e5730753f483b232b6083e30939e3b64:0F#@11ecd079a7ff2aa4f56ce143714ab6c725b3e17e92eabcef526dee86524bc7ff: B8f4efea46824e71248667e1752db06dd594e9ac3b0a6c615ccd79e28365b2459:0F#@6332a034f04472151349c9f87efa49e783ced11683346cf844da63e42e3d94d1: +Ba77269b041c9174184273a2b649075064d8d44278aa3cfa8793cc489b4360678:0F$@81a4c34373db3a897f3ccc8aa922b73fa4fd9db20a0d66c7778c802ce173e6f6: Bd96eef65c1bfb0fb2d78dd005492e3f19e3c2c2ab1ad59451cb478c923bbeef3:0F#@7a2d140ac71a1eb24a8e943f4c71699e08092b44d1aee1e9c4d7d97659541b65: B95d46f64f6413564c9ae0bf72dc58c4449f43e0c39e83eb9c819dbfe9ca09e00:0F"@2b043ec02e6663729991ec483272d0058ed7c1000e232af66d47e5f5fa286819: Bc100c212cfe73dfbfbd066229c2591c34d35bbd438712c6b1a5f0f88e1ca4a41:0H׎$@b9b41bd528f52bd7e7a1ae1966bf3f6442f74bb77157c9e58668c16cf619206f: @@ -94814,6 +101921,7 @@ B44ad0c8e46f2181dcebd8e81891b6e4f4ac87bf8c507aa644b2b792e63122e7b:0Fϸ#@b14b9 B7031944d6e870baf70749e16bc9f854e0079af73ec9e678c67b67b444b987f7c:0F"@508d03f3c2a358f157eca54a6225e0c10eb3c6088a8be2a49a6158d30e73def0: B244a113d7ed48dee259f2e7f642c37f870ed158d843ad0073e322f027420d2a6:0F#@b09efeecb23a7e98f4de797168a69cc53cadb379687dc66302e2ee48224f5526: B571eee7fc738ba1cacd4b846a34cd213a006324ccbc132449ac08489ee1dcbf8:0F#@0c2e1347e74971dabf964b2867732fec7df5ac95142a2b8870136059041fb795: +B95c6de9488fde2743ccfad5ff62dc00946f7f13fbecdc9b99f2e1d864ae0a40f:0F$@bd8125f25be4095f8440a34d2387635975140dd6fef453e32dfce377f9bff969: Bfa68588579b52b320d9031f56e84f1154f1d2a6b59a96a3a33090505ad9ad1c5:0F#@b4bed9f378b339c3107da3efa5441725a142309bd44340d15b995a5a48bfc665: B3fba5a4c2c34273b759f9a2c9893dce046a71e5a2cfd1414497c8d1386accba8:0F#@9c13b953ee1879e99aa37670d5535de06c13463c299d6ae54e2a6e4860e2da08: Be5d020b44b2d190501dbb3510f4fcd9ced0226dfce36b9a1f67a46aae0c59085:0F#@00fe9d7f6890e5e15447bb193664e17d48f23203b8e70334dcef7312a270f1f8: @@ -94839,6 +101947,7 @@ B8f7a6062c4a840c4258d0cbf91bb5f29425705bd0eb88adf32ac0f3989ed7f93:1F܉#@d304a B59785f15278796e9bae9cb0ee47f16651c4b7f2e376819a296b370c9961c08bc:0F#@235abef3f3d40436a5c58d6b3c6c9e3890702a5acacf626e63aa30d5221a9b34: B0d5629122ebe0b2e605f3cf8cdbf52cda5474bd14a7bf7a93cfc1708834d0430:0F#@e2bb736410149f63297a8b0eacb2b8154562e209e9cc79343429fb934415c121: Be0efe67fe1d95e5bee6bc55d8874eef1bbbb8ee1e3750615cd17ef56af27c984:0Fƒ$@35a2e54b38ed9d98894e2c38cc0f758c5594c292a5329de9326ec4588b2e3b28: +Ba0dc9f4a56314c911fba1de4e80c774c5cdd2aa27d83677696f8b9746f3eb83f:0F$@910bd2652cf4b432acd70b3451d6cbff822fb879e8be9bf7bc5894fcf4f810f7: Bfa8e1936cc6e62c6060f5c9234b9bf57a704fc6db9cb4caea1f537fd43286057:0F#@93ef74dfb3904a18e35e4d68f70bc9a8dbf92515b89a7b0b0803005d4936e19c: B81c6aa31be2082f43c2ecf7621e11d5e3d4cafc7dca825b61944c91ac4809cd6:0FӉ$@6c31f80ab6f5bfcea5b5f976c36f1c65f5cad4201c606862f96c17d48a3d2f51: Bb42575cdb9e21eee945f38d44d7ecc742c8b7a677b7aac3f33143baf125ea72b:0F#@b95b2625ef91a283b8d7490b01898a000e6faa4821baf8e11e583ad030659beb: @@ -94869,6 +101978,7 @@ B6863b80e1bb28da873df65a12344f916b2a71a68c3fae779db33ee54951dc2b6:0F Bd9c7100a4d3e84fc3516b0d795a0591600b8cc6806f66f7a6222481f98d3f56e:0F#@66f2df6d4b0f23a314f297eaf1e7f0261e457abcc322a2a064a667f3c7a98490: Beb442109c81fb2ee44eb4a82cef5b02eb80ef9139183b422a6a7c37aebae5ad3:0F$@b4b25063df8e060348d7f859e8f6dc1ea9d068c6a58072c18ac4fef7397b8fb6: Bf67848c9756d9cc8f8b8ee95b88b3e1ba1eb4f885f02d2ac1032ace8db74aa91:0F#@5e8ed51c4401bb1318c8d3fffcfc6ee62608700f95214f581a238843e7003201: +B9808e853136edd559bb2dbd28b5552c4b0b62ea93f28895898e7238c997bff65:0Fǚ$@9296e2d5e9513a64cb48641329fa52e6133beffc136f82f3467e6d4dda86ed21: Bc6876e0c203ba9e5d0d251c18e01a2ca1b2131e25d088b98ffe45ba747614c0f:0F#@c222304ca5d29e312a783afac3c9847421e13f08bbf538b36da2030198f3c3fa: Bf2fff27a55799101ef710d8c28d6e20df765f0398d1dc6b00527ffc6a3855617:0F#@f58acb9e9e0eb35c5d9b457720382117212f4cf4d671ed2000921966e187b1df: B669c2a03f9f30199249d0ecb1c1bee3161f9ad7421820b7eac87dfb84b8a74fc:0F#@c9ecf9acaa175bf0c8938dae04848187187985ad1f80596519b061a3f59a7dc0: @@ -94877,11 +101987,14 @@ B2c5940e7d4511801f3815c3ab7179be736c57a1287f27ac01fab9aadf723e3bd:0F B375b32927af3840dda359c2a8e786c31b7e272fbc9784a0f489aa83ca5a4827a:0F˴#@ba3dfee956d3a33a8e937752e39c4341acfe6be55d0926a09e91aa0d8d2e3aaa: B83d77542d6429aba0cefeda248aad78486ab72abc3222a8761f043244c871543:0F#@38af837bbd017460a854594f90547ae5a06c9151d548133488ec97d85abe8ab4: B36ded80f26b2e69828727f60c13a9c52e871de4c56eb96c72029d4580924751f:0F$@05448480d1bb8e36c81405ebd98831b4e62b20f6e6a7455ab7762637c0b5dfeb: +B90fd3ecfcc5bf1f6dc785736428f896930fee1a8acd661076d6ce54daf27d584:0F$@2bb15352ce8604b5d194d5b6e6dee3d670023bca0ef09da8a6eacd1aa0e0a95c: +B4bcb0a4ce5fd2a874160f7101e6bd4131f07bf8a8f4c1c04cf2705fb6221c192:0F$@6330eca75d47274514cad3b892b1859e51c762251db742ca2841c9fc7f6253e1: B954e73a54c406a367b2495fcb43400354e7816ba12650f52336ce3e9fd2f27f4:0F$@5efa434b86e457a7f2add836cac6bf1cc8dd4bb49f1f2e7c90e0ed314a3d172a: B224dac6c1f4629882422bee9ebd4b6060b725cfde16c6c8a200f2912d97e7cdb:0F#@2df409352b34c2af3e70c1b5b497b6f273e2df9a9c0cdde2a4f87c299e427676: B5de4fdcdcd3b7e00e60e279e8625057eb57bfaed73e0824ceb1c73911e727297:0F#@e7b91917516dacfe834163eb569be2104e7ea74c4919676ec7d98cfac03425ac: B0d1b8c9a59521c0e0a82a18fb655cd6cae4e302b2d6acc3761920e183b50da4e:0Fȍ$@adccf177adc3b861824f98c769d402e95d0662173173cf6d2bcbb332bd03a040: -B79109c07daa0c8f5e42e3a68395998b22eaaedf29f8ce40fcbd33f31a4934c54:1F"@b77292bd7c2683a48486e874e981ce95195e50fb7d1e47fc3ac60ddc793d8bc2: +B79109c07daa0c8f5e42e3a68395998b22eaaedf29f8ce40fcbd33f31a4934c54:1F"@b77292bd7c2683a48486e874e981ce95195e50fb7d1e47fc3ac60ddc793d8bc2: +B79109c07daa0c8f5e42e3a68395998b22eaaedf29f8ce40fcbd33f31a4934c54:0H$@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9: B5d5337f8d192e5e40dd3557cac371e0584dd79174a6f5070c7d0da4ec2a8b61a:1F΃$@588c70b8b9c805391bf5ce5a017cc09e39db57144b09442204446204dec4f4d8: Bbcb3fe082ef6ebf61ce3fe25831465d8d4e896a46c9d2d4f4cb0bbb9d3d7407c:0F#@ea85f648c87950ad94f28deea852722eb16ab77f3c8ce534991caf60176ee73e: Bb9f8d6f4dc4c451b0c01b113fa8a4cb9cb126b7dc7b6e1fefec9247c0e3f4934:0F#@b7519e4a04cf1a3cf0e10d2426e646e75662c2e2e5b33c91ca323883558fc824: @@ -94911,6 +102024,7 @@ Bcba2394f5b5a0c3d12ddbb1efa0adcb76b9b4c03c75eff7f19c676ca9005922f:0F B910c1ad0c408ab8fb6ba92aeafe021b7ca9361cfa48ed4f9ebc71cd5bb579d97:1F$@c8a2f3c69aafacf75c29bc8ddba401a66ba04c3a6281648039de53687b4ac7a2: B771285ec635de12336751b95b991de4800493dbde5d5f3b6488083b7df5fe3b4:0F#@b5133f00422e961c63cb3a68a12a1ac46f23115e76737d2d323c9b8951d6983b: Baf9ea83d41b139c004f03ee7355257d8d9701fd100e1f1d4b61331f2ab1fad62:0F$@5189d56158e51f3e21364460617dcfce57772e4f123659162dd69b6698e4f6cd: +Bcba2394f5b5a0c3d12ddbb1efa0adcb76b9b4c03c75eff7f19c676ca9005922f:1F$@db78392c05d1b7dd16ca7a599a2cbfd0e66dada7ab72437578662ddc1bf32d69: B8e8e34deaf96287840d09c875f77b3a2ef4149507894f7b048697236f72205be:0F#@ea3ee8b982ad419ce566c146f464eb244b392fd54c3b2dc57f85e9cf74e7c4f8: B54e0acbd3b602aab078fc2f6b552d5fa1edc781bb0f3adc3c1b27757ddaf9ed0:0F#@6be3e89296cce2ff5e881402ba8b2d26941ce5c8c9568cf00bc1126eefabe899: B568e557560598901444175938d8608086f17c1b936f8cfbb88eed3bdd08e8ff3:0F#@8a6264ae0b62b7af5f8f83d6d52d3491cfd61a7c9ae2d4237671ebc90ffeaf3d: @@ -94922,6 +102036,7 @@ Baa5b23391a4742a1e4375e72ee794d7c0f4c349431a9f9649eed1d7fb502a8af:0F̠#@326c8 B1fc5d70b66ccd47a4109dcb5c15fd32f9b3460688795d40fc2b61f89996388d6:0F#@101aee6e24a2fcc7ce3c9e6470055223509cb95eaf37b5e9b48dbf71248f1e05: B3d886a9e09f2c08adeb340bac7313e18fe2be3f16e0bd2985e8be828af2ba2f6:0F#@fbb829b3a7a415b960aeff05b387a7040e0dcc9a4e07a9a86cbe2e30d07c4432: Bb7560cfc2dc97bca29c997243be2b5a3d385ba0cf7a635e98580ae73e93eca33:0F#@b7d0475eeafe0254013829b9650a94fb9750b42eaa83afa30efcd3ec903dff50: +Bf5e038c1513896d99918a9c4b1c71c9dff5d56dc23f7d063e1f615ce76837308:1F$@c25bf4c0a8ea5e8c7dfc76b98623b81733354931563c48fa2708ef392202d526: B0106c8c1df72b8fc208ff8f0e54b5c72a6e69a66b49597cd627cf83f674d926a:0F#@f24e6ecebe75df7f8e66903ff532ba2aac9f97c0b3ffd1579d7db9acfd3ace98: B381098744b14ac8d8518f0cd1f61dcd588d7feb65527e1ef7097a1ca79192dd8:0F#@b63f06bed5f7eda95851995bfc4d8e1e6f6a709d550e38b4a81383eaa7a77319: B4c62014faaf32036b15095b77315daf4b7a9d69461d6920ab44cf7c1e2bdf76f:0F#@9fbb6feba2e16f081cde3d8515bb0a94482622b7cb3739e25def7915e8d8fc5b: @@ -94939,6 +102054,7 @@ Bac42c3b58c7753ebf6597fd51b5713c8f919d20bf1a411c9e61dd8ef733717e9:0F Be04bf9c3e2060fd19c21fbc1e96c577cd5cd3b9e06f26f74c2930abc2c16fdbc:0F$@01500c9574dcd657a7bc7516b99c8f95228a371636c00927bf412d9237c97ebe: Bc4292b5715ddbbeb31cb9b4b8367f5ac608853daf47b8ad23c723b73aaaaabe1:0FƘ#@04250169b0796c4c3b5d1ed5f79731e66489549bf55f43a9e79c2b2055c414bd: B5099dbbf45ed68f2e500c660c69c5547ba88197166b48663c9d441754f1bee51:0F#@cbed158697028e2309c4184de4328b600721e52c92a36bb175f0d03a812a8e1b: +Bfd9567d9c7d2d0628845fa84cc3b440279dc74678c9976f5c86c70b898fbe23a:0F$@af66866d575a3bd3f4ecc1c1442f21a5febf439f3b7169808af86bbedaa619c1: Bc0210da97a80812cdac5a64020e1fc874b735632f3ecb87f5c39ac84d92c5026:0F#@62ba0081558236d3aa5e1a3497256424b21e0a44fab4faa4a739b8af798498cd: B656432c78251de516319ddebcbb68fa3ec611a2b4193ac8246f376ac530b5ac7:0F#@f4e9cd0fd21062d72955a33d5f66c4f1be103f3957d029d9c8f75db9158517a5: B8b0291baa9d22c9aaec09e6d1f8c04420debaf822fe81a079378e3b84ec90878:0F#@24ad522e644bfba603d86933b287638dfcf64b279bdeb7f8be1b0dc1c75c4a0f: @@ -94964,11 +102080,13 @@ B26a78da2e45e8548490faa4870cc961ccc0c711ac99771b40074bea967ec167d:0Fµ#@afbfb B71538389899360c10988c142cf6726d3a4e22ac1b352a90326f767d92634c3da:0F#@331b3dc722d8e52a38f293880c20a547e8fd0f5ba364b9aa435f24b6e4f204bf: B899a504a78c98f6152d52b98b6b54575608b108f18cb9a899114c8fc68d070ea:0F$@18e2d7f2095cd6cb4bc1980f7f980dfd0330dd11cce00d683c6708cc51a50e2e: B510b48e0f5dc34809b75d4194fb7d80c767027826e0b71899d410d2558dafbdd:0Fˌ$@1a11acd9a6db29845d0c825b32fa9f2761fcb0171b4915b0815d2f9a6abe737e: +B7ef9d6d3dd901b9b9a8d62dd3c44f6b4d9afba8df40144e10295ff1d81333b14:0F$@8b66a3ba32cde7b4822022379bd2ecc2a731b5506243e23e6ef530b2d7a77967: B133b7635b6ca1a9211adaa8a442246b9b1a25a9c9baa37b25257587f1ca25466:0F$@aa46e61f807429310bd606db9116350c8eb7966f176f05463b88db5e757343dc: B8baaa3fea15676e485781c3557ef99c62c942ec8f5f951bb0714422df5e26bf9:1Fԉ#@c7a01b426d0d40b219932ecfa66601ad91a6adda982d0096cba92b0c4439ac16: B559959b7de219cc50c5fe69e6857279dd940635ceb0217332f5e0c74193e08e0:0F#@706a09aa188b69eb784f7b73f4a1709d14c9096ddabeea5d942b8b9a49ec2aa8: B7aef297f903e4baf5d9ae5898ae2212dbb4173c68581bf5a6ef21351ad801f68:0F#@adb743ca6136887c51df8e6613c6fe479826a5d872fb5b6bc1de50fe41652be9: B54f42586d189ab8ed12754000592fcc27d6342fd228a93c73c41ff0ac14e6b4b:0F#@d94783d304f076052addc48ce5c166ef56c00969d1a6f45bc6740d64c70806f5: +Bea640ac108a249bf4dcb17c500e43ab29b9ca552622e2e8fb384245f8c3af836:0F$@f5b4c09b592f94eefe9e1303148351b4a3234c8b433a8430d58a09774ba3cd37: Bb412d4937fe76fa9f1b5a95de2948eb08e0445e37b989f7a9631380c8ef6debe:0F#@9763d73bb137e8d06312a14cce40b944ca12fbb80f27d16c62a2cdab8db7d93d: Bc409b8d4749fab1af21d0575fe6593824996e7e1536866fd073442f3f5ec17d0:0F#@92b2827b0aaa54bfab44fdf3f8f712e7bbcbcec8b189373cc264820e2fa38360: Bd5658072ddc7b6ba6918959a185c9157c010ff0e3cbd4452573da225bb84048d:1Fߨ#@6c148d7ec3a4b24e2c37f337b2f6c6c0b9d7200e691dd8b309b202a2226803ec: @@ -94986,6 +102104,7 @@ B0dc79241b3e6bf9d05e3c6577fca56bbb574c9258806d37ead0f131b4ea6836c:0F B5502ece1ef8ba7e629faa959d610c91e3a0134f7afe6e8a809450ac1170ae091:0F$@02990065684d4c4fbf67bdfc23ec3e5dad5745978048ea7bb5fec5358088604c: B9b374fa89bed808e9c4de03b3b43ebfeb7c53deb8601450a7db00f7d72a0965c:0F#@c0d42cb4fd95edc19744e6c76640d5f7dfe384145839e6b76a1e00e58a6191a4: B895facd63a3b219ea7abb5de058d783dd99cb7c3403ee316be2c91710370452c:0F#@c6d9deeddf28f9c4a331ea8fea714dbaa3002835c17e0558b1b69159c6ac8044: +B16b98078c3bd9ae259904e184b48e62087e03daeb45eda42446746f0780bfd7a:0FИ$@7cdcb69036b0dec5a1338c873b9ba6fc9b7748b992d4bc636cfb581e4e7ec1ef: B45d553e67db92ba60cd1ba47e0b97d77cbb0643f98cfde0d35950e9cf1b0cbd0:0F#@f29248dd336c1ff0455d478a8c865bbf97deeec586ce776fdaba896f049589e9: B2c05936c0739a8dc9188fe2cf2283e4a60c5aabef9aba97604db88235b6d156d:0F#@85c8d09fe15de1e09db8dcbe34c5eb8fd2e910137fa8197b5f73c7b7e66aef4e: Bf6471e8c42eba69c6642afea63cc4ce60b4f70eb121fbcf45504a05f601855f4:0F$@eec669575c439ce652af094213fb5773e575378541efa3626b871654efb27332: @@ -94996,6 +102115,7 @@ B6e8e01e10be51c1513f83744ebfca121511b7e54191ea5fd5d2f094c14609bf9:0F Bed8a4abe1d9a4ac667ee937a0b5b70d3e72eacabb098efbd684b3574dd9ab7f5:0F$@fcf1e544fa13f9da4e00447ca15923676d21e62bf42563c1df8125671550b82f: B94c81527358fa95e4ce5961991b57087c4af2dad9b4290ca0e0d4d70b029548f:0F"@ecd6121a78106f31bb2100161c3188e11da838066af8072ff53550bbdc681af9: B9711f9d0b8703ad48da87f740e684adb703f7d54bbba66b9bda36e77b350d7d6:0F#@754660da2da72a8ced0b4f1982e5c7f95c865399097adf0e5736675813e43653: +Bb4985115c7ee289ca28af50a5b7108c4dd9dcaedf47b7f9c1d9348579874be45:0F$@83c671f86c27016e2b9a2604577e4582bd9d236fe255f419ff41579898614b4c: Bdf7e3b52f55cfa4674ad2e2a8378e7a9014a44308a319b068f58339059a4defc:0F$@b7c4836b419db782892fa872bde4bcea91b3cf5cac58290e09bb2656b85ab0cf: B00560f572151972664d3e2ab9bcfb88fa12418fd42f7831043f6cfbcfda9f592:0F#@c9fc408633b37a1dde9890fa97c2062a74307ee3db4468e87ce703790a64ab4b: Be721253b2e26443a311906e2e0b387fc2beb1ef4c243db05f4b1b02ff6d3e15b:0F#@9b9cf05c25877e223f4daa77291ba0384f478db0de4c14f59728858c1f7fb394: @@ -95010,6 +102130,7 @@ B5395892c28c7dfb40febcc5053f1e3e852672d7f597ad66e7454ff99e88740f9:1F Be9a8c2d3fc59935728c47adfcf0d0598fac2cdc699b3ab20e4ef06f30b6ccd7e:0F#@28803c879f3395049042182d6f85fd3876a02b52861ee67c1892c17cd18999f2: B297ec121ff41e98dabdd16ab5ae41f021b336286bbbf886389110b6f267c7e49:0F#@7c894876d6cb16a4ef6977c6f6d76ee362901af76e02c7200d8a0ae50c83b77c: B5a40b4763fa7373053f8320e8cca0d8159e7f5ef0b3e6674ca5b1ca44b8bfada:0H#@fdc4d587e5c918b19c62b3bc2ca732da3966c79509cfbbd74dfd1b05e673fe5a: +B62b3d1555e2276a00d94fcd570fc24f266064337df6f75f8c0c50a9c2293f9f6:0F$@ffe0c461599a8abdd8f29dc71894aedf7c5cd32837cb3cefc0eb34c54011b782: Bd7864e840fc7aa17b6739b6146b7ab019e3af1dfa14d7a4b57e4a4632d526ea7:0F#@e1c41e5454cb484c6b54db2aa5b3d94f83719adadc2435ebdd65d2f947e97550: Bf9e9bbf892a020565ea1e7d611390297d4f7d63a83fbe354f5525a1921b5a62a:0F#@d4006b91768e9ea165e58dece1e30b0172903d8ceb39a7cd74b7d30266d0b3c4: B2ed17c96c8030706396b9687ffd0129d3ffeb8c9969f26117777b6893d3162c6:0F#@c2aef76749ef1c7736e20eb67bc969f2376b3bbcd1eff923bb905495ef9644a1: @@ -95026,10 +102147,12 @@ Ba6f59960fd870f613ca6d79d126aac193c42de36a83af972fc8be3d0ec3b96a9:0F B49aa0f432fb7ed381e35f16c697f75544e5179d1e2394f774200a16e8ea27091:0F#@2f3d7382654a1f65a216f5947d89442036e883b603560722e68fe3e8156fdd48: B8a2f879ebdcc115e6d9d647b71f2e21ae0fbcd1590313d10ac0b84c454320d6e:0F"@0028d80bdf0f37c5b14d9e701c58fd2856d21aff8375d58e630999ed303decf3: B1181719a1db714bd753e5fd77c98c8b804be150fa37ce2e035225e2b556838fa:0F#@74a5477aa033ad6e6f843c38f84e6d6c9714cc0b31ee21fd6fcc48f85443ece8: +Bc6c303cffe3ef19fa64901aa23836281609201c8a0b431ad8c4024052f9e55ba:0F$@f84da452ad28136e09f495b4e2d831fd1938125b07ac28e9878fa736f0aa64a7: Bf44962eb8dd3b68fb98249b89f4d287497ad09416abdc1e569491b48eb7cca92:0F#@edeafd0ba0ae0aa9f70a81575a031bc540ba1958244b1678d23c37f91a12dfae: Bdb22363daafd5942fc87be55e7d487a06fb3c294cb9b7f06266144b8bb4e9ef4:0F#@8af353aae544a581d60aac21f7471a8a2bdfb137d0eb8c9fb316e7d07926d4a5: B664636ad1a32f1adce54571d2155b4f2ffe7797113efb4f5e517710877f5ea3f:0F$@93146e10b8c7afcd50e7ba28ba64217b9121d4ee1701e96336db4f4b89cc3789: B3b2db424a05860317a280f769a1997d4c17b81e8338b7a939135c858dceb819c:0F$@1a8fa63146bd6d809a142bfbe28b40970bc35d5ab517e5a5d5728cb398f716c6: +Bd4d56a1c18ccdbfb7690167b133a9f2cab954e944cbe051f81c3da2cd80a1ff9:0F$@220708452f08d6158d3e1780d28ecc2afb7f199351f65133e6f747f37c81843e: B9dc16563594fe2dbfa4ea13e7963cf68d33210796aa63b48b038b6f54e72807a:0F#@ec61ea061203730c0f3a6c640d6917577272a9216431033731c784159b1921f6: B2658dec87f93b64bef3542980d710c2ca6ed3bb1657ad230811785c9e58991af:0F#@15c7fd53381e288055de831eca71e4c10c311f1dd37111cbbf9d68a905467463: B0a50d5f1a70cb6e1c1fb024c201671cc40d645c41e3f3243a64571b0340a2bc0:0F#@4f06a10becdc96cff10c47be93402630d152d200367fcbf5a8a534ba029084e0: @@ -95051,8 +102174,11 @@ B1be0d05ab7808f061e8d52e39373b369de3c7db21d3f7b4611677c4dc67dae98:0F Bcadb7382ff61edbc023e72d32ca555717593634d9e5096963466ddda84b4def0:0F#@a5b0009d857efc70c2eb0c6d3be95e8bd8a96f311d40cdca0528cfffc2c8bd14: Bd37e92fb82ba1af9cf85e166cc3e41935c67120e14576417ab5919673fc26df3:0F$@46ecd6c44140d8d7d44f219a3922b4f18e03a0d3d489f9c5c8fac4716b84d896: Bd6050176068a5bc1ab48edb3921b9ab1789b99ff2ac300f5281eea2ab3120f21:0F$@2a7e7e7f2c8041eb6c1282b7e5814b247ddf37dd5cbeb0bb9e90e562f4b74bac: -B937908df41bd91448853630af772a554871116847059ac292057865ee0f26366:0F$@dcf98e7fb083e553cbc3b565e6b987b5f7540773ac1cdbd1c0fc6a263babcc79: +B937908df41bd91448853630af772a554871116847059ac292057865ee0f26366:0F$@dcf98e7fb083e553cbc3b565e6b987b5f7540773ac1cdbd1c0fc6a263babcc79: +B937908df41bd91448853630af772a554871116847059ac292057865ee0f26366:1H$@da6167cfe66f1756889f5093d41f7b29086bde7c2a2952a9ee05bb4f29b2e35c: +Bd6050176068a5bc1ab48edb3921b9ab1789b99ff2ac300f5281eea2ab3120f21:1F$@da527b246e57dfc9863d5fba44254360ffecb823ca836f6dc5887d86501f0474: B26004050c8c9ddfd81414e13d3450a7cbccddb6ec0470a10c5e88cf55f2fabe9:0F#@ec3c9c0bafe24eb70242c725a54baa7cd94ae7d277fa3c7de2b41d10e5142a6e: +B9234d00867a292b5d6a82f1cdd100cfd5efc7b0279931d96a3eaa5e7e063e954:0F$@c87091f6631df5ebf39148789f8412aefe2b4efcfa0448a28ad38f13678b1257: B82b13c7a3cbd8ff5a4daab37f17c5beaa02254d948f280189d11ab3187fff0ec:0F#@3befc775cfacba2fc274d060b1d5f9826aa388570d326f40a19e1d4198d2cdc1: Bad549816447be95494b4baf377b0fdfd243dc864931e301ed964d4d0b0acfd37:0FЏ#@c086573daacdb1382fd637dbc593f58c1acb5315a53d8cdc0a15a2c66bacd8b0: B513d36791d8b37a6728721becdf4945460de3541b1fbab67fb51aad916c7949a:0Fҷ#@4e0896316e30f69bbf08c65a7f5107b6a8b96309e4c1adf90a49481de92532dc: @@ -95061,6 +102187,7 @@ B985ad67b2bdf7e5b7cc8d06e737a9ebbaa9b038a2208d9f56d50501467221869:0F Bab5dc8f166cfeb9331987fd0e7c7bebae8d263b5f9641b39cb72d0791cdf9896:0FÃ$@8d84e62471ea71006a379a14406246ef97fd02064ff12b1ced8398cff3102112: Bb5c327293fb054c96fa4658edb856e573f9b463a6c1b82b03793a95113e47396:0F#@15e6c17ebd3ac072a0c7b4266d0be08c5faf9695c6c816aa799ebfa7ff84fa70: B8e0d5c0e09ae16c8a687516fb3adc98838807bb96846151602b6f3a772f6c652:0F$@87542378b850631d30d30a247b681a9b14cc6bb16d5c9245214a26be020c9918: +Ba481d45975a0814e472398eb199087ea4918bcd132ac3501959e8e1be0d7d3a1:0F$@082cafe3617f1e0c39304c7662381cdef80218cf2885a0ef10f260a0a1f697d5: Be1ad4ff97d2f547d7ee6c975579087096efa62de6d2b7f573904f03b589a2516:0F#@c86f549c9d31cc389bc9f7c6e8aac5fe614e6ba719ea69b468de7e372ce0206c: B2e1a746aefea4ababb55b91ab0d565696d2a4eeb1e3a1577ffa489f6a802f0f8:0F#@cabdb9dc52ddacf2c04d3007aad02b32d5f2d7baf76254e4284957bdbd2d445c: Bd3f83d1ebbdd68e838d87eaece5ef39a8738a3ad413eb77ce5887b7f7d5b4d22:0F#@dbd4f7b774e4cc9b89282ef68acbe47e7dea7a716e81f7e9905ada6b2aa99d0a: @@ -95072,7 +102199,9 @@ B77d573f2391cbf41c2dd897b2640600f246f78f43ab16a1f68103d84e149bd0b:0F B9ab5d4d7baf838a6842f120f9ac74b03323f798a43ef83adeb18d53687d35f02:0F#@8b27e5afa84f070c8c24995c1ca36e7132ab9f50030ade34f57f3bfa607bf217: B95398b03487a444ad13aece9d88c750d48411a8a096f49160cb041e7f345a98a:0F#@2f462134c8eb9d36486c4db7ae9c3ee96ecad5f468fb119cfd44eaea2b1feb56: B95398b03487a444ad13aece9d88c750d48411a8a096f49160cb041e7f345a98a:1F#@9f73acdede00c675ef3f6742c4215b5bd669d8481b9a74b0865ae674ba05f86c: +Bcd6998ea9cd55ee08afe7b4ce51590985c4ae8f378220c614d23638d80a45848:0F$@a9946c543c482aaf5a6d3f63d3213196d4c2578b977bfd49b37c13c0bde721d8: B419cf8d1c81fa660f96dc590e08813cbdd439e0b0b4d30f4018f51948c2f48ec:0F#@668b7d11b5a2debc645d928b9bafe76eaf90131c291bdde559bd5d3fa20d6af4: +Bbef16c17f394a0e3b3a397ead2c023304500181d526aae933368230ca951436d:0F$@d1a7f38dc062c0abdd671666c7cfbe094edbb461bd0d0a31599af27aa58e55b3: Bf10f624d7b39dd3cd86bc239dead0624a7913a4ab24921d9a08d9976a94e406a:0F#@4641a8dabaf2575bb9b92f2a27af0dcbaab485abf6802013444d5765197d0d14: Baeb3dbd8b039ddfe8a335ccf566dae17ab889af9ef272c1a14d0c2b312a174da:0F#@24ccbe26e967de87bfcf4c6de980577709c4a3a979dd3bb1dcaee8f684f4f210: B130f5202b6094e7995e6902b186bcda8af3a034a5a83757b55de9a762c02ec6b:0F#@debded63721c4eb142b1d358eafa33d5786b4ae3aab556ec09d7c72c983e4e4f: @@ -95084,7 +102213,9 @@ B66b6989052d3e2cc2c940bb78130d77643f9e6132168da822b2bf38f7b94fefd:0F B912631025a5d5b4df1a5365a6ed167a12ec6167b997788d7fe03203c1192c732:0F#@c1167862a12b72a48b424af353ef933e6989b1edfcc502fa4eb060cbf2ec763d: Bea2eedfa160ae604f9109537d2ca6fbe9bf2c7253e614d833dfc2a3f85ff5740:0F#@4bd77bdfd1cd84e3f4e6b60a92fc364b45242ca361d47bba5a1f650ce6101378: Bc35ddece18e7a3d127272fd8760a230aa1b247ebc2b559b3224eb39a27e99c5b:0F#@313ae59072b51be82115fa2d8304d471ddc27ad5a296bc1df80611fd6aacbd2a: +Bfe578aef956104207366e484c7e65bd617d0074c570e0ba170edd984583a07c3:0F$@b9cf67862beec243a794b6218cd6cf1ebfeb4057052c501d13760bf846adfd3f: B0f11bee5fcc8a9efe7e567a01eb1be50013b4c34323f230a7880effbbf452838:0F#@65f916518e5ae9da21aebb838e7866dc34bb2e05663982b672018b887f893b3c: +B2c29aab20dd1af55c1ec177353d6de72113ba96eae392eb84082ab6b28a07291:0F$@470b1fde5110c09689713b504a3a70fdac9bd3200ecc5302b0e721d136f0ce7e: B46e968c6eb3331114ae3300087259e697682e28c1f9f12af0bfa9bf34c12eb5e:0F#@1ddbeb315c613c2894e67c890f288a3c96b962398bb7d487663efbf3fb2840c5: Bc97c683b352e36e28a8b7012afa6fbb9d4d3bfe7a9bf1ecfcd60f62e2e73f6c7:0Fѯ#@2c5940e7d4511801f3815c3ab7179be736c57a1287f27ac01fab9aadf723e3bd: Bb1109e08b1e058619c6781cee442dbc6bb1a8a2b02e6055f5bf921653f517ba9:0F#@0b4efc154c57756556483b1f3f624cfbdf77fdba98529dcec782b5065c95005c: @@ -95101,6 +102232,7 @@ Bea3ee8b982ad419ce566c146f464eb244b392fd54c3b2dc57f85e9cf74e7c4f8:0F B43e1b3c9e80d02049689b56ad6e88f6a56f629910516173ae0b6fdd84540caf7:0F#@688f0f9797c43a6d40fc67ad07a3887aa093ff4e6994ebbf3e190efe091419f9: Bdf9e19a9f556040d8b9ccedd05b6f5cd2e9dd3dea34e0759a102753cddabfc22:0F#@aacae9ebe7b7f58a41346c63d6d243d0a76da6b0919d11a111b3661224b9fa33: Bc281a08c652eec3ed4edb8d5c6a1d4ae531610f8ec6ccaca733c9f41cce44b06:0F"@8100adbe8da8fe86db969ad46820dbd3b5408aee952774b766cc58c10b3eaef4: +B1bd55ea14f7718fa119913616c65dd0dd795079900ff980ec279cd8ebe4249fa:0F$@c8cb034dc99d17c55d24eb57a34a43bd47e90f84851115422235d89d4e56a615: B49edb2f4732e672a289ff71ef67c9fb7cfe7d0fc710b916eb0fe15bcde3e2627:0F#@eba146d0bb15a5ded40b4c46ad92ed3f3cf1e5cf71ed67fccda61afaf3b148b7: B724e4e29d42edb0e0a3b47d496a826f418f58717c3b5d3b8f0e4664ed70490b7:0F#@6c98c6e319a5790f898b6262cb868bf2a0112ce872afa69b1c263242898a08fa: B81a9904ce5750bb8bcf5d4721338e85bc75b85af20716bac499d980a4d47ff54:0F#@a299c6cd8c114ee01c86c89196a7981197858183c12dec21f5e02e57428bf712: @@ -95124,6 +102256,7 @@ B15a91cd8005eb0b2ca133c6303e6c8eac87b138be04b10b8999cfa8737182813:0F Bcc6f2a8698e4f5f3f44335f89788229295fffb4f0b69b192ba7e8fed381690a1:0F#@4661f405e536b26b98ea25e104df51f0092b1addeb6eab520f9e6b231961c511: B670dfa6f4463505ec8a9369f281ac45016c3ba381bc2473eb8455e5bd45b29eb:0F#@d5d524bb2d78939608df36ab4246ee9843b50299b4d32c42358192ff77f6e88b: B2c6c3cfe53a2e8fd4c3cd2269c502b6cf4696e43e2af369a2a4b4aed1e04c200:0F#@1aa49b88d8dc4d660baacf557f7268ea6a63cb5daf85d19d601de0a94be6e8d8: +B987ed088ab6eae9dd88e409d6a8fb6248e8b0c1b5e37b7c909b5b8b74728f77f:0F$@0c12a021ff25e4a3c33e6b5098045c2828c9f57c875822bb77d9fec7fefc38f2: B2c6c3cfe53a2e8fd4c3cd2269c502b6cf4696e43e2af369a2a4b4aed1e04c200:1F#@c8084861d713cdd1c1395ec310ecae48c12e315b31df5afe73875238658f90e4: B6e324c559d3f3a11301aacb3678e5aed9cc6866e2513646987cf8c3dc467863a:0F#@d39df857b9dda9dc9c7271a63b1923347014ec5823e6a91096c69453d00ef3d1: Be58a0566b58a054e0803d5b880c2f47e57fae6497b96f61dec77a7f5941af331:0F#@097b7867cd61ffe225b77729ff37c495ee779b6d0c3a8a51c309683afab066ca: @@ -95138,6 +102271,7 @@ C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:89H Bc8eff8f9d906e9dfc3b9a23afd19cb03ab970e23e4fb12ce3755e4376c9f2f0e:0F$@8dc4e62a2ed27f6dfd8d9442f06c58db67459dbbf0418f8660dc15d0b82a32b7: B55576048375064fd8f2b1d262b995c5e2bb67bf9b38b611999ccc0df48737ef4:0F#@8b5d788f963c96e3a5f59401e6e433c7b39d7e85a055e7e926043601547c7c10: Be894c57d4c59b014907e3812933ccd4362f77c9776755874d735d3f95f14f460:0F#@cf89e41ffabfb343b52c11c51cb0fe7447f8f64220d171e9d5894d70b74ec56b: +Bdc170246a168ea9f6115bc380ab765f450bb5d62e8a61a88c869d8827995a79f:0F$@10523e29649d2746ab7880c8579e75273e649a98222a6895d6f8829303641439: Be6a943e6d47ea5401560617c1cd41118f7a497ff9cf3ff404665ab766fe0223b:0F#@63ff6aecb2215ae37f9c50bc0733d221c91f4951ef7c9620c50f987035a48285: Bfb92d5e231827ed2955baa0060f67b0dd1e773b55ab5fb3a1c51d65e10cfab0a:0Fҏ$@7f76d67ca4b29bee2cb6c84eea293f9d79db0d3d82204b56d2a29b84506c4b15: B26ed5da5a4ef5a27c44491bcc09f6434f6fdfd8145cda8673f60e69eed1ad7cd:0F#@6da5d954a3a9d489ba1befcc79191570f6dae5788073820430302bfa098e1135: @@ -95184,6 +102318,7 @@ B0530198019d3c0b4f4c79d964307d331a56a4a6d7e67af31b737592d201a6f73:0F B380b268f2e21003a10ea6cb81cde3d97bd3b895278519a4c78216009cd0120eb:1F#@5e30daf4c80ccb5f24b1064f065775d763795a24aeae648ebe55b160fc310760: B380b268f2e21003a10ea6cb81cde3d97bd3b895278519a4c78216009cd0120eb:0H#@dfa7d0911144d972866a89b62a0358160ba0af41cd5295cc6742c404c21a0df5: Ba7753411574443749f06cf79cbf95f38fa82ba674e07246188b2f7fd6272d02b:0F#@ffdd808ce2b18e4bc562fd2d8d8f17013bb4aa7a8ee2c461a31b60954d6a37de: +Bb5ab433c32a819643e0724b81d873cd75b8390afbed3c171a0925be9f2ff7c0e:0F$@801fc32b8e98495d928b251b3580cd88c6197c47dbca55b7bc713a9f4b8db0bb: B32751deb9f8ed8fe108038acfcb700a18b2e986d237d3bdd7247752e42c5191b:0F#@fb531ba97320ddc6d512879959763052b6523d34869b74e10b37c9e46ee21b6c: B0d55cbc418f2daa0388924d570f0e8be1298ce4e520144ca5b36f7b3addc3bdd:0F#@63572858a090359f6081fdd4a2e92ea46d1a8d3c679de5ebd4d9a2390aaca8fe: B0d09142cfe536efc843dd492651021f9608f017d1a0080a17db0453b372983ba:0F#@828411ebcf7d3705f2024b937145b679b6ede04a7e173fde99ed6faf168ae32b: @@ -95236,9 +102371,11 @@ B2c67acd45a911b37d3536dab27397bf75f2f5f69a88dce039157bfc7f8790011:0Fκ#@51e0f B5df81c639a1682c296fe40738e6d008ea8534ae3a2c6b824df3d188a4d638e46:0Fެ#@4380b6f220ab1a72c6309a0bb42558a87d9016f01a717fa6961e9877bf38fbbb: Bb1728b7149491a427cf30aa25e10206a328835e9c0dfc4fdd47e5b315799bb6c:0F#@ecdc1ff3a77f622801744e1a2a6f068bb36dbe6419e649a4f818ef6ebc462091: Bbbd9f883291b4e3612786db60d9b6ea1553e16b30aa47a3b452c804e7f6f6bce:0F#@dd27904a94cce7cd1a439bd76b7ae28b7bf32c7723046f3e46bf13a5ed3a2b4e: -Bfcea9501a18e4652c6df0d01b7b34b9f2e12fca9ddea263829894ec816ba9a3b:0F#@d8e2e4885cbaca97f8ca5ae882b9838ec4dfd4431a6f3cd99ea6254db628b80d: +Bfcea9501a18e4652c6df0d01b7b34b9f2e12fca9ddea263829894ec816ba9a3b:0F#@d8e2e4885cbaca97f8ca5ae882b9838ec4dfd4431a6f3cd99ea6254db628b80d: +Bdde29226a6217894784f487176ce4c3c1eed5cfdd7403c79ddf5e231faae3cbe:1H$@482c78dd7d7e005a14a5b60b96b48473b5b5cd07cc6c950a863b73846e214e38: B7a017971520fa5d728718a2ac5d7cb1c5843da296fffb55994d77b3085de81a4:0F#@9109d236739d461f6820a4a0a19d419f18fbe6c47a4ab295cd548464a1c8bfe1: B134e2265458e02e1b52746af79a77b240dd9fb6a5a163c1b2fa2684690d4483d:0F#@ad8983774251573a115be47212b32bf8d4064928f7cd29e182ebd9e900654ae1: +B04f401bdc7b3e40fc7f74a8a79cda1d71690e69a165e3e928d33500a73d52b79:0F$@ca2706cb39032a7f209004b20444ba8b1363cd3c311751dc2401971c580bb65a: B4187af64986728929fbab738b407224a4f286ad44b1043b2a70a6abac59b7783:0F#@5b8726a078aa87de8c75f6919ff1701fdda0b2bb5425fb8423a4ff4468509a00: B627403d2f23e750199058feb6f8badf4af1c04203e57f46d844a4686151ecac2:0F$@03d3a7a4b849c1c596543e9c5d30e55549a9d640f522558e592735054a472f13: B5e9d39f1f750126595300598346e6fdcdb4e9b1da48ef26a5c354f323c65c4c3:0F#@fa59a92820c928e1446e04cda94e627e517488d7243da3bd613c89c601e7022b: @@ -95258,12 +102395,14 @@ B2dee28599a894066158148d855b1ef82a0b9f1e9623cfbdadd00e8180c0b21cf:1HЌ$@1827f Bb673409aa5a05ed775b82cbcd230e0072df8d52bbf3fb3e95fa60c3c85dac5d2:0F#@289fffe55f224a4fea7ffa85f6d7551a7d2decf58f066f16b0731de5fd5e4d68: Bd0271c8fb95223044ad1fbedd1e83ce53a9953189b10669aefb45f4e543bca20:0F#@940908d28fe7ed82c1635d4360c5102df7a54332659afe9576340e73fc9dd860: B8fda80b3a495374a43f5fbce6b07516a0b7b10b40239eb9d18c603042eb47551:0F$@17cda115b57f0bfddd32411bdc8f33f24f14ce742653ccafc2dfa72ab33438cf: -B31b684adbe6ca46d64053ac4c60e639e1d2f91bffd4c9ada1fba470cc24fd441:0F#@ece5922c6ff373560edab28481b4fb2344c9759c578084f9a783912fb431b4f1: +B31b684adbe6ca46d64053ac4c60e639e1d2f91bffd4c9ada1fba470cc24fd441:0F#@ece5922c6ff373560edab28481b4fb2344c9759c578084f9a783912fb431b4f1: +B0431ec3dc60c8ef1fdfdef88704752af3ec75174ff0ee805f0b9c32099910d14:0H$@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9: B6923bc5e2f0d64eae7ddb40e47883b0b820d5d4b1686742a191457e3fac54319:0F#@bf30409297865a97a9ed354205ccba64cf482ced95012b3cae2a6ed4035491dd: Ba44332e75389ccbec88353df34e896a1db8f385f3e8d961fc98e0c35832956ed:0F#@771285ec635de12336751b95b991de4800493dbde5d5f3b6488083b7df5fe3b4: B3dc5eea5648f9e7af30474ac952392a2d8d67fff389372e1f9fb9d99de3f7db5:0F#@b9c38e88512d11524d0dd0f285040f95f87c90b94163f4150916d300eff675fb: B94181086892d7681be5bbf374618f43ae0f314a1172851f1cb8e57f91f303799:0F#@32bd97242511b57343b1d8f5f918c3bef7d4a4ebd9c2874e4b6de1cf7b8d3702: Bc5b6023fc97b9081683ccdb5efc61991c50d50934375aa22048df2d2670a6d9b:0F#@c25abc34beda979513c0e148d6bdb0966383473a9e99673e1f8db9566c51b6b7: +B7dd88684e423fba2f35785a8317cc5ca9a1fad6007c1fc7bc0284ab11248b803:0F$@e0b604ca43aa9dfe0a37312e6540f481cac5e346d2ede6c710142b75b82ff928: B847cfc22b752803cfcae931e1e08ab97a4ccb89128d6bd81b9a1283912f9ec98:0F#@f97dc5637dee5fc36738a293a625e5f1323fdf9eebcf68c816eaf54e963634ca: Bd78849ae3b2b40496853703f31adf58a98ae6fa88f5b9767e585191f16bde031:0F#@4031e578d53a62bc7cfc0db65a104441556c36d374b86b1ceb1c38836a1a8082: B058459b495027bf39ba42ddd41b6ff6138c736c3845708226c52ab43220b8a15:0F#@9c10ae55e63b7f7fbbe8260f5b6dd0b3fc7df96b16d2fc5d2ffa618bb15d1402: @@ -95273,6 +102412,8 @@ Bbaae34a06c1032c722fd5914b13da5d389dc74bda67102776dee86ba51c6fb42:0F B97a036a3e9416dc8126d33d83a37c45a1a1aa311764d9ef8913201c4c43c873e:0F#@bf21260f236490737773ea5c950990695addaf7637f21b0daca379300c0b54ac: B02059c030f083da5907d95fd168605016147ff209238b5c694a583b481fc8a52:0F#@f92e23bf05133577d86f452e859af8b14f80b549c8e711c4ed720b57a346767d: Ba776ce094b8a4a211c29e7c86f5e0c0cecd20f8156f6e8e9f76e16e5d6a79681:0Fݮ#@3216bccc3a1965538211a6f07ac5f288a17f14a68ad0b1a691d13fbe317a9128: +B0160fc7f29a2c4de404825b7079d9cb5f7bf016b65e9ebf83c28fd9641c6edae:0F$@94847f2d6ce06961ddb30765ebefa41217a36fc34a2f8565fe46fc4af4cde627: +B4d541d790684f3e62da6c69b40075baf8feda4a2b631fbde0b17a70ca13ab019:0F$@d1a342ecd9712ff3f323acd3200a8dd49bb9af0dddab8b102280485b2950112d: B51ef99569776c49d32a3ad02c960745fbb67064bb3f7790f2c0b33dcad6821f4:0Fֵ#@3649076d283fdb48b46e0fccd888d4bbdc894fd82f402a9c38c32591a1eb5546: B6ce1ecdbb953b362347602f92dd83565b0a635de020f7ab9c9b746cde14d9477:0F#@df31874ed7541c950487764bdebbb6533b942c932668751c92a076dfe3bb06fc: B8a54dc36b9154c285ff5ac8ad2ee3bdb6403801aa9da15549fe699d13d860a70:0F"@5da4a73c175ee1a3928a408374f8f52a979b865c9995d28f8cb4d239b2e2907a: @@ -95294,6 +102435,8 @@ B77cb3c2b1a911aaf47ed5980403700e84c40e6cf0d4e86b51c0cd6ecfc76d630:0F B833a4e565d6fc546011c90bca7bfd2cf2ed34816d253a4c03bac7d0f2bde6517:0F#@dce4f84b10171190656cffd9202414f8fc8b6f4cf23b2b4a6caf2979601bb5a6: Ba73d74dbe3795cc3be05abfbe187ec038b63a5a7489296cf806bd57fe1683f26:0F#@46ff9795585166696149071bba722b5ef71960c19f9c2559261ae66c6bee8c4a: B0f8c58515497c2167599e7599888b957bad76f7416e11bad4f4f483ec964b54b:0F#@0bb9a564baf4ab1d963c23b9c234ad5390a878c4d3d0ae75da8db1458e4ef315: +B7f3be46556d8e52de8382a5e8190082738a456c369e0a7cd2857e501ef086537:1F$@420856a3125810abc3cb4ac2c430c7bd6851b03d941568e6e1ae1524efce7455: +B7f3be46556d8e52de8382a5e8190082738a456c369e0a7cd2857e501ef086537:0F$@8e8c64d3cde4f0db0e9bc994a17c58be204d85b9a53a17423eb2137e751b47ee: B2d6f4405577ecaad4beb5d2dd11c518a713e2bd7c926dc8f179acfc9d5684c00:0F#@a2c5f4ca7feddd6f6230e41bec705e692441cdda7a8b4ebabcbb44ab7bf29bcc: B32251923269df4c160e301baa4efadd84c057b9bafa93f1ef4a00c961c537ae9:0F#@021e3f4b2e9b7806a7dd7ebdcf0758ff1bc64d099220ecb4fa255b601a48b801: B95c9d643c76e5c116d9a2eefec0c17faf6f3f497f6920ebbcea84ac46c24d212:0F#@2d2f3dfbd6ec1e069115559350186b6be8bb9113473e1369a0d80abf8cd6bd98: @@ -95303,16 +102446,19 @@ B02c35b4431eb619182bdd40d4f1e9046c704556c041d5f25fc81f38942b26ffa:0F B37cbff52f837d9975f79104c39747939de30a70f1f4d3b453c3f02f215092e21:1F#@8971508059dfee694597775a41054ad077a01b3094e5a41927fc61cfae6e64c5: B37cbff52f837d9975f79104c39747939de30a70f1f4d3b453c3f02f215092e21:0F#@a34420286eb95358c36993efa704419e48b32625cbeb130f19c01ea3ce399510: Ba888e6819d655d48941985b13b6b8694b733edbb82b0aa2a31fe914a6c720920:0F#@c7783211ce0854b84b66e4212e00369598ecee6b92df38ad01af090a193a25ca: +B75207f42927c03fb62b402336b0dbf83ccb0e1919ba6f1d6405bb65c8f0b84ee:0F$@d70155906e1a23eed25a9aa2ebfa8d32c4b87e27e58dfde655e73fd75c219a95: Bd3536192f949dee4f89cd833da83dd55cea82f7cb70ff2a4ac5c7e9470fde705:1F̝#@10ed54f13d9493baa8a3fea25bdfab3307b150df5ec7f9f4e1d5fae4ebb7a5a9: B2a0b5829eed5ee159d616ddc788186816840bfefabbd7b0c17cd1276e6659e5c:0F#@a790cdeef317af5df9bb57e3c05311f071b2f2d944457a8cb4e833f45ccefe76: Bfd4803236cf5b87c061572c25c495dd21cbafad968ddd52a600c72c2b527c22c:0F#@2497316d754aba3628c9d79db06bdc60026758279e7026f58a3c46bb22659f5c: B441e8f9f8c2e275db3504c6a1ab4178ddece238a5680ef899db6524579aa72b9:0F٩#@f0eb087d11db75f1e246057b911b861b445a22c1f2a6cce435c789e3e80bc32c: Bd3536192f949dee4f89cd833da83dd55cea82f7cb70ff2a4ac5c7e9470fde705:0F#@16822b3d5e99e65007ca18d65cb8ae9f44447c01361630b2707d72d34ca3609e: +B32daa411a628ea1c265ebc2f89395c91201329edff442bc6caf66231d8fff560:0FΣ$@5335b7ad4c6f5ad0af146471c5e79da46e1e94691fab439a4779430d9a7ae249: B46ecd6c44140d8d7d44f219a3922b4f18e03a0d3d489f9c5c8fac4716b84d896:0F$@a8ab145d485289b362f1eea261f2863dc5456c41b1fc3ce3ac27882ee3123bd3: B891155b4ef7046e70434047265d79909ca5042c758d12358a5a297e1b26f8997:0F"@6dbaa541a1235429cdb43a080f1f05589feee6be2d05cb9e2bca389e8e528103: Beed727c36b6e4b62b5da3a6b7057751a06e04dd2d97f500bc5eb7e539e24cfbf:0F$@6584f49f6c5b850b76fdc804f05c93e21eb6dd8c7530074c676fc63668138074: B7a4a0be8fad24bd27319f9e85644b3ffe362d097b9e150626b10a29e75ca728e:0F#@59e4d436b5814b62876c706b43b717c3f3f02887c15a9975b8c8a91800bf185f: B55b15d6d300fa646431d60c53fb324e5faabc427cfb31f6f1d0208b9213e7451:0F#@1f0539fd3ea67c388f15b2163cc954b5d30d097ddc1c71e5abbd1acc8c8b6b04: +Bae6f8a5c67ab6e26dae15c8ebab05eacbc06929eb89012d6c155cbe480961a79:0Fʜ$@64020b28634d469198accd55b88c56aea0f672371a188e306b6fba95edad51f0: B891155b4ef7046e70434047265d79909ca5042c758d12358a5a297e1b26f8997:1F"@a2ec82af37c89c66f7d3a20e3c791d50ca7b7be9c373c43c88eff4282a7348d8: B699132bc2fa33f889157cd9b0e20aea22b4ced4bf3df69fde1e27da7eaa7f74b:0F#@823ef58c20e7e7b2f920eafe9e55b430de9fbc98dd05742f352ccf806c48db39: Bb31e88d8ba1c4d0d0306ddfd1b938210e771cb835dd7073e1fe276765b2f2fb2:0F#@90fbf33d98091c7f0d766ef80e6e6ade4f98de8567f7b2828e55661cf63ed2b8: @@ -95324,6 +102470,7 @@ B8f6085dab72e05cd90ea27ca9b408f6aec5ee897545c8baa42825235ec29c363:0F B11330cb182afaa1b6fcfe3c4f9f294c1552a204a1ea0def6c890f32a54c031ab:0F#@6fd73c0d4580e8bca93f9f37c2e280f40e67bef9417bc3769caf80f3a25e7b14: B8c99546667939af7dd5dee73a23408a9b79afc2343abb62d4e753fde0f8e1ca1:0FՐ$@8f28c760a1ef52c0ea7f9fd2f86695c1fb6305ba26becd14ffa770eecd79fad4: Bb4e43f445ff663910b850c8656e45f078f240f101b8ccb6ab1e5c33544411419:0F#@93feb67c7388548e5e8c86893e71a6fe17d804ba428a94e9c331fe6b16ad3e1a: +B28aab293ceb09e11ba9cd96167ad1e9b23efb2994d99056bc23becd7aaad80a0:0F$@56d941de9ac7c664142221bbb5b7ccc9678919483eef2d516aa2474f823a41d1: Bb59d7136b475259b082655318848c81d7ad1183be19302bf13f28892e54d65b2:0F#@582c85bf21cd29986a717bbd478d83ef89de34bef49d22d5eceb837124da5b22: Bc0f0ec7c889640541ce9f569f873ba3715568e2157f8bbd120e6d7755a8aee09:0F#@3fb5e58d031db0eb79eaebc759a65109a3dcd1e17c21cc310608879d64758452: B72037ce270ac15ecdf4037fefa3c59afcb43720dadf9be81c4631e461e769e34:0F#@ececae39358b2a162419d4b077ffdfac9b22b530e1993c0758c6e334d5d943bb: @@ -95332,6 +102479,8 @@ B1a4db0bdb66d788280fa82e6c0d9b355774a7f58fefdd6acc7a0df14cce8a97d:0F Be9e80c95f2c3ee43ebc0212bd40688ea2e6b1597598d1a0bd7237f2bbfdfed54:0F#@79fadb9c662798b2f5c64b870e3537b3b3648786b7f3fb0368871b71d51d8ff5: Beade3f60ae82caffe1c33e0dcba74e323f63ae65b720b25181f10c0461a70def:0F$@1ea0484cfe781c6cf34f9ab1ab1cdaad569de5d55ccbab93f7eaa27099b47dca: B5b0b102176d4a0d6a8da2a727caca1691ff54a3f32d4d223dcbc3d7d9f0f3465:0F#@779a583632542b5630c8d22aba3f38c54821f8126b05a368a38d2c9ad866b3a6: +Bd362f128042df239070fde5f1b973b769f219546e7ba1360da830d1cc2826cd4:0F$@b0d94962e505403ed4984075052cde7ea28402ad2a353bf764403439439f436d: +B0efc61577022456be8fe90a3839ff517ea88c2e51d41633fb22e6c67e01bcd69:0F$@ffb621dc1b317f5b0a04964cfae760b5646504058b5fca9b79fd665acd515bdd: B526fd23a77a081315828251883ac6cd6b846880d8c947c677bade71f8c204f31:0F#@fa915b26a7149e9a264b3efb235c8d31e9fe8b768be6464ada3982454756c8f8: B24f111b8242afcdc1a48e6d8373f68500873671646cceeb9bf54a0a059ca4bd1:0F#@e4a46868daa3b9ec682f5e692dafd142603c413ed599aac8c7950f3336db3489: B2982c9272ebecbee9bab3cf70f69253900c968c14dff494d939818c532fbe99c:1F$@427e1de180a2578ed320082ba77d22c644ea8809c17dd8a62bc8890899b34510: @@ -95377,6 +102526,7 @@ B24ad522e644bfba603d86933b287638dfcf64b279bdeb7f8be1b0dc1c75c4a0f:0Fޮ#@2770f B7d6fa8d63c646508600ce6d1d5f255dd4357536a6eb61c5723217fc78485c833:0F#@dcb50056e447f154232288831b67863c3a0939d60e84808dc595fbfc20120f5a: B1b890cf3bdae45888b698d02342a93e3f2a631b712924d08f9d38c4073a92f76:0F#@7cd44ae08f23592b4c4ea4aedd47f8309a86258de0c6da5afd6e3a7b43414325: Bce43f758a7758158fe6ffbebea34f03584c7bbcc2ccbb7eca86ef0558a14d2e7:0F"@8a569128c4ba01d2f5c3ebd110a52ad20f8b8aca87479ae49041ddd4066e1458: +B86c923993ad79bbb2af0d63fffc042caaa51829aa3006c82192260f2c5e97361:0F$@d8fa118ed99ba9172132b6c72f5198a06be1a49311a6d54175988eb5a5f0c46b: Ba430f0d319447fea643de49b3fdf4e182069383bb3aa1b3f29326cbfb6c4688c:0F#@cb39b172bd4db36e25d3c23865ba0b72d2f9d9592ac4ef99b1ccfdd52cc9124b: B4b705890c7e50cec603d186121ec99b05a89656512d451358991b63a5819a6ee:0F#@7dcc9380bec35c465326d8ae8b3f30558a2df0c0eb5f50f1cf7c7c5a331d37c5: Be64d97cfa7d43f249b6d6f4d9ac963eb5cdbccdd0b216c8db2a6b7c2b9277938:0F$@48f33226f5f792884a7f88023054c9a40d230293fc339e47652c317d4402594d: @@ -95387,6 +102537,7 @@ B9748758f3d5d3bb3607360066b87fdab12dba1c6363ec1e52edfd025eb327646:0F B49de5a33396a50fa70804df0856a44dd54872f397946e220d0349dca292a8eda:1F#@fd102ea25217e2ac9c94390641b8018f341e0129ca863e31569aa3bd0bb30d9b: B1f631484fd1a9529fa74889dbcbe9bc346b144688bdb57c22ebe38edf1438a8e:0F#@e757fc1fd4566287d25514afd55b5420da6e4a7bc17724842b247a5cbd138856: Bf5048b06df1c42fedf75b3c90eae22e553b86f0287c29dd5142bb29bb23aab40:0F#@24f6dfe05ee19438333aab7da2c9449eb7abf00b3ab9af88b484d7d38b080766: +B935999dc864e7ec75c73a7d9d1f3d6eea7d45212484a582094a66f53a57dd106:0F$@e90f6b55530dcb86ea64377fee1660e731fd8081da8302dab1720b971975d127: B94b3474d0ea6a237a1173c0f4475fa9f46fa5830428d4cbef62b2a52422d48a8:0F#@afa6d427afc4091a3b9b1e7978c5ec057cec8aada9001e0cd34526972a69112e: Bde11cb4533acabc89cd1f482abfefaae4b657677830123651bc8d16c850aab89:0FĂ#@db82d9fab7fd72f05c378764db0ea3f923b7bbbcff978b53793d78689c07c2cd: B8522fdc8f3adb58610faab463312425ed00e1b1e641154dceada9c2dec0f4c5b:0F#@8ab7032a14374746771a3f98ba60767d097d3e59879009d018b2af91fc6c862c: @@ -95395,6 +102546,7 @@ B79efcdd61a8395d8121eb768e0f6bfab5b97c3cf97873f5ec795ab31700e98de:0F B3a7490e7f3154eef3c4801ef424a655a4915b1d5430dadc7fee878a47007d1c8:0F#@f1ee2f1685a40afa855e2118fae45f12c6d544c4fd73eacb55b1dddd80887083: B579ce92eee2c78eb4dbe51280b687308e053fb4bbca98684d8bec9d4cb711e28:0F#@5d95a922966c404549e66724a29357d78f1118e1e92a1b417c26f16519b17f92: B5b6246af8382269be9836748824415105c25a3bc7e3af33807d712348fe9411c:0F#@0ddef87969ec41469f5f01e05ca4e22cf516b40a96b674eb58e833fbedd7c3d7: +B90d35277ea1578d99cc8c60239eb8810b9a3e0b19948e53436bcbbcda0df0087:0FѠ$@21c8125b7d67a28221242181ac7ce5c989c197677fb4e2cf1451fe6921b717e5: Bf7114c9dda951ff2f3be129beaddae643250447039acdf5936229cf14a98928b:0F#@4152be414bbbba16870293a343c9a7f5500dc6aed5a203158f79a5b12b1bd1be: B1b394d537d763d9a4c5cb23f22bd31cd13fde01794b870a25fea99c2bf307bc0:0F̚#@dab87b8be973e971737b59596a5156b74fdc16508ca34ae04e980689011232af: B0784a5771e2d94b5146d1cf7bc757c78c17a0bed7eac29282edd0d3e0eb853f8:0F͐$@2d3538c057abe8f96ea9b8ca6d791446599c990b8902827c0e11976ca49d2fad: @@ -95408,6 +102560,7 @@ Bfb33388dfd9dd415ef9e7af4aeb6af895c1ac3b41f27153df709308e53913cd6:0F B81b3b60f2c8351c8038b4517e2b4e01615550d254dc551115cab6ff78fc2ca3f:0F$@f122d0ca340580ad310f5ec966b760d5ff72264a237787f1bc1da57265ca4181: B49de5a33396a50fa70804df0856a44dd54872f397946e220d0349dca292a8eda:0F#@915cb1aa9bfebca38d4f668d60ae524d83f2f4725849b66e69729d16e043e050: Be71f352e9736817122e05ee119b339a83bc8a83c336fd9b8fcc9f5b4ec2d70db:0Fܾ#@e897e70a0038af6110302655b0a46f49778d295ef2c9495e7cc2020fe8b66677: +B26a2929b95128e982c41e35eb798c6a8449c6ebdbb42e821b22e8200abab0718:0F$@c6942c351f7a98f9c32e478d2d59f349e8fcf8a56dc5d2c055d8d94a52475dce: B9c108e3a528b447bd79541c4f573fe8fdb1b862ac37811b0a87d997f1917bc41:0F"@faec44e0e53551d961f0e3ba926626b4cdcdcfc9ed7eb257c3fbab0d5f6c6ef4: Bb20bcaa17e7dd09e1807e1d9927579be733bca37cdabbf04a7c8e33160f3bbea:0H$@530c4ce80093b1664f55fa945b2b7bdbe12b9c067dd8b67fd8dd1f13a6718546: Bd44f06607408f7197e54753d70f8ff62aa451c3320c10586ef2083b2112698ec:0F#@2c67acd45a911b37d3536dab27397bf75f2f5f69a88dce039157bfc7f8790011: @@ -95426,14 +102579,18 @@ B89f9fa3d75c1a94a254c1609c8142909700d62afeaf8212f86b8ce59acc66c81:0Fѷ#@bedad Bca7a64ce3a381d89cc648259859d3fd722a74ee27185005528000f74412bd761:0F#@ef5c2f6bdf084483ad77dab2f46e1e133142b9e8a425520d0fae3512d3bb7bc5: B042cf5c1fc5fcfaac794434b452ad6b942d6c878d14264c80f3933ed880bd3c2:0F$@b5a1b44aec1e57419e535a4fbe755ec317e136492143466b1eab451959bbdfe6: B4dc0551243db957cda5ddf7a75ec0c6de9347a820df21633f0d60534e95ea242:0F#@9c2713915f51964fd35a9f37790d2140aef733adde745462488ae4b4f3664dcb: +Bc25d8d65bfbe0c1565bf86dbdf042600a39b944d748d0d50369926d471621cd0:0F$@6702fd936c824698619e884cdc23bf0d9e13c06d2d6339236e237533b2aaf039: +Bda6167cfe66f1756889f5093d41f7b29086bde7c2a2952a9ee05bb4f29b2e35c:0FѢ$@28f87506afbe82286f347f23c811e862aea8ba12d4ddd8830da6e67af85078dc: B0fa9ceed804bcbe165409d5691c1e34900a2bbe634fc637095e50e280596b0df:0F"@670f4037b8964fcfbf668f09e77e8d87459244a4784b17340928787cb83c4514: B61def90477dc03290e374445207594f60452fe93bded6bf86a6754e255c449a8:0F#@52bdcbb92cbdcd4279c19768db7ea8dadaaa2babbddea725f02492b34c9c460a: B61def90477dc03290e374445207594f60452fe93bded6bf86a6754e255c449a8:1H#@dfa7d0911144d972866a89b62a0358160ba0af41cd5295cc6742c404c21a0df5: B9124c3bd1e65185632168231c239a9a86b7cab4ce9cb79d97f2bc279e52a87dd:0F#@6a6f0d26f88ec0a9fb18bcdbc1c0f7f81a77689c8d3323ce5199cf83f6c913c8: B72b02d5b1cd6c54927d97b5a7df4e3dae00cc917e15b3d2f4a52b6e6e54c2a9a:0F#@aff25e5ac2fb0221978deb336b5289a8c1315977ac3ee24ad67620a8579fdd96: +Bda6167cfe66f1756889f5093d41f7b29086bde7c2a2952a9ee05bb4f29b2e35c:1F$@70721b574f3f4b0916fa0e9375bff824e59560dc207a4b97f7998b7d22a77e20: B0496bd2a0b1e8729c1b325b27b2f453c3f2b2f192b8d98bb5b2e5d4fd140a66b:0F#@54f065a7b97d249e272892f76df6be00e40449cc99fb888fd85f189cc9138a10: B1f7601062f9c4c86ff273d2ecba00d2b16feae352bf02f65b8f35b2289e448c4:0F#@2d7e83e543684453e28c4a06151cfeb89a47c7784b47a45df5b11b136edca752: -B1f47211658c3da0e50c277e757a3b730037761b73d322730d8a6876e68882ea0:0Fź#@b9d814dc5e9c2261ff64bece99ad4347e23643fdf18b41dcf9efa62845d6138a: +B1f47211658c3da0e50c277e757a3b730037761b73d322730d8a6876e68882ea0:0Fź#@b9d814dc5e9c2261ff64bece99ad4347e23643fdf18b41dcf9efa62845d6138a: +Bb8a18a6ff0e5abdc6e00c3a8b56dd851e101871482c5cf2bd1fd1ea083157bc8:1H$@f510e21a776e37698363e0155f9bed39b8be7c584c241ac0f2dabb808a80bc81: B1b0079d075bd869f02be48bc4359236573ffd324f37fd54b0c161227bc8aae11:0F#@2f630991ed1287d8a37e62513324be3ba0160acdf4117c4a47afb203d589f52c: B174f82fca2c7b22f06e60ba5c300657cb912e1888bb6718a485494d9ae378346:0F#@227d9e3b92208323073d1b965ff52e056a77f55da1aea6251f3218061c1912cb: B225b33f2c92c6f5ee4c1c58e4ca9e0a30c49334986f0183486558e220dce1760:0F#@1f73095b84f82268511897029feda61d77bc5ce16bd645aa22efd66e94bbd306: @@ -95453,6 +102610,7 @@ B743437e5c25aec53558bae4633dd517488c9d818c47763542b1a583b90449e2c:0F Baeccb18c84374ce33bc2aac03a20004385abfcb5ad2306c132581adcbe34217c:0F#@39df3596f3fc3263bbf7936d20b4ff8d0d6429c753544c816b48dc68b405cc74: B8b88abbd9887131f23bf8ce8347af392f8a953c8cce87b0e3480f5d8d4350019:0F#@7e9e26252b6fe095b97ded7482ce03e28fcd802beef2639089ca51301b0f18c3: B99f7724cc9550faa1cb9a8605336ae02c6c150deef52650bf1cbb08a68a5783c:0F#@04338d3a6e388b03b1a8d5629d4381c831521bc7df0fb745010098c3d214f51a: +B449c5b795a4ba71321f28e032d5cdaffa6fbb9de726256091f0687cf6a99319c:0F$@5964caeb4326279c571dd238039e701184afceed096a775869e31c3f99883474: B1f5394c216a0ae241021e3b22eca82a230141ccbe903faa71429a8df1d77bb6f:0F$@c9621ed9c42b8f3cdcf5750ec7ccc809687d7f94a8d3b907c7cf1649eb603454: Be1662dfe3465fe4cd752981650ac912aca2825308416c8c87da2b3300d63f4f7:0F#@ebbdc0b9241df78af14ef9f99a0ff44e15cfbb99a78b899a383a4872d474a502: B0d1ef52eb5db89039fd8af64fc4bf480ebc24f29df8bab77c863389146e7d7b0:0F#@b3b04827d5afc0deae25e7d6beedf25a3730735af803b017ba3a528d38ae4cb4: @@ -95460,15 +102618,18 @@ Bddc4c0cd25155164e91285ffda9e1816731f9afd0b9d3a922e9e2e4ccd8ea87f:0F B5e3ee12d0a727d8f9f8e2e293c38f5469058e55b71439248d7d7e623a322049e:0F$@1f848b6bf6037bfe8f5151d6f11a928a429c0008fff32125beb135c782b97268: Bcb1bb4362767fd4db35535145648c0a32da24241dc67bc99c6ef1c46125590ef:1F#@93547126298c09f4cbe14d494885a4c8598c4483d981258a3add7ac29a36aab2: Bcb1bb4362767fd4db35535145648c0a32da24241dc67bc99c6ef1c46125590ef:0F#@c64adcfc7305b22fcb11f9fb161a2c3e5a8db112ef221e1656053e0fa68b4aa4: +B30c2fa95e9c14bf72a2455995946cec7d16d66ab743cf6caf5c7ed55c76e8896:0F$@198ca2c7ed8386a91fb3c2336ec5b1078431a4f19cf6f985d4108441f9093fd3: B0c773472eda29f35332d244df248db8ee25f411e3adc13f0209a0cc337e53999:0F#@821a1da8ef5361dbdca54efcd13c25abc9765803c295b71f29a76f94ac8106e0: Bec8276a17badce7e83c25b1ac83d4b4155d3041520a1c6524983e077e04fbd2a:0F#@978b612b4cf2007c1813896fe706d842e7f6072f67b2ffc170484a0aede316a2: B84bf65c7211c33103a20410a1f06731c0af55a63bd5aab3bd87a8ed4fecab618:0F$@176125bce9f1953178717b66ddf69bbcee908b3bcc6979ebb52e87278dedb958: B05750a0c1a77536b15d38a0c2c5d9400b3d4717ba0ad25ae3403fdb447274850:0F#@e54d5110bd6116a7c56d0093b9594c364ba3e2a0da1577b1dd6c80954d75ba5a: B6017badc2032fd07ab8e9d2c14878334a51244e428f45c4c80949f480f197a80:0H#@98a43787754efc465678a1c53b985435e5443a28335fc4787afe4dd03aa2920c: +B03ebad3c4c6fbaa9e863e8f3de981d2f6d6110a08d1aaf301b544fe1c0f8eb59:0F$@7c42d0da1f26a2b014e87f65673fcede6408d14a4e93fdce8f2cfeb0d39e8ff3: Bba63c61d7aba4e98de4462a03748c2fcd3e35dece47f97dfbce8e7e2f69cdb68:0F#@4f96961489c03821b15e3cc0a9be039090a663c2b84126fcd6f6020225850f6b: B272febacae7d803ea8f61f64846f6c577685f9c4ac07a4450e43d3478a5c3928:0F#@69ebb9a640196e5369e727b1097f6ae4cfc1844631c3d38fe86bff71fbd5ebda: B70a5753dcaf4fa73a950c0b86052c5e7d177098a1da3f5d04eb7388e1804fdea:0F#@62246dd7793c61662c3804c4d4456c17e2384422126ac0ec1eb891e91af7a818: B2251824ef5d2d8a3aeff7a4fcbc258997c6e166155c855e85c5009fdf70f31ef:0F#@8e1b994b0b60304ac5ca0db657c699f2c037c8696902c2446812e31282779e46: +B303a0b169077cd7c41b9e4915a31e3eb4638defb09f977d556cf3d17b77823ed:0F$@86690c7a6b660a244bd08502f4cb72e32a9e7d4769ebd9369f278affed951abe: Ba91937d39b968f698a66897fa23045c25157d21367a0150f1ba86dac70fb03eb:0F#@11e2d7afc19e108c5f6cfe840de2affb7307b82ccfc31d5beaea64a17f877e39: Bf81c5294a42f94c8a9f5bb9992c2e7442915d7ce1f4ba5387efd77b607b8b9d0:0FǬ#@04cf0b5701e9c7ac5eed0dc5e5173c059c8c82b0d2125c487069057cacdd7c65: Be4a64f823da54fa09013221db2a95a8dad4715f8edef7d6c17aedbb271679d18:0F#@c7aec9c582602caf0d12c9c0c7367927eabdb0c10f6e682961b44ecc3689e031: @@ -95483,6 +102644,7 @@ B26d64e47933c6a4feb21e26a973599037109ed7a25df928a6d98f801c7ec30eb:0F B97a7d240cc20da2ee19a163840749dfa4a59849584e3d15e2788b95fa4765eca:0F#@c0a72c478f92ff54d936221807332a162c224c31d574756bc41e8d04a1a4b163: Ba29a24684c1986760365dd76363a36aba245fb59b25dfa0872a3879d3092e5a3:0FѬ#@08c44c00f5f953e5ff7c7cab32057bdf9cb97c3602ff93949d07affc779fa893: B0e5694d19bda14c9127736f20b13d5ab5fc03f2c05f4b7bcddad9bfd41a4d6b5:0F#@578dfb628f420e5004d2bb7c6593142164fbeee7bbc8f7dd290626e50b921456: +Bfdb92bbb9a89a37bfd112df2a5eb25e20b96e87c7b6503cc95d2a0ea933c6256:0F$@de8b127f1cc8b6e90feff18520ba93336bab02d52fc3974a101f8ff24a45664c: B152150b6e80569bd02de2cdfea56a25f5bee8442c11ff6e5af3f3c40d0e9d555:0F#@d6c7335740f0a0ece2de5ef0d2946dccbb303c0e4880d74a82fe9dd7f8166e28: B178fb828da1b16dd55affe17cf2aca2d81f6bc6bd7a6fc700ebc275662467ca9:0F#@6b593731eb451b0db066e6f88d4db2a95b6efe933f4fa65fe646baebc04a90f8: B9559f54553e731e88e2b58a63038d14449736bb5614dccb494a8e933b6ceac45:0F#@3b9a1594a2264f70338fd02f71bf82d87e55b5d12670a3e0b991823f22152bdc: @@ -95504,7 +102666,9 @@ B72d721f4c1b6d08b153e21a67544094d4e797534f08b18445c09c28fa1631748:0F Bb8668bbe16fa014e7b8502e3ea9105b06172830fe0af788bb5c68356ef0617fa:0F#@e98b3aadd909e740c2f520dda2cc9571a4478d593c62fce49d8edad1b5f9d59e: Bd80173d28c328558017619cb7619f915c7bda963e9eaa3885d7f6aa33b6c1448:0F#@adfe3550b36d8d644fb600ec43b9eeb1ebbc03946631a2d8c93811812e61c3f8: Be88b645e2098618c6134b6345549e2671fa0b12cebd0738324886bfd7d9a9863:0Fש#@8af13862bc05b6e075454d9404f501e75d030fff1dd5216b1b1820de5bf9932b: +Be5cd4404b50b63a6655e828a756671d44df70d0a3dcdaaa956e838c475f2142f:0FȢ$@baa109e45295c246f41d1ed3975075fa760efd1b6798c2050c7453625ee23479: B0590978ae8876626a90bb33d702a741d539b15ac7eaa2c1cc27002808a9635cf:0F$@22bf6b03949f275e9fc806d8f2c5e3455342944d3a5cb14a9e2c4f79a7f30517: +B0075eaf34408705c063acc436857597867edf061fcace5078d3a381c5dc22abd:0Fנ$@cb3c35dcb32c70e1f9f2603850b48486be91a3e1e5aff442aa7ab81416b29e6a: B17a58ce16fb7493bc627fbddfb7178d0d91c6dff0f09595b4b186f819446a063:0F#@341c1301fe42eb6e5c593988cca3ae7b90d34e1908bcc1a30890c1cb0835743d: B17a58ce16fb7493bc627fbddfb7178d0d91c6dff0f09595b4b186f819446a063:1F۶#@5e472a306fe6a9ef92e6641b3daeb8e3e3fe35a8cb5080a00fbcd158fcc12ee6: B559915534719577c7feadfe3ca460ae9f252619c57d570174c3502ae45cc03f9:0F#@55a943f3a066bfd5e24a419f370d7ce26b6eda9120ae29f0908443a13f349e2f: @@ -95514,9 +102678,11 @@ B9a0d7e59d8706b0e1f869d0286abb1b48a91eab920c1ae4e9530bbf40b563c5b:0F B86bdf243758a7cd1610ac0d4929b799e7b01bd4f5ccf8268e117c356350b6dac:0F#@06dfff5470f1bf3f5fd1e548b50581ac6971df397707717d39d37f19c3de98d1: B20ea78977144af3691c07e2cea733cf9c5037da4da4f53df3f1c6ee36b6064b3:0F#@93d9cbec919511bda40a10f4e719ef17c95c0c11e0fe9966c3233361e00b8745: Bbf26f0fde03cd4b04a1193d5e3dca27a154376642e997121945395e204b9d65a:0F#@b9d0cb1e2a810b3e53fb181ea8f868566dc5605e4dad612ef6ec44cbca65d85e: +Baa9def55b42f010ceaa8f6a65f80cb8900ac89e0c56d7e3eb1cb1351ea673fe4:0F$@600b756aa662fad99e89f31915959e37cfa43e33dbda169ecca6fde114eccab1: Bbf8d11da29b10ed1685a8bc92c5eda2648069cf7b8aef11f2a837521ffdc3a71:0F#@e3a3f951df3122a08bb9df9c6a3ba974d7d717b5153de8e23781f712776faa26: B23f009e3d632c0552f831dd27fd936f0f823ba318f8a6f8c81d2039fd43e91bd:0F#@f7d5576965b37a06f200c084852a6fdf18161721a1c34d034fa4670fd5e95731: B6defdc28ce6b71a0f7aa5724a004e136349dbab623c5aa5791d3570bdf8761b4:0F#@3871d86f1a037d750714f15a9b075f62d9f62187e15b4442c111c7adf0916ded: +B2da0e347b7f7699627140beedb21264f8f6b08a6ba074b27ca1ac7d036418858:0F$@a8b75209ad1b9ed50126907cd156bb71d0466d21316b4773db08bdafcf021b6f: B91549ef07427c8a494cb0318dc5a9d22290857948eb22e83d3d8502b63982dc3:0F#@973666a6cac652f3aa5ae3f079057c57baca55a75c7741cc72d61ccc990b2ca5: Be9a801dc2dff37a2718ab5f95b30534b438105df5c7e27e3d0b146265062af5f:0F#@6991ec95677726dcdd08fc19cc1e8c6cf764da5a61e4ca14471d2d3bbb87f7b4: B1e9e3c79da9ece781aec02ae58be96ce32facd40b46385a6e1179304ee657f56:1F҄$@11bd33265a121c311784a9b59829334de8b3ca88275b139b7c8fd8e36503261f: @@ -95528,14 +102694,17 @@ B660b7cd9d8abc18533a8ad596168e834a9284b9cc907f83ec3d61dc75d8534f9:0F B76d317d885cf6ce0d01874fd10a0c6286c272a0b38a572b79cda445dbf16ba2d:0F#@0b78d13cb05fde46e312160717718d449726a64ced9eecc55201c38f08c1f584: Bfbdc48352ade22b53d22855e071a3b8a80cd43fb20464f542ce778c746fd6668:0F#@59785f15278796e9bae9cb0ee47f16651c4b7f2e376819a296b370c9961c08bc: B0e05be4cde95cd99a4f824f591c58231248f099ab6fc579ec24d8b2ec23718b3:0F$@dc7b0e4aa8aef8a974cb28982ee4e05ecdd416a644b466b2708e808bb1096977: +B7a1cdff1a64d86ff37e24d4ead0ba7ea3644e5122790323281f842c0c722677c:0F$@994ab54fd8ad0e29817b874dbf22b8220bbe05d40af72dd3936ade2ae3dd62c9: B8f87954e9e831fe8a0e70146d62aa7977c8445cabda519eb6d4697cd6a81ba5a:0F#@95d63f17e123c4850fdf5c1341bf7f180cf1a997cae86178c39881a2b5bfeca2: B97166bffe98166d5b96e84ee6a386fad8346357de38f617f620c13e7e68de42b:0F#@2a02d8c8f1c45177a9b12692ffd5e330f2b81af394146c4bfa0255b83470de38: +Bff32e7c27cf31aa6d6da6a82c5bacd298fbc5b105b839ed1b7c79785d2d09600:0F$@3bfcfb3ab5e97d956b12eb38827f9f50db1fe2590dd4f3937e00e5d85cd89d43: Be49edb30a238ec11f7c515416d31964409c227b64a4e1bbe17d8df5d47b65abb:0F#@2fe7f6be3fc47f5aca818503dd2b8f3e86a8a32e78c38beade4f655fe58e154d: B696105a8a0d7a0e3c903b2baf6669ab36b2ab882cbb8d02be97c8d08aa291478:1F#@0d1ef52eb5db89039fd8af64fc4bf480ebc24f29df8bab77c863389146e7d7b0: B95be9fa570b11ada3e18f3ea55d1b25000da69ccd42c0aeb94f69844d5f28337:0F#@6aec7dcbb6fec1edec315a96bda78de3a2334705146158db7c8bceff270dab16: B093ba299fb87d5cb18d53e2a0458393cb48fca62a7c756a17c0571f2777c1560:0F$@92f1978b756bd7233ec1f1893d9e1c90f324f2a525dbe92c2c635f734e8ec008: B38d32f3898be2fa4dae80dec10225deaa5d0a1657112b9201c3bfef1f193eac4:0F#@b2f25b243aefd51ee2d282beadf4c90cb0702a6ac080a5fedf2e0997df216019: B38d32f3898be2fa4dae80dec10225deaa5d0a1657112b9201c3bfef1f193eac4:1F#@28c147304482ae4185daa79dffce421fb1db66a25e9c8c00e874208eba6183cc: +B558e8cf34f79087cd30afc78c8721c9956c78ba63d44f0227e53ce2d4888caf6:0F$@8af642c187ec587f6130aa753531492bb8fb05b96e571b35c0c1286399029ff8: B696105a8a0d7a0e3c903b2baf6669ab36b2ab882cbb8d02be97c8d08aa291478:0F"@ad1f26af30512e251683bfeded939a0115608cea7830863565e883413af163e9: B4921408fc13b8dc1a426761bed18f7236edfd2a3d0e040ecf90245315aa0fe99:1F#@d218f1494721c001bd1f6e8b43937b3a1e845de04d2463fad8478c7351d761b2: Bb597c6f03806212165878cc54c82554549f7fb50f223f167bd1ad98390d34eae:0Fش#@c1904a74fd85fa6f91066162f0b0e6069684bdf116fd42f3b9e30c27994ef049: @@ -95574,6 +102743,7 @@ Be8f2983211ff7d391f71cdaf72d9fa17b0013d2845ef61f01682dddea2024657:0F B13555d845cffc9c69e007d58350efc5513a6e4709bbe0ce7df6df302ca497d4b:0F#@27a745cdc1cdd7842e54a9f14fb3f9dcfd55ab26e82d1064f1b1f2b19c41f568: B4770a3f7d4465a6af4e8f2ec43aec1204f307728655e1066d27177a0bb0fbad8:0F#@0cb494aa485d8365a723c16a4f1b840c557d3ad52f650adfbb4ee461ee39cc30: B09faf3b3d3b67d93724c1ed811f4d230ace476a8097d7c4b86ad9b651e1e8273:1F"@99201ce7fc040730ca792f9c3c15184c542019c4ea861e1c5963343af1647d4a: +Bfe426029be3464b4bf56fcd8bd2b6ef7e5d9513aecc6d650a5aaa320c4f3e95c:0F֡$@5f008817d0194bb9e67c25d2402d25460ef6fcd81ee846ee0e9f469158eb0fd6: B9f483e18871ec13badc6cd0c355ec58964f111d055ed74bf8e52fc8146becbe5:0F#@0d09142cfe536efc843dd492651021f9608f017d1a0080a17db0453b372983ba: B172dde6cfa1a6bc0a06fa80e0dee3f2dbfabbb18b222f2f89767fb32c79a4f84:0F#@7b6811111a392bfb2afe2419255503cc0a90fac55db852211673f1d2564fcdf3: B691d4e043ff30b869753cf8538b5f6925c14dde958492a44299b1ed40bc364c3:0F#@17c0f463b36412aa5a7568727c1eef859075f37e02325c56b7f2e09c123088af: @@ -95585,6 +102755,7 @@ B1a35b756b8c78f591f67c2e6a4de826db979195b042b57ed32286b4a81e92ac7:0F Be98bcf9ebc6f9119e2c371b65681194d416345c4cce242d2a1f0a9d071044a77:0F"@735a3b5d514eb4581813bab3b6b53d80cc0356f8b4a35487a253e385fbde792e: Ba3e441976107c668e9a4ea5950f2088331ee8690028f318af8cfa2e8c759d660:0Fޟ#@41d6bdc200d87875e000c145145359ca84696dff8dc9c56781669cfe5cc48e08: Bbf6868c218ef5d96a59e47766c858d64ea7229f4b89b2768064fad1a33a5a307:0F#@675dff9a622e1a757d42740d5e0050e6ca2c9ed660252f06afb131255cbc70c9: +B33ba41bf4abf236220d93bc83c13c588f41cee9162d7da84e4ba043decba8cf7:0F$@c119212be647c2122e8a1943b99487cdb9ad12cbf837c8b61aa8650b4309e3eb: B5f543975fcb0837d0d6d6fffef270a60f6b6929f81daca23c55627fdb9e2ce72:0F#@05e799c0b99d715327cbafe083c398fa938cce48cd9550c0d434cb397b3c883c: Bb1417ca8049a54f5dda273ae72de776d2830d00c9d9abb771dd4341332f019fc:0F#@1c6f01d65a329d8e36970bad9d655c5bb6c394f378e334e8d2469f349b57f5a9: B27c1e30ff55b18e750555ae3bc96e0ddb57f87e648a52e5f21025b4aa8fa5600:0F$@f16b7a6eb4513d5e1cd49cc4d1d546393447e7a4d1d64af345b81a540f643bff: @@ -95596,8 +102767,10 @@ B328b8278879b262d842cfa4ce673cca6edde27b4aef5ed99ccd319e214456d69:0F Bfb422e14ae5a5dc0118e4f06b7fe665cf76520627e1adbe882e05cbaeee9399e:0F#@4382968ae73facb7251347fe86b80879abee63fbf8fba63265a1d235633fd2e8: B25ba90ec32dcf6b55e95d0df63c218c63cd59c043b437f31c66b094112a027a2:0F#@a2f21b5448875f84acb7f0d0f27791fd25f23b1f8d422403700bf696a4c1e53f: B48467e432d7fad616b548ac45e7037af8323de31e4a72e57ed64357c935708d5:0F#@69446ebe1b5212511b6cd4ad0ae72ac7ddb9ebac45b6a292f91804222dff48d8: +B176a69e54279de89595e894248216abe33fe3e69955f8bce48101344a2f2abd7:0Fܛ$@12bb1b53e746d41ee3a10ca33883ee4f3cee92a53ace97d5c29b6eda3cf54da1: B4985d5679c75116bb1eacf6c443de6a4a989bbf384f0a89c2c1a7252e06591db:0F#@948071ae54bdf35e4181e094d5bc28c27403829aa3fff95762aa72a0fcfd447b: B43f68a9fa57aee9b9418be27abcaf5904a78fa4595b8206b2256d22db6f19461:0F"@91e9cc3c0b784a25fa35c7e55d414cc0094dc07871db68833affe27059f980ac: +B9c644465435069e765596df10e9827b2bc77af04ba0fd5531cffc1276cdc47c8:1FƟ$@b49e05c8d44f5b5c8c5bff54ad11db096e8198c9bcb79795853037db1987f843: B9c644465435069e765596df10e9827b2bc77af04ba0fd5531cffc1276cdc47c8:0F#@ee28dd6e72ab9c48e05f7bf439948a10f84a369fc1a8e6cfab4caf23b0b12c7b: Bf0ae01e23b4d880ef932d9699f6bf3169b3bec9d34752ffd8e79ac43873e024a:0F#@581ad2f66a916ea0a06a4dec0271a43dc7ebde58ba1ad2ea4f1f9c22e525a8d6: Bd3385f99207c95cc6661b097c50c075108437ad27d0a22acce2d1b017f50ae6d:0F׎$@da0531a02e7fcd5fd69fd1af529fcde5a74a33aa8c1769df18b90abbf89be735: @@ -95623,15 +102796,18 @@ Bdf476b91a0f9496b708fb1fdbcbcd0d6dcda747ddfa135103351f7b192bcf67b:0F Bd43b4a784f448a7748d86e35d6057b819218d852c6658c7596fe414826311b5b:0Fޒ#@742963b365cbee6265c17b2df26f9a2d72385e367417a78154e39f1e8e31c2a3: Bd3edf2f3dfe5460d4e17cf350fb3ea8337317b202127238416123c0da1f6a2d6:0F#@6218c3b9d5f1794f2f28b62f91c28c8f7b8c6e36f9ca9ae431b004ae1fd0c698: B23abf68cab20ffea92464cf2c62f63fb4a8590b6fb7e8b47e95cc9ca6056cb26:0FЉ#@ea1304816799e3b888444c15e066b2e61c53d66f7836d5f60769938812f087d9: +B0aa1418b3bee5cea15d7b41a9d7d0b617d88777f2d9e60a371c0a0672896662f:0F$@3182c275ef4941c77c1d91bc004e04d60c0dc19f8b7343b6efce685ddbb49d36: Bd7b9fb01d048d4df4431efe5300e896645de1c511d369614f7e87b0922e32665:0F#@42cc127a1d5c5dd05f3f59e85c7225920765557b4f54f83c8608334982449e3f: B5bd81e9647bb3f27e162cb60da97f2862c3045785adf6161a26750343650dac2:0F"@eefb5b8948ef746189b87ef18fcf1df3229f624d93461b2c847ea2f482ebce60: B8324adc655aa0a07b4a53b6bfbaa289af034c6a456e8f350b353002ead75fbc9:0F#@a81df3bf45b3be3fc26bc06dfab563067a09c7ef1b1e4db83e5ef1762a3c2263: B3e6f07c0b68ee203345430083beb2bfd9b1a581b8486ef6c38a8a13ef7767337:0F#@e25a3d2cbf208958197c6984563baa37f6dcd86b23b8aed9cd762080c0c1e049: +Bc3c3415963c07769af68b028a2b6d77e8cdbe8e44bf5c1be33a81a24415417b7:0F$@719ded5a4165c4b5ffdac2af330aedc9bfc27f04ddcc56df2aa8a8694900165f: B42c2ae872aca8ffcd9764749323c1c0bc8f32e0d6824843250822604e47d7831:0F#@11e9805650f3e75953fdc9e0df700fed257f37fb9c414f57477b3993f38a9d3b: Be339c18903c967a940e03702a172ef134507129c078a484e97b627a3180fffc9:0F#@855e1745de7637d7e28577848a02dd84c09ce9ca675d37b890d0a55937ac1ef4: Bd4ec5b4b14a68c1fa2438a3f22a9565aa3b0b6c335afa10860aff7530e8cbf3d:0F"@ffcab8303e59537484ad0e9f131f8a9c3cbdc4c8544bfc35eaa2054a46df1a99: Bd4ec5b4b14a68c1fa2438a3f22a9565aa3b0b6c335afa10860aff7530e8cbf3d:1F#@5c9e7560ce651d86dacdb798da419b9de7ebf40c5030401fa35fca3bda06e1db: Bf4c858f29a01d96c99f2e5f875caa7b64be4bd3c659008cdcf503920f34f8d2f:0F#@d0349768ea83e63dac6c13b20ece39f5ffc3fe13fa949b1d3317447a03ce127d: +Ba6eea699074fec12273be1453c8bfd6060fd36f8a38f483eef76740af0824b9d:0F$@0653e9bd150dbef53fd777e838b798635f84cda34207b9bef0e53da86939cec8: Bf72a1048725d8b8e30d810ec2502a3557a6f1375bbd5647e83a0c9b0322b9579:0F"@42918265da9aa09026fcafac5d0d9915f0894a00feef402acd7a0f76c8a8cd5b: B4c6d0181b1f9b994100ab6e842db57f926e876e01a0b23f704fd3bf13d44af8c:0FӉ$@138d35f918e9318ab488bb8147c9d9afe4e48373ef030db195085db2af2daf64: Ba74ffcb2a49fd0c51931a28e70535c03b2ead9d55be71966532b265ed1766db8:0F#@430720cae935ac397f80999504b109d83ebf11be5748a19f17028c58339b26c4: @@ -95668,6 +102844,7 @@ B12685d875931d0e7763873c7e03daff64906eeff9e79cc82252f9448852df2bc:1F B451e53f93a5e064132842e85684777e7bb850278f8005ac885c1921d71873192:0F#@b0d20c86f6012cf2216ba58a6a7857c728a4c27eb022a269817056075a4c3c4d: B522f78c7d4ea12b11472e9242699605478c2a2fb88564ad9f5e7083087f67748:0F؄$@5bdf3b90a60f4ff88e800a5b6a321c8c36ff5c0b5cdf4ac7ae8784e48cd4bef3: Be30bb4e996596696a8fd3c11aba6fdd2a3b592a46199a697ee95f780f7c0f865:0F"@696105a8a0d7a0e3c903b2baf6669ab36b2ab882cbb8d02be97c8d08aa291478: +B7ae031ef8cec388cfe3d40a7084b2afab8e827958b29af3656a4511089496099:0F$@9d67fbbe8df34bba143df641454aca72932949abdf71dbe3b98db35c0f501ca0: B309a281f858f25492f456c9cc67f30593a099188b6c3472149b81d28e1802831:0F#@61d6949a18a27d82df20b2755d7844ebd04c025906eb358b77d28790a1758cc3: C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:16H"@9a76629764eb2bb3672e06bc1a9b25db86dd746cc4082f094eeafb1a71458f52: C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:17F"@f5329c9c86fcf7dee3fa267429f7bac2fcdf89bfce3f8f91eee1304725af7c5d: @@ -95675,9 +102852,11 @@ C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:18F B1755aaa95a1dd51c48270f432e6370df919b42bf594027971e33571bab168c3b:0F#@b55d5fac91e811f91e5382de511b6060de74f2fcdd07d1606f792baa0babc1a7: B1686325f9c8d0e7e2b34c32bafb9a90fd2eaef418da0dbb26067cc210bb242e1:0Fٌ$@8cbb9435609d4d288e094856ceec067a1de3805aa05246df51c86ad782b788fe: B4b9780eb5f0da5f48273d2cf7a92061db5213b230c0fcc092f6c019c6d50e8f0:0F#@1b23f8c5b8c8be6d84f2d5a50473a3ed931ee17036d98f3d685fb25d725019b9: +B8af642c187ec587f6130aa753531492bb8fb05b96e571b35c0c1286399029ff8:0F$@16b58ec6b193a422431275303dc09ba1c8813f16e242b60fcee0c20a03974e21: B2b6a5ebbcf32f34dc9457607219c9382631a842c56f2cf41e55a27f795b92673:1F#@5f92ef807126cfd0fadfea8a24ed8dc4df957bab3913b358315fee06efed64d5: B2b6a5ebbcf32f34dc9457607219c9382631a842c56f2cf41e55a27f795b92673:0F#@19ead308f663084ebeaf2eefa0b690277548059f92bed93f41957c76a329876b: B2de369d7b0359dc339843c03d65b7eaf7235e3aee01a2f79c422a23e6886e527:0F$@a9b6da034f10e9a9d28734df4ab611b1d53b627d1d37582e25175343707f673b: +B4c9c55ed80b1b5c271fb1909a3deecaec35ad1eed23b7cd036ca703738407657:0F$@fbe30614a9de8b8a8a69616780de1c19197d9e8656cf6d9d02000f837cdf2725: Ba2f9b719e3b373292a66af9b4359fb3b8431407ae7dab3cdfa2652075bfc2588:0F#@73ba46f1f69a2330713234d0bfe9902ce753fcf914cce660eb12ff45082bd3b4: Ba2f9b719e3b373292a66af9b4359fb3b8431407ae7dab3cdfa2652075bfc2588:1F#@acd6aa2039133bb372945f8a5a0717ffc601798a65e961116f13179e9cff8e78: Bfda2d98f5e4a987e15e1f864198c949ec96f6fb7c57a64dd547d42153a81c924:0F#@809017dc5775da0e6a0f47446e9b01a534dc4b14fda98dff80ddd80d616cd000: @@ -95692,6 +102871,9 @@ Bb9a674c5a78980fd767651b7e94f4c0fdc52a7ebc8cc5c219ffc929595a7242c:0F B10312a8d046324dad71bb36eda7384e3838caa979bbb6d3dd04a3c3ebf7075c7:0F$@7e05c812095dcb3718a6e286c4736b370e4f506e973f124f90dd614453a843cc: Be6912371f4135434c9bc49479dd6b6e59dc2d88bb0eaaa478b3f64dff25aad46:0F$@171f49c5aaf95ce25f80ae121a6c1860c9fda86b096076c8fa017b2db06e15be: Bce7895367c5fd425796ae0509a7bc50db20c2aedd1b83f551ae2cdd54e58821d:0F"@15d44885160a63d233602c4f8273d7eaf6a17336e0b48092bd871885688eb78f: +B6bdd8adbb367cff5e1ca0b75947370ae9e5775ed85479a2b8e48516b0c4b6d50:0F$@0c59d9727b3765878a485050e96aece65463bb62975ce594bfc6922d83a669aa: +Bba65407fa7a2716c954e5204650711802774ebc352d9b6d9fb6ddc7c3242d103:0FĞ$@9d8613e74a587852856e0ae6391932518fe0860556ff747b3672c18dc8e429fa: +B6bdd8adbb367cff5e1ca0b75947370ae9e5775ed85479a2b8e48516b0c4b6d50:1H$@da6167cfe66f1756889f5093d41f7b29086bde7c2a2952a9ee05bb4f29b2e35c: Bc0a39387422d835ac3f51686fa9c11869dd3fa7916dce9f80a2c6cf737e6fe62:0F#@808ac50bad453acb344591a77b3fee0c3713a8e147a954285b8e342f4ff47045: B4bbc125ffab5959f51496d0ca62fba162ed56f40b7b786928ebe1863c53e843c:0F#@e7af8169a9142b592d0943bd98b6198a199efe58e8fd2869ba593027638087b6: Bc086573daacdb1382fd637dbc593f58c1acb5315a53d8cdc0a15a2c66bacd8b0:0F#@b419e47ecb6a54b82f86c7f563ff7a117676448c1ac5c06c4b8b08745cd19082: @@ -95707,22 +102889,27 @@ B28c147304482ae4185daa79dffce421fb1db66a25e9c8c00e874208eba6183cc:0F Bbe43d2ac117acf98237bc237492df7b87f9456298980fb825484a9ea261b2165:0F#@d6945f9810acd14b64ea03636a41782e58fc98bdf5c4d2df6dc2bf04e92aea95: Bdc6387a7966d75743153c7784c5e39a190e7509f1113ffac1d34ae411f75df59:0F#@136686fe2047e9ba78589f3d05f9200d9cf18609acfdf273a6a012b79a0a9738: Ba55be546f610f11deeea78e16088f4d3e8a477f81c3120e55fd115ae90579309:0F#@aaaab54af7741a5a6ceac6f5a199617e0a19120bb7ca18bb1393c05cc55a674f: -C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:23F"@bce4d04f8c6703e8ad6f9044d0fd737ed93c4d5d9ff5af6daade3759f2b424b3: +C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:23F"@bce4d04f8c6703e8ad6f9044d0fd737ed93c4d5d9ff5af6daade3759f2b424b3: +C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:25F$@5030735a966e7c38ee92c559faecda2c6bf36cd123331f0be22176ddb50cdeaa: C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:26HǑ#@58c04f3ddfd2d5d1274cef713818de5904dbd7c8c88d9f6b257c42c65174117a: B48d82d71443406837ef2459e8f45087cf0ecd8e54fac930d3318c91b06bd412f:0F#@6d33e3c03e8d654978052912facf0abb6fff807f32bbadba44baa108e14c7457: +B86a4d52ec33c2a419654a252d48383e28b6c0ff034a51a3f28632cf97e3a0680:0Fڝ$@eeaba57b979b1935c8f86ad26fc31567cc872ba36a533f9f18f66a8e0c770551: B6087036f61a1453f243ddb3ce0ee5d28d560fad1bff5e0596df042611ca34597:0F#@9863e208294dcc7af9b51cf534cb14724995e794196e85b80a2526ddea7a7fea: Bd5eec9b60d17ec773ce5989386567086e5029a7bfabb2f13020ce11a46f5fda9:0F"@d1b8a58c76f59d976326f49f168c87ca641ceb3a08f676be4b33a5f7397dd9ce: Bb0a6b435fa1cc8499212d52b7055dc8bb9db7de644512ab20ba2977bf0bfc3f9:0Fҷ#@00292fadaeee45e1152c1a74370c897f5329640b1eed514002dad2b093ac0fa8: Bb97f10f61df22efcf7a88306ebd332d715117594df9f4cc910957be511a21927:0F#@a19724b9c022be9058c6f2df60c25ce0df40130fb23b8dd7079869682c792012: +Bc48d34f7e069d5e777423a194a86529ddbd601a08692b74ab15dfd28fb0f8a28:0F$@1d61ab5463c880a93999a01cff05370ed3aa062ba09e24f2faab7cf4945b38d6: Beadd0075312e075fdc28c30da8da0a20dff5c028acfff365101903590c7fdd62:0F$@93a3eee1ed6adee94f7047cc8c055884af7a6622415b333a1af80a0d6641c101: C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:38H#@6cc4dcaf606d417737a3e45f921e326f79b6ea8e7484721c933f3144babf2494: B9061baa501395a04138fb930b285f8df2303f77fb55d95feb077fa627a77f625:1F#@d80173d28c328558017619cb7619f915c7bda963e9eaa3885d7f6aa33b6c1448: B859791904658b2fcd419c3159673f52370771116b33d21ca7548c16f4f1f3d9c:0F$@1b4e372ac5e1e927071c106571e5dc7c68740a09e16c3f7fc117b89b98fc7e34: B0f184a14f9af08b1a68bd49820a40cd6a180d3bb8a6ae28bbeafb8e3b92da680:0F#@22f12b7d394b334ea250be550d5b51eafb9e0f41d33cbc67055ac723ba1d5599: +B58d3636b9681738b5d2887254b146f6f3c1833b71564853432606b7e59f99eea:0Fۢ$@3e1bb1823ed20383c5de1d3f31537a4342f896f0bc6c9e177e60b4bd60cb8a25: Bb4504e411360ee5c7293cefb9985ac43439f9662853be983a15c0edccea9614c:0F#@f4f4086fc394127bbfb5e7eaf1a379b6b2ec7177ac780e0d3d526090dc45736d: B17b304627dd827a702e92b95a622f0f5a3fee7600888b2c85cde65b3a1926b2c:0F#@822f5b65ee82105e44721a2726991749596127d7de03e95b6ef4cf0011593a47: B94dab99313cfff9fdd4becffd113e55f240baec7de41fe63f7d506af59c1e278:0F#@7e881e2cd4005b6a2f61e8076e3a943acb169c092caf1e0adf9e1b726494dc7b: Befdc195d6129a7af534346625a9eea1c94b07b39f79ed59a1bfaf3f3230cc69a:0FĈ#@7131613780cb8cf64c0c92f31ee5a0a1a2c8aef3341114d51817109fa9e7085b: +B4ceb96d3f0faac6054ecf9145399f641c6856acba4fa84c92e63fdc02e3cccf2:0F$@5b3a8e378c543ce4b53da2e4a6587645a43e7673358703ba4d59096cfbc805a3: Bda93e9164aef3e221880ac30be1b834fa1145049c4cb6d076a7d9cc33aec8c0d:0F$@42b8df16ae6ca42239835cc7808ba6d5da3290dcaecd0fdd8926c4fbf3890026: C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:32F"@02acc1cbc0914525c8b364b87d5ad5c0dc614ca5d9296f03f18b4b0441993be0: B58494c324a32a678c977e84e41e998342658f10ac49b07245b669369f66b46de:0F$@bfe7a92d229ccb7398a50004c685b1dc4221286a04f555345a489201f09ccfa4: @@ -95741,6 +102928,7 @@ B55c9ac2c4f98ca2099b5064339b8323dec06480773898177cad909f4ede39b95:0F Bdcc58b6b35b16686d9e6c4a35639b7243c262517a29745182408015f3d1edcb5:0F#@a2b6a5fae1fd8a8f6da4d66375ce6ac82dc281c9ef425471190f8927f9889a4e: B113fe21918163c8445a49538db35848fd28d38b7427ca5d7a1294a17a3e59e2e:0F$@7e9ceec467796ca7fc23fc9e996d1dee407cb293e4768dbc861332ff9c47f2db: B95844b9fb875cdd0b54ffaeba6f67cce3f47b265442d6e3a6c3880d382fe9fe0:1F#@6fbcafb01d758535ec10a26385250bbe3a74ec1441534373ce9118b74360c415: +Bc49896c7cc6cd0e816137617ac99e9bd757de12feb442168266d781c4314a7b1:0FМ$@62f1628529505aebdf406fdb32e721325c6c026d2d649a8f787f0f1ddd6501c8: B95844b9fb875cdd0b54ffaeba6f67cce3f47b265442d6e3a6c3880d382fe9fe0:0F#@ad751803761c6f79e27093f639499e81b80d14c01ba5a14c971739d44fa80f7d: B4c06467fe1daaedebc55ee0a0fffa84ffa50838b7714d93a2e2c2ae580305fa8:0F$@c8eff8f9d906e9dfc3b9a23afd19cb03ab970e23e4fb12ce3755e4376c9f2f0e: Ba666294b41a5ff0aeb85fed327cc3b1a827283783506686f08f2750ce7dd0cb3:0F#@198fcdbd3da634f7b0b58579423aea3ec07f5616ca388c13a34fdb6562204f93: @@ -95760,6 +102948,7 @@ Bf78ffa91047671814896acabfb8eee252bb095fb47d75f7fa64252731dfeac40:1F Bf78ffa91047671814896acabfb8eee252bb095fb47d75f7fa64252731dfeac40:0F#@4470cdbac88c6ae709e0ff6e787d5c27dbee9d7374cde491cef8e25232d37f72: C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:48F"@1bac3a7db315c36c1a407e29ffc15ee4d7ed1a377bc7c47d1ce0825be2fcd4d2: Bbd5d4064be353c58143ac09ab061e6a11ac40532e38e314ebbc563f71aa645e7:0F#@c3a93e1240c47c5c984cae2a35d405b43ce90548165d5cc93f76448394b27d07: +B3eb0f268c5a47da62fc0e68225c172c2425b5fabd26d64049e8c2ec73f629cca:0F$@bd72d8a3f43fee23d83dd86ffd3422d441edc2017dffd3bdb13bf10a87d30078: B3ebdcfc1f12f63ecabc991110699c572edfec6c4f3c1bed5031c9aa258917d91:0F#@a958fc935580e9342966afb433f0da77c85d2ad35b86a507575003df6b124c3c: B5cd3c91c1ff4a9cdef33fa88cb260cc121fbe66e7ecf65eddf4123e097f90962:0F֏#@a7b8b56335e5680d9f916bd22d8911b000403ec231128c36c658233360d4c1e0: B305e88724a7d563868e3beea64be94f13372d0039827a34e8985edd512041d6a:0F#@2501356ca6a369ac49eac4bd3bc440cc766be47740521df83d08d58f84b46f59: @@ -95770,7 +102959,9 @@ B7332de738f9de9b79ef0f0bcd61af1777973ef4effb9cfced830169e6a71f42b:0F B06e894e511d35c78f0ff83d34fe7bc2a3bfce30f8ca36b095989d70c58e7291a:0F#@4fef415efb3782780d576403fb0f1f5933b87f1d7f808b432886930c39e0e804: B191a7f6f27c542d21295d8fdf5eed85b0aade94f3fa73babf73eb319272f8791:0F#@6a93279ec7f2d7d252a1585478885ded430e7c1419d41c48e5f6ddad5a0e42b1: B94c6bcd43ce661dcb248c0a04da23140c204a3e50ba330911d83cbac25646b30:0F#@b6d65ce76226e5c53cf9402686a99742348e469873053a2c1786be17d60cf98b: +Bc894860ff9005bdcf63efb36dffd85f814ac1a3bfab06af4974677f92d7b90ad:0F$@6b9c9e1874b8a10437656c124b5d3da6f088cefd6b6c0bee5f430c7d6bbd9d7c: B0cf1a960cdce2c707f75bb6fafbcf7fce4685acd3f6c97d3aadea2b0a619d8c2:0F"@1f830e965523a3db9486bef2a29e55b5b41f251430f7b8c2ae6b5d45ff9a09aa: +B19e0cd6e4bd6897f64727136cd393c994a38f7c66c5fdb75130ea8f19079de01:0F$@928e7e6bc5a727ee8f7419b19244a5282fcb7313c17d462024002c1367849297: Bb7046d30e828852296a92919e0e74c90aa8eda3af785f0746fcd4a9992c83f7e:0FǑ#@f657e2eca6c5d5ffcb077ac629fbbf6bb8c1313b11f75a5dd56e42fd70f501f2: Bfcf1e544fa13f9da4e00447ca15923676d21e62bf42563c1df8125671550b82f:0F$@e15a0d3edfe9aae33973bad813a81f4ab75f51c956474cbc056e3d9af2f39b10: C4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:52F"@e1da1096ed749882f4a7af2152b645ba501d1ab03ac6547b58a9ea1ad8bcfe7e: @@ -95803,11 +102994,13 @@ Bf259744528544fcd8d40164c4b7a1600c5cece5700f8eba9a30cbfee6696bb21:0F B5aa92b34c0a58b46688b81f0791371addb677423e6fb1907f367ea30b9ec38f6:0F#@5073c4166265aeb414c572959b02b20adaf0363fbecee0f5e3bf27615130a494: B79516359ae11ff0ac80f13c84d4870ee54c15703688c530b5198450cddd30622:0F$@506aa023f8cfe62da733aeeef7506ba2e86e5da8a5a09c89c426ba94348c7773: Bd239b911df40d7777dc09a25d6e80d9e94ae221bc23fa13ffbace8d34b8f51d6:0F"@a3c6c6e8ff12bcb4b7ffb6aedfa095babfdd069ebab495f7e8cc04d94d55ed40: +B6b786776c915227e1b9865d54f8f44767adabe3bd1e97e604154ff633dc6ae4c:0F$@59e94fbafa784da5f4f4d357fa702d62ed72c8ce33a419b95f3b85e177db0844: Ba4e241839c997c3cfdc16eb9954eaf495f3cb2eee54c4b8a72f65f6a1f55d9c1:0F"@a86b9bc17818a729822fca8b8205be29b57c7f554037835e9ed8951da8b4386e: B06b6f9b0a56caa779f47e951800b2176dc48fdd6f3d5c0f61255895ad81ab294:0F#@c2eb746dcc25bf0446c8ce7c60e88d356ac84bc236b0e64de4e1f0aad6575d5c: B9f0c9eb73728e2830a00cd3623e0cbe20b51f33571b87441ff80e349583b6aef:0F#@02f3eda6dc178a3cd49ba7cd2b7dee2277203610ae016d8f4e1e3dfb9ea409ce: B7472a36406c60c25c77927a183c36dac738d9d909775ea826edd7faef404f2d5:0F#@e0c45e294715a11e610f2977e6f1e076908264c79e950deba2549611315a5a64: Bf4bd06a5d742109936a6a10802fa888006472b0731b1ef825b13cd9cb6edbc56:0F#@7b4876da62854fe3283d56f490973c59f5de1f003f961ff9130e8973348c1110: +Bdec0bc4cd6f93d28da516186f5ff3509c20b013f031516870d74046c86522349:1F$@5dad67f34f351262c2f2efb8f2349a0b9ddf1e63e63aba07e0bbe91c6e03f3cc: B7670c97bb34bf73470163eb59eec1b60bcfe6f9ba757ed940091a3da17e5648f:0F޸#@4d41bcd4f7344025b64e208491c6d640fd552262d83f036917b9432903ebd820: B7970bbf77aa795aab90ca4a29efde45bbd84a9c834c5be8fa6382e9c45b948fb:0F#@2ff59530e5ba474c0a50d1df3bed497cfb159ac932ada2da45493c27573a83dc: B22d5a33750ac201d3d7513739a368bf4d9ef13324edf8ac057eb4c56d424f0e0:0FЎ$@fcd7699856796c9071aa471f1ff0f45afb5d6be921024ba29850adec2cf0d8c3: @@ -95851,10 +103044,12 @@ B546e1bbc8e959fc63b9c7eb7e1ee92f9af0e495fb9347c7e1debbccb8d8ad0cc:0F B653b8f89dc0dfae228f3fb4f31ac723ccece1a53467c344a310c489e4b8c9633:0F"@68d9eb265a5931c9f9ad006642502bfff016fe44a975da0491ad51a26190a1d9: Bfa723bd94321a00fb79a7d4447135c3c4c70f022a70adcff0b6963c3778a3e79:1F#@6854eeedf39647d7cdfff4d8f3ed77a4afb89c647abecc6dbc4b4ead54388eb8: B4ad25dd99c7faa83fd1f9af3da8d692b9cdc2ff79d426e0ab53628d6a82f8b54:0F#@838a62255d2cd311acf321024a33d29e1b792d535446f4aa3a7d76c72a1a1899: +B196a45c1dec50fe7ec4257bf9fe7b871d495f7aaaf87c364f870aef6a6e441c0:0F$@f0b2756c9cbfa72db5ee373cafd4e06e538c01175dc397a1eee1ca91a1637a29: B882441c798e03873bd5bbb0ed8c2a2b23a1b3a6ab049a1078c574e6d3b2f7dbc:0F؃#@713b284440cc05524efa3e1886b05b03aaedb164aa96c6b0589b7ddd7595af82: B31a6c9b5227f2708c9588d8633f149742e2c5638fe9ca60ff0ca5c16e87a1ec9:0F#@7a017971520fa5d728718a2ac5d7cb1c5843da296fffb55994d77b3085de81a4: B9da13e26a61c11bb778f2656e3d50966a0e2586423d6ae3c3a36ddbd11db60ee:0F؍$@4beaa2ebc3a8e319075863f617a009b61293930faa7dd9346270b37c11cab946: Be6ebd8f85b1d4120738785d3f87012d93376289f7fbdfd39d4a332343f4aa3a5:0F#@99fb29ad254bb4e6859327155be8cc7d0350978a12d1f17240aa2222029a5568: +B207d2c38d50381760e75c116477cc19c7ea6bc248cd259e8287b4ea016e83575:0F$@c11659f67e914a78ddfc78b6db8045c58d4c5948020863159baeb7241f85138d: B3663bdd98646b0c4d03e57a46c4b71267ef3479f1f3e6459d1e4bffc06540ce2:0F#@54dfa082128fb01fa431d1ee294101421334d2ccb45015db94aa5356a7e83233: B3bc94205b0cbbc49e9552fc5143fe1e8969d0bdf97e862bc1ce2dfd088f9e2f2:0F$@e1fd0c313e3159497168e729be7c075349736b404d0ac38a1815e5cec360c264: B7e665da270f57f0239fdc9288c3acb94b967734cfe6a8189a40e0743967395a8:1F#@50e300ab0b1f22f8a2fc84c67429d05f19d02c3352aa4ccc83514ca099188d9d: @@ -95865,6 +103060,7 @@ Baa42f1996df6fc98f1f23cf2c987d0974bba5be3efde9d51965d0f5cdf6ad0b0:0F Bc1167862a12b72a48b424af353ef933e6989b1edfcc502fa4eb060cbf2ec763d:0F#@4288789dea08c14451afbd0757eb35e0bed140fa40207ff2228f44f1b49c35da: B1b4e372ac5e1e927071c106571e5dc7c68740a09e16c3f7fc117b89b98fc7e34:0F׉$@d31f038a0e360017a5a13e6354dc556ed2d1b68db6faef85b288dcb0b1858cf4: Bea602b0a120c30b5ae902c825ec654e50e8d81534a73ca9f97012ed3b35c6398:0F#@d00f2f63b068a6e6d62a689653c55da292cc60c2a3b7385f31e6da067d91d164: +Bc63d73f88fd56f7cd6fdd4a439ab32286121e9ba029958e7268ffff6530625d4:0F$@4a41ae0ae6ed35484915fbfbd77551c96b3e985641049f21cfc6c08f4b229dbe: B1ba767330e087d2b83614949770504de89bfa3efbf92852d4de8a1df2bad28ba:0F$@f85684085cf0ad5e92172eee22c249f90819dbaade0128299267503bd63e573c: B6b50652614c3259037621897b01cbaade54f7eb0aea97c8a97849f81213b3d5f:0Ḟ#@977f2a4c668d231a9bdfb0526b17cc15269264889056cf3915c9b54be83a1a20: B09e6095e49d4b3bd5fd31822e7cbaedabb103bd2fbf85ed5525e05f8b714eb9c:0F#@ec4308d33dab33d137e8d9f2d1d7b27cbcff584ab6b954a834c147292807242a: @@ -95875,6 +103071,7 @@ B6471158b161092d7dfb18129d06a8578e600033aa07851ac980008b017d01305:0F B7a0fb66e9a748527d7a0147ea806888bfb4d7beb1aad9fb9862626a7b916a731:0F"@9fe1c5822787d1b67da7e3d4cc0e7f19d00494faa1db6e385a8b678929d4b564: Ba461aaf777239017ebccccd2d5759a46d347ebdb71228af0579140b1c538ba69:0F#@3ddbcc170c95737e1f4cd087ae4ff7e657515ab6b90d4540c6b9ab8f80caeac4: Bf1fa996e4f65ad1f4a75c194aa912f328f21596d2d537ac842abdb5d54e42105:0F#@372591aef230bddfe7d46db8a1561eb40c7b81ca10a5fc2697e593e68f18a4a6: +B8a2295fa0f985f9b701ae2c49b2a425ed6f8f4668fdd76128e4451b53d31db15:1F$@b8a18a6ff0e5abdc6e00c3a8b56dd851e101871482c5cf2bd1fd1ea083157bc8: Bcf4c60cfc2b7bf25204954c94e0645e641781c3752e2dbe0444ec01d70d3f97c:0F#@d2839b1711dd3533e7122d202926273bb08064155a55cf77517faf575bbe1c8e: Be004a4062a8c146ea8b4a0c70d890c028771bb73d3e017bca406f3f3aa9ad492:0F#@f34080a68a026c57672bdb181c6a3e025a2d0cb379494cd3ea8bac14ff198772: Be4bfc8da91a0bee19036f059e09cac40f7f3a88ed299dfb11afe300032bd7c26:0F#@326268530ae56c797bf7dabc31b1bd547ee1010df6105148212f3d50fce4bdde: @@ -95899,6 +103096,7 @@ B6b295f1be495863b24889bdaebcc03a55f1a786ebef308f24a8beff8a3bc4095:0F Bdcc438ec13302bbf1043efa5b16110bb65cb2bcbab4a53932ce80646406ef35a:0Fƙ#@100c3d7689f53171bb6a710772939005cb8e9185250a06ba96edc4ca8e6ef81c: B1e04f112a75394bc0bb6a2ba0a52528b0dc98dff582c47dc92f1299c42a41354:0F#@c8a7d2c767e1aeb36550819fd9793286a1ed6e8dbeaa28a205fe74b22aa5c15b: B898e5ed5f1575faa4c06b305b904edc5152a46cab05dfcf1ca71d6087e7f380a:0F#@f9f01027e08f53cb0392c2857e7ff336a768746362bad62dbbc7156d2b8bc361: +B28de2e2fd214d3a3cb1bb1345b53855ccb33cb9d382c38956113859123447d2f:0F$@b58eae0c23b4d46fd4f369c31c51fdb464f8dc5fc852b6d96450d1f37b28516d: Babcf6621d8ebad73ea5444d7722b667fbcd2817231d2314dbaf0bd251f74134d:0F"@7fdab924482de5c1d39bae2a8ba47cd613c2b3329cd2678199987d6f24f9b75c: Bed82a089bc1553f742125d058afae1059e325790301f292db6d4984f8e48830c:1H#@a40744241e97652fcd3c9c15f21fed3d61a45dc60e642242f7a9b87efa08b3f2: Bed82a089bc1553f742125d058afae1059e325790301f292db6d4984f8e48830c:0F#@e0f9324fe19a5cec95974851a039164a0bf7e6e06cb20dffa584dd4c09695145: @@ -95919,7 +103117,9 @@ Ba2e04fadbda6a239413a63a22ad1fc1296c7ebb82082082465d39cf8c2aab333:0F Bc835ff28c50bb64a3049e128abc946addf2ecc8df0a956c7e3d900af0451b41d:0F#@84e700528e9317b9f4b889f5574f451a405f9d797c1b622942ea4552d87e2b1c: B1b8d81564be647c90d7c03c851e93438738ba96855b4c6c826e54aed60c8e4e7:0F$@fe143397a086721a6b84d29cafe6b04f3129df9d101b57f6e19ca83988a4f24c: B80c7608a0011c9a60af677818f7bb5748e2db14494288fd5eecdcc8c5c29c712:0F#@c99ef88c3d57d493e08caf754630a1b9334d6b937b7706a92288b2115f9d0706: +B68a557d213d6e97827d20f6e4430851e10e53f19db2c66e75dfe16be1b477f96:0F$@1fdbaadf798bfa8643c151de5270a9713aa9a4f5a858842761fa872a3459472d: Be5ae210678f81f01d93498c7a8ef3e52117307ffcb06d41b2ecbcbb8e729d5d2:0F#@f2ad2f9938bbab62eb3148a854b9a18d9df49ad5d39a920534905654046bc030: +Be23adbe44a217bcd346b2e48569e98e211c359f28aef98b41fb724b8e7167525:0F$@f0eba9548a31732e1c77362c2552b6561d47859981b51fa7b159032de3ec7e0b: Bbce4d04f8c6703e8ad6f9044d0fd737ed93c4d5d9ff5af6daade3759f2b424b3:0F"@df3fc8d74d8d4992f6f0ab6deb150eb00f80d044b87550ecc3f0add34bd5f8e7: B2e353718595cd9799c20ab65e5865300b1100cc652614666c6f957b9dd19ab8b:0F#@efd1c7d008b92f77ee0cc033f92cd9cd5ee370263f89a7c4db748120a040a56a: B6f47310dda4c6495d9486939d66be1690318f2453298636374405938ebe8f7f8:0F#@a1030a8a6e757104815858df5775544c501afa64cbdfbbac25831edfe16e3bc4: @@ -95942,6 +103142,7 @@ B8f4a6462da6bf0e07d27a347aeaad3ca7f411f0306d1a1827c5a1a37a45cc0b4:0F B144c2d190d2edf1a38168b39fbba8a0676b94079b0c31badebe1fedddbff66ea:0F#@887e55e29f3080fc16c9971c026c7db89de0e24817bd4a54bcb7a982db9be29d: B1aa49b88d8dc4d660baacf557f7268ea6a63cb5daf85d19d601de0a94be6e8d8:0F#@9dde1626561e031c83ee730877af04794f0903204acf9830684ab315a8a0d6e0: B0bffd14b67211188eff774e2abe75e90583313470b08e6b177fd44a004356b1b:0F$@6e096276b274b3a4a81d247d934cfe411f016408b349f03d8cc52ae80c370402: +B09c1ce57e56d4572c92feedec44bf3fa07556504f02d0f53ac5526ce6af5798c:0F$@4e4183f1d980b1bd25cef64f01f6a674c80734dcd08b61b839f18db97c8e1269: B061b1a9edb6184c73aa02b021d680d5739d9a1dfc123b9134dbb4d16875a8414:0F#@2993a3b797bb102cf35006bccecadbc9039b46f3c739a14c040ef486ba44eea7: B0951883d0d77b79ade612fbae880b8760576ffeeab8da42c4e4ac7caff2b84bf:0F#@cc7b47aac06a8674e71c79f8647a6641c3f7a863ff8cc353f1d41aab683fda2c: Be56a5956c9c018301a866a5b2ab43585ef67952de9cdb5c4b323ac708868f747:0F#@5574fc28bc09751307a47b22ffd131e583fe40cf41eb39af38c42816e5a2971b: @@ -95956,10 +103157,12 @@ B57b33b8377c59935cb3d7fa2d1019ba51a86d00d3aa53ea78c2fd3132c35bc55:0F B19a919ae8cd34f6abd50353a335298145b56d8df6de3626e76099d800b115672:1Fܚ#@50598aad0c63db9a58dabb633aba3c854d9cedeb21856f4daebf7fc479d4136a: B304181686b6a8ac1b29ea227615c3ee41fefb823eba59ef10e1c6eb8781cef94:0F#@8753bf6679b08bbab5e4f062d24ebd6feec747af708b95f0183e32ed5b18f5a9: Bea87b5623252c32807b5e9389b516590c17df67f85f380bc60056e3ed4a71c45:0F#@b45ed0188ecffd16a519104828d28350d0ed053eba2e298ec7ecdc8f34cf9252: +B69a11b2cee6ec12bdc69d86344504df3a7bc25a52000bbfec961dd6578234209:0FИ$@d8a2b223b5f72b2d74049a79736d9fbcb6e47d49b4548bf7bf9a11f997a2cab6: B00c26f89ffcb18387ee9ced817560911aadd9f9c691cf606dfe90f75ba422394:1F$@a81954462632c14c2e51eb6071e874200059e7f7e8414571eb8ad1d26d6fb492: B076415085e8ffaf37454b3aa0341e1e265ecf457cd4bd19c640113fe0ff5e5a3:0F#@7898fae888443a90757007d4669264f16d71c97062336573f8abc30f62470c3a: B00c26f89ffcb18387ee9ced817560911aadd9f9c691cf606dfe90f75ba422394:0F$@07e448d56b39ee9cc867a36146cedbe59d296aa9fe9d697d13b0ecad2571fb8f: B4850f42b769dfd0d3f5b7fcfca96d3d1ce03101746168ea8da6febc11d464996:0F#@7496fddb311f74abf5c77b1af4c85f95514e9b067efb4e90a394bd624f2086e6: +B6ae0147c424ce5b60688dd2fe0c4702325b91b3b4efd6244e0527f1804e57532:0F$@7906dc73b9379a6280a3fe194a53ad91f564b822f1b93e72f7f95f8babd95b77: B7b80e7b99be41f41b7a8e9119e6284b75aaa8fc0330e0a64f6133bf9c28b0964:0F#@4dc0551243db957cda5ddf7a75ec0c6de9347a820df21633f0d60534e95ea242: B968f7d99eb0f6f8eb01091064ba28e29bcd897464f810d15cdd0777de6de4f73:0F#@780d271b96e26b00d1e7d624197babb530502eb9339a4e520407e591c8e33777: B87623f504a9a77a4ae666cc1276707a4ce495ee337f08d27a885221a4a492bb6:0F#@2165e91319997fd670bdb3ce1a561ecebba08bd04a7fb89d765c8408461129b8: @@ -96001,6 +103204,7 @@ B3d89a0b70cef9f1c175fb4de122fb259a3b4e5f9953f4172f30fdecf0a6e96f2:0F B28b16552039c1967d1d7fef6ccd25ccdf36439e3332e78ede82d3fafcf36200f:1HŅ$@2a7aea63993d93c23d5a3ba61227b4a9a48ba8487d5700a2f664f7d8631adcd7: B5984997ec7bc9475f6b50349e18543d4327d1dcec5a147f449117518cca63c4f:0F$@0874957da54a8af1d8e58d3c915f478722ef5e7d46d3e902117281b69f34465e: Bfa44a578b74bab83aef6a23056e6241b2b0c4e7101ae429c8b15316396b22a51:0F#@e8858170de32c251500e7db8a151e95fc81501c3a19d0d835a245fd92dc2983d: +B916dd166eb6b64a12153989385450f99f179de2661efba2773f8f86aede03cb0:0F$@2dbe9ded7d4fddcab34927e05da558f4c27b991f493da6c80c4d4ed300a20758: Ba2e10d874d3375622f0004bd510c303fce8f89e367290937e122190fd9ae9a13:0FȌ$@c81333ca36344958d0b2bc8456e14ae38f51557fcc75b6d56edaaecb65a64117: B39ee691c3d418056ec6ab9488fc735f378ebf2e1b70c31eaa8d2b51a805cfaed:0F#@43a18f3f95e3646ba3c4791bdd69c9486b74e21077db1f8e6e8823f4267faf2c: Be86914167e29b690394765001909a12589dd9de6805925ea9cc28cbb2f16a9e1:0H$@332cd29057bb4b555992ba3e050fa86c77a61f17bd1dd132aea1e0705372cd4b: @@ -96015,6 +103219,7 @@ Bf0ab4b272d41545184ffdadc4d91659c68a0f69c9f85824d9a8de3a605a0ddd9:0F B54bbc7db0f2720c245237b00dfb1d6f7267ec2157248d16052b561eac5b68113:0F֏#@a91937d39b968f698a66897fa23045c25157d21367a0150f1ba86dac70fb03eb: B157cda8c503b78a7b37206e6dc29ee863c8587c48c395f976795667a13032cef:0F̏$@1db154fcc80970ef6e51af54a25a85d394a1674f47e03c93845324ff4851298a: B92f46e2ba488aaf89d3aeb791cb4779aebdbcb61c1e4f992ce39f3624d853586:0F$@8b17deafb210732f9286d6146e5f5f561a0cae71640c02acb7c7a1dcb856cc8c: +Babda915d1fd11ab1c2e40e143899861f861c07a6eefac15c8c1ddd97a9c25770:0FҞ$@8ebdda25687548c9a5deda355b033e295f937f8a6f999bd85e05677560fbe5f1: B29470bd5f1b5f75788689b3c52f104b85f4ad4bd5813b22357c09d7d2543ae41:0F#@ee9c9dac7de66f7e1308f5f0d708133d7bab76a76260fd7d103637e0d596941c: B7ddedc7e0feb83f3a82d60c99d711bfda6f3fdf83bb81eb128f2b04c4c8b8ed7:0F#@aec37731eae4ffa1ce643ee95e954e20cac57b6078e6ade07b231b1ed7dae5cc: B0fd799ed19c5b9e49916bf6ebe8dd79df943891e9d3cee2178f80b623c7d13da:0F#@16bcd2e5dc6bcb79142930eaec5ad3f55eef57062fb10b2d65e87148f6d9a0eb: @@ -96035,6 +103240,7 @@ B3439ae90ecedefc5bc078447d36bb8d6bc216df89735f933f8685ed5b928f9f0:0F Bb7320f4668690796d6f86ba8ab6bc44e9582278d47fae72200e5601f4a9eaa97:0F$@8fc21e65c200e37064bb000d17566ac10b02edbc2446790aa02a40e36cc109f8: B78cdcab76352e85313ce2029af2389a06af5571f6b164121ad45b36c1b9845de:0F#@c3f69db6538b104526738938bff6603f8e806536dff818c87c2dc3b1c56e01e4: B8b906c8957ff383c00e4fb7523af75f85d604a323d6d32e0d0ae16850bb080d9:0F#@a3396ec15dfb6227e34eccf877d5b349d28ddd57a303714d3b05d7d8540053b9: +B9f53e2cd997732642c43f44387b57be0cd6178443847c491ad91cfdd3fcb397b:0F$@d0091643c787517f7c83b8078d9c72a8ab54132ab13669c37aca3672d044c641: Be0489092167f7a897a63638d1cb12a4a1bb0a1bb389609788f19df582d491191:0F#@c66240f61f26fbaef313a32565f774b4a2213342eb34c0c5c469acbbba47a9d0: Bb0505759a0a8d1c7d7853d8a00f8cab04e43cb302cbda58217c44157aa9efb79:0F#@b7046d30e828852296a92919e0e74c90aa8eda3af785f0746fcd4a9992c83f7e: Becdc1ff3a77f622801744e1a2a6f068bb36dbe6419e649a4f818ef6ebc462091:0F#@e5a8c3be6f7f061a251158e9319af48539995d313714ad130bacbdf29ff5b7ad: @@ -96056,6 +103262,7 @@ Baaae3cc96ba6db1c6243616051e94d2eb85f82739985f652ae00e284c2fb4c6f:0F B313667c79c396dd882efef4d2f6b05ec48f8cc12144dda386dd300c8c91944ec:0F$@d70efd828f9299b0475acf3ea7ec68ca4d036baacaad038807a6d9c9ef50be9d: Bcc99bcc6e029ebe52f50756abc1afbb062190d7af41c2687988dd3aeb965dd01:0F#@fcb9f60044fa5595a1985f98884e28f8be554c807fae6fbb79639aa4587b4311: B56ca48bfd4b819da3d2f9a2eee56efb922f4f8ba50422701b556897888c6b8e3:0F#@2f95fca32230d5a1db00934e5239fbf5ce6947dbcbe7d5a05675643a2b0b2b96: +B9ffd5d63f6a337a1aaf778292fb1a6b2c163f5047ae89a8f06473ae9c97ea82c:0F$@e491ac349155daafc613486cfc0458627e6f520c7ae88c0b6ccc2ad1d003e033: B1f3090aa1aa82ffb53b68dfa5df9d4ebc7bd2941b18e2b17e4b067addde86002:0F#@54fe4950338e21058efcd1d30c01c865b38d9986e8e0260f7ad5fbe944541105: B1fea5db8f60eb10f462301d52d3247d0657ab5d4bec79ad838e69eee53e532f8:0F$@0a3ee3f6ad5c10536d37132960376df04a0077f5178ce4c9963a3a0b01cd9615: B0a5d3c8bdaf5cacd2ada2460d3f23352d6959a05a9759b40a36425a10d091759:0F$@7268466c37c7aba5dda2abf9860a468e10ff29a9566df6ce0e4349a985997534: @@ -96071,6 +103278,7 @@ Ba5b0fab6c290fe05345bb042c3751ecaf0beae107baaf321b8449512a0a05d3f:0F Bc40799b5b82d7009d939743ac9e149bf0b5241780b6a03ccd941a4b386ecf69e:0F#@4c23262f9613c16fa419652fe81a2916a420a0e9a890e18f90cb4e249cf6dbe9: B733427cae65c17113164b46fd725e770bf4927cc30aa67ecc8a531cd028171f8:0F#@6bd76f90ee52dfc9646b5eefe1c30c0ecedd42e76ae076648816320ef79858ad: B10adfb9acf3f600f9777358736364be5e583bc9bf7fe0d3da9039e1d496a1ffe:0F#@2815c2a1ac67bd759d6fd5bb4c8ba300ffc6890f6456424346ef95856c86f8f5: +B9624bfbd9b5bb9ba0bec21804a698636729684dacd1a1a9a59b958908e509af8:0F$@b2595d6f60df8181a04dfc140fe69ec35dc962d7f92c40311ae16742dea987cd: B5da7c86b150a6fe52b595a673a10c8d5fb44dd60b3833c5e051b4dba9ba36f54:0F"@0f363b84c3606e6bf68b72388593cc191176fd2c82a969bb75cc189ed4647798: Ba2bcf926f16c202955f53c139c6295acebc5a0af1eae2247f6fa9be052e995ab:0F#@aa4a696b23c0ade9ddcd7a63e769f358ec30b7e0aee54b088cdb9ef8135afd33: Bf56b05ff42d0b66545af61ad51154af3e13bac554f6763e61780a4f1cf4f4ef2:0F#@8f4deb9eab1325a95677feebc248327916bbd5f7f1df9c285eddaf4530966270: @@ -96078,6 +103286,7 @@ B644334032d3cdbce9bc89b93ede5bc209862295f1b611e0ea579eaee393e43af:0F B900e9f0e4226ee117f075873bb2a83cc51e86b434e6a5c26b6d171abf7e021dd:0F#@0be1c4d7d0527dbd163132977557391bcd275bd88ce460216272b6fb7da50c16: B4a0018b21d2d754c057e0019e8bece8d81c1b0a71d5225faa42784b97b49ce77:0F#@8e816efd7b87a40c98cb36e5424db2b1ebeae89d9f1b072a6bb7a663da661cf6: B199c6b525872d977eb45fd43e4c289c7c2b47bbb4f6a42320416c22978cb6614:0F"@12916f8551183ad0e35bdea4df1790afafea459de395a734247b9412383eb641: +B8598563ec3c0db30f73eea402cf55cf7e1f4c2dc76ac1a2256aa5414bc9d3573:0F$@ba9bf5201eeea8a252d918e300876a6020c2c9f3bb7e9d953fbadaab7d202152: Be55cc43690343306b33bf247cc401dd6518a468a5e73333071d792d32631566c:0F$@548b3bd4fd5564b8443565e14e190d6942904c6b371b1d1e2279e1de9d34c541: B4f06a10becdc96cff10c47be93402630d152d200367fcbf5a8a534ba029084e0:0F#@98ec2a20588a7781c30339e6fbf3e6572fdc21d809f334195f87b0ccdd0843bc: Bcdf204637bbd89d906382a88ea7596f6aec98ddd11646c34521562bcde6fa5cb:0F#@9495eb02665cc13d4f9ef26da006d7e4758c1b4401babcac667604095a5fedf4: @@ -96103,17 +103312,22 @@ B73e47f135c3b6bcac01976926e9651db29ca986ef79b6b0c31e86e11782d1283:0F B7c6bbb9a25e9eebe73df4978a1408e43d86e895b862dd2781da90ed60ef09d74:0F$@a898f781bb1aa1b0e6e7001a3c52b26728483030d8cfcf387a073628eeb91a75: B121d4a90f6d2eb28ef0bd74e9c6717e77558054573ff208a40d591e4e47da726:0F$@3d7d99926cbf7846ace19133bd489fecb7171af689a676f61ebff48ca5bc81c2: B3989f3932fee8167cdfc453f24fd843f06a79c89cf6b297f8ac7940618e01d45:0F#@5e06aec1bcc73102b775900fe23e4f86db085156b389765c73cd9c0e2426d258: +B7495400fb294b756135f1851dc9ca61cd828b2ac384d2d22e082ea3a327834ff:0Fܚ$@ced76295466a0f236c97846cf1ea7a60b5b69b182b6efa4bf3f3e3b5a811956c: Bb51b3a7b0f56fb752acd6256b5254fd389c54222e3681bb874a458b227c512d1:0F#@8120cfe06e1ffb0ea13f9882af38a7607a0d7eb6e2b218de7a6cd10044c28741: B588c70b8b9c805391bf5ce5a017cc09e39db57144b09442204446204dec4f4d8:0FЃ$@a3d6e47f30477e85aae1090d3936ebfa9ef10f26290ba7cabfc86c07d932b850: Bc6462a7ba33046a0c3ad3fb6ff148fcc2c9df7fad5603216c55b59ee3981a85e:0F#@6e9befbe88261750f8dfe094a0c70a6696e25b49e6860fbfab89701383590004: B8d62004f172e668d74442d518927ff3cd519ab41d2174631a93265a5cbdd33ee:0F$@65406b2d4dada23cb2c7e54592abf87307e0579b61cfa86f0c9c04f5a1aeea3a: B61ab0e1b8a73fb9ca62fedbb9fbd85c6db914faeca5a07ebf31fef2160d50bd0:0F#@c5a967f48790d82d3527376d00a1d5f9768d751d067bc6d33068656c87a764aa: +B6deb505933b4207c178ff50359c919a1d6a581b92a4ce6524d088636403f834b:0F$@ad7e3ebe22c8e10c2882737236aa753305fa65b056c0700e3bafb144550ac1ac: Bb8c7756b829218160e286b07759ca30818d43595e988a216bb1b92644e13ace2:0F"@8f4a6462da6bf0e07d27a347aeaad3ca7f411f0306d1a1827c5a1a37a45cc0b4: Bb8c7756b829218160e286b07759ca30818d43595e988a216bb1b92644e13ace2:1F"@010737bb7b26b1ee1dde63b2b7314f5017f8c4cd83062dc76b9ed74dec8bce72: +Bbf0ecd64ee03a124bb772a015100c9ae081b2d499017866156db30d098b75b77:0Fɤ$@d1fe75a369416af70471380e00d924c73a0ef87e10c01664de6db4b244733541: +B2bbd57802ca6c1507b0fd4e3e7dca7e1ba10721773dc68ae2096eb1d2b5733fb:0F$@ea640ac108a249bf4dcb17c500e43ab29b9ca552622e2e8fb384245f8c3af836: B4c68b2b34a5a7fdcc3faae5910cd880b90a7ad3120ac169e7421e8fbf075b335:0F#@91337ddc612968baf6ab560c92c3f7dfdceeb6e5798135f2ebd50a05a3b81dcb: B5aec8cfb3eaecc43aa750d88c40b355fc91bc6b99d9bf9958ce94c60dfe3327c:0F#@53428f6b0e0e06656eddcc4972f5018615cd8bd0b2541491b183fab9cc834609: B6b100edabbbc1342bbe92267ebed528105339a1d985834170dfbf015b491f5ee:0F#@d12944459a1d3ebd49d863b94bcd14f726d500f41caa65f80090fb5bb0409115: B1a46785dbba1a8d222510ac602f2c6f6dd39a87dbe1c35fd8cacf03e00c0ec08:0F#@5e239f39fd734fb057bb1494464b680e823c5879dec0295cd1f29aaf11fdfe58: +B1d581e2a194113e9f4c218d29f1f2db3a9fb5c1edbc7a3e5e6568dd5bd5f2654:0Fٜ$@dd4fafd1ba7a2f55eff54cf50e2770c67322e1f216f9bf7ad85017abdab15384: B1856e066fddd5a053e3bc1b16a36bc9b7147f66b1d4dc87d2f81cb2f465e3511:0F#@21b28a89c33be25c555ab5a97236c7836b8ab820184f6e882bef0fe24d279b46: B3a21e6cb18d1d3ff49258517b36258f9c10d38204f8879f9d1b5091320cc34e0:0F$@68f1a8907aeb5a3396734c33773909768e1239761907cc9354789f6ef903410f: B766e0f995903202654620faf64656093bcd6550bea757d0b2e463158369e3897:0F#@a10abc05dc0edd88aa1edfaa3076bf1a72de5d659943853193cfb7fc557b4643: @@ -96130,6 +103344,7 @@ B2a2f97756aed10322161561655eebdcde1115ba2697c1357d06c7f4b751bc303:0F Bbcecbd398c196f4badbb1ef6ee56fa2d817f70d07d9dd5d276db8c03e185d2e8:0F#@c2c69d36f8d75f379d129a8959ba7b80ffd65f5c890afc889253623156089adf: B6c85faa7560087060581326cce978e080b02388bfbbc57e793316b6b6f2e8a17:0F#@deee302577a7d44f9cdbdc4d43e0b6b15b65a8bbc1c61e4ef2a51958ab62d502: B66ed91230bb62d2624c73b9ca1e78edaab9b7c3c34c87302d5a4e402b38ada8a:0H#@e4d269458d161ed59ed03e77ea2df185d9741d8f867c3b5185aac7c16b16b848: +B86690c7a6b660a244bd08502f4cb72e32a9e7d4769ebd9369f278affed951abe:0F$@c91048a34ddc48b8f4f1f3a11a6f6f0dd36895fba9d5c6ab687dee3ac1a04f69: B7a487308412e2c1c9ede9649e6768c3bb1c546c93aa546b60b69e6f92ff72290:0F#@eaa31d40f62cbc7aca799cec3424861fafb1acb41e5a0209983d4b2509ef674b: B7e3e00609dfd9ad8610e7ce8054c9f4523b28855d8aef8fd780dd191ed1fdcfa:0F#@3b161b9c0997721337039da4ae4eacc2be75c102d9d479163ac17d23f0f51afa: B8f2e4cfa7319f7aaa8bd95f518734d18b12b85ddb9b21a863f2b2e724993fafa:0F#@af829ecc065fdedbc61b84c0c3caf72d7dc25928e99ee5bcd89e7bb0a51a1ed5: @@ -96144,7 +103359,9 @@ B6067c1528053d01ff76c55148ebf0aebc18971cef2e5cc094548d9f780261445:1F B90685f1daefb582c4cd3c86e13c0e48d5ad52432ce5744a2659d8fdb2ade6fa2:0F#@df7072ad77c2e10cb7040274fabb3c5dca312fed0ff5f85e056382b3dd21ee57: Bc8feb39536db657a44ed285ec2ebb00ff2512d33f81d0d24ecbe86c84dbb434f:0F#@74c26ecc12177b5936c57faf11e2da1389dc18442b8f820d99961f431e8fccf2: Bf5cc0934edc7e71ec45b1f48c238faecb2f41ae99d02670e82e240cf22017e0c:1F#@0e967ee9839347624e9786ea93bec5b639cdad0ee161a9a4487eb901333c7253: -B6067c1528053d01ff76c55148ebf0aebc18971cef2e5cc094548d9f780261445:0F#@b370e27aabefe0c72ffe1ecfb7e25f3ce6699bf89e33c9a28101ad348e527e12: +B6067c1528053d01ff76c55148ebf0aebc18971cef2e5cc094548d9f780261445:0F#@b370e27aabefe0c72ffe1ecfb7e25f3ce6699bf89e33c9a28101ad348e527e12: +B62f1628529505aebdf406fdb32e721325c6c026d2d649a8f787f0f1ddd6501c8:0Fڜ$@4d541d790684f3e62da6c69b40075baf8feda4a2b631fbde0b17a70ca13ab019: +B6ff7e97ee0930d5e9af81ea99b07acd1d4d7b27a65771103d31beb3696d8ca93:0F$@a7d4df6ced82847ea66a95fac21e50b415f99f3ce10f4110517c3c7fcb094acf: B2312f3c657d8d3f28dfc667c83dcc0982a339f4b8a6e2626fd0d04eb705bda8f:0H#@63c58d37a4a0df304c4030954a9a180eccfba56d14347eea46e909ec718955b9: Ba7dc4797176ac1631d0f0d45b490736973a130d17b7cab1a8cbec2ac386cd245:1F"@ed1891c06ac75b857ea5fb3b4ef827d2aa4fdd1a39a666be6a55976da40ad494: Ba7dc4797176ac1631d0f0d45b490736973a130d17b7cab1a8cbec2ac386cd245:0F#@af16e5b7364393415b4e239d75639ac213bd41dc467db67b87ca35aea4a77d51: @@ -96175,6 +103392,7 @@ Be38a4f5644818f5a2f224f53c8bac8411e8fba8696ea8935cad4eca2e86e3fd9:0F Bec9e8180ccd409e46398965414d48a3be63317a5e563b5c3bb7a093953e4ad49:0F#@6ca93543a65d862c5ebdf6d53e298d3b46dc6f34918432d0afb4fd9518e40c33: Be8ae3991802ad5c52ebc79eb5a7b647525c5a4706758f753b0040ed1c2b931d6:0F#@1e2ec522916a9d69d8c4ad9796eb42f00effed1c628c8b644c38ff13aa2b1ee7: B6c8387a389d333920a887993521dc44e3023aebd4df11838b2397b7952d643c4:0F"@83cae583cd1109ae9fd07c7158af1bf43703804c1452b267e60a07e654c6ab66: +Bd0f5c6017c8b4ef4edce349e920a3ee8f6e717033276d0821b999003d6a25a00:0Fӛ$@78a4bd282d62ddddf3c977a66a6b638e13e9b64f06f59d92251b9b695916d9f9: B90779a68247096cd98a9430b9f7def85d5c4f6618a0173fc541a6f16714bed67:0F$@251de8b105bfb8ef418afbacf169465d1d64be9342520a0b366c8dacbf58ee47: Bd89f1c10e0949df07d70dcf5d39cb0d3b906527483cd172150e1b336d1a38685:0F$@f0d96acb6097cfb9f334c6012c88abcb1cc632c646f779c5c1d1d3003d90e7ed: B3857dcb0cd95a23d44f9e3d32e583fb0ba609e4b540ee27d9a1102b759083991:0F#@16e3ddaa7abe585c5c37ddc3e102dc246102c2ac88b52badac0532dc57cd6fbb: @@ -96183,20 +103401,26 @@ B92d71a47aa440242f53309eb278bd0650fc8b344f4c43dfafeb6f5eec45b73dd:0F B1779aef6a71d49b478036ddf04f5a20cd146bd45f3f478992d1815a05b76e0e6:0F#@e6ebd8f85b1d4120738785d3f87012d93376289f7fbdfd39d4a332343f4aa3a5: B84e700528e9317b9f4b889f5574f451a405f9d797c1b622942ea4552d87e2b1c:0F#@1fd923ec8dcded7fa4630878548aad81691afe08c1845de05cda42a9edfea4d4: B582a65e8a633985f8adb0abd7069740729c2afabffade8133d0e7697229ae81a:1F#@e7c36391cdd54c9cd29c65e5c7999f7a1bb1658cc00fe0352ba6c3a2c51c5f0d: +B6ca5f88b3fef90dceb5cd6d4f332d76f8c86ea607b06fec32aa48ea27744e812:0F$@2ad9f9d9078d810b1a8719fc311d6e9fcc00c8f1f83da62ae6d36cf5fa907bdb: +B86a7440ce574dc6f04183134fd4711974af2106f398aca2ad4d209e557b42886:0F$@b87e3f7cb7be86f61b15c1ed5fd1829057cb9d4fbf1f81d736548c92319ebee7: B676470e3b5ba02073d644054dad9251b995dda81125a8e5f94fd52dc6accb64a:0F#@f8931d8ac079687346eb6b2805ee285a4b6ad8841c3083d494464670e06295d9: B6ed9138520cbf6310a20266af036b099e218c7089f10da1045f08d37bb75c780:0F$@759f40209ceadfbce6bc9800c66ec10070cbad19e625c3f7c0128dc72bcc8fae: Bc111d2da64441558c18641de6ff7cced4c18eb351b9f0ecbb5e8b2677f6b734a:0F#@7fb393d5095137fc599cb00dace6e8b647f742b834068362315342c691a09e7d: +Bd5ec4f1543bcf5c0cf465057991410a1a268e151cfe006386d92d8269e670e09:0F$@7d978dbac59b40c6d6c97fee863720437d14497ae8c57c45f08308668cb067c8: Bb466b55e36abd3aa5b422024ca9c77413fc2a7ff1d5549b841a5eb1f2cc38fbe:0F#@a0d3a04d1b535f8045d733f18421b44b0fc7b4d03d5b59e5d46bfb169a14b6f4: Be1da1096ed749882f4a7af2152b645ba501d1ab03ac6547b58a9ea1ad8bcfe7e:0F"@5526ca2fcb308dcef5a79beb7147bdfa77ca384806fd66e37f183ea3344bffc0: B94e8fe0b14515698a0da39de60f425ed8216b564fa63f8d07b0a451999d7c3f0:0F#@95c6de9488fde2743ccfad5ff62dc00946f7f13fbecdc9b99f2e1d864ae0a40f: Ba7b8b56335e5680d9f916bd22d8911b000403ec231128c36c658233360d4c1e0:0F#@a466d7fe2621b211f8f6aaafe82cbfac9c9c62acf398d9f45b6438868709b88f: +B05dd349f8a8d6abc8b07eabb1a6c931c078975e6030a9565fa83ec06c1087f45:1F$@ff7666ea37cc2148a7ad8875524fa9f507676401efb37a6e811b7e177ea3e2a1: B91f35950b0a6a03211c41881ba3c9486102b2162f9824da3ff04fd77c1770017:0F#@913c8cfcccb97250c8852c074018d85bcc0fa056ed528c7dff3b8c900694364e: +B05dd349f8a8d6abc8b07eabb1a6c931c078975e6030a9565fa83ec06c1087f45:0F$@4c6e5299cfc1dbbd2c354960df41ac9bf4184fb71b4c2039e18677146e89d4a7: B2c4fd48d17d7c5216f9e56b04c33f38376de99b622766d3ed01981ccbe2cb000:0Fܶ#@e2031b72b4507a029824e67cd512f0a9ade99b4d1ebc15c204abc4baa2cebf30: B6efad7f3d7281df59b916f8b3b7a88aea544fe404f5e1388f236ced9b0c23a44:0Fɱ#@077e002873031240d987f49c1d924587c043d49f99b5103a2804e8b2bc7a352d: B1bc120b47428e78a883a80b59a39de552d551fd70943426ceba615de94dbfbab:0F#@c82bee22573a1e9fd0c545ff1fc6469890f164d721e61fb12a02ab5c17c05408: B3eea70f55c152dfec46e70d52baed50ee23104392a4eab37f41306b8f9814095:0F#@cdf204637bbd89d906382a88ea7596f6aec98ddd11646c34521562bcde6fa5cb: B2c4fd48d17d7c5216f9e56b04c33f38376de99b622766d3ed01981ccbe2cb000:1F#@b6f015b0a1ff35c378ec04cd31a6bcc727bd56bbe5c5a3298b1a36c999790826: B91f35950b0a6a03211c41881ba3c9486102b2162f9824da3ff04fd77c1770017:1F#@6255f0767b12cf36973988b3dec415373c7a0111fe2fcab3b7c39a3dfd124e84: +Bd7ea7aaeb4788604bb7debac9bef3df9d50e10dc2aac20c59cc1e359c664dbd4:0F$@195d29a1549bd0f3d22cb72515b9d39578b1febb68431aa7952e85ae90a62a05: Bc605de86a12fb9db15978ef951070bbd5c3fcb88ceed474b9c7f66019246df30:0F$@1e74f066ae38d091054d73fe3c93d3676acd58c4f79ba655514118fff1c317e7: Bb2222199c73c4c43fcb910509e59933dce82acab38952b22c03339902de52646:0F#@0e287db2c8d433ff0bdaf45a2acf564f478e2ec066b7d6c677c499f005b6f53f: B51514b988076ae3651f331447c31277c64a996cda5b32a719448aff3a1a3ee1d:0Fnj$@9ad5829a12d2d951fc32df0852af8fdcd6862d694f8155cd5aad25f9847181e2: @@ -96207,6 +103431,7 @@ B363df00fa2972b39705b55e3e5a00e4daa9b7a33513adcad5e569c3223ae7f6f:0F B6b1ecbfb4d8221e4cd7e492c4e2da0cb3f1acd26cd3b5d44f4da61559f274126:0F#@64c90b8474a58ead5c82e85e19f9a98c7bfef09b159c52a0255e2ab1c1614194: B82168de251485cda7247ec97d0ba171abf342fe91788383903568bc0ab9a6373:0Fּ#@081642d6f871683b920850526b7f090a10eb227d63951cee3614f871a66aff19: B7eb2aa2767c27db3abe3d271790bf6f9a2341a9a96cbe6be3e431eac5d660b20:0F#@f47a5a8ace93749b95c20c33a2ff1dcbede181758bb35ca731e8605ff201b45a: +B9bad8949796d3156b85c63246fe4c2609364e47edf97c25f3363ef0819c4aef5:1F$@4c9c55ed80b1b5c271fb1909a3deecaec35ad1eed23b7cd036ca703738407657: Bbae5e4b31238e8853f657a38ad79118e9960c9e58b4c9ceb56e9e3facf9814f2:0F̞#@e240e599165f2043169eeb5164af94c2c4b672032fd9ce28c6417e47a7ac737c: Bc2170195cc08842d113aeb9cc16a4a402e1fd5fe3a5aeb61472d57e01c2ba724:0F#@356fdc0db36cf34455d653ad9d7d0e36a3f2a6334b72347988ff2d4923b3846e: Be305762c24b0db5bb19f16c7ff6fee4bb44c9668e4968e053d4d25d44dc7e975:0F#@7636cef54f5e7e6766eed09b8eafa3ff87638a5f6c89b49438cbdcb40ea21205: @@ -96249,6 +103474,7 @@ B91a09a98c503639c1d1bc88f5b2950be630db0013506fbd498e7ef8f92039360:0F B01aab7d4a2b8f4405f7f4b10bfa178f8532072145779696548279816f3b0e7b8:0F$@42fbb7c7846ad742ac90b748b5eb53595106270ff67899ce9a3d9a0b3e59275d: B021e3f4b2e9b7806a7dd7ebdcf0758ff1bc64d099220ecb4fa255b601a48b801:1H#@78d86d13d48ad4e82c80801560d9aa06ad171dc41c854edde5de51f399a3d31e: B6b5b2f649e0e4632af4aabbd2825b737b3333ff56061c748e12d105314eaf5d2:0F$@b0c3842ff94c54a1cf34e655162d5a47890402f532e4bc4d0fa85839e437e4f6: +B008fe5657bed8e1aade3d17dfc3d6c68917329fac0ba1a68295ad822728a5fde:0F$@cc9c66d46d938ee83a2a4025485756b7067de29a363dc6f648163a8c3e213f12: Ba50e92f262356e1cf9adfe3471178c51df90b3820b37475b51e63abf78310f70:0F#@19fa1ac93d063bb438b9892e5e1055f9be90ceca77ee1311461499eda6b4f3a4: Bf02f14a163ef064ee2db39200f12dfcdd62afc9f39560a74daa6862eb4829354:0F#@2e2c964bb733923c3d0490a6e8f00d740f160f2ac9ae18f3972a03830eb5e48a: Bc6341ac346293fe64fcb0863f8a9c34342e55d746a93fd9896a481b1551f6f8b:0FŔ$@c4fe38b255cf4c80f173a7fffeb8a985d081f57adaf44d6c9f997b13eeb207b1: @@ -96258,6 +103484,7 @@ B021e3f4b2e9b7806a7dd7ebdcf0758ff1bc64d099220ecb4fa255b601a48b801:0F B4ef8611921acf10c6f7b65f8708ac2697aca3df8f88bdf25a47c28a738d106a9:0F#@98cf5400923a4c393210ed0e9be33bb0923c3f3e38878a7e7ab7ffd32293c544: Bd966c5520b5b4884ff292208a10f742f7d2c30338a02afedb9a311d093cf2158:0Fǿ#@19b4bbcebac78f644494f21d1898bb25ad40edc750692bee9af55f1bf2479d60: B628353ded0ca09a4e9eadc656598ac72306cc24cd493d460f591c53561291513:0Fƺ#@cc615a315fef3f401b1c4503c53cbf668d0181c4acc075901f763a0e153e5c54: +B0d4e3bc4cda3c3a1cea2e8ab285d8bc6a49366f9ff3f876c4726ae59697bb0d9:0Fޛ$@77381cecd54a5796187e372181e5821f65fd1b94860ee1457e783404c37b2870: Bee6a3ad6bb177cc79d48f30075fb0ad542f2d3718c5a8be80c6b81b5ccedb586:0F"@2d99b349bbf04ca5c540ad823cedec8911771822463edac094d7da3e2f2f9e58: Bd196715995e0a94b858d7da371b93ede9d9f9303a6b5a00a050fce9d65f3df0e:0F$@1e050370ae5460288d42d3fde6b8786dc03da11bfc6c35a45e82bb40f52d852b: Bfc20e4e4855a9270d154e018d60f505b31c8b2f39780c4763387397a43969fa3:0F$@e9f0ee2854be8321d83b136e9c4185ee6cdc9ee2dffe047b318ba38b5d00b71d: @@ -96285,6 +103512,7 @@ B4f1d7af6c56258e80c446c6365862820d438bfe5c3c629017892e9f7b38f9b96:0F B90fbf33d98091c7f0d766ef80e6e6ade4f98de8567f7b2828e55661cf63ed2b8:0F#@4fb0fcafd643e50b6c121782e8db970e14c0f1bcbe878bc234c792f477bc932f: Bb635992c45131b18f3556c08228df4013bd842ecb916dbe0b38412c521569f8a:0F"@c01e55cf22759b50dad9cda0ed4d0d23c5e405c4b9c066d6daa4aa506eaf267e: Bf6d3fd2b9b4944a13ab388f939555117909883586ded46045890cdb37fa05a4b:0F#@bf4a7503924c5703d8cde57ce72c667f9e4be04f77c4ae9a68df33936c97cb76: +B21c8125b7d67a28221242181ac7ce5c989c197677fb4e2cf1451fe6921b717e5:0Fâ$@ec57d51c0bafdeef4031f91350ec8ee0007091f87864d96f22c370af64858123: B8d3db6208c7884dd36e031447d1e4d81ee34ebda05dc4c6c0276d4506f770874:0F#@fc90ab98abfcf3c1bc1423708faabc6629970c586557592f141b95f7abce99f5: B540efff9d7de12456c31bd2c4c61d5d58a866b37a16d8ab0a1606676bc2b5129:0F#@286f13106e1f11875e11b11295ef9d4413e6f9ce7f504a95c7ad76a48cc1ec9a: Bfcc51f650870ec0daac18b23980008a8fc61532868666d9c39eccb097bbeafb9:0F#@755b4cc42f16147646ce5bb662f69764e546afa290e2b3e50935f7ed465c5b74: @@ -96294,7 +103522,9 @@ B20b62edc180c02eb3d71c5b1aae85e92a243ac38b20e6be514086f272a769e07:0F B9d0256e2ea469ff6498ed5b060cf7bdfaf1c9f7d7fe93b6ba663ff6303410a51:0F$@9338e6ec6e14d278acd02aea8efffdcde33e3fcc1d174e5c05067a2778993793: B7dd841b6d34ad8b816e7673f6598b3733b2a7ed558a2524d48e8f197f4165708:1Fۉ#@8f7a6062c4a840c4258d0cbf91bb5f29425705bd0eb88adf32ac0f3989ed7f93: Bf6ef25c6e40d0e334019cae42ef48e394ccfebf30a94e31d085ee85269759b69:0F#@144f371486f51a44a09279ac7a21d182767f896c4a0494ae7c656e9e170cf636: +B02990065684d4c4fbf67bdfc23ec3e5dad5745978048ea7bb5fec5358088604c:0F$@56194aba754fd337f38371a47ed3edf23f3a1926cd70ed572d56658b40459d89: B594002343a071f30dcabec7a53b622d94b1e2292bda22775fa71ae7a929a8197:0F#@6ab7349a269614569e133cf3acd6d9cc0d714618e312fd17ce080ad70b86fa44: +Bba673174050894b2bd1b3ca7f63ba008ebd9c5aeb900c89490c1b1d97cb8bc46:0FУ$@dc170246a168ea9f6115bc380ab765f450bb5d62e8a61a88c869d8827995a79f: B4dcc693ccd11a350cf21b1494fdebc2575c0510bd676bce12a4fd20b5809d169:1F#@7f4420c9ca3a64b54f4888e030727b6cb8733d9a8e5494d081bb014c5745f24d: B4c07cc45bccaee9e0d195977a00af0e4fed91c84ea52ad6baa781f4a883584fb:0F#@b043ad1233853fc1f7882a9c2458e01d4a73b4e2b06433a37c43e78e39acab47: B4dcc693ccd11a350cf21b1494fdebc2575c0510bd676bce12a4fd20b5809d169:0H#@682c95f1fe1e8de067d691013c968223af3849b95acf04dda6554c2c37f9d33c: @@ -96305,6 +103535,7 @@ Bffd48c90ee01eea2ff2ef2514ae81536dba2203f30c3b70b76f233c39dd1cc15:0F B5e2a3d2aae6f77dc9691238c97e26de35feec8af50d9c408352f0006e3fd986a:0F#@f904eb5ea51f0f73505cc037d0004a2ee46b757a1f8d82fcf2d070abd663bcba: Ba0a18d8f72ce2af2d434fb1139278225d4addb8e685d0045e4d412ee8d4046fa:0F#@6eca5edf3f0ee1ecf292bc2cbb60632c751c0b7126a1f5e4f5594fb8ec2d19f9: B56e8d27f69a67c5dbe2deae702e0911340ab26eb23c5e23052df62fee1b23db1:0F#@1d37b7d40d1f005ea74bfda65468fea2d2055bf165666405c1c9b93b034eb110: +Bb3f43f35d3c0732a5bb221a785ecc7de1df3956202a77317d0eb84cacc87bda1:0F$@fec1a2fa1091c2f2293a455968f2c71655650bbaca9e59a56bf7245e424b5b62: B1b960708ad8e2fcdbabe43c45fdba4f37e993b2f3c7d4ee3f2724525566761ee:0F#@e10d7f0529eb0f5640c77b307abeb4846a61ccda6fae83fcc8cc0dd4aef9fff7: B20d6e86a87e427a6a0539a1030e00ca0a8fbe16cac6eea5fa2251203e1f7e476:0H$@4ad499617b78ebb69d99ac51d5259263e9d0aeb17b6a4ca1bf72863c9e4dbaf7: B71415baf2e160cd0374505134e6e3a8a172398392a403432f54476eda7e50f0b:0F"@ea9525a6377dc85895c3fef099bbb263958096b3344cc5f5b4ccedabe2d3d51e: @@ -96328,6 +103559,7 @@ B31c76efb640ffc40561f33babe29ff2230d0e2ec2e96970cbec888735598147f:0F B35359e5e17c0cde312e1654fe8e71d5a51bc2cb22590028116e2f7aada43ed56:0FĎ$@c1f9fea6365658a099ff2cfb25ecb8c49d241943710325d08ad01e805a83b049: B1b684f634ec67628ff93c4838118f127efa252981dd6d7df1f00e61c4d4751ce:0Fݮ#@daeef1ffabb952a6e7ff397ecf0d8b5efec4cf393d9ce2d28940ca84e52d5afb: B1f830e965523a3db9486bef2a29e55b5b41f251430f7b8c2ae6b5d45ff9a09aa:0FÉ#@5f7eaaeec75f66f2abecaede783d28d13918fc95a8e06648357b2fd6bcab7788: +B0e788adfbc6d7cb5127feb4aed590d350c00d038b53c8bfb8fba5301135e2d01:0F$@cad6b92bd012d91cae1a32a6d812d0718bec67f454d505e9bda3dbd7e2c1ec90: B1f1b58cc061dde0e9ccc83e93281ddf72e48ad623ac259967ed61a50ca838584:1F̌$@8682b6e654079c7e1f1a82a3d4dfefef0381f9d166164561fd22dbb869607285: B236babf0ecf73d23e8233e69983323aa33edc6ebfb53ee831da5e3c1702a1628:0F#@933c0d41571db5adab4489fe50577f17b2aa28238f18f5e7c84f302a105b981a: B219cb24cd41393823a8fdedb62362a02bb2db14e4774867c08f2d1c8c51c2d4c:0F#@03f1e737f8873bcc87657ce76780e4cf032754fdfe6bf7fd807dd4d61db52346: @@ -96351,6 +103583,7 @@ B3941707cbccb7b2117f5194e151e369ec643844e10ffa0f7741bd3275d04c269:0F Bc82bee22573a1e9fd0c545ff1fc6469890f164d721e61fb12a02ab5c17c05408:0F#@a8054a27e2d2e429bb8d2bac87e90eb6873c33ce486348bf14b39ba790af6c73: B6e123b20600c81adfb453d1f33a61aad23dd4863db49fff46e9411d8956ad358:0F#@cfc7faa98295383cb6ec2637775c9948e50ff67fd05bc8be1c8e6123b43218b7: Bb1d953c6733d3294d28b52c04f81fe17b5e8d42ca475c3d224ccc4579d37a9b8:0F"@bc671abea647edd1b9d752e6c64572767a36c58c3451412f5826c70303db196c: +B937a70826ccb6abcacfe7b02abe8c464a4776bb3c85f6757d217f2fe80bf6a29:0Fɤ$@bf0ecd64ee03a124bb772a015100c9ae081b2d499017866156db30d098b75b77: B9f2d18bb9fb31884ad12b53d6b62fca300f09f63567fd0229c868df585f6500f:0F#@60411ab8524fb203336440f9dc7e5e85ed33e289f04ff8d4d5c3ae72accdc850: Ba098ad960e75aad57adf4323d7e68903ee380be7e085ac3f4c4e9fc7075d2bcb:0F#@f34ded357e7c96d51df322defe13d07b8714151f42d892f996ef0e3db18dff1a: Be4e09edce144e4327a39e137d51b1f80b8ae78568e789e19ce7ed01e18deedf0:1F#@bd1ca26a2e1ddb27d01440e0949c266c6263c7b6a35f6022b634070d13f8c5a2: @@ -96388,6 +103621,7 @@ B9667a747257a9dd59294fd210f25f760abe9cb944813b11cf4a14c34fdd2c1a8:0F B96e8d04f8f268f2b2b3ecef66276c121ae00a76de21c8b4d7f042f7630cfa1fb:0F#@0c22fab0ff48653b0d53d9687d66cf91723b13b7f101a9561b597877c11cf709: B02acc1cbc0914525c8b364b87d5ad5c0dc614ca5d9296f03f18b4b0441993be0:1H"@9a76629764eb2bb3672e06bc1a9b25db86dd746cc4082f094eeafb1a71458f52 : B02acc1cbc0914525c8b364b87d5ad5c0dc614ca5d9296f03f18b4b0441993be0:0F"@f7f0a6690109aebba9d94d753ad883b0c3daccc06115a0b2d409547953e154e0: +Bd00f33b36f7909d91579a6d13e540e24552a16a34753a7a715166ba78c1d63b4:0F$@29a698f777ea22849ff4102fc312a8e9bbfb1d86d1baede4db61fd3771dbfcc5: B912341f27e6358efab7669ca7ae45b8d2c97589faf32fd38a64b0d6822617d0f:0F"@6fd20823654677f245dc7422446d991356f759cc475470f9abbfb23cc577c4e3: Ba8104df061fd40175b5776476b56ad439c4224309dcc6843e075767ae6daacef:0F#@fdd7dd758a468596b8b36cc1ce805dda80aa439f61c9ed67c3a68410915f1e35: B26999d516f4fa4bab78d1e1ad404bfd816dc3876d53003fd473225fa36a18c5f:0F$@df0011dffb94ac1e956729914c21468fce580ffc1ef3457762cd716589280757: @@ -96397,7 +103631,8 @@ Ba96717fb2cc71c0fd20c87ee74ff1c74e4a42c7b0c2024e94d5abd80dc17702e:0F Bab9086d6b2799989b295d2105cff33cb2365a56cdaa100263ef714ebea3e3024:0F#@588ad757d77281e115470d61986d82d00e0b03117754b6c35192332828819f3e: Bc8acb14d9238ee12099a43e1937609bba15bb82210c3964df217d45e366713db:1F$@afdce48084b02aec6b8aba3526293c88624a87b7b4cd63aeb3569d462512efce: Be539244754aa452e412f3bb4f9e72aa30d193e926272c61c528285c61896cbf8:0F#@70536e0e386f98267b48ae904d1ff48f2003902de564277b242a118018a91b11: -Bc8acb14d9238ee12099a43e1937609bba15bb82210c3964df217d45e366713db:0F$@7468bc37610c354f12118069869d56a9b6e9c60198f2155fe2bb8c40c9ebe698: +Bc8acb14d9238ee12099a43e1937609bba15bb82210c3964df217d45e366713db:0F$@7468bc37610c354f12118069869d56a9b6e9c60198f2155fe2bb8c40c9ebe698: +B198ca2c7ed8386a91fb3c2336ec5b1078431a4f19cf6f985d4108441f9093fd3:0FȢ$@173bd3fc97112e5f392725ae06f3bac47e70c6073b64c375137212f887eb4438: Baed5afed134943b2535c37424759144f54b07704315ae572dd0a789554d72591:0H#@d0163a133ed5cef00328262ef277345dd396626d3b54caf83599c96408212d61: B0d7bf78615c59b1280964074056861536977ba079529a7808a85067fdfb43a82:0F#@7c48c40ebd01f614f371d87f030ff7ffebdd849c1225eb8d6d9a6231d9483bce: B5f2221ec6ef10ab7402adeb78214b6d65ac00e9316a3fa7ec1d04587bc7f377d:0F#@b0f22ec19447a408e033c0e0a1800adea827dad77f27a15dc5dc602c98efab11: @@ -96442,11 +103677,13 @@ B49ce6def6b4e53e2accb2df167ba796ca5fa9c15eae7c3e3ae4e6ee49c429198:0H Bf2291b0f320604bc184c08ff5da98f7476e7a6a7292d39357f1ff17ae3e1f473:0F̱#@0941999e5d61baaf70dc5c44e3c5929918ed76afd8353cd4475658eab2a65c26: B40c3f3a40cd6cc861c8f68e480dcb700bed883e0c5ee6cd6bd3d8899f9a447d0:0F#@fcb7c9cc37d0bd5e8fb247b878d55b2a78a16a772b9758ae88e34adb494726d9: B73508043ef2dfa2c680e70f6fe8acf18e2feae180a17cb8052b3aa1a669d1506:0F#@e6c78454923d653355dad35f7051f43355d8a74304f0a415722cbb020c476815: -Bb6dcaf9d41b51e145cade79d54a14d085175dbaa12e36e43f8341b608cb80448:0FǑ#@c4f3eab8e5077feffaf8148ef9958f080fd1526128f856781b18f7cd97df1964: +Bb6dcaf9d41b51e145cade79d54a14d085175dbaa12e36e43f8341b608cb80448:0FǑ#@c4f3eab8e5077feffaf8148ef9958f080fd1526128f856781b18f7cd97df1964: +B691f3050e7abcef5689a00a846210cd33aa9b99c3f5b40455d4eb29b12709e9b:0F$@9f5465b8cf05511992ff69e49bac2f0487b26bd704d2e0aa4c8e7e70e4647633: Bb6dcaf9d41b51e145cade79d54a14d085175dbaa12e36e43f8341b608cb80448:1H#@682c95f1fe1e8de067d691013c968223af3849b95acf04dda6554c2c37f9d33c: Bf3f80dbbbe518190c754dd6a98aaa9f8d0baf93473c3740c2ec44f00d6d9995c:0F#@3c0e31a06323090077ebcd86834be36bf2597b22aa00309507663200c94fcb29: Ba009c0d76b241bac309e0e6d67560c24564bc5abf86b115a268805d8117e2878:0F#@ee571e1aa547986bb6b4581b1797c280605b3a5af8bdbaf5d4f9369bb7edffd5: B04250169b0796c4c3b5d1ed5f79731e66489549bf55f43a9e79c2b2055c414bd:0F#@a95cd6bbb934b3e8f728962dd2023915f52f6ff5a51e1ee5f72d944719f71a11: +B94c7cc59506009a9bf6a7494e8844cc8c3f20aae622eeefb02a515e010a8f4d9:0F$@3036a2d0d62e8536a112730bcf73700d45703a1b65cc0ab82c70793e4f41c8d8: Bf96cef5477351e7b241fe3b22a338312056b19984fde3bb5d3866ff245f1f51b:0F#@1abe8f9ddab5692e9f8d7ee613cfbc7cf0352698d41ca01b644840ed94e6d25c: B976fa2779e1546f74577bea981c963c7251cf8c02030413102d9fc57c77a33ff:0F#@1497c1314e30f5e7038d96a305d2a1ff5f603d74c097a67ff6f94a9ae95aee4d: Ba4e144cc71fa75c52ccffbd3ecc63ae86a8d3976c58e63717c324b8e2d3ffb67:0F"@5e8ff517b155c3f04c340b3569c6f212216b8cf6dc963043837b9bdffc389706: @@ -96459,6 +103696,7 @@ Beb8f459f66278de542ff5336c23319b67c072afcd774134fae7ee7429c7d0597:0F B7edb7f921c6cb31f0cb12ac9127818b93e7dc464f5eb4d74b239d60a6564b281:0F#@a5a8d3a09428d4581721ece80c2253ece13645e1beea0679728a17e203247830: B1794ef611e54f8b2386f1a7f51700e350a0d81c8306a8941581c65dc1da9726a:0F#@97342d3d67ac42dfc7af007d04e5d76bc1b28655ac2d6399d3e56e69fc950d32: B76e836499a7240172e00fbf5eca1db0b6a5475e0a1ddc7e4a9cb0cc970f10bc3:0F#@efa6622ba822f7734bd67036b28ccc3427e1cd5c30d63e880bfc10cb9dd863d5: +B3bb4f841810047b9e5cba812a6b30f5e00397b52027fd0a1fe35fad7d87a0322:0F$@0efc61577022456be8fe90a3839ff517ea88c2e51d41633fb22e6c67e01bcd69: B71ececf9f23d2bc9a0ab3ee93a452e18b33198d378f240c02638ab5e4506258e:0F#@e996be99f2c1d4e417b71f2cec2f55bd04b080ea8440e8b79b85db65a24a9678: Bc20f8af8533c7b84b0e9ab73eb4b823e5768f9e7cdab3340831f45f4794222ed:0F#@e5009ba78631af4bb231ff37e47e691242249d52dbcc582a96530a9cf2338639: B73e44e6b8455c45da6212dd89e02efc95f718e302455e178e5ba1acf2ca9a298:0F#@be4cfe695dcabec1ff9e3f1807274f2b9300b62dd3288cf9c63127cb795e030b: @@ -96479,6 +103717,7 @@ B8c28a4e0f955288cfde9da7a32c93c37137cae80eb18900c5bc104ccf9b85043:0F Bf85b9d7a6cf0f1161825ca3672f1a27e694208a0ddbe7146f069f740b1bd0eb1:0F#@42a03e5947dbd7843f152c06cf9b8f3ebed880f338ad4dc203bcb1047eddf1d6: B4d93d04014dce12778ed71b064360b4d1c94480fcdd3e634530e7492f347c608:0F#@04f882d360af691fcf53f5b3f070b41b17a711860230c84779163dcc6891ea5d: B9cc2356c911ae05235ffb6057f03171b26843a55d73a4d494ecc167da3627980:0F#@2b8d92c0f9e2a775100fd962db62e307c12bbe6d86f711989befffef51f42511: +Bee6031a17128284947e55296cbbd800e382d9a17c4d7b347913433fbbd2d7bd2:0F$@f916add8cea6634c0dbeac16ae344e5605241f6be2bbe391ec1567cfd44c527a: B66a8765bb727b6f8cf5642e6e6274d9d0e03db5ec203e138cada30e1f78c6619:0Fܚ#@1c8193da2fbc76fc41503012f86a82f4535be2d13dd8039343b55f07ef7299ac: B67e58e89e693b5a3d294853a84ff00a68af5fdf3a39ca238b34dc84b86df40de:0F$@859791904658b2fcd419c3159673f52370771116b33d21ca7548c16f4f1f3d9c: B0e22b3178b21aaf2c06abbbe2955d6306cf97f21d015a49c40f3bce02add2099:0F#@32ea713966d44d7ba32b307ead66e43ec9d25efeff873d431bcbe509f161eeeb: @@ -96507,8 +103746,10 @@ Bf8b86bc932b1acc7cb33cee7af55112b025520a55846d9b038603b7373eb6972:0F B3fb8482a15f43c878961e9f7fa7021a89123eac36e9a3418767f08793fe90aba:0F#@4860fcd1864f39725fd5f61fc508831ddb818dbbf7861b33ea4f9d5447221a9d: Bd16dcd00e1b753eeaac93db613b1d11f7f7cea0486bdbf9b32288824a65bbee8:0F#@5f3df1e5ddad959ee941e72080ef70065ea7b73520f494ca2052cbb5a44a55b6: B82e16e91e3e8430744afb2c52f459c7e8547d20f71a33c83f95c2ac49a5c9ee7:2Hن$@687599f10de5b37ddb054455713a9a5557165f22f9dbaedc92225a53ed57c7b7: +B978e0d76aa61b5774ebcffeb28d341eb75c9aa62faf2b5f828598e7750c50b13:0F$@86a7440ce574dc6f04183134fd4711974af2106f398aca2ad4d209e557b42886: Bff1de523a77a8b45ea593d5e67b26a63d9b9a0cc34aa623a08fb4e5dfda57d2a:1F#@3083dda598f6e16431cc32bfdee6c7c3e8c1347f3f8d30665f4545bcb848dc0f: B9234e305f06848d6a93a93684cbff463a8f6e3510408abc8ffead3912c798db3:0F$@cba47e8df691c82346e39794d9b4685b7f47d8a74e1a18bbcba8876a65915eac: +B7061ad6577e2edc29cd1723b960e6f36dbcb9e575f52500aa59522166dbe7fea:0F$@9624bfbd9b5bb9ba0bec21804a698636729684dacd1a1a9a59b958908e509af8: B30a77001dca8286de68700f97ae4cc42f956cbe5cca33a35c63cf430497f2c84:0F#@5fc006b6d9f1c6880bf2ba95c59da23d722f080d2df058fe1fbafcb36fb8ce2d: B60fe063545624d32bc6a7661a217e3eac70ab7588446f1bdb038be0e9ec5cf48:0F#@2ece7900ae7e450c0e3df8c426b44d7bcba7439803ec0c8907212f89b1b3ca02: B2165e91319997fd670bdb3ce1a561ecebba08bd04a7fb89d765c8408461129b8:0F#@a98b9a1a9bbf370ebc3a6f50c2287caa99147dbbd573694dec087f7cf14edaa7: @@ -96516,6 +103757,7 @@ Bed32b2b3b2b318f95889ee725338b9e901e77474dafc468e20d46ded935dfe76:0F B2165e91319997fd670bdb3ce1a561ecebba08bd04a7fb89d765c8408461129b8:1F$@ae703493af5a307d59f5df1ed75aa849a90f2068191c17e58bafca1c715241cc: Ba758cdf828c87981c071852c57d548cf1280be41b644da468dca5c38e11cce55:0F#@eed7fa71cb7e73bd173f90da97baab6f2d5f992220cd22a67caf548f9c657637: Bc4f3eab8e5077feffaf8148ef9958f080fd1526128f856781b18f7cd97df1964:0F#@d78849ae3b2b40496853703f31adf58a98ae6fa88f5b9767e585191f16bde031: +B61c56c68fa49dc13b70c81ebe4048515bd9119b1f00536de1749ffc69c8a5a51:0F$@5415e0839905b24589be58a560086891c0a163ee8913fab45eea6e366cc229f1: B42e11348d90443d3a74f15f1cebee6d71f6ecbcdfa6a44891556af9f1530c3d8:0F#@534a702df03489b2ffd3e904ec840af1abc9fb4968b3199d64aa02e5029af8e6: B00fe6e3d99541a8195ef3cae3e62ecbd306c33d21de2e54b1e8663b813ce5257:0F#@8ceb4ae33dedc9a065d2d323f8e0464d5f04cc4c44650303f2de0a5554d77aa3: B39c0c3750468f33b02c824a47fa4b10c03b735082f5254cea03e1f6066469a35:0F#@50ebb8fddced3db4fc705641e5279699fe668987d4117b158cc6f8adce007f25: @@ -96536,6 +103778,7 @@ Bc083a4b28e951fbe5c81eca3bd635ab171863ad7fa965815cc966efcf6233bae:0F B3b0baf5521e95a3fa92911c7a54cc09d221a9b556b9a058ab47f733952921786:0F#@6a6b2044206823be8c1232f79e6e2964a423fac444542d9f643c41b854666d8d: B8cd6c14532e317628702ae522e5a44f468ee81dfdff09d1e9a37eb676dab825b:0F#@57ed112c829cdb3bc3c5407a94c7340123227ddae8da73f1599c9df85aaded63: B0a8fd329525fec29c56d54d217f6454003904a3ac78c56ac266a21f3882c014b:0H#@2071ee8c654f2cd142d7b963a550e3ab687c0acf96cabadcefa0636280ac2478: +B90a808642f7d296dfa3b8a25f406d28ce0a3722fbf440a1bedc1da095f938466:0Fؠ$@c34e402fe96985bb16c91af5b3342eb25d27d3fd88ca1c225bf28344865ef493: Bf13d5b22bc7f6cd30add690a5563db2f7b562756bc000920dbcb055bb7a0798c:0F$@b7d7050e81bc12b6cc55088578a0d216220c33f8c56a00f479bfc126e031eee4: B59ce29dcb4e432c91c2cef7722cefe6727f5889b199ca15e74a88eaacdfe0a28:0F"@70af4ed90304c66e51bbd8bb813237c12a9d39978e3447d10f8063e8ccd5f514: Be7d6935f65f7793cafec3912bd1cd7dae52ced940d9155b58f060bf99ee959c5:1F$@b31548c039cc50d61e4326091905eb2f25eb843eccb65714140d7a692eb3404b: @@ -96545,7 +103788,9 @@ B09798a82fee83341805b960bc1c5c99edb1a346a30fa6fbd60fb168e2718e8b1:0F B7bc73025fd3af591ea8f8b724f5abc3918dbd7f792b221542e5d215e2fbe17a8:0F#@7bbb8c488a0e9fe9cd27010ad890f12f652388973ec8175a11ac6388eb05e079: B915e2e120181aea55c494c4c63e028b670ac639aefa5d890a0ca86f0f44870f5:0H#@d123aa495866f68a2e8d4d09754bbbfb4efce8be576258f813ffd11eef1d0238: B915e2e120181aea55c494c4c63e028b670ac639aefa5d890a0ca86f0f44870f5:1Fս#@cdd858bc44f01b8697c701cec5ab86021fb374c70037eface68083760920294c: +B0603e47f23efdcca881fd261971da82efb1e5fb9f1b3d9240ba42f1eda6d8b87:0F$@b554abadf59c5b245ece1ec944a88b28089b93fe46ac0bf06ae71fc291a3d632: Be091544f40631722e2448a4c534c874dd505e05f6829c844ea3f76acf0358900:0Fۆ$@d3d61b14f2a915050a971f06303ad32463004c53c9fdd183b3fdc3cc66f465d5: +Be6d98afa78829ae6a75e4f2f600f890d3f423d301de698c71c4466cda3b8f8cb:0F$@94c342115e6662ab2e281b305138833e3486c6ef744c82883d566315520311a6: B8c2d8e0da4cd6c0e36be3c4492501f49bb3b3cd4835049b6bf54c5d15c609633:0F$@e01c921d15824175a94545e02109160b4c1dbcbc1498dd855993e8fdaf3ab248: B39678a19eb4a25a9bd131c9e6ba68fa60d554c0ea911845abd9994f8d3186cba:0F#@d459ad3d923d079aca838b77e241a6404adf9deea64237e5e4b439e02a35f6d8: Be159cba8d038e0d351c7c8bae9172bf0d00193239e2e2fc8e7d714089393e934:0F#@8abf6a28d3c9edb93403d7ab017347dff748dc6cce4e5aa96cc43db11cfd91ce: @@ -96560,7 +103805,8 @@ Bf6af7a7e6bef59a7016e27f4d8d91fc4aa8c680a013f60244cbb7bbba8b6c0cc:0F Be837a77f40ea08306ed344a5aba314e794b6057106673046e07425452e402a23:0Fʽ#@e620d27d9cd4daed0d6050825cc82af1393f05af830f49a3bc1cea0b4103e30d: B8ecccf345b4bb00f3d7707d28fead32e72f468f369986a12ef1689f97e1d4864:1H#@d123aa495866f68a2e8d4d09754bbbfb4efce8be576258f813ffd11eef1d0238: B387ff1cabb4043c13638e1b13ba870f524a7012fe780da40b01c3680897c0bcb:0Fǂ$@8aa13fcbc343e7de70833da6e66a27e64596298c84603ba3b7e09d60e5ef06b2: -Bd113b9f1493235d4ead02e1f059add65f2c7af3f6d4dc7d7531e03d8a68429c9:0F#@501db752c04e924006c405d963dbe59803af5705f4b10cd3b8da02d3220f943f: +Bd113b9f1493235d4ead02e1f059add65f2c7af3f6d4dc7d7531e03d8a68429c9:0F#@501db752c04e924006c405d963dbe59803af5705f4b10cd3b8da02d3220f943f: +Bd55c34cd18a7980809cac410871153b72b2b245055388f16676b951db44bc74d:1H$@584ec0fb2866dd22fb12c3bd5ed9029774f5868fd07bbe1274ce172161f7a25b: B4c698100db267484ec608c87e383604b8f3fa91e3585b7804d02ab7a6baa6451:0F#@3b74a063057775b2117ab129066b268293b8b4671a57e47dba81d5bba42441b2: Bb6e4bbd575b7ddb5e764d1b4e30103d5923b59feb5690891e5ffcdf6f31e694e:0F#@43fcb700fbd4ef5102d42a1cd4119c69a5752e1fe1a87c525f32d327e82cdcec: Bd55c34cd18a7980809cac410871153b72b2b245055388f16676b951db44bc74d:0F$@d85d886bfb67f1ead7b3ab0780378c708222bc216c675ecee0657cf6f6ae6e70: @@ -96619,6 +103865,8 @@ B19da4a670b52c8415e55e95c9b9f5f07bd99d30ee79fc89d8c66381850ea4e50:1F B19da4a670b52c8415e55e95c9b9f5f07bd99d30ee79fc89d8c66381850ea4e50:0F#@75765a6511500af8eb731cd595eff0515b5afd1f1d2319b2209cd694401289c0: B5abfac880a44829d46d698777b7673d6f6d94881d4ca764f14d3ecaa284dce72:0F"@46f0bacec8091d322fd118219055ad147c39e51239ebd6ed2493303c2fb6a255: B68d52bbfebaf762d20a716f8576a11a3e56ac9df9cb88bff83d1c1ae978a686d:0F#@44f2705a946479daa2c54b5b91b7115ff09b765d757920ed4f4b9605146ae907: +B6980c14c1fca29b575f262362ef344a222950137ba43d21d3ada67cbfc2ae846:0F$@facd64d253f02483ad035dbfe6b98aec04e4ca7704c87ad39211d8ab71031a8c: +B934070a2b3f7aefb6f43ded07ab7bc9f7c65f253eaf319e74197524c53574154:0Fț$@7b121c7741190c73a91d109267c31079fae70fe37ee45daa6030d380c2406c18: B4ac462c4526dac98bea3b143a736f6a42ba25309a83b5c93e2d1c3e97adb171c:0F#@40a480830f17eafa67b72d7141b5ede61729820c34555ddbd599510aceac8985: B8e72f8f49351ccd5ffeeb2a2467940e716b5f206c1fe632aae180fef7aea1cf6:0F$@002213b171cc3c9db2d9e2e9b0797b87bdbd3e041b561f25a104d9c525e53e5f: B93547126298c09f4cbe14d494885a4c8598c4483d981258a3add7ac29a36aab2:0F#@0331a5e50083bdfae8e788e316c1b51b2e2b9a3228764f17be5f603ef5f350c9: @@ -96627,6 +103875,7 @@ B6ffa920a327aa56815479f7ff2430da48a2778833496d742795ae4ada5d7b27b:0F B876c048b2860e0e3d6c3afe547bb0d2339a7265f9cf618035b87bfb051bbf8db:0F#@1248e622e32398fe27034a63713d57ff59f9ef4570cc79978359031b51e05007: B805125ff89ec119ad9e21fac0bc4331022d6d21d922358a7f119fe29d0908479:0F#@edda79a9a7984a0fe27df07561d98aefaf3c6b052ddc4d9836fb4443e9d9c264: B37639711ba125c73147f43f59e8ad1736607b6c10afa94771efa34878c87a4c0:0F#@0a60e1aa89d56d6198a38bfd907f65a1c1fe1ab9d84221b44cf3858e11f8c31a: +B8986a543a017e0a5e595f278c776a1d154d36c34e1b7d8f8384c4168dc5ea9af:0F$@1bd55ea14f7718fa119913616c65dd0dd795079900ff980ec279cd8ebe4249fa: Bdfddb4cbcbcb2a41419ce82c8dbf5f20770cc0da5525461ac7848caa24ecfc64:1F#@6cebfffd3b6c7817771d8868451323f5d67b1e42be9944175f28946ac1de35ec: B2c03ab48ebf87e8cdc71a72a4be0cf74f216dc0aaa88c0ac5a8d0ee098088bdd:0F#@dc98774a693c61fef93b00e5f5b42e75b9e480a93ca5b76e344ff080952ddc30: Bdfddb4cbcbcb2a41419ce82c8dbf5f20770cc0da5525461ac7848caa24ecfc64:0F#@96343ba9d98b5e06ad5b779339a4cb3a16845d0f3211e16dab6fa3d422e80f74: @@ -96634,6 +103883,7 @@ Bc9046a01a06a010e5b1c1f892f33e91e659f9175165d1457d6ceb658b2426940:0F Baf8d364286ca09d9725db285acfc9ab1580a15b380358e21460475d6a1a93da6:1F#@ac8939ad21238f27eeea8b6813ab0189789e3c5ea2e370890160ab373f508078: Baf8d364286ca09d9725db285acfc9ab1580a15b380358e21460475d6a1a93da6:0F#@2b7fd3386885a26eee3842da8457ec3675732a71308fd8afb2a39d2fcf047dac: Bf16b7a6eb4513d5e1cd49cc4d1d546393447e7a4d1d64af345b81a540f643bff:0F$@4549012e2ba99d178db9c2792a3c7e256891fc2ca21363baf59251b3951ab348: +B5def4c952df73a89f21e5c829fd59054f39472eb930064809fd3d36a358387bd:0F$@d185fa9d913bd76ca2176c216949d48f28fb0f7ecd4d51d7de195de38247922e: Bbeb9744bbf6da678364bd11c65955b4385df60b4ed908c869f870f9bac458750:0F$@65f2a1e9b8f292794fcdbc50db16dd9ad95648e078b958e0012b993a2e875acd: B73ac792bc6dbd60f812bcdf8205b4b55f922f58e3fe4e5f54804024431a13033:0F#@614af3f31b2b3b6f63fe22dd780c186f8f0bc7e999a6d5c348fe988549e2ebe9: Bbc8b506493c99671face9c016d04580e748340a997b88a8e5b00ea05e73d3189:0F#@13ed3a8e45a21bfc14f538ca85f377e71b317c38185d04bc18123d141de67e3d: @@ -96649,6 +103899,7 @@ B6e8051bc2a2b38395d5290e9a52c9bb44e15d9c37c57fda6cb89ed1955a07ebb:0F Bf669b347af847e8d384c5430042cd4058bdf41ad801280f82c90fa958cf06f6e:0F$@3108e82b66d0f457b178e87825dd9a005097662771ab6ab653134c9666985435: B40d1023fb6657e5ff4d99d036b7da1cd545a182382b1faae4ce61fdbdb7bc320:0H#@6bea493bc011f5bacc52c529708662671672f852c7f04dd42308977bb3a2b319: Bd8ee622ef9fd76af8901c4b355797df0e7ef5fa597bc4541146425eaefbd4f86:0F#@70d241a47b88ad7d7d2e33ef4e538629e3092e652792f7c4d13c62828dcd7a43: +Bd85d886bfb67f1ead7b3ab0780378c708222bc216c675ecee0657cf6f6ae6e70:0F$@584ec0fb2866dd22fb12c3bd5ed9029774f5868fd07bbe1274ce172161f7a25b: B604000edbf09b608cce55fcdb89ad69e63ef3018f5c07366f09c43634ba83ba7:0F#@6194968b70c79359772484f9b0b04f2d2af5e6e2562faa709f8df0df963f9631: B6f17c9434fb71b6b62e4209be36c1e200343101489d575c3d9881d2ab03c52e9:0F#@f763f57f514abff2b1fd45ee6449d3bb33ef02a75836f8465cb202719f50c9af: B8833016ab5fb892484b5ef2f7d3c2632a2512ecf45b1d1da78021b703c63524a:1F#@87241a603f469fa52814a107a602b8f3b714f943a3b7d890ee0a2a342f751c18: @@ -96659,7 +103910,8 @@ B789add9166d36650588df18351f39ee47edc2e4d9273bc76c9080f348531008b:0F B311c799d12f835c6d80315940cff4d927eb0e5ec97fdd51c8adfab649c86eaea:0F#@8b0291baa9d22c9aaec09e6d1f8c04420debaf822fe81a079378e3b84ec90878: B91b2b1a54d7614353a61b6c01d1c267691fc0f6176092349c925bfd736347f5e:0F#@2e353718595cd9799c20ab65e5865300b1100cc652614666c6f957b9dd19ab8b: Bc92a3b3c6868b2ba6b7c0ecd7ba7fd992b5f1525c76a2ad8c7585654cde58677:0F#@ff05723f4165136c40f524811aa6aa0e3320c95fa3aad976902568c998646868: -Bca3c873acfd67da66f45d010736b1b4318695cb2cd24b2c86416539a07ca6e89:1F#@2605b647f871361eef4c7e3c2cd225836d64b7057a828f94838b47b306cf4e9c: +Bca3c873acfd67da66f45d010736b1b4318695cb2cd24b2c86416539a07ca6e89:1F#@2605b647f871361eef4c7e3c2cd225836d64b7057a828f94838b47b306cf4e9c: +B70b432c4f9e13cad48238f81a1bf074927ba2f3963a28fc21c803b03484b5e75:0H$@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9: B7195f454ae2de0347a00477f47d91d46447290552eeffbaf14092283630e9475:0F$@b7ee6424d539e5ebafbd6c8900a0028368f66dcbfa2e4c30d04b545257da7b66: Bca3c873acfd67da66f45d010736b1b4318695cb2cd24b2c86416539a07ca6e89:0F#@a4f78ed55b0bc8d45e330e43a83abf2ec715198e290ed8a595d7abcfe74d3ef5: Bb9e262794adffdfe2bab800aee99a9c63257ef4084cc860d2d99c3259d434471:0F#@020895f09ca4ae1ffc5f57dbd76a41b8fc05a900547f8e49da5302415795c11f: @@ -96672,7 +103924,9 @@ B98ecb5b29429a99e4f27c24a8624f25f18f40c054b8b39db85813b08ee6c26a9:0FƆ#@19322 B214dd9d1f0238caf655c3825249cbe9e895134df343a6b1206f879f5ee3c12a9:1F#@46565e1eb5d421401cde44a407bce69f103689402c0b7e3bb4ce7a9416edded8: Bbf27c84c342269c98f7a68d2c2846dd2bc91c724bac333200ac2eec9a467225e:0F"@617dbc921dfa6bcec55bc17e3408d6de97f95368e2a2eea7cb70ebe6532dabfc: Be3081370ecab991ec79d75ecf83e9d5ab8d27e5f819b232110eb415fdff99030:0F#@277f9a97032bb1cafb5bb22c2aa8c0e257c5bc7040723798beddc956c38c6355: +B2ad9f9d9078d810b1a8719fc311d6e9fcc00c8f1f83da62ae6d36cf5fa907bdb:0F$@41616c2c34021c29e7b07f67ddca620ab3368510869f8ea5b5620c8faa4af7d7: B8c677ff3d7ceb1e8ab37919b2852f5ca3b2cc4875924d2b8e0c91ba6f6307c65:0F"@4915e5c44ec5a3e28a228c33fae33b32d7e61eeba5a7492ef1ea1d03034b1155: +B35a2e54b38ed9d98894e2c38cc0f758c5594c292a5329de9326ec4588b2e3b28:0F$@439c5f1162c2f965ba4896830a2b56c97201996bf0ad04b067497c815a5d92e8: Ba7df9067fb608dd9ef691800a8f891948bd1d4fb6faf4f20058a8676d6930f29:0F#@6f1c6fa49326b26fb9c8f52cf628ea35b039f726ccd389bbbe7e17bc9c9177da: B55b046d3bb500a50b2d40fc810890ae78418fe48915fb3260473fa86a1b99cc5:0F#@95f63db9de63d4da5d648d6f31cb3377b079797cebc673afaa8a5b58e9028db5: B007906bc9968e8fcdae6d25b41474ee7d6b469adf1568c8fb75e8a6382f36148:0F#@45230fb94000237ddce8ed74a12aa143acc9b1da35375423aeba9ed7c4005dc1: @@ -96680,6 +103934,7 @@ Bb31dd272883988a914be26e7d17d8bc303ec88e1d01c93d5edec8f1055fc660b:0F B4d38499a59d6ef91d961246e300fa28a30001e6372d4a3a2284c7bf6a6767cec:0F#@191a7f6f27c542d21295d8fdf5eed85b0aade94f3fa73babf73eb319272f8791: Bf4ced657e5a508b1d018a156cf7df26c23051db1f242f87e529034e9a2bb61fa:0F#@1e2233c434102be80eaab61df4cd7eae2899ba8de76ca85aa92c379107b6b239: Bfc48d8b4e73b267aaf951e1eaf7cd71c9a0b54369801fab2498e4af9e62089a7:0F$@35e299fd97128aff64f2e995fa04ed92503460bbecce04cb18124f55dbede5d8: +Bc485ca8433ce8417f6fff949fe727c59bf560285758cee938615422be5e7eff7:0F$@1f59e62f89a8d64f2a9acbb0dab36db22908653461d91ff572acd42fbbd737dd: B0e967ee9839347624e9786ea93bec5b639cdad0ee161a9a4487eb901333c7253:1F#@b61454e022ec5a8296aac6d5ee78a21b61008156d6e11187ca243e296a669362: B0e967ee9839347624e9786ea93bec5b639cdad0ee161a9a4487eb901333c7253:0F#@272febacae7d803ea8f61f64846f6c577685f9c4ac07a4450e43d3478a5c3928: B5e5a4dbfa3e7425ade15558d0f22210125950c7069885ea97e0bb15b26a1ab65:0F$@a54ff651d0bd0dd4b51af80a30cd92f0ac1ab11131ab6d18eac48e26ab37476c: @@ -96688,10 +103943,12 @@ Be3012da7d52a52dd954c7b17ccd526e98c96a70f6d5e9016921bbadef4bfffdb:0F B52670dba241592ce0d61e0dab70d22aed42b581f6f49f9fc86f484fa17690fcb:0F#@28510f181a10bbe49e138b35ffc2d9c8a58a64160b53d89bdf81c54165dbe727: B84b09398aa1f114ec03c1a029a85f8fe00faf3e2d3ddc1aaf2ac2bc46153ea9f:1F߇$@ad10ae84ab0fd195b7550f309a6e8b489aa2174de4b507413460b4fade7dcf62: B6a18791e6ee7ccf1d0fde167ec98601df9fba916ef3110ce9d29ba6ebd7e5834:1F"@cdb255c1ef4b5fcb731a222ea4608245b6394127653c96991ba6ff6b51357831: +B6c7116beff4fa08c5e4774280cbcf11337a8b6a6bd3cc451c9f860f467de6793:0Fģ$@d618b204b64ab050c12f96b017b8403e666f9042b21f636aef3cf864b4667a30: B6f952c30504e37a307fc1baf4db324b984b47c0e3ec4411e4bbb5d76b479267a:0F#@d9373788a0fbd7d5850e1a17f93722067d8149886b1b9b33cdc6aa74afbbe55b: Ba2b074f41ab21708db3fd662066c783b5634e9d1beaca10a81cd2b45c5eb8e28:0F#@2ca03bc1b5c0cc8cf01a187bc6e054b5e5faec87f5df7e06421a399bfc935d82: B95cf622f54eea5a1b860bd9eb82ae08e01b3e9b8b72e4d0cf0a0028849b04cae:0F$@083cdeaeb9656b4d00975158545129b7b276f0f6ecec9ab7a04f84d03643b9bf: -B49e744e000c2b3974765ec95077fd53f1bcb2e0c4e124bfd013b6852b0b7c343:0F"@a8db779782ce1a73feed30db836a5e645905dcffa875ac6113c036c5dd7587e2: +B49e744e000c2b3974765ec95077fd53f1bcb2e0c4e124bfd013b6852b0b7c343:0F"@a8db779782ce1a73feed30db836a5e645905dcffa875ac6113c036c5dd7587e2: +B95cf622f54eea5a1b860bd9eb82ae08e01b3e9b8b72e4d0cf0a0028849b04cae:1H$@1d5382e77210f406557960ea41428d5341b6605f13fafaec800f5880c5d5b5f1: Be961c66a2b20d6a8b6b386d03b6fd865aae9caeb82bdf0afe7105c60eb74b793:0F#@f79026011ca1fb8275e6793a3d3a9cff55719a01b806706b7b55022763fc2356: Bfea4ad38844e8b4d70ed62dcc072f5bf18955f1089ae61477d617d7789e0fe26:1F#@4513597483339b94932e0e7c791f45163adb167aee9ecf00a9966aa1b0b90a20: B6702f81792220ec359d7bef0bf54ad3a0cdd5feb25766bf8ec6ef37c95eec97b:0F"@0243f99c848de4f53cb29157d10bf1cdbfcf4219f84e9997dd3cac9244ab7242: @@ -96716,10 +103973,12 @@ B5c71d4b10c736524c7a7894b867a65c152a449b44e7d80e8c6f7cde7bd1429ca:0F B119c302aa8ff3b8271f114c2b75cc9e5852a8408a0c4a3b7e55ed2ea7a65e55b:0F#@40d39aa1f1ec02062d85e0af5d23315aa3d901fc16a2f2e2f067b1741a30b0f8: Bc106b5b2e1009e8e36e0c855dacfb6e34440584ebbf2179119b014b34398a506:0F#@36e388cb2eef52f0f9d9bb4849d9c4028fea775dc9fb4e3b326dc34ceefa11ef: B305c6ead816c400bb96e00e4b232bb994403f24fb709e18b09954542aa12750e:0F#@f4ee58a9e81dc5cf77878bfff1bdf61c7f1b4a1406d52cd43ea15e68aa5ad887: +B3182c275ef4941c77c1d91bc004e04d60c0dc19f8b7343b6efce685ddbb49d36:0F$@4c938c68c0edb3a088d655ef03084dc7ba763f4065e63463c5f6b46b0d20d8f1: Be1170fdd4cc65716a49068c144cae8d6d7d9c36e55683ece24a65bcf03e6b002:0F#@7c6af6232f6d136d4134c2af79cc2d2d3420c72d70901519945bc10381d50289: B74a7d2f7522dd5cc4a705d52e94dfdf37d2fc7d254161867808b7ae65e668f5a:0F#@dc5ab01e3b14eacbf4392fc6b12517ac6061c325ec2328b8372f25256683dd0b: B5e38f7f2df6365715e1c4104a819bf9617a5568895c4f80f235f6914d226db54:0H#@63c58d37a4a0df304c4030954a9a180eccfba56d14347eea46e909ec718955b9: B11a4fb39a9078f526a9370cbef232e20ddd3c7c33cbcb069adfa4c5264068523:0F#@2e1daa5787032c0c6bb71d0d80c2d56dfdc8dea27413dff44d3f03d13cb65dc5: +B688cd075ee9041aeef267d4c33e2546c9a1df64ed8e17116c9cdc00aabde5ff8:0F$@7061ad6577e2edc29cd1723b960e6f36dbcb9e575f52500aa59522166dbe7fea: Ba32fe3b776a8f40941f85a68558e737d7514cd204a08bac2b12397126fa4a40e:0F#@31fa3ae6d5d26dd3aa34d153224a58fe4519fbcd23cd91063b4daa2dcab288fe: B417caee30a8600e70f55761959d2a7ea81196a533391e9c43faed07ea6c8fe21:0F#@63db6a4d92d501ca725820af9fb7f9097d2690f326254f6cf9eafcc82cb0516c: Bbdf899727e693dd25241d5cf3b45bc41a763c1d93765377c4b78cac0ec2f138c:0F#@000420896f6adb6090cdf1c8c16204d4b6a23f3836c8f107519e1862c6041149: @@ -96740,9 +103999,11 @@ Bac216b37e0b0307b45a9a9744efc2603ec80b7216a0a2e8c74e758bc3bd4b352:0F B0afb214897681179f1902e504df43bacebb807438e72c4384f72349a1bf4ecd7:0F#@35e5f923b7f94204c99d491b9e6bb61b5def719da33f88f3b55edf560c1109ab: B1be6c74b1006091321d03d190e4b75e90d9d1a29ddef34d4be8c636cafff8c12:0F"@7a1fdf7cac0355cc93295cb274b8499395d8a38c69fafaee8add486c26d1b2b6: B0afb214897681179f1902e504df43bacebb807438e72c4384f72349a1bf4ecd7:1F#@193e2b2651e018637221e98e0bb5b21ac87f6e2e77218110dd7f55e55f204e9a: +B7ba84cdac5d905e2e9c1593da058d1bc7fe81e1614e485c3bfa27f288dbe73ca:0F$@ff2540489aeaf34da5521ef117bdf9eb39decb4fa47fa62298b6b91a5c03ad04: Baebb1317f627d1c56cf20ed13b1a2a1f63a83d779b2564004984de98516ef230:0Fи#@b245b8f572e86d3da3f9546957fbb0f6f111853ceaf7a151119409df2a4f2236: Baacfbe1eb6fd56e651dabd71ee8b4bfaea92a7c1d830908c243a8f474e787f15:0F#@097e4367c10208cf7dbb55759642d6974cf4eeb940648331a62dea9ea4c0830b: B49fc4b88429fa367b507397dc3fe33556f7051aec938d73789f9766402b74816:0Fȃ$@01af472efdc2c565ff78409b6d72fc450d7032dcea30762f6c00e77664de2c10: +Bfab0a77a2bc0667ce44af4361ad7c63cbab717c4f1031a892c75b427f9ef0357:0F$@dc9e4a7fc4a6351a77644335db3b77c14789dadc6b148452f0c43cbe2b12209c: Ba7ee22a80dfff85c5db83cd1ea83dac88003fb8a1112f7fef45e7574ad953ff8:0F#@e888370b22d0b27e9ae0d37859602c96b1f6f701824faae517af02606683d7b6: B771f56a33cdd9dbe058cc83da1221c771dab44d9334d55f14b9559408ca21e85:0Fׁ$@57c097044ecdeb7db595bc211734df283184347a0db45c31625d73ab11f593c4: Bdc396d54fba65aec9f284017a9cf19003f883502562b20c4e48ebb498f7c74b2:0F#@99e01c3a5e86b5fbc028b148a33d987cdf1ed7aefd00f0b7b7f606403715f175: @@ -96762,21 +104023,26 @@ B8fbc30c690f7a87b2ada551d199e74c86437275680aa2015ca1c2d1921657cb9:0F B660df642c1b54506886f4544dc7155aef835c518fd8978e22605c74112554c7f:0F#@e6a98e6275b040fa7536abd4af60188b08127a04bbe6478982245381d72f705d: B47df474896c6fb95d218e565c418e1287d6c212a157d9e84c9a52d41b1255295:0F#@3b8837e68d07ec6e31859220cb66d2846a83acd30348a53427dcf78ddf3c47e4: B52bdcbb92cbdcd4279c19768db7ea8dadaaa2babbddea725f02492b34c9c460a:0F#@71ececf9f23d2bc9a0ab3ee93a452e18b33198d378f240c02638ab5e4506258e: +Bad64a1eb1587c508bafdc36e9d13a2140216f5189376c3b62519bcc070ae5807:0F$@f86729d68e8338332a8a1c14e1def7db88fa16dd6475bfe6c3ea6dffe67a1c0e: B52bdcbb92cbdcd4279c19768db7ea8dadaaa2babbddea725f02492b34c9c460a:1F#@5bd9ffe5ff8678076b464f07aa4fc3ee615e5483c14d90affec455e83f35c556: B2813d6812271b3ba39677c36695a36841e03fe28c1ef75744874f61057cf19f3:0F#@298c740fb897ceb07cc42278d87f093e553bdfc6491f6b70586c7541bb3bbf7b: B4d52f134fdfd5fa5f1cc70d041c819f0f42803fd10b4324a2214294784a76842:0F#@aacaf25cc01f3ee851e9c12d267d03a485f8b07fc2bc7e3b4a34d09b07711f02: -Bf085e104cf158f85628adb1a5df99473af31896ed67cda9eaaaeafd0fe88d514:0F#@9f7eb2ee6b93161fdf6face1de8b794a7dcba324a15db15b2ef01f70327c39ac: +Bf085e104cf158f85628adb1a5df99473af31896ed67cda9eaaaeafd0fe88d514:0F#@9f7eb2ee6b93161fdf6face1de8b794a7dcba324a15db15b2ef01f70327c39ac: +B559bfe96529844c32f130a4e61756342399f5b16862a32a0da25ce56b4c4a01b:0HΣ$@5335b7ad4c6f5ad0af146471c5e79da46e1e94691fab439a4779430d9a7ae249: Bf085e104cf158f85628adb1a5df99473af31896ed67cda9eaaaeafd0fe88d514:1F#@c312dca4c88dfbd51844cdc77cde585db849c13869f3abf9dd0505629282aaad: Ba803cc927b3ec0f35e00824187ccb1e69ef6f2aea2464c26743f1f0e78f88e19:0F#@519f6d032fbafbaf63df5ad31cda34c59cc8f2ba43dd87f4c381e6d4c74e7cbe: B79b6c6c9137d81edd906dfb0e03817c4795768bf7ca709a1794251ca471debde:0Fٖ$@96e5c0dcfe92d88e99dc23d7d7ee995a06244ef2a1f745f7420112d8be7f8819: Bfea4ad38844e8b4d70ed62dcc072f5bf18955f1089ae61477d617d7789e0fe26:0F#@6017badc2032fd07ab8e9d2c14878334a51244e428f45c4c80949f480f197a80: B241728d64b0d2259161bb4f88189f3e3aa5b8bd6a57386bb6599e2390157fcac:0F#@859c0b0b68b7219ecec2a7d6f9774bb8acd3bedd0817ac43849b374e81789bfd: B1c35831b1814e9646b65247a9fe9f3070e23a5208e476bb2e455c7c10afaea7a:0Hֿ#@6d7d6c7bd6f6d99a4ded3f4ffca4b3c2ff94a4317404959c0069e1784da2645a: +B4099eac2e6cb21e5bd4c87f860c73fb407d8c7f0bee842bee9bb6974eeb94e40:1F$@182d702948b5d3c4a1ddcdc24ec850d8699b05003f03527eecaec319b9ffc449: +Baf8b32c7e44260236fcbb491dc1f6f6ff33fabe879a289c1fc00b7c0211033b0:0F$@c118893a7cf6c5913b8b888ca30dc730f8bcb0a1ae2ad5c71d17f2cdcf25b73d: B681dae6c87a88b4fad01a01d71ad3548c3ec36d409bba182919d20ec3e477f86:0F$@5d5337f8d192e5e40dd3557cac371e0584dd79174a6f5070c7d0da4ec2a8b61a: B8c723a47fee907076c7b1496f0834c3d03d47d01d63a93195a0aa5177d9eb747:1F#@dc3127138752c80cb790af90072a02bc59099b7202f9ec4c72273b2ae6117a03: B1c35831b1814e9646b65247a9fe9f3070e23a5208e476bb2e455c7c10afaea7a:1F#@5d265bfcbcac1f91763364f03f23609fce82822ff62f4557f6314e8d4a2c8234: B4099eac2e6cb21e5bd4c87f860c73fb407d8c7f0bee842bee9bb6974eeb94e40:0H$@fa2685e850eb9578891091277201ef37e0ec986885c9e0ef24b775e3f75d6e81: B8c723a47fee907076c7b1496f0834c3d03d47d01d63a93195a0aa5177d9eb747:0F#@0c54fc7f07082246b96adc1f84ac97608c988539d22d408a5c4a2bab13552555: +B895de4fca00e8ed9330feab7bb92034198e6fb59c78846cf43877c5e6b57d365:0F$@e33a6318f541622b1bb40b2972d98371b89e75fed713321319d492f9c16694f0: B178793433fb5e120678099fff2121ec45c073a769ff76865aa767339e41405eb:1F#@a4a4c07237c686d4c3678049c1970849ef5f6178f204e6213fa0506b069cd1a6: B3b161b9c0997721337039da4ae4eacc2be75c102d9d479163ac17d23f0f51afa:0F#@46861e3b93d04b7c6ab2caa8c60b3a7ab3dba808a404e5688f1d11570bf60562: B43f28e5031bd3ab3ca927be5447f35d95256f91511270f4ea37eb2c65af4be1f:0F͐$@0784a5771e2d94b5146d1cf7bc757c78c17a0bed7eac29282edd0d3e0eb853f8: @@ -96802,6 +104068,7 @@ Bb2837abee25ee798bcf70890e2d59af80011797c6a0df4ca123dde7fe9cfe88c:0F Bf2f9b0b668654161515c1d8cfa11e6b5c85eceeb8a593545599556f6504599fc:0FĂ#@3680c621203690806cf15d26ebc8c9c31af892447a9a3718af14c55abb14b127: Bf2f9b0b668654161515c1d8cfa11e6b5c85eceeb8a593545599556f6504599fc:1F"@68cea5b83cfd668f51d65348158937fbd076d917544e4d0ac9e4830eccf86bc0: Bbe66e70c05f356f91455bf84afbb0aa6db53dd47473f48dbe8df5b1bd747b6a1:0F$@83a35b3ad9cf4c71b2664b0cea2dbc1b5a8ccd28b098de60b714e55aebc12a60: +B8e875c8c62d78396765b59442cf06dfaea887b4be91ebc391c4bc2de1fa2996a:0F$@b7fc2419e1cfa848e549b82b0a5f532542e2ef3a26a22b53159e536285d464d9: Bfed47a8d62236de4e5cfa57ba7764a687fe7ca9afd80e25d0dc67affd181dc46:0F#@02d35f4e771b97c823dab9335875a2cab191553c79d5b4c656f9b7a434968d96: B670f4037b8964fcfbf668f09e77e8d87459244a4784b17340928787cb83c4514:0F"@4a44a67b03ac4595bfd7fcd888c5694dbaa2273eec6b62c4101ae49ec4dd0217: B7d9b09bcaf73b3a6b4ea5393245236afaf4046393b70cc2695e7d50987a68f9a:0F#@e3081370ecab991ec79d75ecf83e9d5ab8d27e5f819b232110eb415fdff99030: @@ -96811,9 +104078,11 @@ B6052bb8615f98dade231b31f761ffd6cbbc6d834ca1a77c8bc0bb8ba3b454f55:0F B47c78aa183eb518048af2175a7fd0fd9f7f1de76853abeaedab796b6f1b7ed4a:0F#@e1d4fd46fbc3eeab4994f8fb517bebcf7305725d82a6999d66cb11f5a2cad726: B9e11bd9ea92bbc76e33fa80d0b1a3403b17299f004e735d1be53d0fd704e48fe:0Fͩ#@98c3f4c91183d5e00abf53cbc6429961746a62fb6cf4f4b4d042eea0b6c54f42: B30d39100db1144141686a31f4e9aab19ec4ad86a3e57780f83ffdd5cb1f8e73c:0F#@03a6e10eebb7acc032f6bb6a5a5c9bd950776333f42bbf697f77edbfd6342501: +Ba6d8e597016d0ee9325ab387d3685b741e88a5ec326dbd08d686878daef61095:0Fޡ$@8ace317f0bd05fdc35e20773bf169e01787d7f4d9d7a9e934b9effb0290a6e7c: B2fd785eb86218a00512e7dccf0698b7a8e28824b7f453f64aebf9485277f9506:0Fƺ#@e5a5ff6c7788870dea9218b18dbc558a2306d0404fb76844e4fe93c002eb00cf: Be39569eebb44118697974957b8bdb3dccd83d31c1c950a81d9df6f297878ec1a:0F#@00fe6e3d99541a8195ef3cae3e62ecbd306c33d21de2e54b1e8663b813ce5257: Bf6cf47569441c07ef881ed133210fc3baa90c5f47a4747eec298616947b82c03:0F#@5dc56fd902f0803188d3746d848bf740cf1d0e6f4174daad5eac2370d0a8c833: +Bcb24a01dcad6ac2e7f886818f3186542b6716e90a2bf2aab3826a8f9ddac0864:0F$@a697d9817bebe62ca9152a72782860e9de54cb34bb38c12dcec9fa7292e54e69: B0ba92a18d1ea98e8c10cedd5aa23a257dea1be75abf9da70a61a08a27b9328db:0F#@c209584da21f1e69cd4861cad7f95a4955a102c9583136547d3210bc4673b8f3: B6797ffa2388af5374a20b2445311674448aa53caefac3dc6096a79a0270171e0:0F#@077dac9219569b479223dc43dd3e380338d30c83c38e6f32923b20f1d949a0bc: Baa66f8448dc86ee429a84c370c04d9441424f65c0753158d086e21532f7b2690:0F#@a0ae062634929ffe67ec0805a2901b93185d181fdfa0744d177afe5a400a2180: @@ -96847,7 +104116,10 @@ Be5ab9c95f74f353c0ef8301fddcc7081e624e9086437f0877001e27f9d6917f3:1F B13a2f65a2e35509f37ac76a412b50e4fb1463060e50b8ae4f5622370075c387a:0F#@a5764d8b269251255d894055499240609f248776afc688fabb3afecb462b186f: Be5ab9c95f74f353c0ef8301fddcc7081e624e9086437f0877001e27f9d6917f3:0F#@ab3a77df2531473b84c9d1ed21db5a6171e2515056b9be065100b1f618082c01: B2584ca491601f8866e14195c7dffac7310d67b1b5a56043e5f12a9d07b43a56a:0F#@afdfd096d9ba0b917524869204ef86a777ff9d1844e08381e266d6c238e3b6e4: +B11b14397896ff9af99e3dbc0e6fc10aa3344f7a36a046cc65f067946cb36d074:0F$@b1a1da5e8432c37731b237a1681de201e7cebd09b80bb41c7901b7e62d0d4357: Bf798bb46765e47813684dc7be9f5627a17f10481b71f3b06a7400ee22d096995:0F"@bf338d505778936553c9175eddcf45a0f589d47c968178c516386dbccb90eb0b: +B69e44cd49835dd8b2a048adb9b7cc114ca7bf59ceede6a11f7245806fbdd94d3:0Fۢ$@b2ac0eebafabf78962cc1edf2f29af9885771baeaf76f58fe170ab8ddb84e31b: +Bfa6900deba66c6af1454fff9bea433df4d7b92b8724d7d8c7f0449e1fbba4d4d:0F$@9ef9ce423fe488a79403262cfceddb8a1c94ad3532fcdb94e4e0866038b79af0: B18a06b74194738335c44da05ead068b4512120a6aadc644ffe36936ba567b5f2:0Fߕ#@4f044f41ffb041dda1c7fd93d7f49fa2570b2c0d86538b31167bcc3b755e7afd: Bf3fbfedf1140a2bddb9203a639443e1029446982bd7011236fadcf5556214ff4:0F#@035031d9e5dca4bd14a2bc002fca02688c3bd3efefde0bfb1a5a0cd56d43415e: Bc0c189d3d9f1cc912dc60952a8fbd2a893c295827f9fe29771d5af26a20a4a80:0F#@e7a3ab07f590904780effb448c0207c9669d782f366c5095c79345df5f871e95: @@ -96860,6 +104132,7 @@ B5f7fc1da84ed558b8f9384ae38c75a234c2209577fc363513ef483962ea96c7d:0F B7c0de6129ed9273bf5b478c9638a7d06874b1e118e8eb826404abd8c541f3c69:0F#@a61b15ffa0a7da27727725147b98d4e56ec4b69cd3f8cdb4af3f6b19b0cab3d5: B5102f564da288c96c02feb72bfdd316390fb0a46c4ea3170975f1d8492f3ca0e:0FĆ#@a60b248133fbb1472e5ed6c304561e14bf1f6ce7af5ce8e9847bfe93118b6160: B7b2f8ac278b5a6e9633d6d3e98e80ea0d3107b41f12aff1c07ea49fe3069386e:0F#@f5521cad4dd527c30f426fc8f8c571813f670cb3378394c4ffe0cf18216cfbc5: +B06fa21292581916c09a61543e8fb19f77bbf47ee17c380bfe3b8c90ae4a4828b:0F$@0ac953f21fd386d847e042c099ea17bcb6eac6ec94ed91ce1630d4e08c2ffc57: B5f7fc1da84ed558b8f9384ae38c75a234c2209577fc363513ef483962ea96c7d:1F#@3cea69370186528da86b7d779a9d59d92fa07658fa5d406a4355251c937db151: B68847436d70092b6e9b6cb4145548e9b359f5e95a37fd1b10e23b1360a86d2bc:0F#@1b890cf3bdae45888b698d02342a93e3f2a631b712924d08f9d38c4073a92f76: B76bf014c2f1fb719a0bae9bf005a80575b5e959b5c70389869e160a994fa0ed7:0F#@c42b18cce76e077a7f013bb69588779c5856f6d527df7a649433122be0d31405: @@ -96868,6 +104141,8 @@ Ba01a527725999262d3728c2fe3a44e43d4e5f7642ee6a7f5c5faa392789073f1:0F Bff1e5047c6cfd28955c3c85556db5f51946414497a263634db232b81820d723d:0FԨ#@19e251f8c9a55b35e40222b80796f87fae2b06b69f1b9bd8f851dc87d35d38b2: Beec782c061188578e8eb896b9372e2843c70f70caf6acaabf3f33767eb0df1d4:0F#@10b0b101a70f15df8abc4e30f36aa4bfbf50f78cc8d63764afed2e43a643e73d: B52ebf2a76cc058d7682882dd7ff90ba0adab381ec2d1e84c3c13d051279d2b44:0F#@2c05775936490b9dbd4cce07a85d0b4aa6ddc0be69a16c7356373aa29458e418: +Be87c5cda9e42a105bf34027170809ae240d9584f1e9277dc3f289c18cdc41bd7:1F$@a8774a8533cb9a7faaa706fb4f5ca45a591ccd25b6d2881fee42a3343202a23e: +Be87c5cda9e42a105bf34027170809ae240d9584f1e9277dc3f289c18cdc41bd7:0H$@3f9259d57b8aea5ee391423da2ee49295bd78eb691a682d4ee8961586b5ed28a: B05beaebed3f10f595bf1cf7b40d745ff073f1faad31b43d82272284cda34617d:0F#@eee9fd34dfb719ca2c702ad7a3aaf805ee17539abbdf243fc20b61d33f7c11cb: Bcde908b1abcb242f3e3a79b13b8e60fb332701f9348608645a48ebffd686426c:0F$@d852e7ae1f7797a3c5860a8951151682614d8a9a0cca62c54b6ca9f8eb700e27: B3df184171278b2b7227a4ae3f02e86c34cc78744b394080e4c7f580c0eeef3a9:0Fբ#@6416991953b1e100d77a9b178a3920fcca3984e6297fc574bfaf0a10c5dd8ac6: @@ -96881,7 +104156,9 @@ Ba07aa362075b491de5746724c724b6cbbac16724a4e5b55266ddae5240706428:0F Bbe96584979d4532198fbccd17f53496f16464f654d59b51140be22af057971e9:0F#@029d84f50783231ef88fe7133744ab022df52229291c0083a6bf45ae9e7f2fe2: B2c3d25ce80433cbd074dbd8cb8f8b9169b88f15c8491ecfff6a4b10a48a99386:0F#@0850ddeda5a2991d9320a026bbe68afc7508d695756626a9fd7f02a65b1a0f2b: B8923b6c9d7df81187fe7c0e55bfb7ba4e4030322ade413628eb11d127f88bdd8:1F"@ae4f2190ed19d8a894858cde5e3a461f40c4f4fd82cf091d9270570be0f536bc: -Bcfd4e2bebe0be718a36e888637e8f92519d324a82e989227abe513e5755a7527:0F#@54268450f3bf050e0dbe85daaac7d9c688a8ae8f84e58d20ec02baf73d1e6991: +Bcfd4e2bebe0be718a36e888637e8f92519d324a82e989227abe513e5755a7527:0F#@54268450f3bf050e0dbe85daaac7d9c688a8ae8f84e58d20ec02baf73d1e6991: +B8923b6c9d7df81187fe7c0e55bfb7ba4e4030322ade413628eb11d127f88bdd8:0H$@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9 +: Bd5f929aa6d4a8a1852d8d4b4d06bbc60a24a6bf0f0da6c257b9207d4294e7b9a:0F#@15a68dcb3660eaecc3eef0df2f8f1b60b68e92fb45d6d8ed5100b76b2f05b027: B786f55112dff4434f57e53ed4ab64563c446bd749feef9d37f79bc8c284cc5d2:0F$@bdee38bb1dc6ca1037c6dd9a887a04f44fe4df0de6c06767d4a345035725b18d: B800eb7889bcd815ecafb35d1d7897cffbfbb259460c8e967852c5c8796566f1a:0Fڶ#@17a58ce16fb7493bc627fbddfb7178d0d91c6dff0f09595b4b186f819446a063: @@ -96890,6 +104167,7 @@ Bb89bd137a09c160592718fcfa9f017f80ae15fc2eb90013a864f6d76f220da97:0F Bf1871a9b34d989e1bbc35f18c65e1c833332d71a15b68a684bfc93174f76f83e:0F#@21276fc71c05e0e0ed980ae2e5c5f1aa840bec44ed8fcf01e05742c3c3b2a625: B8729da9436d870ac9f9db3c03d9e1a1451d356da6dda94a99a2f8f319e519607:0F#@257525e95aaa4d992807131a47cc61bb5bd0ae7406b21fccb1b5da34487f0328: B24fb99bc3a115a6c600dee5a62ca51bc5196b5ea9be13c88f6228184f25f684d:0F#@2259540fc4154954ab9be90e66f0b00c79cd92b67d1d2da83ed0a6fe01fa82f6: +B28b710871026b6c2c5d46e7cb550fcbaa31437f98bd68af26e16d4f39b69f255:0Fޡ$@a6d8e597016d0ee9325ab387d3685b741e88a5ec326dbd08d686878daef61095: B549979ffde9e597766be00b904049df493d88d43dcbdf368cffcef3c6b408478:0F$@905a08dbe8ffd9e2ee82814d4e1f47cb54135e6bc89b43b756298728ca11e754: Bb64935036cc724825244d4889a93549fe57154adf88a4fd85a6a51e62b39348f:0F#@57ecf28e72b823ed8ba768d07c676d6e39919339214f897a4708e002dc1a6630: Bce1fbf1b18a242cc3f654f1516f45208e444c340f0977ea0e8f138e5df4d4fe9:0F͵#@a686e4c39acce5237e8145ad15f52303983c69aabf15f3e0c3f7a4b945738594: @@ -96929,6 +104207,7 @@ B10d00e9c4c30c698854f521fd83a441de9e12ac24efe6e01e27f5e54f074d073:1F B3d08ff604485e3712fa1fd6ba2933b3ab001cbd5fb5ab0132b5ea1dd6875400f:0F˟#@dfbf95b08b102fe75f8e8a9988eb629cd9cd751cc369182eac749067f44269cd: B3c94b37f57965e9e46cb4af6a8cd275eaad85c7d98b8e5b2963f0f0280bb3c59:0F"@685c120669d32d21baf13f5ae653499e57776731063f8b644a52d2419e3d3a5f: B094f7c4eed74c9262d01ba3f354066107dd0c2008d9a8fa7190d306e27f2d2c2:0F#@bf591caa79425ca20a2d0b7e0e02319f15f20a1a39cd74b62c4a5f53dcb0e7d5: +B01878c4a79c4b58ebadf12fde9a370e73ce7e413079d93e39f480588e63aafdb:0Fܘ$@b50bf683773bfc79d2b0b2dc6d92f06417d03096ebb57b24da8f612b0169baee: B728b3e5a3d757043a9d4340d389a1fa47b5a3386415e56f428831f47fa66ec43:0F#@262730cab0bb9c55305311b1d9560b576d722790885f8f2c96e7ad3864547499: B4e0458398ab788418a1af54c695304fac9954d4af1d03ac760f5ee86a91180c6:0FǪ#@ec71ded7d251960a708b539a04d5c46c54bc6179a4fb6ba26fd9179366f65e34: Bf0533ba6c7fd900b8a31b1375ddc4e200607ffc803c94cd2688a61ad1eeb722a:0F"@6a556eb5c0b3e4a04cf1cb6dd27067ab516d553cecb142b175d9d80a8ed21b02: @@ -96938,7 +104217,8 @@ Bfc796b62b3ab28b3e272b0060a3a3469cf97aa2d9d0f351441a585a74366ca25:0F֏#@932f0 B1b5aa18b57a3efced8289c2c2d8ee54aa96531641e21fccf601e1903f808f73f:0F#@a547bd3f61ff466fc791d531075f7da9b4d539729d588bb6ec98c5af92eb135d: B2e4248d60d96a78214d3ccc9740adcd28f4206659a3e66013bd18216fd037f40:0F#@bcdd72cff37aa49fd2db828fe344baa9a8d5496fb1bc24bb62b181465188900f: Bdda1ae1a469c146253a699cf452e991827a7f7ecbc35d357259dcc475e9705d3:0F#@63f97e6a5ed9857d13d7f324a61345379c4a428077d08a882a1ff41d5a7d13cd: -B530c9b763762e26919c096884ba691467e55c9590835b5e56d1b7a328acdb2eb:0F#@271681b9db5e1665f546ace2976992dfed1d4d9ebe7d03f82c644302aefb5d68: +B530c9b763762e26919c096884ba691467e55c9590835b5e56d1b7a328acdb2eb:0F#@271681b9db5e1665f546ace2976992dfed1d4d9ebe7d03f82c644302aefb5d68: +B0b75e699a0b0ea87ad28e4e06b52efa9346716fd7f39c98bb65aaaa1e3b34881:0F$@fa545823ae0d2445c90b59bb2fdf8f58870c0d3e67114ab1487d65bc37fd2308: Ba10abc05dc0edd88aa1edfaa3076bf1a72de5d659943853193cfb7fc557b4643:0H#@14ff817b67f78e540e480b314e99168ff449bdd0080ded2671755fd3f149f4d1: Bc62ee57e99879ed4a46507144a64da062498f48a59270718a3107497aeb8cac2:0Fи#@22cc42d2c237729e049a5e4c53dff6bf946ea68a7e6a81b1492bfe04f1b99c42: Bf6a9ecbdda86b9076b493ac15d6f8fb620978d196efd28d020071d1da1dc8c0b:0F#@f4d9fb71005ad6011ec23d0d23e1707c4b3bff07a1509d33e184ec62ca5399f2: @@ -96957,6 +104237,7 @@ B07ba69ec41c908fa3c50c752e4dc34be12c0d83cfe0e2e8e337013607c135b1b:0F B15e6c17ebd3ac072a0c7b4266d0be08c5faf9695c6c816aa799ebfa7ff84fa70:0F#@9b054a19b9974ec3616cb13a76f9af4fed504ad949c670cae020b1caa0c60b97: B37dc627635f71fd9af18a7fe82ecd3902f9257cea4a6b894d6f31c47214018eb:0Fޮ#@0cdea7cf094064d2e8371e03df4434592b5b83421a63e4b3c696d2a629d39431: B667473c6e48f512b114d339afac6a85a15fd2514884016d73e90c611e9312c1a:0F#@589ad09d9871b2487c4001a5a483020cf15de4c1fc312d3aba4cc42b84e3df0e: +Be2b80216a45b5cbbc24ccc20558aa4fc2cee5a25ecab8b899f5808e5713ce3da:1Fؤ$@f8d7fac77df8e8822025790343298fbce066c9b8d05fdc0d5ab32aa0106ef1c0: B7fa1419571588892773cdf1b1e53f8455609668a830b83decbb9a4c1634d061f:0F#@50725b33ec384eab8be4b30df5b6aeb20f03297a5130b28717dc1ae249acaaf1: B852dd173365c86f13d3203706bbd651de9887a64737ec6e2cb498c1c83ed4e81:0F#@8e428c2fd7ce91e5c94fff23f610408e77545a1b50031ee7b5a70416f5cfb79f: B135eba214bd65a722fe54d507fbcb3ff85dc6cad58a63964c2201e3b3d3900c3:0F#@5111426e1c2f8597bdf9b2c4515cecf5b3849d55956f8019faba0a2fd1ccbee9: @@ -96971,6 +104252,7 @@ B344507b9d98f3322934eb1f0a66858f4424b1a937c1ac5f1cd10fc740f203e63:0F B7bc1c7aa5d9b57f42145d5c439fd6d83eda96d8436526d064be4490def78cd40:0H$@ae5d3ab067c140e77fb3db7b7b3f898c9c501b70598b4c1c3fdb4dc324f994ca: Bad9665f1e36d5f42931c779cf123506991f43baf0bcffb92a7fd2a55fe3bd64b:0F#@c8c37a1093e33b98308f4487d7df53cb8399b44ff1d62f4e4b63d08c265a18d5: B742963b365cbee6265c17b2df26f9a2d72385e367417a78154e39f1e8e31c2a3:0F#@e14a7bbc9bde6e16846aaefa8c3375fafe19d623b3079eb47f5ffd149fbb71ed: +B41616c2c34021c29e7b07f67ddca620ab3368510869f8ea5b5620c8faa4af7d7:0F$@a8636c22cc7bac97f9e646ab854092022b0e09af08d37bc4338d2e48be6c17f5: B48299b1723aae83cc4505cf9c975ef47e2d8ade2f6332e2966ada196cc418b38:0F#@8539fbc802179aa5f2ac88f143a3b5f777968ede9ccb48d0fee4b2504371054b: B7c12718755e6f4eb09b377330f9b7c4c4dc3c9d9f79230035cc718d4102a7f80:0F#@35733661c52ae8265d0495e8f904b7f4c70b4c36fbc4e79cd9a200b507e3f263: Bcb39b172bd4db36e25d3c23865ba0b72d2f9d9592ac4ef99b1ccfdd52cc9124b:0F#@81d61b47833cff23bed343c2453f0b75544d2d1a06a9f64fd6be9d64b7fe8d98: @@ -96996,16 +104278,19 @@ Bd0980396fb858e3cd9ea1ad827440039bcfce074715f59b92fb009cf7968169e:0F Bed458e11f198931594d626ea8cf910449b2d5f9cf985ae34d49d5b593d45ff61:0F#@88e4150f48e6745b8db368c6aab7c5c7a30383f947ec7f94c88ded5563046587: B2ac13ea8262f82d6ef0394abf1ef8831dc64be196bfb8c7922da58a28c0404ec:0F$@15bad8fb8c603f56f8c6642462dd93c24ab91b85f9e81a9248bf8788443242d2: Be94af11b0d694e8227d1319355650eaa4e4deaa6d4eb695592569a580e99639d:0F$@98643eb952943e2b5c77bbe73e972d14e5b5aedbf2ab899a23de3e9b439fbfe1: +B60223f991aa17f530b995e30e534a325054e45445ac90c272f8dba63a1a3c31c:0FѠ$@0b75e699a0b0ea87ad28e4e06b52efa9346716fd7f39c98bb65aaaa1e3b34881: B431a286eb3cd88b5b9c083c1f455fa1b20067703ba95076a6cb8fc488ca78245:0F#@94c24fccb1da6b27b9b47834dc8852ffae32163b9e8daa60c8799099a2a63d10: Bbe0551207e40b5aadd7d628fd38aecfa8235c81e3ae9cb78560d936babdbaa3a:0FǠ#@6ef88974c85c4d56b7c5873d48061abf5efaaf4b3075f146a99c12733d76cf2e: Bca72c8af80c9811bcd44bac9e1e9c61baa80fd8d406865db7e1f30bf1735b39e:0F#@aa04fd1cf47b63683d44e6bc6f74ec6c249aba1def24a77928a1b7ebd7e5744b: Be75b4219780abe5cb9f743239e255ea76066021cb80985c4922ede9ea5157417:0F#@b17167c6de5aa4e3ec4d4016083f8f12393804395055655c6c609cf6e32eb500: Be75b4219780abe5cb9f743239e255ea76066021cb80985c4922ede9ea5157417:1F#@8833016ab5fb892484b5ef2f7d3c2632a2512ecf45b1d1da78021b703c63524a: B32ea713966d44d7ba32b307ead66e43ec9d25efeff873d431bcbe509f161eeeb:0F#@5352cd5573162835b2f1d4ada74269d8920331692ef4acd80e97bb6a776c40ba: +B08d2fb04d60e478d67b061f2b0239190e49986d552419251dbc325ed4ac491bc:0F$@9de7c6b14246d44e689fd11986bdf4361d6b01d582aaae85ca4d0b6005552764: B71ef2233e03c5624cf475ed7bc0fc5826bbc77200d891c4a2bd021615ef6dc53:0F#@dda400d1ab26b819a59b3ed5ee9101473ef172023adda2930f5d182247655b93: B10a2c696c07462e70ef2559ff40f4301a67d8c47b2f4635934786eef4dac6e19:0F#@0d77846470d0c4bc08341c92ff16df73e75bb86b2736c7200901d527c4ff8368: Bcbe5404d029014d55e3837f62d3473443b8c1716f197aa05210e957d47115c8c:0F#@d8d4ec06b6ce34812b5f06bc97af287c4483a9e930065852fe189889185a9fde: Be260b98a980feb927480e34a3dd7c838634a0c3affe8c9dc10af19faa95b02b7:0F$@18fc1f278028e6d3ad4c3a9d8144496ac1f797d7c7fea432ee2627183441318e: +B4d03d067b5fd1db76cca79e23679bf0c47f83e9d7fc116c1bd9dc78ac82434f3:0F$@b40e2067b6793ef64d48009d237e1f55d3141c778f000ef6954dca73a5a72104: B825814ab04dd1f7df5f19bffcbd1d36a3a638f949fb1c854123ab1d1c92f0837:0F#@debf486d6a7aa0733fe3b8f6043c24cd753ab597b5803493a0d212bc7d5b4e9e: B5ec7ac68f4763849659cebf9263fee950c1b63d6c0cf02c1a048291b6f47672d:0F$@1506a71ed718e4be0880d1f7c29e6d0045183c129ef01bec31e58e3868704de1: B3560043b96956a0b0cd918522cc42ab8ce95e1dc6aab08b6ceb462430a126823:0F"@4c3e4f57689b9f094fb167689243c900b0657a7ee575c0e6ab6fb6bf517bb1ff: @@ -97015,6 +104300,7 @@ Bd03d7a0e0da3dbe19f3ffaf3406ca3fe47c3eff93e7aeaeeb6b2849b68df014e:0F Bda0b18f052b9240642201d8e12ac23153baea37dd8d965afef080a64c7bd7010:0F#@cd9ee906c4c544674e1005a1fe93ca8e59496183bea0e2546e6a4dca474601d2: B49e1d78a957ac58fa5ad4c7dcc75a73f08a820bf0e46f18c418ad98a02ed5222:0F#@be80645a221d330be9499243965ee3b7d4431948a1482980e3d3298400828ca3: B60220ce9d23a236d1e6830fd0ec58ae09bfe980a842728b8841db1073b268078:0Hʎ$@b7c47bb9e6590c9e090b71143536c35b00e7ef6e893668f2ae1ef75ec9690b40: +B1ebcc7321de77fa01eb217feba041d8e205a1b2f3c4409c90140b04690227609:0F$@493fbadb828cb350359df91297ad6e78d28175f0d3e9a3b0b4623d030d38fa6b: Bcb797ccbd4cbfde3a43fb73474d076776be97ed578784e4991ffc7cdfe720ff2:0F#@866c2a371a171f471467f76fc7bbe7e12ba849702590177b907a155c76b5acef: Bcdf03e17ba8e9dc8ce45822fdb54e0032986b6cdb5b5d87d42e300a5711600af:0F$@535e886b5147b2a93adcc3c5e9a94571e05c780a462f54953db618bbd5995530: B88a51c1670bf293491572eb1c1aa4c3679377cd2b0a62c765843d9167a9493d8:0F#@4187af64986728929fbab738b407224a4f286ad44b1043b2a70a6abac59b7783: @@ -97087,6 +104373,7 @@ Bafdc3a6b6f06b1f0d09d161e627a2f82067d3aaf8fe7c61acf1939e59406b783:0F Beb822035089a614899eda87f8f4e201765be8518540f51c40ec7fca9110efe89:0F#@56e8d27f69a67c5dbe2deae702e0911340ab26eb23c5e23052df62fee1b23db1: B69a5d6c81689e249d791e3631c69f014958b43fdb6e388d1688fb4221f3d2f79:0F"@6eef36c57ef822b23abdb96e27029ca05659a11ff8e14afbcb47357f8a3eb4c8: B99e377099208055e01c4e082e17d959292f7d7b6626f96a4b1304c2a03a9af19:0F#@5f9a369a5b3932756a00ce385309b97c5fd5c1df9b647006c993420b2067d024: +Ba8179552900aba8d48e625755dace5bdbd39bccdc47115603e7d8f64c833817c:0F$@a6647e65d6e357fd85fdf92d00ef8d8c4efdb377c556c516fd09a6b18c9391e9: Bdd3d3c85f8824261a9a6e8b28c4c750ebbfad8896ab721e297bfa983513ee940:0F#@7bd1f454307fdb355e4c15c5f185541739944a32e49241b70b4e47c3003202ff: Bfc85907a7c9e47619fa6b7e05bca4b3072352b04861cf5ab80d46a54eb57c6dc:0F#@8aab04f905d0d9198a20360b3647ef4ea9ab614cdf06c857bade1c8a5c804e9c: Bc6530d4f1f93a4b52a16618f82e1669403ac1766d467e40b2402ef1ae981c4da:0F#@e339c18903c967a940e03702a172ef134507129c078a484e97b627a3180fffc9: @@ -97096,6 +104383,7 @@ B7d80f99a8a866ce290bcbfa7d9d511dbda914453da2ad1941ef6274964bb53ab:0F B876af4b9b9d4c65d1620e54654c05109521b7438016559d46c131c0a12b0ae3c:0F#@5af935f84856ba918ee30ddb548a0fb5fd1251befa05f5a92b84fcac4e351657: B7e3af8f22be56140f1cd32ede4e6122098dd741835449c514f60ed0d356950b9:0F#@190ed4236f19a8ade8dffc4f50b8573671b25a4bab3c09190bacfb5260db9b72: B997531022ac6683e356185e4bdd84ae939e39af29348cfca2e0169329bf33f85:0F#@e88cb4e74bc1c58fc761863c4b76a5039dc5ddaf0b25969b07de04d8b7e2bc45: +B0bfc582a3042ded1c8372d7a26816f3e2e244270193d9eee9a28245c573be98c:0F$@6632c2254cefdfa21251d005c7a133010b1a5d1b454caba82403bd1fddb7f89b: Bb25cd9071259e8b061dc00b5f9dfc7ccbc0a29c3803f0b17d2863744c2bf6a99:0F#@2874a87a3f51d9422ed441c7b3005d1bf95e2697242606e4255286aa02b13d8f: B45b0e2406ca29ef5e1590851f70a8686ef3816fad493712544b2b4c893ac2470:0F#@aaba19dae93ee88b24d3f3e9c7ccca02d90d4f5108081789e7b634ed2b836b9d: B365f877d6d45d0cd77871d6bb77da6b78dda4162abc971fc4451f4c2e580c32e:1F#@3b6a84199daf7bf9bc91f119c605169585121a1d7e664da0b0887403a1123118: @@ -97106,6 +104394,7 @@ Bad10ae84ab0fd195b7550f309a6e8b489aa2174de4b507413460b4fade7dcf62:0F B09638e5ae033fc0a8db262aabb350806ded4545b8afc694a1cbbd674edcc5780:0F$@7e3fcd1c3d806f464a3d87b28cc48c2b7adca13c3a719c6e7a2c10b886e6be71: B9f2ff4c0db8fc3001e3d2659e7135560188f043d4faaffcaffa8addb333b78e3:0F#@36c65b6d465dc71b2fb76922bb9e643e66f83c824c055b1d14a98e5bedbfb3dd: Be8c40068abd8afb2061343dbfd24952cf40fed07d2f868eb8f1ec694565b18bf:0F#@39a17f35122035b458c74c84325ed8f76f925c3eb1855928a8dcb64a6c9ae850: +Ba8b75209ad1b9ed50126907cd156bb71d0466d21316b4773db08bdafcf021b6f:0Fܛ$@98666012e22d9e3978568480b1932754979e8d7c3083f1e9b537956369e24a1a: B46cf43b9e8f50cee13438b8623d5bb1b19449b9c9679f027fcdc8c67c00c89fb:0F$@b5de12cd42959f540fe9ffc91376c594a700fdb4ec7526c1afa98b2e67b50910: B7629334133a548c0b1e1739550e9137dabacadc4bd5d67e3e399fc1aceed11ac:0F#@c119f87fa03aa1019e7cbc592a9759712091d358057d46437b1fffb37b463bfc: Bcf89e41ffabfb343b52c11c51cb0fe7447f8f64220d171e9d5894d70b74ec56b:0H#@d96eef65c1bfb0fb2d78dd005492e3f19e3c2c2ab1ad59451cb478c923bbeef3: @@ -97126,8 +104415,10 @@ B76d071738ca006054dde19f4921cec4cbdb7f007a1b3d1403b27411074bf0225:1F Be7c6c03ff59f31ecccf7a5ad8845c889bf245842acf37e05e7d045753880303c:0F#@44fe47c5f8a36451256cdcc54a431199de78f5eb00350a8f0c6586d02bd80bd3: Bf76e4b113ca157a86e03eb97138a3947061037024814ac54edca50bb1c904cee:0F$@04ee7182e0dd212e026dcfccbdf2f634cd24874920373e4113292d93de290bd8: B7f188d40e74dd731475f497b928780b429ffdeebd5d18222d9e036d55b269e4f:0F#@efb5dece48bb2d5e5083ab08e344cc6f910b79a6e4e6407174cb27ab5269d0f8: +B2eb926619110a5bee652a4834aea3dbc1b33b1fcf766f795fd03712815ff939d:0F͜$@c49896c7cc6cd0e816137617ac99e9bd757de12feb442168266d781c4314a7b1: B7ebf2f8cb64d91a347bee77c642dfb9a0d9da643b5d780b30b36cfccaa6178ab:0F#@003bca3bd0fd0dea82d096393a891d2d3262ea84681f4175dbf3949ba6f98989: B76d071738ca006054dde19f4921cec4cbdb7f007a1b3d1403b27411074bf0225:0F#@4b0cb61146f15acc3d48996ff1bf71431374bd86fd350458c4dc5f4c2dac02f6: +Bf09e5c788e9b76757f1040aa85d007fe6e06392a90d60ad95ac7a9ab90708197:0F$@fc947b67d25023971d91cdf6ea7cddd1035d80e7ceb6e79d2bea7a14c5030e3d: Bee8848752b937faa8da338c6b713c83c6e75d1ca8d14cb965b9aa1ad7d2f85ec:0F#@48dfe0066617b9fba7e1b117d1e0638fc0cdf0aaf56f8c5456df6a036d6045ff: B9e8da7d36ad25a08e8dcc1dc6e80a2434ffaf253f370d20365b7c7728817cc5b:0F#@cd83bf1a8e5930a3c6a819fc21180ee781c604adcf07220efc0748c4e57041d4: B1ce33fb5a4ce55cb8c0707a1122b189de68765d4f6b83b4297cf109b12aa7d06:0F#@e2c4b60d5b1e246d46e1f3fa0bc2ef6466bd8e4f193c3f699496c2f8695af163: @@ -97140,6 +104431,7 @@ B40706cab9886cd9605450d876d013e24b8b56d5ab482027e53d317c5678271a2:0Fδ#@d23fd Bbaa89d8810ca5b286caa39e24c360a5c8add08a5333150fe99b03a01875a8346:0F#@cadb7382ff61edbc023e72d32ca555717593634d9e5096963466ddda84b4def0: B9380693b5de98ff27f56f3def0c7eb68f1b73283cfb81df985f3d4196ab53fcc:0F#@7e739458acd08ed0b952e033474c6a1db2c043e04075ac3930af44b132c140f9: B04b69f91c9da0a8148e339747fa32b92a674efbd8f59216ba5072b56926962dd:0F#@d86a82e715017ea1381878344b2d08b36ce3b97bd6c4088722078fa750182ad7: +Bb11977b0b1577ed74771d757e8f31e904fae4e8c5b5e8ef7d8684d88690938b6:0Fך$@7473814fcaa91800823bb2f4b1629901f476d1783a338aa8826cf8a8bc6d18cb: Bcb473e7e9de52c12f4a21650e4638942984d65412c21250142acf35651fa5645:0F#@e8b676a1e31bd7b8b65aded09a386e0d58ab9aa842d7cd33dbe7b4e243e41211: Bf3fa2f3d22e13a65d7c901eb750259cab0fd2d95dcd3939d9ec1cefa0a9b3899:0F#@da5260006b31d3947a4b3cf86df0d0eb524c2f4307d9c7a6cfca11fdee107c85: Bf3fa2f3d22e13a65d7c901eb750259cab0fd2d95dcd3939d9ec1cefa0a9b3899:1F#@6d9782e2f548bdf731336bf3ccd99c0220cb715fab524cf518d768d97d27d97f: @@ -97148,11 +104440,14 @@ B8455091a2b9c5deeeb23de4026ca5b4914b987e070d70f24b3d9447ec2295184:0F B5d85be506a3cdf316c85d3797326da118caf63035058a4c2f4ae8014e7cd4edb:0F#@8fa2caf1a72144f58a45e0ab5a7d32cf9e929e431205e2f82fb32db67a3ff00c: Be0462eb4c3aa1b4fbcbe86625d5bc21ed797d9be3973637e3bcad545a42fd3c3:0F$@81b3b60f2c8351c8038b4517e2b4e01615550d254dc551115cab6ff78fc2ca3f: B6850c101af77e3e2ea7b8c73abcc4d7658fe1c3d806d4b0700ef761bf844dd0e:0F#@2b325cde9a1eac43ffc5743920331386ed5e782a2def9ee7b91a7f13dc064ba8: +Bba217235e8810ea3354ef65adeafd00e817fe65a1f4400e0da60b2e1ca5016c5:0F$@33f0d23b25d9cfd204fe2859bbe33203d506f06a42e2e9d643cf4d8039d8c90b: B16e14c8ed098fc34f23302c85602612c90db38ca4b3e6b5cc0685a0a432f7dd1:0F"@1d5d19e31e8bc9534fb94689b56c8e4d07f185694eba901a13d80b9376520cab: Bdf7438c420a9b80ba34fa28653a53624a24cdced385f5d135592161dbcbec1de:0F#@a5f6dc5fa8ef3a017d7969ef3052a4eb3ef633748b86db5602ca7cb9e6a19c89: B5d032ea6d394754f69b46d2f192b3c538943bf51f0fd43a4439b681929a2e752:0F#@1b424e50c4bf6ad5d6db2b131e795e8c64cdd89ab5a91ab422ff5691b8e09cd0: B76c3a4ff3bf51236fac5fbf7d0559c0d88c1c11f62652af13721f501f22ebab6:1H#@7f4420c9ca3a64b54f4888e030727b6cb8733d9a8e5494d081bb014c5745f24d: +B0521e1a070b14f8892a859ba649849b3caa4088159a9cc304733086f75210d55:0F$@25023e00759ffac6a8a8edb76330f9661b904c52d900da62ad22ce171c8f1e9e: Bc85f1498dd10ce6c6e303a285d4aa72b31047a3c8de0a15658278bf11044179c:0FǸ#@5e16483e9a89fc2edec2a555461bace3802769f5713f239929056b8ce2c1f6a7: +Bdc52d0c329e812fc1bbca83b28c8c70247226b57f3725fd6e519f0744d9e0162:0F$@b76d54c119521c95636e611c04da469ec33440a7034c656e25dee8c258482179: B95c4efd5fbafe86c6f692b7390c3f86cb2b5b49b82f7e6f2ea94d7cd8ce1ebe1:0F#@3855ccf209f46c38c8f5486f8b691ae3abceb41f3eb907d6c942b8c454a5b534: B65fbaab81eea9f9040e46fa5458a33c3d8a55cfd0607e9da071448ea105126cb:0F#@a16e63d03c1c5c77e7502ac6346cb785f5dc3be6eff0519c88aae0f2b796353c: Bd9cd265d61a1f46441d66521e98a3ff16f76541d7aa30e5127cb8095175ab14d:0F#@93f233aa422bd34df12f1ce6ce8326675525d2428ac83f4b79232a2d0e7fe0b5: @@ -97174,12 +104469,14 @@ Bbb02c9ce1aa77e0af9bb42dc326398e5ee1cae452944176e5a1e6e4c9504a4b0:0F B379cc2c79ff8a6cdbfb3c1905628a25a16f1805b5246f704f84803c383b37798:0F"@e13e35a5e6612e2cbfcf9cf5a0e25287471b6bd092c8ed6770e0e9d027e3f91d: Bf253e8e6be1969a346bc892bc9f8e15fbc03ebc60b4671fb71347902cf7a981c:0F#@228ad6d213b0603f1f22738e5e26180609284ce6a020f980c346037a2b5d36a3: B40605dfe6ea7139d3935a143cb004d5f8f97190b2ff8ece13d5d686f9b314795:0F#@bfc07842f5c63beb6c724b85a65babd7544fb464b21453daa748a1b06a17828e: +B0672bf535af3a00eb1545c6a4ee05afdffb27d2f421218bad7aed1300381e169:0F$@761c93420e0d210a5eba4dc3126240a8a3409d4d585ef3f73a0ce7000640cde1: B0ef2698c41a04fc220e7f733215255ed4d2c59120512d9755d1eae374e7cf525:0F#@9593e1017395329d58579442b083f9096d24d47b150accd322a1b46e49cdbcad: B870ca58782c46e8c1a79bd95c335456d7f0a99158cb9bcb9649882dcdb732337:0F#@1737c663d401579b15e8e7c7d6508276c90993231c9efe194a9220c77647c8bd: B74b81731f6680948db0ec8c0a07b1b24fb91f95b1bcf2529000ceb6fcee8431b:0F#@5ddafd1de00fe5c82d04a8fab80fc51b38f295926152530f68578bb2faa41836: B0357791fcb8c0cb1876e59503e553dd3efa3ea0da73b513a4b55242c9da0a48b:0F#@f6a36e1e49f58dbd055e09639f68c1f3f7a9e295df963f5847e16f4050ecac71: Ba089dbb22f7ffb98a6f686835210959ac5ca72bc3c011a75c90f5bb983c44cc9:0F#@963ba3c520d26b128a569879558e89843ea4672471e829e49014daaded4e867b: Bad995dbb1c651c481776a4a69e03f64e94b52725520c0d325d4b75ad3889b1a4:0F#@39ee691c3d418056ec6ab9488fc735f378ebf2e1b70c31eaa8d2b51a805cfaed: +B074022eb301b24e67d0cc7fb6394c47f4e0f47a75e1239bf773f775bede69376:0F$@d5886e2ae2bfacb5ab112e29bfd0075aac2f93ac5c1e1de1a3a5d5aff0de650d: B029d84f50783231ef88fe7133744ab022df52229291c0083a6bf45ae9e7f2fe2:0F#@fa048d40098f5a2c401fa4580e51d5ccdbf408037d23db47fca1b9f9337db11f: B42cedf898fecf5d32c65462085796d5caae2b19e7996df9425b2e729ec36f396:0F#@3043a21e114433b343c9e2d9e6ecf44124b99a13ac28c535ae43e22b46470070: B66fcd539f0653c51b4ae318506eccf2b5a5e0bf8a86dc779ff0d3e55229dcf66:0F#@aa1fab92afd902f7f5afee762df865a9c211865d00ea328ac468ae445d2325ff: @@ -97187,12 +104484,14 @@ B65c844fb91e50f86a9f464007696d87531ae1b446dbd03eebf423f35a37c9027:0F Bbe59d91260adb2bef73ad262d38e2794d255850578ee41cbb28ed76b7863ac54:0F#@98da66237aa877b573399fbe227ef447336187cbfac6bc61e01e94800862841a: Bc60a534e5af142b6d6f9a86fee31f6ee7b5293f69b8b3fc39d96bfcc30d3409f:0Fϸ#@44ad0c8e46f2181dcebd8e81891b6e4f4ac87bf8c507aa644b2b792e63122e7b: B8da3510743c68a04171c219983585c0962a30382843f5170b3f9c1464ead9710:0F#@0a8cf9a1f5d9ef16cf2af153141bc4154a6c978dfdf3e3322eb884989ed4a11c: +B36c708aaf994f5dc664f627262889f8874f13790cd412d5fb5319dc4467731e0:0F$@8c16638f2a9aa10ed2447a8117f31b7352bc9749ed773169d27bf2839f5aa9d6: Bcba09fe03e19bd60897f3be9fd9a99f5de473795f70fbeeb7036b05f3aa2f246:0F#@9855a02328d20c54183f034e315aefa11e0b936dbebf0a6ce1267bed1c1c5c7a: B353fb23eec358c5fc21f889bb862ce9b2ea079a91f8344288ecbf3f2fa77befd:0F#@784070ef5a05d0f5d1e4898db0439fd84a38c99b46115a220054a067c7f758ab: Bec37dd0bd9963f00fd7539cc033127fe06531fd87f160070677121f6f7d7ef61:0F#@328b8278879b262d842cfa4ce673cca6edde27b4aef5ed99ccd319e214456d69: Be63ff6ca8477f929399ace91f9621d396464398827c39f77d139bd54f5fa8af0:0F#@e3105b67cfc43a927e058312d2dd14de06aa4055aebeb8575d5f1d76efb79253: Bec37dd0bd9963f00fd7539cc033127fe06531fd87f160070677121f6f7d7ef61:1F#@8f2c68d5ad9a7854c78ed0f13f75d93f64b3492366b0cc1d2c7cd0b00949cc9a: B277f9a97032bb1cafb5bb22c2aa8c0e257c5bc7040723798beddc956c38c6355:0F#@3d2928cbfb32a876c2f1ed3964d71b350ac29d8a1f6db788ea8f7ebe276cc4be: +B64020b28634d469198accd55b88c56aea0f672371a188e306b6fba95edad51f0:0Fל$@cd8a61a6824eb0eb719d3132445b3cee0f9456c28a12ba77a2fffd9ad38e58b0: B96bae0e286b542314955102f465a45dda80ca043984f061d08df17b466938aac:0F#@43e27dedc25529d525d3f63f1cc90ab985e6d3dc2c64574e97717b2be0266b5f: Bf23897b86d34792c26bb62d85ef2853098a46264dbc0559eaed6fae3c398f4bd:0F$@31272b8b2379dc2c5e7145bed58119cb9a5a3471f418a26a884069bdbbfea961: B6eef36c57ef822b23abdb96e27029ca05659a11ff8e14afbcb47357f8a3eb4c8:0F"@cc78ece3efeb4450bd2ab09f36ce5146ffe730edc5062e57e8d938b6fb88734a: @@ -97200,6 +104499,7 @@ Bea072d2178b53b66018f798d38e25b6d96c45e50e3aaa903cd41022b65252479:0F B7f969fea62e11c36c1249b2f67468c2f054b173d723c8dba12455234823bf843:1F#@51c3417e6dfea71913fbbe1b63e80eac7ea6356b3d75fd55641ad257126671dc: B0169627a43f078dc1ef2a5739d94523c81d9dd649bca5d17bb1c530edab45284:0F#@2883d48d84e5dcb299061a59bdb36387bc39b652fcad1f1aadc507558a6be3a5: B096c5cd130cffa0764b77e80dd5372c1f5ff5c7b56cccea82a1299a82987f3bf:0F#@736ef03aed5324c94e63f63424c3ab19b6be246bd634cf5460223ece6a8c5dce: +B57f1bee9a47a5e4a4ed766db8d34bb6f4f250ca49e0bc29d2e3cef3816983728:0Fܛ$@ea56962044998d0f0116c7dc6fea5cab924a302a24cc5d0399cd754609fe887c: Bfa795def42272b9740a395bea693aae0c3adf061eae0d00ad0da456d8d232c1a:0F#@bed935ad999f24b41bd5afb98c91146fe98806192af3bea9d7b5a09e6df03690: B07cdb613efcfb9810af4746e701cfae6ea7fb56b5be468a4e169c05c4d2016e7:1F"@199c6b525872d977eb45fd43e4c289c7c2b47bbb4f6a42320416c22978cb6614: B22bc222a44149dd57d008b066c1f7f8ca3700f07e0ac3843d74851fb91781111:1Hķ#@6cf8b73d0e6a09c8575be5d8902fa747e47ea4d26d562ad26ca70b448294a11d: @@ -97214,11 +104514,13 @@ Bc04fbfe01282e20dbdc81936f60fec2ae0627bf5959ecd88ad7d18c3c6abcfa5:0F Bc89f19e9464d75b27644c99fa76879197d81a53b2da9de41e4243a29bb4e98f0:0F#@fc01563d2a0be6f4947452ce4c79366f44dd690fcbbf59aa42d07120d6c08075: Be0ef13e5547111dcc91a11459e28c3eb2c036927c9ec58935cbad58bd3c3ff2d:0F#@5591c7481fd1c341dff440259e4f1d95136c29fdc59b7143e224f3c99a4afcc7: B60ebb45422bfab1b34cc8f2ee731b56b058e6190b6149b591ca541784da88348:0F#@3d3096c5cb58b6329b9ac955b7030b4e28b5f59086392473ab7f9602f937dceb: +Be5a4d3b9825650fc88dfd0226f579a890b6b4191f6c555f52f12157a83b9dcf8:0F$@01c62b79e6f54e2bb43c72a40e015e18c498936e1b982536712aacde252f6bde: B17c0f463b36412aa5a7568727c1eef859075f37e02325c56b7f2e09c123088af:0F#@32a8dd191a94bb1e49cced8d64813f87d56c7027a203f69e0de0ac7791f1069e: Be73fe5be47387669eb6cb8227c8a5d15dbb60273796419dbce32bfe009595a5d:0Fδ#@18a01a0ed94d1188054b057844a63953f62e5451e6469fc659fcc977d2d6d6c3: Bcf11a114a21230044a2e4dc497c767624210dd0ef1d2bda793b5318a829e7885:0FХ#@89ade3b6de106fa4c0c5d85a028ccb685f26cd9f317c7ba049bd70b5e6a5ae12: Bb6bc819af8792ff4eaa135fd17b20ddfd2b6e202151994cda690ed0848ec8eec:0F#@c22e7f647ec62d4122f22d78491a8fea113223facbeee17b5aeb8cb9fd16e1f9: B2c3f762a7fd0892f31202a2ab6d189e5f6ae73f85b608501b5b029c1c0ab5bd0:0F$@ed7db7acd9512a7ee82dd380abd5d2596e3a763b0660ce4ff395b689a084ea83: +B8c16638f2a9aa10ed2447a8117f31b7352bc9749ed773169d27bf2839f5aa9d6:0FƤ$@1e3c6cfc121b6fb8a4bf2540268400b45ccc646b0ed0f2c6a5cfde5dac204d9f: B24a5a8f5f495aa0655882f2f04b678d4b225d2cdc9e4a0e713b0fe268cde63c9:0F"@f0ab4b272d41545184ffdadc4d91659c68a0f69c9f85824d9a8de3a605a0ddd9: B0637a312c991fc9dcab058a33a58d84a696d55eb29c2f5f311098b157f85f74e:0F#@713ddd1722d0098e63acb1c4ce75756d9d3d83308a67a48997e1580d965999c2: B6d709026e7fd348205efe5ab64ad784f21384f77b1aaf065af37c4be516b2ece:0F#@dabc9efae6518ac2e881cfe15cf9c4751d8197cce6c38a3d530a3f7015c2e739: @@ -97227,7 +104529,8 @@ B268a7d209e6d284962893e15bea8c0f703849ddf057c1cdc799192c4a1d5f53e:0H B2dab98c3940ccfe440957d2b46dc405f41b7a50c89728a89293267c46c95efec:0F#@0b1278d2dc2aeafb1d363db77d3765dfec878b0735e207abe04ff5bcc2329ec6: B14d2ecfb00fd5d6dd8681fb6c4ee6a36fd62088f5a601ac52a31797b278db51f:0F#@b6b5eedfb097e8c1d78ec93dcff6de84959b50982b923a969d674868a82b6389: B98f36195bbdf6ccf19544647748224854d40d1f1f08352ae274b985bcfb04cb7:0F#@b146359ace741d4d2f71032b6213e904556a4e8b847622d10adcbfe91bf90ac5: -B4f3773b862e2f3d023b8425ab894b29686cc7b55b2a224380a5f5a84dd5c9cb9:0F#@9c507c1b5d41300838bfb07f818b6bb5905b6ce0910da8c70af725fce9184b3d: +B4f3773b862e2f3d023b8425ab894b29686cc7b55b2a224380a5f5a84dd5c9cb9:0F#@9c507c1b5d41300838bfb07f818b6bb5905b6ce0910da8c70af725fce9184b3d: +Bc66c8fb3e1a261b0fecef901950fe466431318a9c28ab4f5b1577473823ca460:0H$@3eb0f268c5a47da62fc0e68225c172c2425b5fabd26d64049e8c2ec73f629cca: B24fcec0e7aae7d8bc75472f679de55ea7d2111c4633ceca5b74ebcfa5b481e8e:0F#@edd7927329666a7153d182d990bdb5e621eaefc0fb7dc336f74b33bde88ff5f5: Bc94d61078767b859ecaaeab539cf748fa7bcbec0d4d53c9ce73630aa2e695f14:0F#@4bb4ac8fd686b68f2d06a6b0afd51c27320ab5de82376a5500805ec5a5b618fc: B08f5b5b7649b19a4c57855333db3d188c5638dc1898e2bf5c78fd2736e806211:0F#@66900bde8e0f8c6bf37365da4fd7becbf5d8657699bd484aa2db8fc85f88d2d6: @@ -97265,6 +104568,7 @@ B3276b2baf777bb6801460467a33d1d3ae0a9e66fe4c1e88c469c9d6ce82eb4c7:0F B38f2d957de6efcf91a0dbaad744ea2cf300eecc5c77c748f21ef4bfa5d7460a9:0F"@cb26185f5d7f7ebbea5fd299c7227da8604ec7797563577ba70e818602c4114e: Bff663a1b8caa20f673ba46dce19a142d52a11cc7600f00c718de1d50ce99cd19:0F#@d1f6c8b50cfe6f0ff875dd046e8f1e769d2301ee2726946e30fb6c9aeadefc31: Bc907b9533617477b6344d5422a8e807c6d258289b7d956e2830be298197bd8a7:0F̄#@5102f564da288c96c02feb72bfdd316390fb0a46c4ea3170975f1d8492f3ca0e: +Bb7fc2419e1cfa848e549b82b0a5f532542e2ef3a26a22b53159e536285d464d9:0F$@4234d16feaa33228861dfa8327b5ccfed19b8752c5477a2ec9cccb519efaf45a: Ba7bb3d86ffc20f8cad8e78388ec55c2ee870daf18a57758a53b6b9e5caf991bc:0F#@66e4535a7bb533d78c8c05e57e8979c51628ad3e7f47258f64e4007271dc3f49: B02d35f4e771b97c823dab9335875a2cab191553c79d5b4c656f9b7a434968d96:0F#@76d317d885cf6ce0d01874fd10a0c6286c272a0b38a572b79cda445dbf16ba2d: Baf6aaa49f44314c09f8355b1f6135c9ca29074c53a3d27bcdf90e376bf097f2f:0F#@97d501c766455d67067a075b97d64780d3a46a90655c74d3e40669144a84befe: @@ -97325,7 +104629,8 @@ B6b1a366cb814db6ea2f032b6979742ef7d81e3fdaf0b2d3de14f39fd6302fce6:0H Baf87026ed107840588681703370b8848f6de17b001332333b681aa2bb7e72e9f:0F$@dd6ea5c17642a9ae6a81245ec44da6eb09f5c927a6c9fa549e533999cd12d875: B57ca7cfef7da1d67ead6a99041642fdbaf3a84f93bf2ff12735bc0556fbf05ec:1F"@b1d953c6733d3294d28b52c04f81fe17b5e8d42ca475c3d224ccc4579d37a9b8: B63dd68c529e56e0d23c7e2a53bd963cc9c0e1af5b62bf651c65865b0564098c7:0FÔ#@9887966d52676adf37ca00da46b0e8763f32a479f53c41d3fbab56a3b2c12d20: -B2b68ad5ef74161917dc6967d61798a68f7b19b0c29c5ddf2f9a91a50bc185094:0F#@447986f2518d5c4e70639132b5bbd315f723d2e44b48188962bd4724f93ba2e6: +B2b68ad5ef74161917dc6967d61798a68f7b19b0c29c5ddf2f9a91a50bc185094:0F#@447986f2518d5c4e70639132b5bbd315f723d2e44b48188962bd4724f93ba2e6: +B57ca7cfef7da1d67ead6a99041642fdbaf3a84f93bf2ff12735bc0556fbf05ec:0H$@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9: B5e3ecd8b731b59ca9a6a568ed3d11faa8f3436fc41e3630e7971d3abef9db5b7:0F#@e35c61f8745b5b20539bec4bd0794499329d2e5a625316f71f18448c91fe9a4e: B9455ff49302d3a8421277a53ad0d28bc71ae6751f95487cb74c236d693390785:0F#@8e8e34deaf96287840d09c875f77b3a2ef4149507894f7b048697236f72205be: B43ae0fcf2de6928fc21bfc51527022c10ac9007098834df98c0503d420e23b01:0F$@2fb6631cce7e9b896d9b7d0acba571952cc1bbec0696660057747d68e34f6192: @@ -97337,6 +104642,7 @@ B6f1198354f6e814477d89229e3b05a3ef9665137f9cfe9445e8d03eb52616171:0F B8bdf57b8de1c1fc5eda952d48719724ec78886471d8f414c4c804da34a6948ac:0F#@5ecb058c11163a1a25f2c3f3c28bffd6714c3e2b5652183fc70eab342860b8ba: Bdaa184615f6b2d4841ffe20c1a34d1b6d8f76309c6bf194bbe37905507bc1257:0F#@9f81ec8db98db144c05f18ae69f65241e03ac4fec77ff7db490c8a9a83ac1533: Bfb3794fdd1568aa25d0e647592bf4fa12f8bab31a7521b791dee8cf3496f68a7:0F#@04da114799e62fb83f392b7d6b6abf0e76ce33ebf53b92b0f470ad5f293ca770: +B482c78dd7d7e005a14a5b60b96b48473b5b5cd07cc6c950a863b73846e214e38:0F$@e4433aa7305080ff0e53f44dc501c29f316ca3466aee097d79d4b10a6fc71daf: B13ed3a8e45a21bfc14f538ca85f377e71b317c38185d04bc18123d141de67e3d:0F#@1b6c6c5c36fd42ec9edd861c3a09b624576c026d2220dad98f89a62c8c988047: B237239f8c959394dacf58953956cde2dc75c4a0fb8b5d8c2c18d76b59c26b3f7:0F$@e3a69234f4096b8a6b0bc7f7706c7621573ad2675c2eec268b78ad8468ac3048: B23a7ba48c86b766b0675887ddb9bcf5acdb4c28f76dede0b15a58c60cefe3e90:0F$@289ce8f6fe16ad0733646f384b08a0c142f6fe2680cf443734e2f6aca61e63b9: @@ -97346,6 +104652,7 @@ Bea40365b204e61929b3aab612fa79afccc202bf61c7c2fda2461180cdbff29e4:0F B788189a5822bd718155fdc972abbcd2cd3e30568476501f489527657e8e1f798:0F#@7c05cef1e00a2157a92c9b5830187db02cc04184cb10838f2855b546ee5a0b69: Bc451cabce73f9a3f9a39a8506e973c34b27e1ac3fd69196f4970a25143816883:0F"@1c40465432ad78ee72a1f25f0bcf84f45b49d226c2fb8d2a3db89278ca750595: B840b7662a6d4fbd1662aa6fa1ba083647973e1442100582441e95e3c10d5e12b:0F#@c35ea1dc7be4575a9e13c2a32afbbaa87bf2f51690cf58a127afa4f5f22e9aa5: +B9c4ef444a08d23dfc1791e631fe56c21cf7a0d82e48f7764f83732f2cdfc7cbd:0FȢ$@c986f1bfeb81b3c894745e0873a2a2df9a013bc5f64ff57825dcad84ce20f0d3: Bf57cb15e4d23011a8309e97150af6a9b0c07a5a74ae6df8602753c16a22d9069:0F#@6e61dfa53d38edecf74a12c2a847efd204b90695759bc7d2562c733acc3a3dba: B6f68ba572366b1898d4c4442bf4940c559164d8c4a6fa68d10c1510e7a0b81df:0Fͩ#@1b463b9cd6a0376980f30287805be73b39b668249a66c33e0c9478776f6ffa62: Bc6df70db956d5f7ad1550230cefb860add0cddf3738ba98ba6b6826ae40b10c1:0F#@7d5a80dd9d62d3c0bca7cefc64d5d698ebb18ef518778cb5b36b29133a24820d: @@ -97398,7 +104705,9 @@ B450e2df7926f393d3584482e1e1b3f637c5ee157dd15a959ca74fc7a02ff6b27:0F B047624127bf8c56652230d7a1ac418b366bd893b71494e46460626f18f65dbd2:0F"@3ee6820c0c984ed9a526bee40b56b7a9d96036bbc1ba3f07fcaab73cf8fd8df6: B6b9b14320c5fea09e3eb7c1611846db14558adfe1c587158ed211540e6048ced:0F#@2802fad4958e7e84f3445b1e22dd30e403170996ebf9f027c0ae68af5cd41306: B047624127bf8c56652230d7a1ac418b366bd893b71494e46460626f18f65dbd2:1F"@2ed57c5261caaf718556dc65efd21a06e0fceea38ac32c404608222b08dc1fbc: +Be2b3f466c665570faa7be549a136414c39006aa02845c693e630157824107046:1F$@31ea316e31d3d7abadd182d793bb439d5d03a5c1485072c4d8ececd07cd44b73: B9257d07f25bf1affdcb2cc3b7f246483e808b4c9db974187a8c1bca1d6e08c5a:0F$@ec82eae1964be7c3e2e43ca37d5b8f7a167e450669463f08b036054bc3db2742: +B42b8df16ae6ca42239835cc7808ba6d5da3290dcaecd0fdd8926c4fbf3890026:0Fј$@9808e853136edd559bb2dbd28b5552c4b0b62ea93f28895898e7238c997bff65: B82020178901a87e940a114e455355bcaf8cf78b62cf9f1bc156eeaa97830fe9b:0F#@029e202416083732a1c909d1d6cfb2344b2f3c9a42770010dde9d30e486737c5: B82708d789dbca7c2a78fffd9e1390f6b6318bd606dbb54e472966bc2fc1a97f6:0F$@39f81ca4cce0f4b6cba60e3bbfafe710c839a8f42784c94de2e8906f1e38ebe4: B26fce546fea5c9fe9c91e9459b6648d5ce91cee9df87b4f91a470fea9e8aea1c:0F#@0ff408499e1c117b56350ffe340178d2ba4973c360c6d17e6f6b6db71fcff76c: @@ -97408,6 +104717,7 @@ Bda6d3e270e7cfc92968a6b2fb81b2fbbf8c1773d709503f110f788381d0cacd6:0F B65ef63a2bb7a436132aadbbbc9dce2a76cc3f20c3056fab476638398d209f24f:0F#@df33ad8f76123f943a34312b2e6f6892f72b4339b52370f48449b2b059b4486d: B0b606596e11202f375bedfe040886f5ffec96d44b4bf2409f607cc79ca211c16:0F#@fe043dd3d6c553522c9d72502e5f10de47cb0a3887c8747aaba65f4370d8215c: Be62cce1f9f2d3f1ec732ae425974ba59b96d029f30d577cf44809d3dc1e561bd:0F#@c1810fa042c5e954b3d3a309199b95256c3dbecd405a27c8cccddc2bc2e9a3d8: +Bcb2348457fe41278944734c5b3e8fd3a1f62d0387f820b03c83d960125b5cb49:0F$@cea73f072bb4834d7e7c597eaa02217a0fd0f2451db51c805b46dbc8d93b3c8a: B9088d627b1f25720540c6ecabceeb4d344d91cd4c1f2f59bf18afafda6cb3f76:0F"@01f8cdae9b9808252ece925266042df23dd368456cd7e743d35c8b92e54b2ce4: B8ffef8186e4c7a5bef70ac691a825dadda1df38988d892ae75f220edb6735ccf:0F#@c002994e7dd010578eb4ec4b412afd47ed1fb2e84b657c4dcac587d81e60715c: B274ec1cc2f2197010dae36f9a2f3fe610cae4fa9212e2a5d0440364d53737643:0F#@608941fd089536cbf6acbd7cb38335fe6324426637c97c2ca9be8cfae0865604: @@ -97440,6 +104750,7 @@ B1a40af742e6c467ef092f38ee3e24faef35ae34a0d1987c7a45233fe259214b6:0FĴ#@82ca5 B19b4bbcebac78f644494f21d1898bb25ad40edc750692bee9af55f1bf2479d60:0F˿#@d8dd62a3a29b8368fb6d3e2c7d0b0b878dd94d6424fa212a19e091fff5a83fd7: B15a1e3fd65a3ed4f8f5cde08d49fdc3b0a5e202b221319f27d61aa09b1af1f89:0F#@e9e22a3fa9d3ebfd3f34fb4dace301f6be1ae4b80f51c0e6e5288a2a0caa156d: Ba9c6f1f1d52f9b78566df067759ac1f9ededb890009669edc5def48e3f3774ff:0F#@fae83f9461defba9e1434b140e3f85edf04cf4dff6a9f1c6d21198bb257deff5: +Bc52841c220768a9ebf49ad7fc7b3ee429088af5de6a31ee33232db14d2d4a261:0F$@6b786776c915227e1b9865d54f8f44767adabe3bd1e97e604154ff633dc6ae4c: Beec669575c439ce652af094213fb5773e575378541efa3626b871654efb27332:0F$@56713591069000cff8135874b0db0ddfaef900aaf16437d3db5757a8cc17af9c: B2d25c5a4f03cc1b97a0751f7cdf0be93a543718d6766f08523e873d2dedb45be:0F#@5d877307dbbb9c22370a6126f8c0864f91e32bb5e7f714cae613298e89279fd0: Bd991482f56eaead0513dde83f5ea415ed69189320cffe01d65ebe128282ff6d9:0F#@895facd63a3b219ea7abb5de058d783dd99cb7c3403ee316be2c91710370452c: @@ -97490,19 +104801,22 @@ B0f8971c70e7f03970116b4be7013fe147052e68c260d21a057afa4be5222836a:0F B55b947d38df91712c8c899439b89e46fc57954d8ba0c1c215d94dead3ff4afef:0F$@2b1a66a1d03dc9852ad1e02bff97f263eb4b29f53b0f44fd9587308dcba8d739: Bb45ed0188ecffd16a519104828d28350d0ed053eba2e298ec7ecdc8f34cf9252:0F#@4816b5e2a2e03e3b131cf992ee100b64873c0981b1e4227d66c133c7c1e93493: Bfd15e1727be25bcc76007fdc4e0d31aac1213db7820d11ab67a1d5a1a37b0ec6:0F#@a7093123cea2b7ba5e90802e48edd00b1f972345828eb3ccb5af63e3311d933c: +B2616e53bbdf320930bf3ea59c88eed529a18f124dd9c9b00ce7400afd0dc7523:0F$@a6eea699074fec12273be1453c8bfd6060fd36f8a38f483eef76740af0824b9d: Bd99c3ce06db0ad0bb7851c88bca2dfc8bb4d19179d6f58552a1851e1dd92d68d:1F#@989efaf4adb851eb91614e8fa56ad77615a07251c1925eb4af0fad8a9706866c: Bf73482d3e3d7b5ede9460993c460749259cbd7b6f7ba172e09729d05f289df22:0F$@eade3f60ae82caffe1c33e0dcba74e323f63ae65b720b25181f10c0461a70def: Be579a4daf88c6d10a64022f5e8ba9df2a145c93df3ae88a2544da92b77cc1ed6:0F$@da8a2893d6a026e12c469a539111c2e6907cded66e0b300ff06c69c7c95dffa5: Bb6983f7a04d51318b09095d91e545aa8e1dd8ac2a7f7069a82bb61685430e9f4:0F#@fd40ea2a4af5e57c0fbc55bbcc5ffd88de6959b76b452f48af17942398c57e89: Be02e55e80211e8935c76e7cbc81dc1d70a5efde15c5f5264e37b3c307c0e869d:0F#@e93a671f2a797b42370aacf74de6ebdcf8f0eac36d05106767d2a4383598c7a9: B2bd222db0ea494af1ff9642db84a2d5d5ab48be6b27b7e239db73fe776cf76da:0F#@0b813dea013808f2a1ce379d856ad19146ecdb960be471ecf030d698a55117d4: -B7aefb2dbe2a76e7ce58db6109caf46083b4720faf86aa41006b90ab698eccfe9:0F#@a9faa3db2ef90f629a75f14d62c1b0adac6f2054418a03b36d9470fcc03859b3: +B7aefb2dbe2a76e7ce58db6109caf46083b4720faf86aa41006b90ab698eccfe9:0F#@a9faa3db2ef90f629a75f14d62c1b0adac6f2054418a03b36d9470fcc03859b3: +B2bd222db0ea494af1ff9642db84a2d5d5ab48be6b27b7e239db73fe776cf76da:1HΣ$@5335b7ad4c6f5ad0af146471c5e79da46e1e94691fab439a4779430d9a7ae249: Bb38e3b8592e46a218ee176ce5feaab9a689cb18dc6ea33a435700d3bcf13a61a:0F#@cbcfc3748bce2a904ecc75f73678900123d40f3cc8ed67262a4f4730fa8d0646: Bcbd2971f2faa7e587f9d4c3b5b9699ed57e3436c4a371394a500bc8a0654ef9f:0F$@73b6ab91e915ec17fce76f79125a690298c23ed763ff9d13dc632b2ab0b76218: Be9ae7a55737f9d1e2a615e863ac22cb156019f398090605ed6fbdbbdb7638d79:0F#@c04fb54603d0de4acbb0eb813694df45f8adea917e29cd594f4a0fd54557feb8: B5d6e7ea9e9fdaceb9798af763880f3cdbaccc73ed0f8bff2a34b62ba264219c3:0F#@4a092026d29ecd829a22fe674b189c5653222b039dfddd17fd89c2496dfbd4cf: B63572858a090359f6081fdd4a2e92ea46d1a8d3c679de5ebd4d9a2390aaca8fe:0F#@6ac62103599581361909f4455f48a3ff0879c225ce40aa25f3e94190fa4e5391: Bd2839b1711dd3533e7122d202926273bb08064155a55cf77517faf575bbe1c8e:0F#@05beaebed3f10f595bf1cf7b40d745ff073f1faad31b43d82272284cda34617d: +B633d749369eb3f06202a154c46bb3cadc600f49d8a0bf6f70b0427f262dbdeca:0F$@dc3c347be7eabb24d0f1e633bf15bb20bfb7a53b2ade886bcc0262b587b8555d: B00627a4981f9d3b16a9d57f8d7f84c03f21512870d82b96ac143287f760a2d51:0F$@b4efa7d6ac46ec91798318d281e161e3b6c774b210945e7111271b6add53fb18: B09c0381c929c66a6cfb42b7af99985d96cf3ed9a8da55723831024f277a384a0:1FӠ#@d11b282b963ab6b05012f3e281231e66146cc374d86b151c18ebe6389504459b: B09c0381c929c66a6cfb42b7af99985d96cf3ed9a8da55723831024f277a384a0:0F#@0a63c6e617df10abf6ea22510dbd667d67de9a4854e9e1cc06e0ea3b44560835: @@ -97525,8 +104839,10 @@ Bfd7307f3c1fb256d2101367c9e91d9f8193984dd1a952ec21842ee05d9529c47:1F B0bbb185b9bfcebbf819aaa6d8813aabc69bee2c2364fcea7d810ae8297613b84:0F#@86d9e29c80480cb0ff5358465be58540e951aabccb38809ebea182db30786338: B7924ef2775b4406e72f0a7ab4fb431ee1f5acde02ed580465b7787225f9190c6:0Fغ#@13a1123e388b0bbb324c2f56438d87f6d68dadf9a66587525e27d0d8ea47e73e: B50598aad0c63db9a58dabb633aba3c854d9cedeb21856f4daebf7fc479d4136a:0F#@0e0c0e3c6dfa54a99957e871c92022ca13fa86078a2d78f63b11d2fe4b5f1da5: +B21ea84cfda1589994833b96114efde1979644ce0df8d60504839eb218f3c0036:0F$@0a53ad7fb3c303cedb0e548afb08d7d8d330efdb9ceabf8f575c858a288d2758: B2f6a888741bd91c70075650c0b2dc9e37990a413cd8804498006d60187e6defe:0F#@c9d0b289bc6be55134faff97484f6f3810555c18c6867730765cc957a0eddbc5: B9c959f6a8f03b6d6d1790cd5824b8cf909c9069650bf3a92a6b9f38f659936f9:0F#@46bcee7be114bdf5ce7e685b6f607d6c048e2707ea6ec60408eff31067c54006: +B639203308f85d95aa29ebcead2b1730456f4436516c2bb03398dc72322ee19f6:0F$@a8179552900aba8d48e625755dace5bdbd39bccdc47115603e7d8f64c833817c: B55a1fa2c593b08796d6b0463d0f6f945b16530e17e3561a82963275cab91cdce:0F#@1c8a27c52e8952e0d44749821fbb532d39b9313507351a820a2afefa43353b19: Bff92dc1c236494399a279371fe4ac4298b44672a0889a97ba1e787f8c404ace8:0F#@e1caf07bf4905dda00dda35943963036812fa58868df6db572aadf7170e02df1: B87275b1cf14b34cf73c5515e97a172a76e68b4597fc16063d8f62ff70adf9895:0Hٌ$@bac00fe27e6ad4fb14bdc8619c72c968dd0e2d870e49751ce414f9b715455afd: @@ -97539,6 +104855,7 @@ B36c63d47b41c86aa7e7820bb3eaa01097398506f6670522016882d8848b0fc4d:0F B6fde10510548496976b92c09a2cef37b6b73c69dcd9a370f91eccdd1a22e9a1b:0F$@3dc413638171e68c9516583869f2e92c7ac6b721a5e7d24596141581c575aff9: Bd1825d2f3238dcb1e63986f926116d1aa96b6cf43d451daf483cfc11393ad7af:0F#@984c253e655006fd7670522b719a929aa549cb7c6c7eb398bbf19eadcac875bb: Bb737aa81a63ff31e9c7ba1aa42f45b84d42434bc1868ee8a3a30ef60c284beca:0F#@0f534cc97a603d0df9519f3fb60c5fe05f1f335c37ae10f8469a28069a5f5ffd: +B56194aba754fd337f38371a47ed3edf23f3a1926cd70ed572d56658b40459d89:0F͞$@1db5ef6d53029e096fea33a503c9ecef199c05110dfd7ba52e7c24b4bab58ef5: Bb88344deb3a453527348c56e09f24813f29dc3524b5931eaa266200b811c8f46:0F‡#@967e41d8942b008ac3b87d25641e58a6945dd4ac03c789f89e82e1782a7bf04b: B006b899b29fe86dd1b607712b8374c746f644a9656226684cecdd8a37f9dc8b7:0F#@3719347bc202bcaabbbe5a9257c0e025bed3739fe0526375a0d8f08d59b74f45: B39bc6e5c8466097e0d9ce66ae7daea17f2404d86debf747a0be8aa641f5b9822:0F$@86d965e30a7005222d48d32f7d454cfacca7ef778bbea6e5331ea2b6efdd8e71: @@ -97564,6 +104881,7 @@ Bf303337898aa50d95eef2e6bdb18c891401ab69808e2b9936ee815de429b426f:0F Be7bb39f0cbc745407aef70cf1ed603edd2cd847c098548824e2fc89471ec8ac6:0F#@aaa340947ce02ebdbef4a70e26b198fdb0ee2932ef680d23dbccc3e4bb2197e3: B9b75395ea88a56dcb74b0a6f5af541bbd247698d48b6cf33b2a6e967eb5322ad:0F#@a8818d388fab41cb857e912ae010964923675772b28e9a17ee9d917d5408e033: Badac0d2124e72e2feeb1ae98c730968777c433b0281b06fe3062933cd23ea142:0F#@a01a527725999262d3728c2fe3a44e43d4e5f7642ee6a7f5c5faa392789073f1: +B83a532e4f3fa8c40db333638dbbabc6b0dc6c3bbd62d7f79559bb12491900f94:0Fۤ$@d05eea6b650acd31c4a1d8b4b8f3aa7b2256c066a55e6ceff7c1dfd247c3356d: Bc710ce33e40684fba0ffbb20926036abf5f848770c91d4b5793f03ddc9f26350:0F#@7d3d34c3746f5f4fe00c1a8238a1b076e42ba75e130a0484df90cd6b90eb7d8e: B3e3712cf74504ac34a7e3a3e6980c3eea073863b20acbe01dc02ac9e985ab9e3:0F#@96fb1bfb4e34ae884952382e3d4ab51b0b5b6ac2b745796ba0a1d469a15260a7: Bc2a4565bc2afd82b6cd72a6ce76d6a8b0a68b96942fa1f17406272e53562c991:0F$@57592b522d48c6b87732ed2922d915446300191938877e1a693a0478aa4172a3: @@ -97606,6 +104924,7 @@ B1a792e0057756c994df302c0285d7a55f984df8ec4fbe424d08f596feab24f75:0F Bb2e1f838c95124a69d733f7363eb08d72f6f53f1d418e453e63eed5830320880:0F#@6cd080e108a7c63bdee65d830253a22fbfd65f2384358c6ec0252eb9b15f42f7: Be3a121cf889b64c3f7782c4cecac6f0db08fdc55c74a786d391e825a2b1e72ec:0F"@93dfe85ca02cb358365f3cea4995f4824d51a6493dff7b47d36a94d8a14ae037: B5440321a36e7995d17af6633cbd89b643fe42b58b88baf9ae021d2c64e342aa8:0F#@e1c247bf9cb8419337f9df82e3202a927199c25e7ca90236a8bb27cba1fa6da9: +Bb2595d6f60df8181a04dfc140fe69ec35dc962d7f92c40311ae16742dea987cd:0F$@0654f0e3e177d488e6ef27102d87c010e0826819a1731c3b99e9f931f74a0d85: B8a765e354a83a226bc875cf9d0f3aa2cf758c171f1e9219e5c6c784ad6860adb:0F#@90b10165a586f2640d8f90aa39f327f1850d59579911ea2e4c63eec90b13ea40: B12916f8551183ad0e35bdea4df1790afafea459de395a734247b9412383eb641:0F"@876d4a722e9b59da9e4ccf47a063a0c7b7c15c65c2f078b7c23f2692ddf3d02f: Bba266820cb2abb84a7855d1217fe4b6020eb5379cbf4b59c12bf5b80c70f88de:0F#@b09c554a1c4c01d23339d7bf8a7c78bb8323ef503b2b5772e48c6677d8342ad7: @@ -97621,17 +104940,20 @@ Bb2e1f838c95124a69d733f7363eb08d72f6f53f1d418e453e63eed5830320880:1F Be65cb6aeac8e579ed40a9fb8f2b11f7a97132f604d167866207ede9f584dd46a:0F$@d4f41c9758c872387a1b347a9a1bffca63851e44e3c1163d87f7fa8336036272: B2ccad02074570391993bf37b28b82aceac21cedb8df5db5624ab7c7ddbeed770:0F#@3d886a9e09f2c08adeb340bac7313e18fe2be3f16e0bd2985e8be828af2ba2f6: B61dda4972836f35750c3352358ca963494d8c7c4fde2c4de6579daf76ef06407:0F$@6d92efcdd26c09e8716c59d27794b3e59f2fb976b410789dfd9d82ad8aacca3b: +B1ebc073816ad7e1b84321a68b50337791737f1758e2346a17c103a07ca671b2b:0F$@94ca650fd67138d533fbaa0d06a48744e8960c66d0abdd6048dd6bd6a6b00ffe: B753eddc53de278d702637f639b7b5a4a1b0409e7cd184596cfba9147e951bade:0F#@e75e12e130243b03b5ebb408ac05d8f6d45b2f165ba9a494778a1139154e3e88: B40e4ac67a03c88b9a55efaab9fcb1bbcb2541792c5dd2c2e545f07513397c635:0F#@9d3240b2f88a89f22c4d6981333c62eb8238fef30d1ccf53d5c6c399c56d4bd3: B2598786f2fe749ad55f2ef8ae35f7f7cd7b54dae7130dab7517910f26afde68f:0F#@4df3cda4f8712f77ea2eab7a3ec11117689fc0dcab2cb466851f9650480a823b: Bd1aad8cb016fe999a7da140489e0b79c9090b266ea8e6a484033563485dd4f43:0F#@8a1de1d2eae1ed9e6d2dd8939fb61355ab15acff1a4a5301d817569c230e6cbe: B69e82c54a83ea6b4ab94554046aef718a153075c5d5f5d11dc2611729d1469d6:0H$@82708d789dbca7c2a78fffd9e1390f6b6318bd606dbb54e472966bc2fc1a97f6: B1aacf40f84f8019f6d3f82d0736fc956c3eb3056cfdc4193d95af698b35dc2a9:0F#@59d04f2e7d3a1b30932c111c819affd1c3343b3e83ffc590194e0d78634ec343: +Bfa9cd2204d9e91dfdf770bb080567d521f9714153545c20d96380db6a0fefa8c:0Fۢ$@355294f497db221e815d7b32c4d2cd42329021bdf9d42a6e1a03eee26bed4493: B2c2f88d5e3430e9b10d34e6f95f3cf3047a70b596abecbc981933bda2b32cdd7:0Fɽ#@7f40053baea9e11ae52539823ededae627805d140f14f2d719327d5a5fa647b8: Bce348b9dc336e5effa853c55ea1141c29a0282152bfd46895d79bb40ef34f73d:1F#@8037d466b3e7abf2d11db3b969040a7b10039573ae2f863431bac654f4962fc1: Bce348b9dc336e5effa853c55ea1141c29a0282152bfd46895d79bb40ef34f73d:0F#@33a50ac769975d422153b8217c18916d1f2adaa74d19f0fbe500a4ee2a93bb13: Bc2dd90f9a787bbfd20085756d3131162ae3a06f5503075164b12770c2c114280:0F#@7f8cfe300478db07e15cf2c3b7f4c8fc4d75c1aa2554197e1edcb287c7f0c389: B0be3a3e8e632be50ff07b1988085f046fed56b716a1933e59ad2a6579cd08e53:0F#@3faa5de19d7fcf054021a90404f86c7a3b410e765d742e9ced5c6b36c38c5a45: +B420856a3125810abc3cb4ac2c430c7bd6851b03d941568e6e1ae1524efce7455:0Fԛ$@26f360377a5b31f4941e81b741849484f1034df61104912c04b918528f783332: B8638a30d786eee2544fc0d88a9c83241ac02c91a177dbba71727e62d00cb9f24:0F#@22c9c87032941c845b426623b96793d49e1c184d4c694050070acd7f4795bcb4: Bf3099a664cc72f846510259ed09806961c301b132a678098da3196ab3612934e:0F#@ebbe2542888b2779b72296e107f959475e562aeb1041cc4e34a5456a1a55f126: Bf3cacc58ee947db9c0e1f3bdcb21342cc54d23c033225b652bac733c16d71b4a:0F#@8bd5410831d720568b39ad873186ba195265f26ed975d39616f550868db6b7e9: @@ -97646,6 +104968,7 @@ Ba16e63d03c1c5c77e7502ac6346cb785f5dc3be6eff0519c88aae0f2b796353c:0F Bfa156e1041447ae56f8f67035caa7693f6405016f50f09f8ed37dda5b36f542e:0F"@6d3f98acd3769bd18d81a35e0fdebeb223aea62633dd016c1410b4f8bea308bf: B9de4429062adf01462fe0010adacd386dd975dcc9e3cba1f3ee756640914445b:0F#@a77269b041c9174184273a2b649075064d8d44278aa3cfa8793cc489b4360678: Bedeebe121178ea59518016b625515e303560f5fa8fa88e471add02b721385a3b:0F#@b31dd272883988a914be26e7d17d8bc303ec88e1d01c93d5edec8f1055fc660b: +Bbfd7a8c449534d4b1c2d0899f4c16ce607677308afef511703b5fc5b0384718e:0FѠ$@1a993224111358d496bbfa49d37630dba6b1542ef2831146952a8653659a9d99: B1b22079d78c6d7a073c71711b4d80554b8c4055fe54f87f7f856d92e095b84d0:0F#@fb05d7c2c5f1dd6a6d43615ce9dbe8d225b9e9b9387200cfb9cc9b5d147a5bab: Bbd11f1f152175407b9bdd90998edc0eb12798899cfe28eaf83f7ab9e85490766:0F$@e787adc9c990bff344ff8c430a339be280487e0aaad674f58ddc77a836518341: B70ccd99c6c43835c4fe09fec16b4243730a5b64eca4ec1e4828f76aee2e6e225:0F#@84e4de10809ae3714a7eb0e364cd86cfa1984a116a7eefb37b94fb57e7912c23: @@ -97659,7 +104982,9 @@ B6232729d2f0a1f400a7522765403bb1b2741e22f494650171715ec26815b0c33:0H B53b9fd9cd691e98d0b4d2466a787e85d13833db07b2fd7e67ee50002e2305b56:0Fģ#@cec8de4047c35f95078109bbe2f0b2e1afac69b13365f917eaa7e56b8c983c48: Bd49380269001e9962eaf1b70e3230a8135e0da66c66eb84792235c7a30917c53:0F#@5fad71734eba547be247810eddbe5c6318a6bb6833819aa902cea79cae57fc2e: B1ad20300a903e7ab3e8828fce3b1d5c68e5f9c867d734798499267f35c6499e5:0F#@c7f3d33b3b46a215afaa9c47b8a36fc82f4c45f601d9ae22dcc2dfea4532c287: +Bcfe8a3d71fe1c9ed4b4c6a37f4d4282914b0a5b7fb62dcacc7363988b9642798:0F$@d6141ea3189630930eef840d93bde91cfa2f0dc7d35abe6f7f17abadfccf5d09: Beffd57b72964e548fd0d13f1428dd68401b5307b2d07d1d47a11594a0d7e70a7:0F#@6e0d01becb5c0860ccc28b894309fc2623d466859d37786eb8aac9fba5089df3: +Bae137924e41fab4a09f004d2d5c9aec257eff9d96b872874e0534351849e512a:0F$@070a3bd050834bf3683e5da2734be91199f6d16ccfbc502b69f59753fc08781b: Bfd40ea2a4af5e57c0fbc55bbcc5ffd88de6959b76b452f48af17942398c57e89:0F#@4345625bffddf9ee91c981a6979e9ba3c9ff491c6db226d9592bc48e3d5a8943: B822f5b65ee82105e44721a2726991749596127d7de03e95b6ef4cf0011593a47:0F#@1d3dac7a3b5e143663eacf1552f3d1954e3722b65e3b41f6ac4a2d3b1dcfc5f5: B9f81ec8db98db144c05f18ae69f65241e03ac4fec77ff7db490c8a9a83ac1533:0F#@9e88f059bc98362f36fe240442cfa8badb06fa084301c60cf58097caddaf339a: @@ -97669,6 +104994,7 @@ Bd31d444e710bc08835da1d4926254148d3888b7ed9b4f41a22ad3e678eb21539:0F Bbf42f58b8577d05b36ca67603e18e149e6af5528c3a7d21e7316aa49cf6313dd:0F#@b4e8cfcb838a841f15c10852ea80fa85b481db2fa2cd027b1bce188d5d0f21a3: B039a37771e88412e8d62337ecbc0d232065c41858fc24af415f11d33668abff3:0F#@68e917e281148d7f0b750146f52648b30c27410e8d69eea4c64a05e20412167b: B0cc0235482a899917bb158e085f562d19cd446a6a42e349436cd69d3ace6d9b1:0F#@9242b12bd099add9137600e706c77b380d9788c3a35002dc0c6e66303cb86fa8: +Bd7fd7e5de714e44214f0a01024d0984e959b4ce7180ba6329e587ff3c74fc5ad:0H$@584ec0fb2866dd22fb12c3bd5ed9029774f5868fd07bbe1274ce172161f7a25b: B0be1c4d7d0527dbd163132977557391bcd275bd88ce460216272b6fb7da50c16:0H#@f5f9841f7a11e07e49f2171ee0b54675d16bb8310201fd769f7e4ee7b988c74c: B0be1c4d7d0527dbd163132977557391bcd275bd88ce460216272b6fb7da50c16:1H#@3d7a9276b6baff91a5305d209ee94ef4ab6c4c746909a1a107d3a04d3874429e: B0d05d0767e53e18f64fd155639649fe7ee173ed4f8784095e5f20f4e4f8a950f:0F#@6f0457136251a198cca38c7e15c49ca10fb4402b95953422fade688d9940b21f: @@ -97701,6 +105027,7 @@ B42b63d7a5d8553fd39258fe1347510e421f7da0c1505d88a149f45ede4ebdfb8:0Fϸ#@cded7 B0ebd825b8cb251c41d309db0324f38aeca5b1703b591e761411730e68de29db1:0F݆$@6dd8a3301f6258551a6d9c41748aad08b16fb6ac20a64f257ee63b1b547d9590: Babdf9ec307d086ddfa30912b71481e3d00b6cecc2e9cbf1687902ce05ec863e1:0F#@59b672e51a802139df36450a810860ae547cc4490ad4aeb4099692d0dc9ecb79: Bc2a618d4dda2d28ca62f1cee5e2fb0f58e0846b255fc4391cf72c490a35ce78b:0F#@6e4182bd1f509184607e6a0b716e4644503e7cfd72c7cbc0426d894f7efe82c0: +B726b3eb17d30a80b56870023410fa10f50c5afe2da16e5bf1075ded9aa5da676:0F$@934070a2b3f7aefb6f43ded07ab7bc9f7c65f253eaf319e74197524c53574154: Be6ec33bd57c0d879a9b28be72da78ee99272997225bf32dae73f689380ef355b:0F#@015eb034183840c5879a861fa81852332a8e7e9360282656a02bf9cf50f6d1f5: B3425972fecf1898609de84a81e3934d977e75f2593926afc2a2c643173dc6505:0F#@ffc46b33a09437e17ad706a1e1cab3595c2abc3fc18e67c1ca978692b2ed483b: B007d18b50e4ac931577ddc4a0194deb867babbb7448de5f5ecd3a0c5b4cbbcc5:0F#@ef7c952be860e6b765edeb70295eca272166cfd2aee50c8732fec6839426abc7: @@ -97721,6 +105048,7 @@ Bf1ad99a21f0a3b46226b208675b986e328d362627b80262c59db83bd9e1fa398:0F B37c8783f4f77fd1626844a4c5c837865ddf7869237088a0533702988be427cf6:0F"@a1163ccfb31c1065db0e336c609fc2e3b4e3855b95d29e16bad3a707eb0112c8: B6e61dfa53d38edecf74a12c2a847efd204b90695759bc7d2562c733acc3a3dba:0H#@d123aa495866f68a2e8d4d09754bbbfb4efce8be576258f813ffd11eef1d0238: B6e61dfa53d38edecf74a12c2a847efd204b90695759bc7d2562c733acc3a3dba:1F#@b87ea5ad50affcc65d5b1c22f3432ab7d40f412a1193fbff063f3c562d492397: +Bf826c9e2a57e9fd2959882aa6a69092cad9c49aaa0cbcb1576c8463cc88d9bc8:0Fؠ$@002b8064905b1dc4e8fe87dbff0274e6c64de79f2d392bed449c7efe60a924f2: B4beaa2ebc3a8e319075863f617a009b61293930faa7dd9346270b37c11cab946:0F؍$@16fba591e7d456e81d7aa557474170ed80d3954c452037bb98779fef8d3a18a9: Bb9d0cb1e2a810b3e53fb181ea8f868566dc5605e4dad612ef6ec44cbca65d85e:0F#@fbb65852f94d7e118adf414170abb71290da3547836e592c38d5663b10cf6760: Baf8bdd4f5682d32ddf0043d02b446408599a2d835fc58e4d5e7ce69f7df94c89:0F#@07c1399be8b85ee0d7cfce24bdb272d73bb5f3e2e53174855ae7843983416897: @@ -97732,11 +105060,14 @@ Be81f85cb7998d7407d07dea16ee0d09f6d8d81eb61405171ab933714ebec4727:0F Bf064d6ef8de22c9378533469abfe36a2230eac7ecd41f0b6dbdbadf19f364d59:0F"@c142e7549cb96e7f43fe25296dc8253f202da767f25c5923a460c4442d076e90: B0745973b5032be3c87a9497c613463e327b479f664bb351e8668837eb68edc9e:0F#@ab99837f1a793a0098efc55191d01cb86a49eab828b84c9bc5b5f97b382730a6: B00d811c242bb69910ae93b54b083c14fb47e20b5103e74cedec5122dd4e5016f:0F#@6e5e6b3ed9e23900b61b47d1344f2b1d560afa2d2eb597e32c35a07c65f52615: +Bf699e56772013236894a87bde088bed65a23ee78bc06be73ee62fea1a57ea7d3:0Fߙ$@8ba4c40c6c1078c7a7418380cc39d08f3b5043db17903e20acf716a2b9769e70: +B61e237d4a478871cae7062dfc5512e3a87e110be6bfc4f333b1e3f314c7e2db0:0F$@5829ee5f597fa409dd8178c467c9d9eabf817f18ada73ec721321911fdf49462: B19ead308f663084ebeaf2eefa0b690277548059f92bed93f41957c76a329876b:0F#@29e513f77d31c7f02cef289f99dad41435435e93eae7ec330ebbd4635e3adde2: B39bdee2729a184a1347b1e0a9ec3af33f89b1e1864fc3fe7b6b53bd5a349d71a:0F#@8f538919c7e1d001ac7dd0a3e6cdc558344474596f9a6643a9bc48511934b14f: B70cd8cfa2637c5fe3a590ff5a1c7fdcc6fea71576973ab5a43973bb70a065053:1F#@3dc5eea5648f9e7af30474ac952392a2d8d67fff389372e1f9fb9d99de3f7db5: B70cd8cfa2637c5fe3a590ff5a1c7fdcc6fea71576973ab5a43973bb70a065053:0F#@2ce87255a76b928daef37d0381371ea6a88007a0946447931dfd9d30aecabc23: -B541a90f3f8a4b2cbd23b582998b149b0280722942432b77fc685dcbf298eee01:0F#@97ef305609f8290f0e8912cba4056ebdc6d35b32da3d28f787ed3024ddef8942: +B541a90f3f8a4b2cbd23b582998b149b0280722942432b77fc685dcbf298eee01:0F#@97ef305609f8290f0e8912cba4056ebdc6d35b32da3d28f787ed3024ddef8942: +B7e3665804c5b0d3f60a8393b2be022e89863b97711079a9e84f67dbaa6199486:0F$@4aa4ceb4cc920df91a2864a7544fefc668afc5c3c41a72c61ed195916dd3302d: B298c740fb897ceb07cc42278d87f093e553bdfc6491f6b70586c7541bb3bbf7b:0Hǥ#@af8d364286ca09d9725db285acfc9ab1580a15b380358e21460475d6a1a93da6: B31f8858f077a9785d0a4a9d7acbb3eb4ece042e56054e8342e73efede9c027ce:0F#@a560e3f959cd27087137141f7619af3f6395deb88940b741302a5f4d7a54e864: B5227b4290febbcc64157e141a5dac6fb494f92b7f18860dc4e9e3eeee2e49463:0F#@8d7a6c06e08ba376996b50d6932267d39cbc20f0e6753bd6e0c109c9b89b45a2: @@ -97747,6 +105078,7 @@ B035031d9e5dca4bd14a2bc002fca02688c3bd3efefde0bfb1a5a0cd56d43415e:0F B1f660e04f364324a73498066d6d4b132f70702b4a4737f394e88dc51f996042e:0F#@cd775c44332d9c388563379c5c62810c4be46283d91ce5ab110fd35c5e1f8642: Becc8ed3bf0b0d90d810f51b225eb56a3e0490846dbf9859c74063da119fe7f3b:0F#@e02ed77dcd4a2008d991f4a20abcd3a9c057bec4a72ba56f093dfdd6d474502c: Bb45ab38ad00c2cebc5291fd97e94f2bc7a73080eb0dc8f59230d53452504ea9b:0F#@b4e43f445ff663910b850c8656e45f078f240f101b8ccb6ab1e5c33544411419: +B77381cecd54a5796187e372181e5821f65fd1b94860ee1457e783404c37b2870:0F$@7e34fc18bd205ee63a8fd83b528f654ce515039d765e61a4e064f31c5cea1167: Bccc9af1c92c4cef1886399a09926e6c6ca3e263898354cd831d6f9fb4b9ef66e:0F#@55a1eddac2a35ca8cbcac8a987f6516a8bb61aabaaabdfc08228bfbcb9094d50: B550adaa9bf15bf77ecc0fa66dc203308280a477593b7990bd3e4808b0db8173b:0H#@a43942602f5a371dee632b2c7a252d2d7c4abefe00c069943c2d318be1832494: B8a3c2de7bb53e331bb1481472551acafa9df0057a7a1c2f1fa35eaf64340846e:0F#@cafdb1dbe7771d28c6ea694d9775bcbb1ab6113f5c2ea83d131a00674ac8fb55: @@ -97758,6 +105090,7 @@ Beecdfae38964f36575974c0b566db6088e31cd0c1f00b8a333218adab08e2c85:0F B785f3bfa7c90285867e89fc08ccdb6d98b0dde67a30609a5728ce9bb3bebdbaa:1F$@5435054f8292dab3fde9055115b2db694fc655548499669d44470b11394b9550: B0d329fd33e489921c0c272e4bd64ad15b220c62398b0536ef3da56acba41dd1b:0F$@02c28c9ca32271cdfa3442736d1fba2e600b49810bf5da446d9fcf87fabe305c: Ba917def776969db6fbca6d5f9b58b6ad2fcf6ddc8396cf4aa31be1bea200e212:0F#@33ced23506725b7bd6108af927a4c75a60d24073f4ef7bdc1973667ae5d627bb: +Bc505137d22d69e5d72a218c753139b731b925d74dc9e7fac955a30dfa1dbe51f:0F$@4c951f303b7e65ec54cb954bb1355e796091b757530419e21f780fca0d1b21e8: Baacaf25cc01f3ee851e9c12d267d03a485f8b07fc2bc7e3b4a34d09b07711f02:0F#@e060972786a70f720642a93e349972021a26ee8521217d8c8948cb8d12825569: Bc207e71fad2d6ab925f3e9542710b75a6d6f54c5028273ace7cb1e5890e388d8:0F#@e3fdc97873ebdaa3594ff8094546fb82c6872ec1175d2386a2529f8972096bcc: Be3af3d9abbfef5338ba55aa1fa2f45ef99d8a89aff1e679c1ec97f792c41171d:0F#@b62cddcba22d0ab11e6d72bda8cbe0120fa61bc1104d4d0709790f14a7c05cb2: @@ -97777,6 +105110,7 @@ B6e0d01becb5c0860ccc28b894309fc2623d466859d37786eb8aac9fba5089df3:0Fƙ#@1d5d7 Ba1729fa9c293b7b04fb5fc94ee6873b8d15a7ad57508abfe4a81ad9da5580343:0F#@55a377e3a2ecbdcc3493c6699ea643ae3e6c35997f4ddc2da00dd02a12b1da14: B4947fec8feb3b61629418c258a978b44a53c6169304116203d507368abd19be0:0F#@83f0e28845c4f8a5b2047a63c44130f07d97670892aae680566e9979659a1311: B6d3f49163da09e6736834c9c3dee854d6ef955171a81167678630ce9052aa125:0F#@04bf0e6bd2b321baefa8d0ed5c96f4d66c2c0c441592e5f319c731bd12b9c0b1: +B088dda146ed53a83b77c93cee60371e4e7c2739225dc663809cd7d112142127d:0Fј$@2e1d9891c0b4cfbbb50505325835270a12e9ae9b42b480583e9dab38ddc9523d: B4470cdbac88c6ae709e0ff6e787d5c27dbee9d7374cde491cef8e25232d37f72:0F#@fd7df99bf2ba519e4482085e233fdcba1ef16352054aed8a704ddea835913fa7: Bba258a83975094800779deb38c5a20ac75b63fecd396a7be7b205e8fb4df12a5:0F#@abec6987abefdd014dbb14adc38a3279c49fa66f81eedcb42b8759b00c0e309a: B2f344fb797f0ef8804905d61113fc15aca35f08d4c288227535a64b1249b3f99:0F#@29fe2b165aa458e1ca3cf83196b94531a8b43b084eda325da5709d1563f9f1ce: @@ -97789,10 +105123,12 @@ B74d31f60ad71f81047cfa77ad50d16e65dc1f26b28d2529097cfd65fd11e2b71:0FČ$@c7468 B373b0966c32e18c306d5d7c2d2d4e9ed28f0dc41c673b993428d91dbf17e0ce1:0F#@1959a0d3b3c8a090db724e6ab05c995c02e7289e7e77dc9fcaf055b0dd6866ab: B08bd2af77dd48f2d09794a4e0c440d2eda01acf79c6cc74804cfea8006abd681:0F#@313667c79c396dd882efef4d2f6b05ec48f8cc12144dda386dd300c8c91944ec: Bc4ca278aeb2b89e9eaac4cc1f4457ff6ed2d6a5fd185c3d081be9a01d69e4c77:0F$@43ae0fcf2de6928fc21bfc51527022c10ac9007098834df98c0503d420e23b01: +Bf45d74eb432cf1c2406cdbcecc0512ddb67825e8ae3250dde7a07ac9b19bdffe:0F$@b3f43f35d3c0732a5bb221a785ecc7de1df3956202a77317d0eb84cacc87bda1: Be85b93c1579792454f81784c4e3941f58583b66c85138402157b854d374b6a8b:0F$@46e8ab255f6dfb26c6c57f2863ca55b5a308bb9bc446bda373ec09e3ae9f195c: B1dcbbb600f3c679929f58590146fee9884d95aa68bd559193ca7e5225a100335:0F$@f7bf5cc7157d38e275a0afff21f9e502a811b4738e476a00b7f3cbf92192aa5d: Ba898f781bb1aa1b0e6e7001a3c52b26728483030d8cfcf387a073628eeb91a75:0F$@1b8d81564be647c90d7c03c851e93438738ba96855b4c6c826e54aed60c8e4e7: Bcba213d77f8ccdf23ffff3d1fa2eb94e85aecc06a339bee7e63099658a54d829:0F$@42bd5419094877c198709a22024ccacd517b7d89b65133e71f6e1ffad3c00ee0: +B874864ab0ba60f56cf9c4c0aaf5a39e8c980025a6b27620e609d8b92399fc3f2:0F$@c3c3415963c07769af68b028a2b6d77e8cdbe8e44bf5c1be33a81a24415417b7: B4506f6e7ad2051979dc0ffb27798bf6ede8dac3bf5afcd1977151615036a2b1e:0F"@8f17c8a19814428df7e35571387aa7179223b10a7cb2807384cf117e4bff638a: B4506f6e7ad2051979dc0ffb27798bf6ede8dac3bf5afcd1977151615036a2b1e:1F"@984c16bea64d389899423d602682a22fa272c035de2de5c2c7d0ce56ae004a33: B7e881e2cd4005b6a2f61e8076e3a943acb169c092caf1e0adf9e1b726494dc7b:0F#@731000762bcae5f7a9b5e1f6a4de1a8d66f634186768fb345e70d4640a40405d: @@ -97814,6 +105150,7 @@ Ba95e479b7abde08e89a466f2a9751a3982d18ecde4bc7c284e0fe91254dc9012:0F Bc20261e7c1917cdd06313bad8a24aa42fb3be99fa81a49e7eb4ca1c9cf8fefb5:1F؃$@1232cc674e9b5c0d34d6cf5e7b941194c59b51126b7cc6a0bf1b112b502398af: B7cfa5ef8c9cceb549704409267b2fe028c95414162f892d55471603873b1d077:0Fָ#@5de4fdcdcd3b7e00e60e279e8625057eb57bfaed73e0824ceb1c73911e727297: B702415a317eff8668be9fc4effad84cbdc9c7b7e807131dbfc6deb77ef5f532c:0F"@7798df97bf1d03aa27bf6060fdec723a2ec8937bbd8136e2bd9a80f66594eb63: +Bb323ea45e9404c15795fc25438340852ff079c757953567f8b2d7d90913d8809:1Fɠ$@32daa411a628ea1c265ebc2f89395c91201329edff442bc6caf66231d8fff560: B162a47ed9809e2ce0d45ecab25c669cbee29145a1ef93640fb351556a54946d4:0F#@5333b0ca0629b4f8df0b34176619f60fb7252a8202424f539c28d4715ac35d46: Bb323ea45e9404c15795fc25438340852ff079c757953567f8b2d7d90913d8809:0Fғ$@304e35ad8f8abdeec99147df35c181b84e6a449c1a07c63c8b6b7749ab8daace: Bad65c305247eb1759404482753c5e1a15f90ee6ecf878a49d5e48472b2aa35fd:0F#@0f8c58515497c2167599e7599888b957bad76f7416e11bad4f4f483ec964b54b: @@ -97830,8 +105167,11 @@ Bef4376aba6da2750b2ace748bda38e993c858e0d34e0a5bf821f9847243b82e9:0F B35212d066f4edc33217dd9fff4882d6b89fed3dad99fa6f9a88b975c02d72d4e:0F#@4003eb66fe0ad06a2f4228924df4819f7b23c4f34d50c974a013982089608b3d: B98cf5400923a4c393210ed0e9be33bb0923c3f3e38878a7e7ab7ffd32293c544:0F#@b9479c3e2f268e808d4ee70a76182d3d8911a55a21c4b7b105e057725aff44f8: Bd6c7030aa78703319e54a9db9e68e9d0556d6fda4904683c71baa160e6768984:0F"@36c26141a3fd612533dc25173e0ed73d8bfba9b2895706108380b5843a62aab4: +Bb6e7acdfd7462ebcb1c5a9b7a9a685f6a7481c4138c4c235fba677167342928b:0F$@6c2bbcda8c1d0388c2102e15660de097f9f861d3fc92b2e10f7ab338b6293ec1: B8a3c29b784685a9806c5cd51e1546b3e491b0591c86eedfc2d48167be9340585:0F҈#@e6fb11582685056aa9cbc1898bc2ca275daa6b2d91dc820caddc67a2fe1618fd: Be5d872601543dfb6352553db7c61381efcc85f97f9c4f7691b5bf9b26681a563:0F#@f14be87715e60c0b26145c24d7d2c1198c55e7561f9113708a2fcaff0968b1d4: +Bfd28f0f8a333fb17c76fc146056775f71c809cba4e5defd032c21f798c20ba02:0F$@e8ebaf08350449534b2a2131b4831af8bad0bec2ceba5a60890fa5ed5b5dffe4: +Bceede7b747dcbc09899a603fe5967e41f698bc10eb201df44da018a4e00fc7a5:0Fʛ$@df740039062a90d632af36ff2e007ba913f059200f29c2e122126f27d387ed02: Bd6c7030aa78703319e54a9db9e68e9d0556d6fda4904683c71baa160e6768984:1F"@e7f6bcbb3e401cce1d7c0ba27a6a8be2ce9dd9f5018034efc4cd41f9322ce890: B5ae4ef7095268d57a9616afb2cac5bd1acfbd052edca7fe1d301d081df3410c8:0F#@b3edd63a71c3e4e1225f3559d04f349efd6f82e6baf1157c115d516e4dab847a: B925f96c9918b8ad4267a0ffa80fc9955c67b07c02d7c8b2faff1b7d304daad3b:0F#@f5d45ad709d45dd1fdf49eb6cbc1b4285000c646e3afc100e288566511cb4d78: @@ -97864,6 +105204,7 @@ B1939a1a17f2d4796046fc3480b9907d70d7159aff876760b535c43ec9ac70871:0F Bfaad979ced01f15d23d4f52171aa3a65b9bb7805c2638ab6cbd298f90d3c8b9f:0F#@61540af962cb86dc8a2dd08935e475ac4344b94e0601dd1c339b5efc5f430a48: Bba9d89457cfa66c787e92daf7f45d172ea7bc21b296c7733ccfeb3c6767c28d5:0F$@786f55112dff4434f57e53ed4ab64563c446bd749feef9d37f79bc8c284cc5d2: B2f8f151be71b28a318b9a361795327c808c993f52f28d1f004dbb94e1e423bd4:0F#@4cffb5176d2fbe6c8f45b2e36a7c9808e26cfc2a9a86a170941b17dc1e8d5344: +Bf3d2a491fe41aa9a018bc42afb2d95ecc1ba6b243721efb3f2ae7baf754b9d58:0F$@30ca33094dd0c2540a62251666df62205aefe391dac73ea45fb765b35ff822dc: Bb55d5fac91e811f91e5382de511b6060de74f2fcdd07d1606f792baa0babc1a7:0F#@55f8f31c5f6af7e63472cbc6f04dcc78a8cc37bc1b08df3c5bfcedc76b67d031: B0bf1c6375f057494c2b61b6519442492e26502a036b7a3568d676d8d7263ee2f:0F#@9bda6bd884b0aadbb8f01dea3c8250db5d1ffd8a5bd5827db1ecae2dd6ff2f02: B622eff0895496ab5e4956c39b237f12fd54497ed8d5866daa71ac7d9869bf723:0F#@204e5984b5d3f846507528c1677b89da430dfe67114df83c0a2e99ce9ad70211: @@ -97875,6 +105216,7 @@ Ba809c4da68e6e375bb6da697289cd9752b54c882f9b9d60c51741ba2263c9ff8:0F Bc1ab1361aa15de8d3578da3a1e6a39570ac429072b4b14ca8ac56c866bb8a3d9:0F#@c35eeb9452b7aa08edf041d92863e912e01699e0c39df41205e439d014273632: B38607b6385de1f96a306ab0a70a8768e4de8179c89776d84ea62fb32cd105bbe:0F#@2385637b7fe173e640b6c61fee2ad5d02aad76d624b85d64024794af8ce8bf62: B5db6cc2e8402361598f94e18118553a7cb7af4173db52fa5f13bf68fd41354fc:0F#@9a0571222488c6abe107407bd96f8c388af5025cadcea529db793c187203121c: +Bb0c26bafe6beb989363001131d046ef9bae3fe6296105da67215fd096189902d:0F$@ddbad18f451c2d7b318be141de85b3dd90b3c3e023add66241ae78a4ed4d0d38: B6f283446cd1841f946a18499adcab50c8d56e96401a6ba98610ba462feac24b8:0F#@b5b08b37f750b9e5fbd6ed2029f8a8f9151c6d764dcd563d4438afc4eb00a822: B781b3289b8fb0e59cee3b5e2552391ced728c2f1f2e1706d7534de6c3bf35f67:0F#@e8006e1d227805b209e089c8c791e325ac0ff688dbc7f308392bcfe0ca4b98fa: Badab575e5e9400d5858a589a23517e6d15ecad06adbe5f3a6e37e4d8558565d0:0F#@57043ed3d77b8eee14ee8dc8bba2de8efe99d438c42236fedae488ec6531105b: @@ -97884,6 +105226,7 @@ B84369705dca0c4a325bea30e1f1a504353f3d2a4a80bafed82b2d6fbdd694029:1F B84369705dca0c4a325bea30e1f1a504353f3d2a4a80bafed82b2d6fbdd694029:0F"@8498c242be6dff5d4e73ab33ceba14cb8c22c5fa65c501a5ab48ae79818ddb70: Bffe864381a8b7e59bc19cc44734edb79e4e703d133667d55bf0024afcd1c5a28:0F#@00c37b9d62aeff679e2daa52bbe880b772b7244a632834933894f5fc72c7f753: Bbdfc69990aea79fa50bc411d995c5d87874082926d298f118c5501523ab87a14:0F#@09e6095e49d4b3bd5fd31822e7cbaedabb103bd2fbf85ed5525e05f8b714eb9c: +Bda9cffd6c2a64a2ce3355e8214b1b820ebfa2112f07cc16a635f4f548b2b98ae:0F$@4dd93620d1247a9613c5ea0817ce08a4995895fbb2e0cded7d5b466645c49452: B0421ec51f01bd4a5ec6a16b808a08be2c684889232cb1b75561566ce2091b14f:1FՎ#@2c30dda678488e292b083c3f9419d81a9b099f0c50579bbeb3fb9a62f0301597: B0cbfbb6f1617a226ee824ed02742384cd34216248b4411d490e34a7d501c2cd9:0F#@ad2155a4391adfa36636972303e0619ffff3779972a4dbff1393593b0b176739: B2732ceaf7593848584cc9c7b6a21fb963b3562092afa70ee8b9fa6fe6fcc0051:0F#@e928d8332d7ed705b4320c6c7d16bcc2771f51b38cdf6985b2423f1d3737dc64: @@ -97920,6 +105263,7 @@ B25a895b82d2dfd88e00b74a0c113d2bd3f07054f2a335e0852a7c111759eac12:0FϷ#@89f9f Ba6c96ba71ed0e5cf39f0d9dbfec299875a8a454b822a6ee066cd9b7f801e79bb:0F#@48467e432d7fad616b548ac45e7037af8323de31e4a72e57ed64357c935708d5: B2e6f9b96050db39edb44a4b25386fe92806e51466f8c877984a81a97ad7df907:0F#@047e0b7e5125b534b9d189e8c50824f2045625c30c1100031112bb61f6962b56: Bb2a9a6d41f021d61d83b5623783b3e93002085218627dfcb82c77f76c0ace0e0:0F̏$@72449073a6daa2ef84a9afc20e51d7e360fde4b77a92ab89062644ed8ef64f36: +B26f360377a5b31f4941e81b741849484f1034df61104912c04b918528f783332:0F$@074022eb301b24e67d0cc7fb6394c47f4e0f47a75e1239bf773f775bede69376: Bfb96fca368ba5c4cf279ab4fdd69d15c603427f1fa5e4c2b8fd04af085e621ef:0F#@0340fe621df9c705d40d07878985938904ba7c6871104e3d4d13bdff06e4bb8c: Bf5929dffb8a1dbf938a0172a17c5de44a280e66d1970dba366a84e7f5fc48e67:1F#@ea40365b204e61929b3aab612fa79afccc202bf61c7c2fda2461180cdbff29e4: Bf5929dffb8a1dbf938a0172a17c5de44a280e66d1970dba366a84e7f5fc48e67:0F#@51bc88cec635f90a4c1dd8c25b839aa4042fd5c5c4ee1ee8b5fde7fc60e32c0e: @@ -97955,11 +105299,14 @@ Bd5232b4a41bea01edcebfe4c902923e55fa6f799ca6c8ac0db0cfd877fdcee70:0F B39a91914b01db31c3df44152e410882a69bc22e735c1a52f9366f3c74a21ea8c:0F#@947a5dc6374b1ce41bf0bc4a9daca3929b70b1c1d728bf59b652cef45feb6f62: B0fa29ea7b7c406e6d61c74d3ffad10b9c7598df24948092b3cb37c8e05e93897:0F#@95fd2787e30f86a6510d727fe63e308fdd79547cc643594c9d2b6eb982995557: B1826faf05455a9e64176d67a1e285d4f1498964f3b01b710c4c5eec7c302ebe5:0F$@4b9820e371f12eeb53dbea11cee6b3468bbb6dfa2967f8b8714cb2e93bf4fc9f: +B1d5382e77210f406557960ea41428d5341b6605f13fafaec800f5880c5d5b5f1:0Fɣ$@1cf247130d0bedd8e100919531481ffc11e249f7f3685c2af5638cd4fd655e0f: Be2258f1d7bc890407f330e46370e0aeca6d6d90dcc31b0dfaf5571bc2494145f:0F#@8db91d5d67698e1d830eeed3bce3cf076618740a7cff7997e69aad13bc724c59: Bf93edcbf13b5c720bf485c8100376516bd768c32440519b3667007583fa07ab9:0Fϸ#@44fd86554e0cba99e00ef948b281995fca818a9059c83d3cc01218d437c1b2cd: B9f953f6bf3be4ad8987f39fce28d2ba3e947bf6c328a4100b643051f1525ba4b:0F$@0fb87104b4fe54d27a2824e4a67803e535895d504d3656ebe02574ea7475a7ea: Bcc39dba6762ef0eb251adff26f64ae14033f6b2d2ca2d1c50f04b8a3d6ef584f:0F#@f8a2cbd40db7a22b7e4b72c57e8a876170636011e6cdedcbc8affbade84683cc: Ba2c9ee2afbb321c449924f79a194210b6a3b80fe5ca38bbeb88d98b410c1f1c5:0F#@a844d65ca7f28eb70ecaa1b26acb0ff4758fa5df1b463b9321cd00be5dd374d9: +B1901ace817bf98e4c221b949fa3b224b7220767d0602b96b413fe6e4e09fe562:0F$@8561d977999ed550f62e9b41220490705c8cee30a130a6f6eaec8fb4f26ecd70: +B88898c32f42337b0bd40f9986a9111012dfee1f0434374275a0c4ad7f5316f4d:0F$@fa9cd2204d9e91dfdf770bb080567d521f9714153545c20d96380db6a0fefa8c: B908d3ced07abf8b2fa0610f7e0eeea745e6d7444330d66612d8a64cd4486018d:0F#@85fd956f301cc0ab2e4a1ebd5a471b3b6bfa7d5c5a62c0418e138489299faf71: B9389b33abfa63ff9311a6116a5e09db68cdecc2a7e03a5e858c2e003175573e1:0F$@57a9daa743621d0da2eb648a1620b4a8fc69a730e8eda40e970394dfbc677181: B516c229c62c46dbee30e927e95f3adc2a871ea442cc7af52b4a42792dfc36ba8:0F#@d435e1327ea997cd6772fa41b3887884e6b0a8da581d6580a4209cebea4d8a6b: @@ -97983,12 +105330,14 @@ B8d89df9f77beb7b0b1ca5fb0410f3151ee2def09f1cbb2dce26ff2ca77a5018c:1F B3d8fce5f29a9f56a8ed8b4ab8b5b1583a01b52bd16d3f342758015d279ba9cd2:0F$@c693221367f5111856cbe85e8bf013b0c0ebec09720841e0ca0462eeb2a049cd: B7675e477a136657ddd40ceae0492194a443e46a17313a9891b5ade99277987ee:0F#@a6e7233ad20632554b226bad99c7160c3e716a7acede312190c3913e3ba471b2: B214897fe37583d3a522f654a2ec0be495726f0934e316c67daf4a65f858d20cb:0F"@c4fad64cb5e2f4809fe5358699db10cc3033852f15a364741872396b22cbfdc2: +Bcf1c86fc612d65147d5066b7c5900914b8cdacd11de0e968004d1eb1ff2cdd30:0F$@fe8effa00a2641f7ff49fd4cf255b92665f627b46042b9c6862e5644321d0b99: B4860fcd1864f39725fd5f61fc508831ddb818dbbf7861b33ea4f9d5447221a9d:0F#@580bbf8c64a9ce06153deda2d949022a8616437b737992bc61835772a84d28a6: B4111eccf82f758abe6e047c1c33be154d87682ca305d07550ab53028cb288009:0F#@a39609f680eb7c12fd97523f08c85626515cfaf99e4dfb5356bed2c749e49cc6: B7ff9e7061649d5db61600c0434a06d6dddc0b285505e6ee60b3eb15773b73993:0F#@54cceb9e955fd5de99c691c62243c6f0ce3c9b38b58c77007e9f77f7818cf5c0: B7f4420c9ca3a64b54f4888e030727b6cb8733d9a8e5494d081bb014c5745f24d:1F#@af6aaa49f44314c09f8355b1f6135c9ca29074c53a3d27bcdf90e376bf097f2f: Bcb08c4eb4a566dea65460ab99faaeedd75b8d363c8bb86923e451a862a2756ea:0F#@a5248254894343f5f4eb9741a2d85202e6796ba6a33ce852449341171331bce7: B6b50ddb522acb2fdbbc527b11f4f1b8d182e930905cc563d92221a624256786f:0F#@59825cc4e45771ff573376a708daff8288ee151e964808ce4c9d0d8fdcb06415: +Bca7ee768b90006a1eecd427546ec9ab092b9e9f28da1295c0dcf12c272e26922:0Fߜ$@449c5b795a4ba71321f28e032d5cdaffa6fbb9de726256091f0687cf6a99319c: B63c58d37a4a0df304c4030954a9a180eccfba56d14347eea46e909ec718955b9:0F#@f55831c6763365f44a8ceba3d0ac325a9caad4f2eee48e83d81536d974c2eb32: Be7487708df31397f0a27596aa256a5dcc2d74d8dc846c799cfe64365a9763a1e:0F#@8835cace6dd10a3d23173d7d90f276791e338c162f455efc391c037f0dc5c95f: B07dedd2e329f432c884a0d290155508cdb05a6f752b7de3ce591f083225066c3:0F#@37aad90de5c89e323e6643231929fc947100d34d836ae29ec347d7653515e34d: @@ -97997,9 +105346,11 @@ B1ef9f479cf64927364d8629f60593cf0583b63e75c956b38a7ef47688f5b537f:0F B5da52558dae912bc5e36a4110302907635bd3bcb2b377cf72ebc0969ad2456af:0F#@d3fa882dd6a6ef87e5a1054db0c81c9c2e3ac9e9cae8431f6cc5431f9b8ab94d: B09efd40c765a271857b2e9c1a63431db77bb0fb1fdb1d3a92aa504694a79224a:0F#@29470bd5f1b5f75788689b3c52f104b85f4ad4bd5813b22357c09d7d2543ae41: B23df2f31d2e9b85bdb6602f7259061b664ad427ef9dfaa960b1ad2031f909b56:0Fے$@1374bd68ae1f82d610f9c907e8e23818eb0f498dae589ee163459a959c0281b2: +Bfe8effa00a2641f7ff49fd4cf255b92665f627b46042b9c6862e5644321d0b99:0F$@e6d98afa78829ae6a75e4f2f600f890d3f423d301de698c71c4466cda3b8f8cb: Baea76e6e3729f8f74a91b7f59399b8ee1fda634463ed99a060f12cf2dc933620:0Fߏ$@65125ba3911720b99fcc36886fd4819158e501e525e070cadf43d9551990fffe: B847bcb3becd46968699c9272b9807707b6032c26d4773adf91302d0058a27740:0F#@75094c12dad84419ac862d49a1fd08fc0304d3424f379fa1dc9498b6672b7663: B1d3ee2cecdfd9a73b51d1867276a91050292e33a3fe897a8c1d8acf402931c6e:0F"@f72a1048725d8b8e30d810ec2502a3557a6f1375bbd5647e83a0c9b0322b9579: +B322bfa374c24bbbe5281fba4506f231432ae4c54179d565c010d6302fd471f44:0F$@dff59617851f13a8b35a757fc21ae47e4fe6c666ebbecbc8cefe342347766546: B6068af59fe2430a7355a37e49deb70f6a9e4dfe97d66becba62a6ab70b12e0f1:0F#@760a3eb3edaaa9e0018d6e36e1d8c9b769a6a862dfde189fbdf61d3b3265410f: B2690483564473d0edede58b2d515094b11147e70738d675671de3692d5554185:0F#@6c9292aadd7c2c69b280035cd2116165f2064d41b7d1bc1003ef8f7906a70ac7: B8a1f7bad0124b52b1192e41de6ec530384bb46fff317317936316a15558775bf:0F˧#@8d6b4baa0869c4cfe52aa2182faa9b00f43ddf8ecd1a09ace2031f9825a10b59: @@ -98033,6 +105384,7 @@ Bf81562f95ce89f66cd92751cd45bd80b0a6f26d3e9b48ed5ed847a0c75d38afd:0F B55a91f469168cb4f537475ff569ed54c82ba868ecdfcbe8d554851bc1b157d1c:0F#@881042bf63d4411d7cabbb1d49090e74c882f8f5da5a38af3d341d8f8a44251b: B938a07c5e70b2137a64f5281ff65d303eded6ea7b3a33b1c9c24d85168f2c3dc:0Fу#@66b6989052d3e2cc2c940bb78130d77643f9e6132168da822b2bf38f7b94fefd: B999d60ef720f2b479d6be7df1fe2702a926b747ba16e0d529f073a2207921beb:0F#@8750435e59adcbaf307cef3543bde61b3af0d6b4d51af7d457a780a5bfa9b509: +B1b6a1368cac2ec1a1a9b9ac46c8d1b6c4668e3a3c481ad75a8c99ecff0944e29:0F$@cda5f4dc60f4826c1e05b08c9cfc9eebec220fd4bd97220abe7f4c027b0f3b54: B70aa4804019154431f2f3d6f1d73c0eeabae1eb5a968d0c67b2c01598f8be343:0F$@97c449141fcd06ffee535c76dda0014b6a11bc6a0d4d19a6b8067e2f9f12a1ba: Ba81954462632c14c2e51eb6071e874200059e7f7e8414571eb8ad1d26d6fb492:0Fȏ$@9559af273f9fec60f1d6e1c169653fe3c52fb3a57ada43a163c6c4c61032ee8f: Bc7783211ce0854b84b66e4212e00369598ecee6b92df38ad01af090a193a25ca:0F#@20030d21c1670de612bd6d00f0d42fdd6d8ad81809ebbc30a40f9f2a4f3bd11a: @@ -98067,11 +105419,13 @@ Bbfc07842f5c63beb6c724b85a65babd7544fb464b21453daa748a1b06a17828e:0F Bd123aa495866f68a2e8d4d09754bbbfb4efce8be576258f813ffd11eef1d0238:1F#@553ecec169a476148fcbe927017ac294b623f0595b8aa80b838d2c8349fc9167: B7df9789692978d2ee5c6f1510c8a635ee1409b6b67a65feff252ae5cf8af7e6b:0F"@cdb01a388565de972ad5c1641009a14195877013fa259d107a0246c53cc46adf: B54cceb9e955fd5de99c691c62243c6f0ce3c9b38b58c77007e9f77f7818cf5c0:0F#@d112ecb17459ec0fc2969c0a9fe8812688ede12c85a34c91351e50dc0636ea5e: -Bb6b9fe3d7067fc24b3c472ea6d149c53513686e1693397c700df4a17b8da3894:0Fδ#@b9026d7efd224e89ce5cb5b8a93fd2c0e07b895d81a87ea986f1a538051ee707: +Bb6b9fe3d7067fc24b3c472ea6d149c53513686e1693397c700df4a17b8da3894:0Fδ#@b9026d7efd224e89ce5cb5b8a93fd2c0e07b895d81a87ea986f1a538051ee707: +Be355ccecc3998932fcff0f1e6cebd8262c43e328a38418854933879adf63c41c:0H$@ddd832e8d2ecf2ef26085a457b20d95d50cfa59a440c245537f46ee5390e462c: Bfd70bd36d4625df534e7398d16e156595e206bf848c42aed6591cc06809fb309:0Fݖ$@5d47e53db3f77d747c16b4ec276139e338abfde3346c940898c0101b03e57132: B71a6eec04a3abf90d8905ff6dfe58538cdbf4c90f363770c2aeeb42ecc27a6d7:0F$@03c43f5e4bf7d3e63fd1d9e24d150eeaf92d47feaaac92d346d6257c1e2b26a2: B7a008832de1327533223ff798eb590f268ee88652487e3e48b7d866070011ce1:0F#@d52363260f6e72594dfeecb252c6eda8a0ef5e61c1d582574d90b75883fb366a: Bffa641a010c657e065d0584fa64cd7ae78ef199159cb0fec47ac1941586af5f7:0F#@05afa838411a05f72ae173c106744fc577ed6151706cb2aaeb9d45107a1e6fb1: +B71a6eec04a3abf90d8905ff6dfe58538cdbf4c90f363770c2aeeb42ecc27a6d7:1Fǟ$@91f6bc1df0b8d86d3897e4f48082b9653a6f9260e615d91ed522bae7cce9de16: B06486b670f0284618fb8b45e23372fe9de0479675a706ec75218ebe8a111b6c6:0F#@e3303e843d2bc33ab91422055c51005278131850044280e61f3d2aca12f8b794: Ba49b2c3c38fbad5f334333f26d7ff1875a6799242ef732aae07ab5243a364e6e:0FΌ#@fbfb33702c67a755fd18d4c2cff5acff7248dad07e90306ca5461ded4b30058b: B9fc9c3bffc6c77b73ae45700ee78b71b97aa28030e0106f20fa3b4b758429463:0F#@d131bac8327a6fca4d2f800a24598571563da4d59b7da5d07b27bf0486176c87: @@ -98086,6 +105440,7 @@ Bb2f25b243aefd51ee2d282beadf4c90cb0702a6ac080a5fedf2e0997df216019:0F Bd2937136f267679f6a30feca3476016d83dde10f4b0872c2c9b9f3264919df97:0F#@ea8dfb9db1454dca4dc3b76012e451689101f5ded03a94c7aebcf36197f2e837: B289b2dd5a208ba1fb16357137ca3d6f3d2af33aa5f73a17477aacbf91909c3a4:0F#@27ac18bb361d3c81e0223a04d08c59c2fd223fd0dc38732e16ed36cd111610fd: B616470e7838bd5fb9a51755584d0feed150339c172680bb8a17b68ce8b785e02:0F"@c0c85ee7fa599eed0ddd325925775614dc0db75d60c39de46eb7eadeeb1a4689: +B57c097044ecdeb7db595bc211734df283184347a0db45c31625d73ab11f593c4:0F$@e23adbe44a217bcd346b2e48569e98e211c359f28aef98b41fb724b8e7167525: Ba68d937b1bf6a643ff313e32ce3bd60414364a851063b2eee707833da6e94582:0FԔ$@687795f3641d9c851fabdd4d6defd0f03917457249c81f9523c4b78b7e6d81af: B51b07f43f25041202e748a5d34dba60f99178d3c56bae93f70890c4681945a19:0F#@a9242a001c37d9448ee31395317a7338186429761f44178c1e9ff7c8007073f7: B7d6877219c8bf3946b698c5dbd44186534f15646231a5db0acef8a0fb674944d:0F#@77d573f2391cbf41c2dd897b2640600f246f78f43ab16a1f68103d84e149bd0b: @@ -98120,7 +105475,8 @@ B920b693de8001a89c4d92cf1dbea4ca96e4b7dded5a548fd21c61be038466466:0F B3c19e25f41441e210a2dfba7a00a53a3de2b9219b2e33917fa93ab94d10193a5:0F#@f7dac4c3d83f625953ceab8141240ec059df68a35d3ed00e606b52e3285980df: B40db604d75cb778cd93734aec05954c9caa48350cfd52426e570baa6a2583ef3:0F$@096eb2d99dea8e0d5a8c2116a49ef83f04a554c35ab34f92943a1d5589ff2e05: B039422c1d7799881001320ecfba596ea5ff215eba88363bdc56562a6591c3b53:0F#@5209a31b139660e5aae4810cc71221c6e22c5bdfc7794d1d19b1b1a50a55fe3a: -Bf37ae6c31a05eb8c29f44d6df4bd46ddfc5760b9c39b1e2a7861e8b7f9d5628c:0F#@a8fe8cd5c42abb95dee7a172fffb393ff6c58b554e4fca29009f78fb51f9f78b: +Bf37ae6c31a05eb8c29f44d6df4bd46ddfc5760b9c39b1e2a7861e8b7f9d5628c:0F#@a8fe8cd5c42abb95dee7a172fffb393ff6c58b554e4fca29009f78fb51f9f78b: +B4985dae726d73b4e470356660120d99b73cf6169726bfad7a4d2c59b8328079f:0F$@ca71aee1c07b7f6ee697c9b7b88fde70fe1dea3dac12db9c044ce1a6eefd8949: B4985dae726d73b4e470356660120d99b73cf6169726bfad7a4d2c59b8328079f:1H#@62ba0081558236d3aa5e1a3497256424b21e0a44fab4faa4a739b8af798498cd: B186258292bc5ff3c0e120f7162240c5b86b99084d13f4232d65f931b4d9ec10b:0F΋$@2ce56b276b27526af90eea0971e87ab29f0123a52c59542da12ffd9c4070b246: B919003063d4b3a6b56a939412d28b9b02cd479d24da2b50626261a59c605a34d:0F#@b5f39c4976ed970a2dcbf0f0a59ea89dbcfe2e7f800926e414efe2227d8a7dcb: @@ -98158,6 +105514,7 @@ B4ae3861b7d83ad606cf11a290ef91629e39a71b958b3508f6a602f12e460e261:0F B630cfd8cfa740c4c2f74d70063d9aa0b2125f810abbbc239857c8d3127d6eb7a:0F$@c4ca278aeb2b89e9eaac4cc1f4457ff6ed2d6a5fd185c3d081be9a01d69e4c77: Bddb405985ab10b3b9e5ccdc143b7afc8709c330062b0d46b44e795e2cb2498e3:0FԴ#@8fcdb5e07e55883af7f0479bd10a9e0f7bcca8f2bee655fae593f6b2a53f5a55: Bebec1a4e0e8e0c32f81debc9232f1dabe3ca07bb9d426e5c9a8ba357ed2d791c:0F$@1cc9e3dd967b2681872b77befffda0629ec0f1790920d0d1293938b165da8d50: +B6fb176841f508b44295fbb4d13128c6da9de006c692237f930cf3d0299afeee3:0F$@51285118341dba61db39e3ba27ac2250e71b9ac48c37c4bd66aea7da00f48c16: B16822b3d5e99e65007ca18d65cb8ae9f44447c01361630b2707d72d34ca3609e:0F#@38bfe4afe7f51ace5e1cd42845a64a5e079b2dc1670932b79eacb1ce426e04ca: B16822b3d5e99e65007ca18d65cb8ae9f44447c01361630b2707d72d34ca3609e:1F#@9f77028e5a618a882c92faac1b565f0ff91e202be0a8018d78b843943cc617cc: B2f734ca3434dacfa421151ab47e7ab9764306a4dff8614b3d85eaea27b3edf74:0F"@1d3ee2cecdfd9a73b51d1867276a91050292e33a3fe897a8c1d8acf402931c6e: @@ -98174,12 +105531,14 @@ Ba7e74017970449809bf1257d29dd93fcd40367363e3c7585e2ac5e5056a4e022:0F Ba12bf4646b25f1b2886e410965130f7d261d41018fdb91f08ee5cfa7eae8e357:1F#@2aea03bde2e3276e15042b957b12a7a2f6711a0ff0f381bfa11566faab314f8c: B007f7ac3df10ed1631e5b7742b6ed1236584baeb38ad48a976cf85ea96dd2386:0F#@debdc2a14c68a401ead1c143200180d99e0b8f615287138c73dd4220543cee87: B2259540fc4154954ab9be90e66f0b00c79cd92b67d1d2da83ed0a6fe01fa82f6:0F#@835d8508608e1ad665feeadfb072918952471439ff2dda50f28bd881e6465d5c: +Bd9cfe62203ca32c9bce97552c7ec59d0b8c976a87e0bb2dcd84b027f06137cb7:0F$@97004ec07b7945ab7a619c57c129059ff7914491636f9e235a42fe9904bb4aad: B1c5ac87a4104ecc18f1aa7c18668e857ac148bc9e795aaefef481d1819ee1c08:0F#@ba59e3b18411b95aec7b2194c850354b2a52e84cb1a5d8a4cc715882dc4a4428: Be12729ce54d8b2f49290184be0c5291e7bfac19371a76b55ea06e5f3bdfad059:0F#@c469d1d8a0bee94b950d9a1f33a3cac152a71ee44d030d6a3ff4e1cc6493492b: B58918eb30563dc6d28bdca46a60ad557881a980a2fc6ebdc1a32e06435bc5c27:0Fƌ$@6cee8fa4d3546951f23ab94d77a3d0f97b1a1dd158a1539b40c188df85fa4bd4: Bb8f606a7db6f5425714486a01ea0c24dfd1941aa83b4cc9c10c8380fb6cc648a:1F#@583353338d22d159aefc71d3602eb2c72dfa6db2f19d3452687607326200dc6e: Bc8063534d5bbf35d13e0437eea642bf47d486fcd6642c03df6e8270639fb9647:0F#@1347cd7f3c3c35a15b7f422e858ae09df06d49a4d263155c463046463413bca1: -Bcc5bd8a0b20569eb92306579a191ed615d890b6e328796cd5ab0e19416c8527e:0F#@a0bb2ba875640777aa15a09b890d082e7a8ba0ecd3d2ee273642a68078925fc7: +Bcc5bd8a0b20569eb92306579a191ed615d890b6e328796cd5ab0e19416c8527e:0F#@a0bb2ba875640777aa15a09b890d082e7a8ba0ecd3d2ee273642a68078925fc7: +Bb8f606a7db6f5425714486a01ea0c24dfd1941aa83b4cc9c10c8380fb6cc648a:0H$@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9: Bc9d391f46a77af3beccc76a0628e581edb46a482ef47ca37f0b4dd0e24972455:0F#@81922ae98295b2f6a1f89098bdfda984c1438954b157550beda2c17c1ab02774: B28b35dd70f03ad4700bd55260a6d6cc3d478b64c1d723473d38057dedf7977a5:0F#@b9d747e894ba564d4231e9aa4a710a1524ed3561c463de448688d610dda69cb4: B1834d53cc09ef4a62bb0e6a67a5acccbae188844565a7ab4145ad07245e5477f:0F#@ea0cbc8b3cc70372af9d782d98b68f7f2fdee0b12ae3439ac99f9bf80afc30e9: @@ -98204,10 +105563,12 @@ B6f3b107f19e640c19a7bf117481a4479c97640cd936b6211246037b578d77491:0F B38d83146d3c9a252e0fb384734ec4b1723145a97e060a2306f103d20d4bd448f:0F#@b210100ff7f58a351a459343d16f5c49737eb6f30ba09c80a5477b8a4e2eb0f3: B5b6c32dcc84e37a9a9bca2f31b76d4a86abc46af2e0638b9901fc7f04b1216fc:0F#@089f5fb82bcb4dbb26f2bf4d9648df412615a1446a5b49612812e1806679e096: B01e12acd24f20d058675fe2efb7c98e05c3b5ccb4ca56cb694521ddf2a9e6335:0FӐ$@66a7bd5d0b2da9bf0601dba416ad4692fbaacdf5abdbc0d6b9c9dce54bfa1991: +B5b1462b84996af6194466ef6797b6a25968906b15791d08bf0f7441decde4281:0F$@28aab293ceb09e11ba9cd96167ad1e9b23efb2994d99056bc23becd7aaad80a0: B061f971f496ab0b2fc0fc7834d54d08414cb61eb5edcf437972904cb05c42f83:0F#@f9676dce1d290302797cac488b587d7ebbed1b205cadd827781aa696703eaa1f: Be9aae406e07a05b53b44d41d0e2d6012d7a075d126e8abf5e8237c0cb0d1383f:0F#@7e8df67349735aa8d77a26ea17ce4fe9fe8fb3216a76b12c0202d6c24d733d32: B470c4153bbe6ea5074451cee54b062ee7a3f2a5fe2564618e26ce8f2dec29711:0F#@03fd9ee81e62be5d52bffa36535e4c3787165bb6362266d2ad8a7a5d464a1a02: B470c4153bbe6ea5074451cee54b062ee7a3f2a5fe2564618e26ce8f2dec29711:1F#@e75b4219780abe5cb9f743239e255ea76066021cb80985c4922ede9ea5157417: +B14e3bc9d60afa8271030563e9644f9328f3def768c9b87977162e1214f4de509:0F$@2f022e374c917486ca50dde0414c9f60cf5b0053e19e239c874434affc1a1d9e: B280d732b5ab8a92b4a68f0510e9fbe53dff16c3f8d85152e8a306eb11e3f5e08:0F#@c544e495d94b1ac7c9b9d37dfe2dfe5d00bda56e7063118cb91f4a34d7fbcd63: B8fce5019709a00f7926410771573aab34c5836ac91c43dd8c68ad6cb54a9db55:0F#@6b9266ac116b9e8f88f7828850adbe71b7fbd3c95d1ab2f5bd35ae5f5d768b7a: B6882cb67cc8c57dbc2e74a10a5cfbc5a22e6319001ea68b6b6c9dcccc49a5829:0F$@fc20e4e4855a9270d154e018d60f505b31c8b2f39780c4763387397a43969fa3: @@ -98220,6 +105581,7 @@ B838b7d64adbbf6be4885acdb46ba7047c184e8a98e779683509c610fc476a836:1F Bb9353648a0f9e313e3b3008fae4a81e864f919b9b2bfb65d3790d392b3c1abd0:1F"@e8d612abec315b9101785b5d60fec9e2a2f174ed6578c76d54e13557441d86ad: B21dddcf6d4025e501ffd5ba3b744eb04fdfbd581c656253b2ea513c0718c19a8:0F#@4607195bd53437a06ff26ab24da1209fe68218d9d7945db9215b8e1d0f05d25e: B18d7a6f03ddcda5a2c060fb1312f12b4bcb38c2547dee61c065af00b2995059e:0F#@8119a898034f6bfb5e6499b2f378b5935f5651eab85d7e9e7dc820372944d0a3: +B801fc32b8e98495d928b251b3580cd88c6197c47dbca55b7bc713a9f4b8db0bb:0F$@78c44cbe5817842d4aaba89323a795f3d02e824e557a9b0ab32a13c0fc0251b5: B3b45cc8d2826a4c0b9111b6aea8fe392dca60813b9e7cf0e7ae09fe5a5929eef:0F#@c3204e5a6abb9fa368520f79f60e0a133dc62cdd52219331aa58d707d9c79f19: B6852424bd5223210e71b45ca2877f822151f456a32e363b7ee94bde8c1c29188:0F#@b67775e51c1faeb9950ea22eb2e803bd5aa74b35d45262bd4685e14dc2cc3f64: Bd4efb287539445ed9ad333cf91d59afd2973bc3685f22364f24cf96f0dbfdae9:0F#@aecd68055d4b6083f6b883c63a9f42cecd15bead144e8dd84b2d23f673ced34a: @@ -98232,9 +105594,11 @@ Bcf99180d7ace5aa9cd2b9d67aec68d853f7aab17496b804976591d401b519693:0F Bd64ff41155d34b0404a779d5207817cfadb1346620c8ebc804be6729386d39b5:0F#@1779aef6a71d49b478036ddf04f5a20cd146bd45f3f478992d1815a05b76e0e6: Bfc386ddea364a7aef0378de674a9d6e3e1dc72f25538e56f17870ef992eb21ab:0Fߏ$@9ee75d1e2057d3a60a1b3777e6d5d51182ea77734dba4e0895874e910bc765da: B2a1824071abdb185fda2036048d70baebcc25da97c08bb12386dc196d7f0732b:1Fٮ#@16a116daed26a696bb55f2bf84538bf20235de87a68aeb52ebb5c94f34d4b27f: +B0a8cf9a1f5d9ef16cf2af153141bc4154a6c978dfdf3e3322eb884989ed4a11c:0F$@9a7b79dea5850fc87d593227071799e7494bf60eac90f3ca1ada15119e8f5fe7: B5c5359062ea344d58bf139fee5dbf66df71c7df01ceb416d377a9d6b10afde03:0F"@18831fb72d4e0bf26521634fe1776e829c676b7106b1681dfb96cff3e7aaf58c: Bc0d42cb4fd95edc19744e6c76640d5f7dfe384145839e6b76a1e00e58a6191a4:0F#@f3f80dbbbe518190c754dd6a98aaa9f8d0baf93473c3740c2ec44f00d6d9995c: B4af15524626daf2a63aa47bd5a69aa1ae3eac2586a1414f048a31e614c60a7dd:0F#@723da44df76ce7157dad404d04aa0dc57190342a88bf81ef040a55fab8b0d71d: +B7906dc73b9379a6280a3fe194a53ad91f564b822f1b93e72f7f95f8babd95b77:0F$@ea337334068a74aa88ae447d9b565038c774cefdad63457495f8a9a7f8a323d5: Baaac29c21c021beaa10e419ecf2696aec91c9cdeaadf38027fdd5752f0e44e5d:0F#@a2737560efe95479b5fa752a95dc0778a5dbd1e34644520715f4b0fe5889b807: Bbd9e029a93fcb79daaa6118d026f118654c381136c3adf964491adda8b22deaa:0F#@dbb07bac6622a369a50d104657edd6f177867fb61ea8b63eb372a0551196e6f4: B31272b8b2379dc2c5e7145bed58119cb9a5a3471f418a26a884069bdbbfea961:0H$@726f12f63b24990c1819b137f6e55ff24204cd32257d8ca03893d6932d071027: @@ -98270,7 +105634,9 @@ Bedf2950df575df881c8404495966adda5d2a13ce77f974b19e19c8540e10ee0d:0F Bf23de7f4f3b99be37a1035162944ba3c5082ca6c83d600cdbe203e1d3654a8d3:0F#@29752b582b723267907525d936f41990793240e30af68164951a567f71e1ea5d: B51ed3558f5be275953cd5771a568b4995102513f26db6e420e32de40247f790e:0F#@2029942db956dd0b47f0975704c0e927ad294683a07a3bead3ea8fc8e2cb60a8: B688e907b4dbb80099a7e604d189b44320908a2b30d73cdcb2f91eeb9042098df:0F#@d77e6c6d03d44941e1c28a1946c695c533de226467b0954d9caf19594c3aed04: +Bcc9c66d46d938ee83a2a4025485756b7067de29a363dc6f648163a8c3e213f12:0F$@90bb3c499aea520fdf2495a054d9c7641acae231da249b09436d9e77a419657d: Ba222c37f9795f0691d0857971937caa6bb1ddf3715af2c82e25ade4b3b06d353:0F#@4d6e450d33608bfb85de095f8bd7ab0f13334d9d338848499e5699a1273a4dac: +Bcda5f4dc60f4826c1e05b08c9cfc9eebec220fd4bd97220abe7f4c027b0f3b54:0F$@481bd5f5b5a8c6bf25d90d6b401c892ee6ad3b529b1a0ed3fb83a4ba05c6326d: Be26f0c84c8253d26a23cf1dad564b8f0c3b6d90c5256c32aea1a4a4f14abc2dd:0F$@ead5d044dbe0ce910b7a386d65ceb21545aa62c371fbe6799f9be8e755d0951a: B4553cba0d799611675fd32c88d506b599b1b81e9ed710e526c0c9ad13001ed3c:0F#@61efa1d6009ef4592622f712b7e53515c18c0b0866ba1d59839d06630b2def8e: B1d37b7d40d1f005ea74bfda65468fea2d2055bf165666405c1c9b93b034eb110:0F#@b84aba31405109bdcd40274a3597cc18fb71d6048437d61b7a88feb27082e40d: @@ -98295,6 +105661,7 @@ Ba0f4bd3390b0b29c9f0dfbb1f260cb7619ba4cd0de4be50e82813d4959d34be2:0F B0f8d32421298580d61d84009bb411ff2cd3a88a506b050acee5b42cf6f70325c:0F#@7797689a5165aedd852fdfd3ed7398bcdd502a741e7b526bf845068d8f6e137d: Bb330a114bd0d18501d2b9fe4731374809ddbf19cd23b322c0937fa95e1c987b9:0F"@7b06ddc2701949c5a371b401607ca44d031d1eb4d1b7f9c3c7b0f8041e649fad: B92b2827b0aaa54bfab44fdf3f8f712e7bbcbcec8b189373cc264820e2fa38360:0H#@80d580ec07b49b92a709368e42e5e001d0155584745b83612b359b3ef31a8a48: +Bc34e402fe96985bb16c91af5b3342eb25d27d3fd88ca1c225bf28344865ef493:0F$@5df15eec40a380885c2bb35e105096824e6d185b91ecaf4a04df72090a5c6c34: Bba3bcffef42233067989dd3f5e778ddbabf2364e00037914fca16c840545efd0:0F"@8c0bff8082c72b329cad146ec23fe3e4de9f715498c163f7492d66778d49e3af: B2ff53582b365ef677efce003663081a508f79001fa92bcfdd9fe6b3f797a8f34:0F#@f7f9d98f24d612c8f9045ee2cf73053a867f666bab2bdcb9c8914c6b0a0252e6: B7a97446a7f2156927b3ac9fa88e42deda714289e2f037124b79ae6b1cfe3912f:0F#@b5e7ec6563f1cf2ae92f3c59ae591802a41b7891357d5c082dc73fe5c58c4f8d: @@ -98315,6 +105682,7 @@ B83af152353dcc146e6a845e0185092af5f4d7b59462ecc4596203c9638b0ace5:0F Bb5efb102edddd93d707d32aea9b5a6319297448d41bf5dab98e086bd7d473a4d:0Fҏ$@68e44a7c969de386c82789245f0b15e03d71b699a1838a80f9cc00b45e9311e2: B614af3f31b2b3b6f63fe22dd780c186f8f0bc7e999a6d5c348fe988549e2ebe9:0F#@df9e19a9f556040d8b9ccedd05b6f5cd2e9dd3dea34e0759a102753cddabfc22: B6fd16b86a0acec89046fd0ac5e3443820dbe486e84303cd9eb233efa71546a5d:0F˴#@765259462999077159d1d9f0d776de3952a3746eadd0158545f383088357696f: +B1e6511a41d3b94b42f828171bf6891b0e109cb138bc0850c7192cafb07ba2a5a:0F$@c39a5749154c5f16fe7f3f6535f9e2c8e4f129e296e09ca53f5d29d40f522ae7: Bc3f69db6538b104526738938bff6603f8e806536dff818c87c2dc3b1c56e01e4:0F#@e4c931e6a40ae4ece8fd2690aa064146f3c2f3ebbfda5b4b99ffc775b286da01: B329ec772da5b87b3e5d2a87e6a6262101304106e058d318aa1eb29d2b9148630:0F$@b3157db4f9a8db0b215f7f665cc0a72f776695774c22393017cb72d453cdbb59: B5f6bd9e958e4f53b831cd86d229c8c4e6a762b47bdee4d6a6c38e4094c629d58:0F"@0fa9ceed804bcbe165409d5691c1e34900a2bbe634fc637095e50e280596b0df: @@ -98356,6 +105724,7 @@ Bffcab8303e59537484ad0e9f131f8a9c3cbdc4c8544bfc35eaa2054a46df1a99:0F B86905a76c18c825fd2d148ef6750670dd14c0eac1fcb5d830c6520d0629829fb:0F#@2e88e0d739e7c4403edbf4e28d076f0c743b58965a750d9d90d86ec3ed347fce: Bbc64b3696f280a737fbd4cd76b027675a718932585a9914a66569d753dfaa3af:0F#@a6db96dd14646e3225993db40b6c1f3e4a07727a5363f502ca49f9b41a319ebe: Bb2fa788cd3c23bf9cee3c0e0c3063d038c8ca23885aea5509d227615e17996b1:0F"@653cded693ba6ea718eb8869d34bc74db5907ff7195ec46c09918f9ae3991711: +Bb079b9e7f4ef31bdad5c78a8c64e645b377579c53c3d5711a5bbb2c91dcbd54c:0FΝ$@97cd24fba9964dfed3ed0a9c1093e92ae22be5c69d3d6573113ccc427d97f2f3: Ba6d2b32dea990c377c9ad5269f34ab5fb8e317bf93d84fab5afadc44bdac5483:0F#@56d0e6bccc53e12ad075820c48bf914d07f628f3b0a686f0f9a9b0ec39d8a508: Bf871cf6f4947f95052a37771909dd3b2a33ce0310cec265833fbc88e157a46bf:0F"@84369705dca0c4a325bea30e1f1a504353f3d2a4a80bafed82b2d6fbdd694029: Bc74f9bfaf42cfea751cdcf3bd18a6c1fceb7a09114fb8b0083eed3e87de24443:0FÊ$@9b274b7e4ca376a4acaa538aa4fa1f60e87435fa8225d8959ca44a65dd86c948: @@ -98369,8 +105738,10 @@ B75fb7c3b996bd3c0c9a9a5ef97714e69fccb3588d6ec412129bb4780dcf19095:0Fΐ#@aec5b B85ce368159d9f03426fef8db972d81be961d910b654ed907378582833687ee70:0F"@dcf930d4199f5f0748d41eabc5775f080d2050ff7e7da6324f1fe18181e0017e: B3cfc05adc731b11fd18d48cc6fd530d135c97dd39e8bf41c8041fd115ca26c62:0F#@3fec022e0ea23afe918cf32178e4cb7dfd210c70202456789089080410f16f41: B6ee2f191a4533597cc3404722e031c52b71b9b450bcebb68cf807d1ba5a249c6:0F#@fe1b1052c6e6e66126cd24eacfbf75d8c493ed4927f866e284d3cea66f72efb4: +B940d6f4f5d26abf3c9f539949e6a5b4445c3c55e28699a25499df124b621f42b:0F$@a1af06423e7bb9e0016039982b3619e33ae5ebc00729a2538d3ce04aaa15ad8e: B4aea48f1154c56bcb3cb0fe04ef7b6daeaba9aa66ce12fbaf6b95f6b3af91311:0F#@92d71a47aa440242f53309eb278bd0650fc8b344f4c43dfafeb6f5eec45b73dd: Bf52316216099c1aa4fb30cf94304d212e949ec7c869efc0145581f5c3cc35780:0F#@d2e829b5c02bba0ccbfbfe69368f64ca0d166276a0684a5b5455bd1b325d0b5e: +B940d6f4f5d26abf3c9f539949e6a5b4445c3c55e28699a25499df124b621f42b:1F$@44253766ace60f165e712f078e331fbcb6f61fcdf4056956f02e7be71f2f91da: B34fd130cdcdbe4998326af884857a6f247e59894a3d54093911ad5fa7f4ebecb:0F$@7b69e341c5f8e070abcbf6649bb8246955003d0112dcf11468b34434d1ce2b93: B42ab801ab5b312197129f5a375695414ecbd6d351e5743e8003d8495de601a80:0F#@622eff0895496ab5e4956c39b237f12fd54497ed8d5866daa71ac7d9869bf723: B4dfd491b07a98320cd1c62bef28b2822763d479be7a8c231e60ee1744c25ec67:0F#@f8ddbb66e44625b107b375a1d4f5d2b04f953b711088de973630dd7ef4d50052: @@ -98383,7 +105754,9 @@ B90df2d67480007a25ac8726fc876d4e0f07d53f721a473e96d3caa78da05cb04:1F B90df2d67480007a25ac8726fc876d4e0f07d53f721a473e96d3caa78da05cb04:0F#@ecc8d8280e354fca90603f28a6f3c89fd4f83adcd153ce458d5adaf1fd45072f: B0c515550ee5a54b2669d3e10e1c8f9c14fa1e38ca7776211899b6b51830e6462:0F#@b81741b38ab4ba4a27559a6621ed2301a954b0b5f15dc15331c8625d6e8c7b64: B1b65c7642b6c52771e18292806b04774992714f4934b4cc81f0ba6f0052bb82e:0F֕#@c9f707869f225552de034d71797937b127e49113494aa628f89c445134a05009: +B068642220a7715e89b516e28c96612e11d04051ea291b210850f3bddb9a92a2a:0F$@fe426029be3464b4bf56fcd8bd2b6ef7e5d9513aecc6d650a5aaa320c4f3e95c: B69884e0bf201a909ae3149c734733be2a69a93f5123311a6baaa5d990aa47453:0F#@ba1587bd8ea7284b04687d7138edecffb24c513aa2da580c208faacf43eb4b1e: +Bdf2b499589707081d290fbb2c894f91e60eb360f9ec3be71c3252bee7e85f07a:0F$@ba673174050894b2bd1b3ca7f63ba008ebd9c5aeb900c89490c1b1d97cb8bc46: Be60b58e2d8ac87472818b7ffe4f63f88b7d288140638496450e72988a3295c60:0F#@8583137e51d5e5502b4256436d1a04a23a94a68fc44d3aa6c42211e62ce6fc05: B0f1d4ffba52b46a6e677bb1161be7644f1908e1d18369d3c168218b1e98e2318:0F#@6d3529849d9f801cedf6db91728275c301072a638f6aa4f46380607a913b773a: B3e30f4b035c84ecc8d68707b358810749866f48faad3a15fcd188de75283a5bf:0F#@8d201b5edbbd4341bbb6bf58efafb9beea35750ef6c113b695c056c6563875fd: @@ -98395,6 +105768,7 @@ B2713c34c8f9dab7f0411d85bac27662ad719ae9e7f1fb74b8c00925f4658b19f:0Fэ#@91454 B84040a38cd03b4625adb6051cdcc30479ce9a8de3f9ee81c3b6378847e0bc508:0F"@8a54dc36b9154c285ff5ac8ad2ee3bdb6403801aa9da15549fe699d13d860a70: B84040a38cd03b4625adb6051cdcc30479ce9a8de3f9ee81c3b6378847e0bc508:1F"@ce43f758a7758158fe6ffbebea34f03584c7bbcc2ccbb7eca86ef0558a14d2e7: B597bfd94b70c716d386469598e192dee0d3fed284d86dbc796d79a71e41b672d:0F#@f17869f3c7eb347a38983280e466be1cd0f548d4d84d4b67090577f7de19abe3: +Bf8c7a1ce64c81e6107684a098d098ccd8a6c1bc9a9cda47ce2cedc426ab9d993:0F$@d098def9a0bfc22d39b5ef656a22291761cfad5596082f985adb9a07f775e2d6: B13d1a3f6bd88977657718af301eb26700c174a427cc16add37ecf61dda2e41f6:0F#@2c4fd48d17d7c5216f9e56b04c33f38376de99b622766d3ed01981ccbe2cb000: B361c24e13f6bb029d5c64e37c32a973c2c2e8f755980700cf1f57e0218f45165:0F#@0062d4ab767096d267e0025f69f466c05353d422c91ef97277cee272617cc8d5: B4a17d3c7262ad5e52464308b1a01c0439c034b277b7e5ba5adf84f437d7a2786:0F#@f5f188ebe34cb3eac18afa8666d583d63dc76054c2c8b6439265e5cbb0035f6b: @@ -98479,12 +105853,17 @@ Bfa9abbfaffd98feddff580d50476678f519debf2aa6cb364510ac6c525897f9b:0F B4424be12d27cd1796b75899758940c93d7ee47fa337b51cd24a57bcf9856ee9e:0F"@4750a7716b684fdc03d73190fdd2b1935fb21aa352883a6f8172d83cd746bf78: Bf399937a63c027606efd8f96a9a38b2d39f61ed32b0e7dc59eb1dbe30c812b1b:0F#@46353de6f3c34b1e3a700a628288c14cc4c0832577ec543fff7f90e16b3c4c38: B4424be12d27cd1796b75899758940c93d7ee47fa337b51cd24a57bcf9856ee9e:1F"@9dde000ee1eb79e41debf1b4044b037d98588dc489800408e85fe8704d87f10a: +Bc11659f67e914a78ddfc78b6db8045c58d4c5948020863159baeb7241f85138d:0F$@6deb505933b4207c178ff50359c919a1d6a581b92a4ce6524d088636403f834b: B08c44c00f5f953e5ff7c7cab32057bdf9cb97c3602ff93949d07affc779fa893:0F#@368e54300a7f6d9b78fdb57759b7af9c6c8ccb56d7895c0daaa65318bd4d41ba: B519f6d032fbafbaf63df5ad31cda34c59cc8f2ba43dd87f4c381e6d4c74e7cbe:0F#@04c3ed3b362522b69ea1120049a6e71e08ea563fb0bb2f6a45ba5bff8a77b547: B58e215cd81d075036b1ab76ee2480ec7e8db563a7a8de278c8fa53f6e534473d:0F#@0f11bee5fcc8a9efe7e567a01eb1be50013b4c34323f230a7880effbbf452838: B5bdf3b90a60f4ff88e800a5b6a321c8c36ff5c0b5cdf4ac7ae8784e48cd4bef3:0F݄$@9770524ca465173a5e517cbe183c6134eea7f5b007c1ec9d81b2191a26114a64: B8693cfff41fbc51a5382196c54583c42eb7305b6fdfe0a0d9eb997526ba00122:0F"@21561c7936d8c26c52eddf092e6411b5c3e7ce423ee29eaa5527e5dbfb52ed80: +B17f921a9b0809f429ec90217a49ab0d145ada9d035d35f143d4f2dfa221598af:0Fћ$@935999dc864e7ec75c73a7d9d1f3d6eea7d45212484a582094a66f53a57dd106: B064beadd4e03b1b4c83893b4c94128af2b3bedb3b833a7a721d81bc894407963:0F#@e2267b06e6edce8b2a44fac28b17855f6797de9e7145f5dcced7f57735e9c0a1: +B175ee3da0a53256490152574d185b1c7e9ab98c71a87e5641468ef0ad3edc6ba:0Fڡ$@c46af777a000a329cc27deadfe9bf225fedccf7efda1e138c216a76fd3d416f1: +B29a698f777ea22849ff4102fc312a8e9bbfb1d86d1baede4db61fd3771dbfcc5:0F$@3299316f80501af069f9bfb002375fa529855d55c71446e3a83437efa6e5b816: +B4e08f7309e306096d3c5d6360bb202d864c8bb4234bddbc2b67f21519cd56d5e:0FȢ$@dd325586fb77368087bd68a8d84d28b7baca408ac3fbaceddaacd89e6beea4af: B3f4ec890dbe3e9d274ec90610d40ad3e47c55b58d470fa77ccbd6344a3c416be:0F#@0ac5e5624e87a3e16682e2e8bf200e126482d14df57eda29ca1e6bb47206c248: Bc37f215a0e163441311c755ea2473cfaa879a7464d135fbfb5d7344345ded246:0F#@82a857ed486e8b229123e0fdc2c02d9d5ef885aa1daf7cebce888ba33388301f: Bc24c3cc5c94eccd99b0f4aacaedd99bfea428b84d188b68732ce697be722ccaa:0F#@42da0ddfd096ce1591816cfcf6eca624f3bca54d197be0bfcf11e1442d4e86a2: @@ -98502,6 +105881,7 @@ B38341d09f632f75111342234645dcced8481d681e8bf51e23cde060ece80bb3d:0F Ba6e7233ad20632554b226bad99c7160c3e716a7acede312190c3913e3ba471b2:0F#@a35d0a1707b7ddedf516e26f5bc08b1c16e947b71393131e4dd6098fa815d949: Bb00fa764176fb1f779855715b069659fd2bde12ba4381a67a57dff823e211808:0F#@9d7e0476d3aa06d7f01fddd011bf6d4183056c18541ad1c21cd8be3d5e5bd6f4: B11e2d7afc19e108c5f6cfe840de2affb7307b82ccfc31d5beaea64a17f877e39:0F#@43aa14619e50ed9c56d911b65d89da8cc2de9e10750150386bd8371e10231098: +Bd03cd72464a9184c6161296b2f4f48b8c569b0105cfdd878d5328d00b8d227c1:0F$@fab0a77a2bc0667ce44af4361ad7c63cbab717c4f1031a892c75b427f9ef0357: B477bc8c515b8ab038328ca0e9d0968189a96745f9f8a990591cc6b2bb98db6d5:0F#@8b8fbc7074a9e253eda4119b1eb27d92102f37dc240664d139964c43d11c9fc8: B57f64d984a5b0ff07d975c3087f068c4fb09f34deb15cdd0adcd40c9ce30c17c:0F#@7fab9c46d069edba610865905ac7a7e3d233da03e76732897dc797480e3580c8: B167cd5a1fef57b5991b9840701db898677240eaadd65019a79503ed52cf60d4e:0FШ#@fef04cde00b7121c7da1c7ab96c83760bac3d8ff890529d6332498cad2a1fcaa: @@ -98567,13 +105947,17 @@ Ba53beea7d71900b2c5b398df7e890d4b40806eaac629f1df8ed01ae4eb6b7955:0F B7a352998b96ea8d83a39a9cbf6575df9c4db9dbb62e7b760d81f9aea8eb826ae:0F#@9ba3049147cf39c2a0f5660f1f50021e292a2d806d9af1efe7d13a9124f09cdc: B5eb23187ea8601c05eea294c7598c2e880df6418a8d04f8925466cf97e4c9f93:0F؈#@709be837ea336edbc1b31d635687adc6f2073c105ee60306f9a533d5d2c733c0: B838a9a83bfc029eedd6bf92f19bd603fe763d779220962d4a472968bdae897e6:0Fэ#@23dd5dcffc710265a1c24fe1a024f0254b4087852c6117c507d4724f0e9ae6ca: +Bba9bf5201eeea8a252d918e300876a6020c2c9f3bb7e9d953fbadaab7d202152:0F$@03ebad3c4c6fbaa9e863e8f3de981d2f6d6110a08d1aaf301b544fe1c0f8eb59: +B6584f49f6c5b850b76fdc804f05c93e21eb6dd8c7530074c676fc63668138074:0F$@f9145d60ca0834d5570c2b17e1037cc3a5a41d18f203ff805a3552e76cb3294f: Bba082327a1920d21cbcddadb0fee2409b609faef1ad195679d3573f4f8e3bd68:1F#@df7c94f5842c3530e6e00fd543140194bb283033b779abbee86649a0fa084099: B940cded0262c82ae6a58cad925f1360357f25c7de764f5e7eaa960dd4c9b1c06:0F#@3096628db6c81f8e3c26c6f2d69389cc92cfb826577e696bb7ec1173deb9b319: Bba082327a1920d21cbcddadb0fee2409b609faef1ad195679d3573f4f8e3bd68:0F#@feacebc822ddd7846beece3c2203ded7770c893f76af73579c34c085e54b821e: Bedda79a9a7984a0fe27df07561d98aefaf3c6b052ddc4d9836fb4443e9d9c264:0F#@6c792631f3f9d3889a581585141fac0772888c98163a3f06bfa3493b53b8a349: +B0654f0e3e177d488e6ef27102d87c010e0826819a1731c3b99e9f931f74a0d85:0F$@24c12ed0eb80b28a233c4b93f8dfa88cbae627989f8e1dbc82da6b82e2f21f89: B14e26475f40d7b8ec77be15d02aa5fde1414ef4edc022bdf864c95b3ddd1246f:0F#@00f34695bff460b473cffd96057df0d51ae5085dda49342ba511761c31285688: Bcbec2ab165ae989f3b72ff3977254fb180b2b3e1557478fbe39a8b45598c3612:0F#@020c9ab376ae3daf2c2e3a5753f4f85fe889ce7c57ab41ced53cd37674b7c3eb: -B224793f2eab7559b681c1a7178925576a9a19023be6fe86386f1cbf5342b897f:0Fچ$@35797c234fb8adc48b770c7dfcb1630e7220451a099a4920796860f19e3251f0: +B224793f2eab7559b681c1a7178925576a9a19023be6fe86386f1cbf5342b897f:0Fچ$@35797c234fb8adc48b770c7dfcb1630e7220451a099a4920796860f19e3251f0: +B46aea75272a8276e74e80aa91d314bf9fdc5ae9acf0ca0ac48bfd0b24df4620e:0HХ$@617039deccfb5fce9151f62c8e215086c446a982a805a638bab1328047de1b27: Bbf7101c149e1d0403e4b3faabd3a6768ddfd3a0bd29f37a22cb3c5a0c8340cb7:0F#@e0187b64fa2a7db1526960a930fdd5a092adf40f553bca8bbadcd10b4eca5ab5: B46ff9795585166696149071bba722b5ef71960c19f9c2559261ae66c6bee8c4a:0F#@4f9f37780b827873646018209bcbee073913aad60fb65817d38460b8ee30dc65: Ba865b0f4c12430a5a10583708e8a7227c5064920affcbcfa8e15e9855a688f46:0F$@cbdbda6676f4f53205b3e77d5957c03f17236d928979501803c41b62e7af307a: @@ -98610,6 +105994,7 @@ B878ce9b36e8e1e59611bd50b05f1a3500abb3f58f0e7f36d6d418cbbe4f767b8:0F B5c0763c2ef9fd468b9d023f8a257a4c0443c496387ce841deb78549671af08ea:0F#@b4ac31300c9e2532e2c5ccf03ec2328317878c12bc12004c27325fbb3a021747: Baeaae0a166c150d85a13f10bc7a66141e826b3c7379b4b7acadd970b20f5fdeb:0F#@04f2e446737ed30d1848ecc875d39be6da593108d68672f46575725998afa103: Bfe9a0ced4464cfd72b7945a8946d68a03be313e5f9ade3bf4fdf291175eaa4f6:0F#@5fd697f29b9c56cef3c2ac0b63d6744ce26226bcb8538dbf261fdec866fc154c: +Ba66789e5b8a2628ac310b42a482d6d7da8644443ffb629b1abc407815f59ba2f:0Fș$@9234d00867a292b5d6a82f1cdd100cfd5efc7b0279931d96a3eaa5e7e063e954: Bd8130c062477c81bcfaaa05bda48be069edf437267c46759c3ec1c22238b86a8:0F#@09c40e0610a668ec37eded0feeb5ea19a3b596e4d9c861307c639b4f219c1622: B09c40e0610a668ec37eded0feeb5ea19a3b596e4d9c861307c639b4f219c1622:0F#@49edb2f4732e672a289ff71ef67c9fb7cfe7d0fc710b916eb0fe15bcde3e2627: B5d57dc3c92a43b3d8548386119912afae98844a70d813eb90cbde3a1d32e7721:0Fܧ#@1ded9b7ed55d9ac4b7e7aec9d51012999ab99f9dad69d63bfdc073c17252fb18: @@ -98629,8 +106014,10 @@ B10f9cfefbd35ff67ca08f007f66ac397a3d143df59e904846bfdcc5c600287d2:0F Bce7127d13584de81fa8e66cc6d0e227df7ce584705df9ea7cc2da878e7b6c547:0F"@1be6c74b1006091321d03d190e4b75e90d9d1a29ddef34d4be8c636cafff8c12: B8751c9827e3dfe4e2f7f51118f90f2b6d9e5627459c680d1b39bdaca793d02be:1F#@6ced98f06c9a3936b906f78b92d612d6b0f79a673d701a4adc0ea83c8a896b47: Bda72c901611385605e0b53e74c5b0e7bec43ece953d6d0617076eccc71cbcf61:0F#@455bb136a12e567281cb158c99dc13a5765ab067d24c39405ffb4bee3188efc8: +B980752f1373bd48b72132e2aa258f0e796b90b05de9dfd68053ecd806cf06cdf:0F$@3f9259d57b8aea5ee391423da2ee49295bd78eb691a682d4ee8961586b5ed28a: Bb0872df5cd6701f92791894b856acdaded367475e2e5db2288398e534dee0fd4:0F#@e87522ac3f4dae21d71402e12494fb59975478a7b5f7937ca0957f6269f3eca6: Bd902103165ce316631113095730cbb7a98ef96bcab530fc1c6d1c1ffd2479b33:0F#@320a8441f4efe10263be34ae17649c388716bb7e063c2ebe279f31a141a62992: +Bf96ca47e85eb42568230d8101572a0aed9019405893b622e98be8e67735e8055:0F$@c48d34f7e069d5e777423a194a86529ddbd601a08692b74ab15dfd28fb0f8a28: B8751c9827e3dfe4e2f7f51118f90f2b6d9e5627459c680d1b39bdaca793d02be:0F$@673ba774bcaad4b3cd2ed7baf59f24085065dfd250af88c4aa33afd453b9c5ce: Ba35d0a1707b7ddedf516e26f5bc08b1c16e947b71393131e4dd6098fa815d949:0F#@93bf00844742bef00e848ec65fdeb050e08b3684c0512ad33c6fe5fbd6e76b83: B020730f49380f5ef07b749b7931e4e13e5d573c36a0202e81f8946621208d6da:0F"@5c5359062ea344d58bf139fee5dbf66df71c7df01ceb416d377a9d6b10afde03: @@ -98647,6 +106034,7 @@ B4b26c8164d970a33bba34f32e3791fbcca538160b32099551d62e2b5f5041fa8:0F B78923cea6a72737b7c96ff19a367bdd19bb144b200c972de8400abbd9b60d34b:0F$@530c4ce80093b1664f55fa945b2b7bdbe12b9c067dd8b67fd8dd1f13a6718546: B2e0240b4dcf713f2ffe3f4ed51d551a67ece2a650e4b7bc77e3324ae3f39327c:0F#@206af7ba71ff37ae0e383665a8ef5d7bee9f02960b9389070a331660b84b20b3: B8ad301da9846210fe8c3c1ee7c6f4202f1ea7567f4ff9732f017e075754b47f7:0F#@d5cdc643c37adac8d789e134cc64c453053a34f1a94796f74414c1f042aafe7a: +B8103771c753d7323881e99b0d5e3aff1eb58029bcb77c79335ead2a8062f699c:0Fݠ$@1f6d743f27d411db665cddd1b3782c37ce5c4b7b447600261fe3241ce8451be1: Bb51e03051efd86583d40f5dbc3a3d3ac267ad990fa9793c7c8cba068c74e1894:0F$@aa41941b70289d79de39fd6de9a0bf6f038095fbd8519aeed63ab979bf68ee55: Bebbc9e6426cc5b710f90a36eae8ab0dcc4537e6046386c21464de56115c9e68d:0F#@ee9f37588ebdb7ade71b769f41cc24caae10437bea5d2c5d2de95d96afc5b77a: Bf078054fb033cab14ba9306acd70942fd41dc635e95f6e88113681ee79895546:0F#@25c3e21ce2f7665d634a4b8f7422a0bfd5986761f62f6a97accfd88d01542969: @@ -98679,6 +106067,7 @@ B4e6efa6f3062070cb78ba90288e824bacbdf2f343a17be158723793b95e38edb:0FɌ$@3d54f Bdc6e0f6f0aa8d0219bc26e5c477afec15fd57def05672b1c3c0dc238cccf04e1:0F#@f3baaa6937da2a4cbebd45445ff393186e270cf4af8e120682287e3578725281: Bdcb50056e447f154232288831b67863c3a0939d60e84808dc595fbfc20120f5a:0F#@af753075def85ee0845bb883cea6bc8584d4e9dd2dd8d7898979b7b4d9cc2a25: Bed961a1e2ed7498b6d2d9674b97c618fcf914ef27b05a3f6adb9180a5d5c1fd8:0F#@1a3e5662d67c14aeeec4a015ad3a7a9c3f9708e95a18f2f7ef6bcaadbed72bab: +B91c1abd48f9d3cc627a90e9e11a4cd8a1d32316783d11bea28707bedc296a8e1:0F$@0bfc582a3042ded1c8372d7a26816f3e2e244270193d9eee9a28245c573be98c: Bcd20823c4cdd57143ec2b55061bb696cbb4c98f959ae12186adb51a1988f1acc:0F$@2144eb4cb9ff258387501791a9f40591f1f1603fca309b5d5b8352467005d657: B0867d0947540100cb9d8716976921e695ed39b76d90941fbd06ef74c15dc9780:0FŽ#@0f8d216f6b8346674649fb216081e86378aa14d738fa7a6d2930a2876c1d8626: B7fe4bb5d82549a53757be453abc61475a04d36a580d91362f60f2a2401b03324:0F#@1e3549c89d51b014e2b563f1821808f27eb2d9d36b1c21525bb86b72b561123a: @@ -98699,7 +106088,11 @@ B91f63fb5c1938afb70c5c03d752d1eb0397742a8511e873f3994c3558c7a1fd2:0F Bb2d557386a67105e167a6451e84eafa32ccd2cef9332626eec897cf115d073f8:1F#@882aa59c35c022155429a0f12c1b80cda8885768da6b5c00e199aa4949e6de60: Bb7c47bb9e6590c9e090b71143536c35b00e7ef6e893668f2ae1ef75ec9690b40:0Fَ$@e5c4b080d4ff3314d05f37c455a3915be7a732a852b18050055e2a070085c09c: B193e2b2651e018637221e98e0bb5b21ac87f6e2e77218110dd7f55e55f204e9a:0H#@dfa7d0911144d972866a89b62a0358160ba0af41cd5295cc6742c404c21a0df5: +B98589a9055ed8eb781c0b0acbb2d546c77224b2f07b5532ba0ba1a6e19a7bdd1:0F̢$@1c2fda1dcf2f85f40f6ad6ec489f2c37a12b3fe83fec062466f3e42e58cfe908: +Bb2d557386a67105e167a6451e84eafa32ccd2cef9332626eec897cf115d073f8:0F$@ece33293157f621d477e2d5196f20176725544a2675af44638ebfcf10a907b1d: +Bcd0f1c24dc7ab4dcfd4f7fd02413b891aeda6984ebc4bb146e5f93a967cfd6aa:0FŘ$@4abdc08e030b028a16277d87a9d915bf1b0f32b0bc2ceebb99064dfb31158828: B6091b695a33af0f07b08480ff070490b54f78dd4ff494f2d8a51c7c6527b7717:0F#@3cff84b3ae6701aa022c6f087e5621ce4e14eacfd141a762075b2b74f1d4c437: +B6917187cec1b4731d1a447446b3bf02950b69f81b392126ec1040ade6eb4a117:0F$@79af5d2f503b63a39e56d8d8c71b049c7755514a50f8516f6325849a80f78814: B8414380c8f7af231884ae8e09bc2ba2ee08fafc4d401786d49c25ed2cfc935a4:0F#@bdac95b25f49cadcb94da58ed05741687f46d76ca37856d804bf1ccda7c82cc0: Baeeba8563d0ab72791c908055ad17a5ae9d5728aaeb576749eba004194a1f82a:0F#@38d31b24cc4741a78d65500381f968e60eeb47896ed4f59c662dcdf3bc4ebadb: B4f1b8738fe8382764a96b62d2a38bb051422362fd4c385286972914d60a307c8:0F#@652a714071688b29adf9fc6c8ec7ca285360a2d126bebfdc99040e7f52847aba: @@ -98710,8 +106103,10 @@ B34dde6bb4e03f248dac30f032246a77358622ba82885ed9acba09b2fab7ebb7b:0F Bfb7bc26107ea96c015cb8b6a27478021054b5e4d8f3f2f2dd52f5dd574af14c7:0F"@f0533ba6c7fd900b8a31b1375ddc4e200607ffc803c94cd2688a61ad1eeb722a: Be12831b4261c489d1163dbc64cf3cfb89cb0167bf9a39d115aca826a5c693e32:0F#@364c10975102195ef703f6108fe7b07eab46a87ff88fa7162742c2c90904b4e2: Be2013f1406cee319e78b6ae177e71fe4bc6ebbbd2329f0d17301be9726c772a0:0Fڄ$@d06a255af18e489df833355097c3ed14a683c55a99c6e1d5fed1e8d4c5be47da: +B835ad10613479b0ffd0c253799f6518078ada8cd9c053a576b5851a353bde053:0Fݠ$@8103771c753d7323881e99b0d5e3aff1eb58029bcb77c79335ead2a8062f699c: B4966a11d6d32a12f6c57e45da3c46ba26d79c4ab16efe910d200429f75b818f5:0F#@3f8f2f85b86bdadf5bd9d6017d8af67c07b404723d5143f540970a9387cdd9f8: B485a5fc0886f4a38d568a63e0ae5ddead6fcfca88edd4bd673e41dbd83822b1f:0F#@0d55cbc418f2daa0388924d570f0e8be1298ce4e520144ca5b36f7b3addc3bdd: +B94a4575d74d33fc209c8b1a7a936142f994617b635a66cd1837a359c225262b5:0F$@4c0522eee76e2c94e2926406c98e9f9934ee6363e6870d7068942ffb223255a1: Bf77fb2c3fb82f5a3d1fd6f7b975ff32a0a097114bac559e50912b90df78db57e:0F#@a384fc30069fddc1aa79e396736b29695613c4f4eb954894a85a811654c481d9: B338f3e4bea0a1a8745be8666cda5ab9a79c0655086a57119be5a0a9e8e136492:0F#@1d48654fcdb7322c1f392418b4ce2e9df25af14af906d0947ef8d1c8ae73daea: B3581163d605de587012f709ac633c7701673787460f32953753f5f0e934d79b1:0F#@0576aa9958a396fee993ceb7ed1ba407a2c67b43ffff415ed7eab4ca9462fe51: @@ -98726,6 +106121,7 @@ B34e7caf6a8cf36a4f6a779287bb09883341da06bc17e030280578e987a17a62f:0F Be64f0d5b5e54167d3b9bb5b9d75592bfbf5f24426ad83d9ff4d77dae851ef752:0F#@a4caeefe003a88d8a1c29e3b543415330435c65fda4e5bcc845e344f91ad5628: Bb41ae7420116654176220199f99980b4d6ef3d2441bf66f4d1cdaf31d91fe518:0F"@412074268b85e88b91a5544a83c4a79fbb2750df280134ddca4a7da64eacdf36: B04417218086c9c7de925b037c08be5ae760086b6421ae4decdd8ac28a11d026a:0F#@22fcf35eb0e1d45892af5fdf616b9b57bb9eac828298479c0c0e7c8228637ee6: +Bb0630fb922834950005023470394f8c85a5e3b5e9608c14f227336361140c1df:0FҞ$@aea6e0396a8baf3f38d1ee20bab9815af6e1afd6b1f3370a679f37797f1bbb64: B951084ec08d26529b1e151dc1b73e416d697ffae00a5df207dc9fe95e1caf03d:0F#@8abd3f1d61ce7d313aa43f2055177e8e1883a581bb4dc529b94fbb46226169a6: B1dd69e717dbe7de68d89962f1aa0e28925cda2ac0c48759085bd574c4a04f1ca:0F$@d9d13467eaead6035ebd169f22d730347495641ececc79d3554d5395efcdb8ef: Be0423c57cec01ef21c5d6485f641ec26dd4c4abeaebb34782cb415a4d60ae716:0F#@a31a32d394cc8bbb4b57f4736732f64e495ed5fcffa0006ac4329317002facb9: @@ -98734,6 +106130,7 @@ Bdb0aee8e3efa6dc9688225ee3890d9d9cb89be587d72af35167acdf1799fa867:1F؅$@16863 B1b463b9cd6a0376980f30287805be73b39b668249a66c33e0c9478776f6ffa62:0F٩#@032495a7f46511fa9f649a8217f8519e155056e20bc2725074b2d7a869a4512b: Bea6951b9e19a3ec5c4842edcd690a01eac0e6fce528bc285378004de4a3e5a46:0F#@eb7aa283d5aade0869f5402613cb9f8bde6259bdc3d6f688e355a9e3eb1e823a: B8640b28fe96c3b20299043b64c4ebe3195011722c35237fc320fdae675fc56b7:0F#@70ecb10e96c8dccafe937bd04913376a21e4dcdde2dc3aa448d7f20542cbd48e: +Bdfc7e1e22246132804d8afe0085cb0a974d1f8230a16527751ab3097d212ff63:0F$@cc9187cb55e3e094577d7b19cab5562e2f9174523798f7ca819557f489728cfd: Be242b952811b47d64c786254e804f78eea085070263d96d663087ed32b542f6e:0Fޕ#@d950d14a8b303ea1c0930035cf9867cf06b6fb4e338e3f3974283069abcd26f4: B2ef9edbb1fe2b23e0750cc8a408608e63bb8c7929f427aebb04b93a761607c9c:0H؃$@26631daa354cdb26814d5b9721d9f802f4c3a56ce3ec14efbec13817b8464dff: Ba9a3a1f3e4b056ce3b16ed405d615494e0db5992fd9b5b0832c68e8ac4fe0e40:0F#@e716d517fe39d25728d93fd58e327afc01e9f62f86911b9b0a593ae98b6ac789: @@ -98753,11 +106150,13 @@ Bb5e7ec6563f1cf2ae92f3c59ae591802a41b7891357d5c082dc73fe5c58c4f8d:0F Be7c36391cdd54c9cd29c65e5c7999f7a1bb1658cc00fe0352ba6c3a2c51c5f0d:0F#@1157e6350c9e1bbe535b5c36566de766d70e43ab9a91cb14e39a01fb21c9e962: Bc7ce7c51c49b90a5e20e9a2abe4b5839415317eaec78cb6a58172b44b4f8ecfd:0F#@4b705890c7e50cec603d186121ec99b05a89656512d451358991b63a5819a6ee: B18f3f4e1510f8b296232eadeecee00521e6d8328385e43b1348e168123c522bb:0F#@c8bc0fc0bc782dba4e5189bd5db2b61aaf49da34d13f01929ebf551632425646: +Bde1b4b55a040e1b78da7213c17a242b35672c02699b016d79aa8bc362e56ad49:0F$@f34232d8d03a0a4925cbb4431529622f0c9e6cebc77cc14ef330859e351d8005: B1316847c156b812b119298b714f39516f70f3167cdfbe03e7499079844fa9dd5:0F#@48425714100bfb8ae6cf7e8c489571537c38300cc303fb9c711e77d8f8ff7246: B9ba3df74d4048f2f77dd069f36d547a12fb4463e28dfd10d8539e2738b4d27c4:0F#@cbebf52c1ef8ab7d807fcc1494db225f168f918d2b6c3df51d88763f87ede89b: Be3a70fa873ecc665c9b44639677cd280259ac26813753be871adac108e99455c:0F$@95cf622f54eea5a1b860bd9eb82ae08e01b3e9b8b72e4d0cf0a0028849b04cae: B2b2b50eeddee6487827eaa32c095f0b5ef06e5469e4869cb92699819e3429552:0F$@14bc50653c502b4c9795c57d74a1f4340dd1f01090af19e2a2f11fe22055865d: B056f5fb24cb50ba10808dd80ff4eb3d741e6dd95ebfa1e3b6b55d532cc043338:1F#@af2cadc1d608001c2a5c6b3b6860a5d8e63761aed85f430bde73803550fb6a7d: +B78033858c2322c5090528efb71033fcec13088441ebdf6f4e299961ee6d178fd:0F$@a481d45975a0814e472398eb199087ea4918bcd132ac3501959e8e1be0d7d3a1: B2ad01b5cf959edf6ebed6a07a715626eef1e3207e126e9b350fefcfb129e6a51:0F#@62702ef6362b1085ea2337ecb2a903e489efd9ac791504913db391f70cbd2c79: B10d6c34a477bca48be1f458bdd518f30784bfe76e0ed260fb2cc097633764a9b:0F$@d2d7dfa792f2e550323ceafa5ef98e4070a3914a987ec5b8369eea006628479f: B4c93ce75931511ae77993e559898b181f59c132f3bfc00046fb608b10c4fafac:0F#@919dcb2592e6603b50def7a33cfe811bebe410e70d0339597718a77c0c6a411e: @@ -98776,7 +106175,9 @@ B22a68bf30aa0b92d2e7efc6aafa056b018a63dc2f3f0b9e6221f13df4bcb9340:0F B52a1ba3c7e610c362d98e756b82a8f5968ac4fe41229bdeb8eb2aa9201fdd400:0F$@ebe1b8c9973ba1979a464f87472dd27667c191cbcde8371d7e8d710591b372b5: Be060972786a70f720642a93e349972021a26ee8521217d8c8948cb8d12825569:0F#@95697f0b3f5c8ada4af52c9dbfca4181900d3bc025340b53ec74f4a1cec914a8: Bd085e7803e4ba7cccc284996587d3f021d763290126f7759a569a1e80044d741:0F#@e9196b26410181f7077e2b9df046f93d150216a6092b3d91c1f3d8ad954d5df0: +B54c58f4178d224ccffa906666a5541b76991623bec6c814ad0ceb8deea36a5ab:0F$@d977ba6d5986696daf19fa47feaafc1a1379dae484cd56f6fcdfa29a8f69f927: Bb99eb18ddbeb13570223714589887d804201e2a7d88c073a0b6d8503cc93b2c5:0F$@9a7ee3daedb7386eaa87d7d37c9e779d4ccbc50b36cde728bb6739b02b7f9731: +Bdb78392c05d1b7dd16ca7a599a2cbfd0e66dada7ab72437578662ddc1bf32d69:0F$@bedb68dc628beb00bc20d0010cad48c9fe291f544c10f47a5428d83fe6ac97c6: B18f3f4e1510f8b296232eadeecee00521e6d8328385e43b1348e168123c522bb:1F#@c6ee8aed55deef139f805dc1d110821625205f2c3f930ef612180f6c6bae30d5: Bb75a79d798a945d74d9c80d36da5cc3ea062c7c74c2ac1a638e382c50c5adee3:0F#@817e0d31e2d3705d9b49033154377085d0e975d786ccf6df239bf1c577037876: B07c4a257bbb37c693b6353e250a31cdca501df33386c886213beac24cf95116d:0F"@0c5e6ae5f55485bcf0480d34e1b40108c5feadd9c66d5ae6622632a4519fb84f: @@ -98793,6 +106194,7 @@ Bd1fb09098cdb96eec10515b8ed2a9ee47cdd4812283422668f69beb5ea265b09:0F B4661f405e536b26b98ea25e104df51f0092b1addeb6eab520f9e6b231961c511:0F#@f7b6a725570731cb52aa4fdd4b4c9354514be89912034ecfe4914ce6b3666663: Baa8e9be2e13c5c4db5bc85510e026c566e493e3b3a14b5920666ba1cfc3afc61:0Fʄ$@af56b1331074455f4e93c6191e7f25a58cce955e9a755ebd0bd8a38434d0fc1e: B0b813dea013808f2a1ce379d856ad19146ecdb960be471ecf030d698a55117d4:0H#@1e1b85be843b7d5796cc0a6df2ebbf755db3bb29a35d4d2a8db714b995664c46: +B5efc4edfafa086baebda54fee61be94705ccee9f530843e324da06dd0beb66f3:0F$@21ea84cfda1589994833b96114efde1979644ce0df8d60504839eb218f3c0036: B60992c5d45b12df7c131e2605863a687e9dddd220e2ad46b28a899e5e70be285:0F#@a9171a52c8cada8e4f416ebe7182e5b7a7bd050605e8e208174f56bdf2704207: Bd58029871f2afe355d7e0bc90f74f747b55fc854597c2f0dd8f81ec24607b87c:0F#@e96b107a99f0165302a3c97328541b577feb67c0990fe7d3fe476bcbdac58550: Bb261f44d5127235f9f2548a3a9a3f57a8a3932ecba4265aac3314a238b155b25:0Fߕ$@01878c4a79c4b58ebadf12fde9a370e73ce7e413079d93e39f480588e63aafdb: @@ -98800,6 +106202,7 @@ B1475440221b9646e2687822505a4b70962579db3affc16cb50074468c9e2e158:0F Bda7469c7bc6757fddf34aef68f1d94b1eff86808c8585429df73547a5d1ed2ad:0F$@50a97e69b1085bf6791d19cb7f26afbdda197bfc8366895831c8f9b0b2f040a4: Ba86b9bc17818a729822fca8b8205be29b57c7f554037835e9ed8951da8b4386e:0F"@37c8783f4f77fd1626844a4c5c837865ddf7869237088a0533702988be427cf6: B2e0440e7eba7dcf0f06ad1ed1f2f698e7a5686eaba99f12e84a0bf768a59d256:0F#@f749efdc0bf94c5a7a3d748ba2353841bfa6e484a83aa642ba37bb38cb324839: +B86a7c3f24d3a82835590563d9bb7e4ec5a26e9ecf90bedd9202df268bc1d42e8:0F$@9bd77bee57c142123d61fb354f1d8459db83e34b634b47110a7c148ad7bfd56d: Bf01e769ebbe20ccb4adf3aebae585003973374cb6238f6ecff3adb0e451e7646:0F$@23df2f31d2e9b85bdb6602f7259061b664ad427ef9dfaa960b1ad2031f909b56: Bac12beda336a72acb5f49561d92f4244d4cb55aa67a006271a91dbe42f76fd27:0F#@15c891d54de5f2fdfda716360a6de01ef6ea2811d011682dd722ba580354580b: Bf657e2eca6c5d5ffcb077ac629fbbf6bb8c1313b11f75a5dd56e42fd70f501f2:0F#@876af4b9b9d4c65d1620e54654c05109521b7438016559d46c131c0a12b0ae3c: @@ -98816,6 +106219,7 @@ B3cef6633a66f83cf6050b73e496a5ded00f7dba2be48e74b1d0d3631d7721c75:0F B85a31fa69dfa3dd21b0b8559522b7765bff10c9cff465ee27a5b935a729b6d4a:0F#@6266fce6109c3bf4178978478f7be9a50a4d1c5f8d53e346df952fab66087331: B3ff8395e3aedf32fbe03d395cb3c18a37dc3d350b1e9864fbbc0551e13b200b8:0F#@ca3d081cd7dc478ac2b8747b8320bfb2897486e6a74fd6ce04ff88c06e066a01: Bd42536fefe0bfe045b2b616e4227e9e137218b622aaacaad22aff4e9874cbddf:0F$@4814dbb579e55ecf061aa96a60f6d3d401a3c0766988e30699ff2dd0467b0435: +B355294f497db221e815d7b32c4d2cd42329021bdf9d42a6e1a03eee26bed4493:0FҤ$@280e494af92ab9d0452e6a7b6b15e8e3719ffffc9a3fe965d85aa192aa287ec0: B43e5903551bcd5326bdc486e99af839ef665a084d588ff23e2e4cc13361005d0:0F#@3c8fceaf1f0ec8cdd867aabcfd3c32d50b725ead94e04b9d3ad5a037e38d3024: Bae0f65fd773ebb34db6f97eeb617dcbffdeaa8c027397359e4e28e11667b67a6:0F#@bcbccbd7d5a22cd4562e86d8cadf53fdff36417b59ec2ab15619b330daba3f66: B00fe23dace54fe2f2db398ebed6518d7f84a0b62d194796d8faa40f9cb117a8c:0F#@fa68588579b52b320d9031f56e84f1154f1d2a6b59a96a3a33090505ad9ad1c5: @@ -98836,13 +106240,17 @@ B448c2a2bcb0048254d6680dd47b5f543fda3e17848923db25e55fa9eea1c5b48:0F B032b987471c8a692f55abc8114727e1c9ce000ad66bc47cce43ec792589289ef:0F"@c59c597453c846b64b2f41520cc2ba3399a9cbfe7ba2eea262cfa6842bf13b89: B5c9f6a78d71a17ddf740b40035cc8ec9fbef075ebfaa0efcf02a6963766aa54c:0H#@7555ffcc3eace68ca3ec27e68e1c75c3cc27afcfbfcd8a7c715291f0d5a2ec66: B724a6e1d33570caac1c193a3b7ffb8cdface3674fbe57216d7e7566fb6660834:0F#@e48f9b22aa6ec86582fd4fd2935dc555869f931a8aa6b4d08e72e2ce823ea0cd: +Ba8774a8533cb9a7faaa706fb4f5ca45a591ccd25b6d2881fee42a3343202a23e:0F$@b38809a56886feb2b2656938a0357ccc2f7eebc6a33100ec7a4f3ec9af3edbaa: Ba81df3bf45b3be3fc26bc06dfab563067a09c7ef1b1e4db83e5ef1762a3c2263:0F#@e67cfea9c4bcb2f5e49efa92852d35e910133457047a6337060b3baa2bdd5c22: +Ba8774a8533cb9a7faaa706fb4f5ca45a591ccd25b6d2881fee42a3343202a23e:1FĠ$@ca7f1a4e7f51c6a2e49968fba2467df0733345445ce1a3205745d3a5956d7d50: B07792d090b475723c1e9b0445825ff3d218bdd29c72fa27385f094438eac4343:0F#@7ae1c0aee3258c71408a0176d25858321698b192b15be6b54ff15cb54af416ba: B1e92042485a7a8d05c1e95f787616404c2533388d3b5c1dee8cfc8aab27e3eaf:0F#@de3805520857cbbc48dad28a2fc27722c065894a918b9cca166ea92972c7df6b: B4d93205bcb7f53470bceaf8b462e42814e9f1f94cfb29d2617e228c36fdb801e:0F#@cc22a80246b0f4c2f24cd64dbec6ba5b99549cdca52016aeebb9738526bf7e22: Bab9bf896d835674c5f4c55b0e689abf4eb4b363a37fdb9644f1568152f1ced72:0F"@847897dcba9477210754a265be192bf301f0a45bffc795b72d03da092b5beba7: Bdb69e9cfcd89b8813448ec3c10bdf4e9c55392dfd3684545533799e970ff8088:0F#@cb511dcef0a55468c394867e4eaa9c258ba6a0ea37c2b1987b0b003cca82161e: B5bfb9fd2bcf4d87fab4b4e11d5f64d0251bb86a1b31dba200567ca66d8d8b435:0FȄ$@07e52eed88fd943c4cb8968c9ff0182c2884c80ba3b20dc0c100fffdd71495fc: +B9a7b79dea5850fc87d593227071799e7494bf60eac90f3ca1ada15119e8f5fe7:0F$@2b757f94ac8a20c788939ecf76d7eec5508e4f4efcf5f72aa2b94e824555396b: +B0653e9bd150dbef53fd777e838b798635f84cda34207b9bef0e53da86939cec8:0F$@21b6dcc49f5ca22d09de9d08b3674e49df4382a57eaf8edd9a8f404468b1b90a: B62cee6aee0d4098681ca924251c2013a414abebe40a33e0f4c246aec04a7fff0:0F$@272d5c13c94eddec6df044a1f581629e013547f0801e4f42297692546702c28c: B7afc6d11fd939f9e92fac33635e8b40d8464815114d0bf6ff04e340217db1758:0F$@937908df41bd91448853630af772a554871116847059ac292057865ee0f26366: Bcc93d1c614dff5a599128618f1c761bf568194ce5df5a7e0db0111d9a9125efc:0F#@38f5c0e4d1b4d9ef156a366c05cfbec093b962148202c4886959e3e60b35ca64: @@ -98863,10 +106271,13 @@ B65d6a8c5eafb95a1ca2c8bc54bf70a263a748786000aafa4927f6e4eec1a8734:0F Bf5fdda07ea5b1df046dd216a5a9dc6542140868693f31ce5e131fb9eb987f846:0F#@9c644465435069e765596df10e9827b2bc77af04ba0fd5531cffc1276cdc47c8: B1f5efa938665173700ffeff39397c4f6b2a04401dbb8714c29607529968041be:1F"@208b50319d5fd69a568c2b59d1ae1e6a55819dcf4085eeb7a47f56dc3fd25c56: B0337d94e9c762c9501c9d3fe09fcd23cbaf8f57569ba3e8a01902e056e99bf6d:0F#@e1fd022aa338735d935544be25379ad7633279b3f6e6e795c1a12f07304d8a6f: +B6d18789369098db3374d2a895407039ad22c4010ae82815f1485e9ad10b5624d:0F$@176eed1952bae08c3869c2d731b7a6d909dcf9ca599f7420cdb9be40b3612e08: +B74b4c737b22c5eeea38bf2614ba16bbf599ddfc281d6117e44418448f959301e:0F$@fd9567d9c7d2d0628845fa84cc3b440279dc74678c9976f5c86c70b898fbe23a: B1e83a488b3671f34d420aac0149d28996df23cc52f6fbd555dd2b5c64e308770:1F#@0ad8760d36bd6c661e60fbee97845f50b2f0a6e151050df0cc29d4a1eb5f2b0c: Ba9f30fdbf0b6c35155fad2e8c3d723fb72a5fbd1712dd018ef4bc974e771c06d:0F#@e056902f07f3960acee5adefd229468890095b61bb14a7a8cda8e627e67580d9: Ba0ae062634929ffe67ec0805a2901b93185d181fdfa0744d177afe5a400a2180:0F#@d7b9fb01d048d4df4431efe5300e896645de1c511d369614f7e87b0922e32665: B6c17ffa32c83d9e8f8cbf3d0dafd6814908b5d3ce4a6f63e5733a93b78110a2b:0Fי#@b4242d9ac84c87b0fea6cd0843c545a0bab5f720e1e7d4271ee2d9fd345a0d92: +B21b6dcc49f5ca22d09de9d08b3674e49df4382a57eaf8edd9a8f404468b1b90a:0F$@0575027b18d121b763f345127fa921faf40b58946e2e68598489b121b372142a: Be529b22bffce89f1e8f29e75817d6b8d5c4a8d82107e3ccfb8ab5065d2d8ab6a:0F#@5bb9000fa166a8eb016bae56dd27db633b0f4b6ab146455c239ef2dfd749562e: Be3b305b646e8e19ac3e4fb09283f4d2edada03ffb04d84d29e3e0ac3caf4c2a1:0F#@e539244754aa452e412f3bb4f9e72aa30d193e926272c61c528285c61896cbf8: B58de11d25ae81618139fe07cbd9b2143feb0751628fc869e635afe6f666c0102:0F#@52d7b6596199bd05350e5f2db8ca9aed3d24829903c6b9beb6a8225acbd762ea: @@ -98902,6 +106313,7 @@ Be239a0ad0216bba1d258cb4337b6fc69d06ebf64c04d0e913c1d2ddff0a38aac:0F Bb153071522acf6834383f2cd7fc0054a169f3811bac79a2d91977311765c5b95:0F#@0ef2698c41a04fc220e7f733215255ed4d2c59120512d9755d1eae374e7cf525: B14239234bed176c3a5d66157aa492080df20a1bb3c8fed6597ea1dfccf442c48:0F#@558d9a3e7294f28e998b74fae508a04fa490f211581f183aa3a4ebd8943cdaa2: B2025ae1dec011fe0363e48a7c15d3866e638ca1abdbf37a31b2b00f9c1784db7:0F"@020730f49380f5ef07b749b7931e4e13e5d573c36a0202e81f8946621208d6da: +B21c842e1314307fb9fb6c9151a5626358382f952fff1f6729f0f818cade63b61:0FН$@99a29d5462f275740dc7de595f3de057d5037d0ffaf9d32f4bfc39ab512274b4: B3d54fb9ac383bddcbf57553e13ced0343b2da8515b5338a19d0adee19148ae9e:0F׌$@682762046d31a1d021d557263ef76ee350f813aff38e22bd4fef03a756d6de31: B91e1025ca263e039e6b90f051fc045a64a1d308004c939b66d1102dea58a75fa:0Fړ#@a75332a9688d62d51335f68f6dca2a35f5fe382872bde2abb11bece2aa3199a3: B52c0f2f3293a334616129d8bad56c30cf4c3e7c9f5d6ad3aaeff51df9ec1a958:0F"@dfae4e5b4c1e39a8d5554e4c74d88d4b9a7fe6cfabc3f6450938fb5e3fc95ec9: @@ -98929,9 +106341,12 @@ B38d77ce1cf7d8618beaab1d339a5eac47a1957f9753779cad30f034146c53c00:0F B54535b11f2b0d5a5388a8646749636e0655113be5c2bbcfb86d62fd0ac46d8ff:0F#@a0f13654773ff0f7916a21fff3c242ba9f2c6be617159ff992750d879afcdd38: Bae6f4308a04af058417821a174bcfbc0acb95c23f8d698010e35d2b28d8e4deb:0F߬#@246c7203efaadd5b1cffa364c071d88c2e491953e1832342d0493464bddba141: B940b795fba2255b12c5d77cf79cd2a154d0bfdffd04b22ca5c8747c571d43ebc:0F#@1be0d05ab7808f061e8d52e39373b369de3c7db21d3f7b4611677c4dc67dae98: +B31ea316e31d3d7abadd182d793bb439d5d03a5c1485072c4d8ececd07cd44b73:0F$@0848b0e59646c529664a97d72f88dc93184c2cd2fedebea14dd5a4d008274f81: B151583031f1ea63fe99c0e55b3e4deebd6530268ff0c4a3c2370c3cb53211030:0F#@20233116284df14a6a89d86b55e8f8aec81165310ccdd467a55aca405b74cd44: B56c2c85aa4ee5b27e701a6feed2265402eb9015b3960db3b100646a358f3c004:0H#@1e1b85be843b7d5796cc0a6df2ebbf755db3bb29a35d4d2a8db714b995664c46: B6d995d7deb7a167ea903f4a45fff2801a4179dc5dc9c9108f6462c8783ed761c:0F#@7af59e3c05c26df96646a73289f8deef1f25ad1c907d276f37b180542ebb7760: +Bffe0c461599a8abdd8f29dc71894aedf7c5cd32837cb3cefc0eb34c54011b782:0F$@53ad27a37c6c7b555d0ba4ac483dc764cc9ad10657b2a584b3b7910f3593efec: +B12d8f8d5c3af16c3642ad4ccee28492cc7a9339262929630f8d068ac8e960ef8:0F$@196a45c1dec50fe7ec4257bf9fe7b871d495f7aaaf87c364f870aef6a6e441c0: B683b1ebd34e599f48f7a95c3c9aa9d56a0c479608e5e816d1524609ebc3c73b3:0F#@1b394d537d763d9a4c5cb23f22bd31cd13fde01794b870a25fea99c2bf307bc0: Bf475fd08766358bf335ebe90e487078604a9ac07c08cc6c4448bfd0bc1227a45:0F#@05b2306a71c33017ce5d4c4f3dd5e9f20f55e7c5b8f27d902d1a6f49468958e1: B0fc08fe2b1d7fb33dc77cb3e5c089a749a792fce596e572385eb12e1048780c4:0F#@b9a3c99170e2ae688036c8a1fef1b1f766cb1116bef11acf8c3aaaa88c7b077b: @@ -98967,6 +106382,7 @@ B3eba0901878b43e20d187e2a52165d1d4c7bdb3567a2d190562acf1c3cd81505:0F B097e4367c10208cf7dbb55759642d6974cf4eeb940648331a62dea9ea4c0830b:0F#@5edecb4325e943c194ed513d32c7bc46040be79cd3ebbe9742579e2f289a69f2: B87e8ba82b339fbf2272e6327b3a18c0d10805582bf27007ac4db1cf57912f6bb:0Fۏ#@00826df0b559d1b0ab9ae31d9816ca45689223d2f65c3f78be388fe8c052b5e5: B6debbaeee99c482bd455b08cf4e6b6a52cfeefc5fd5bd858227baf30fb129032:0F#@190a022c74d69f3967cf59a22ac772450aa3447dddf1b9afdde6c0333663f99d: +B901800d015ba2ed140e4b40daa86e246783137b932b6f22bb03bc7f1ecc748a0:0F$@874864ab0ba60f56cf9c4c0aaf5a39e8c980025a6b27620e609d8b92399fc3f2: B8e677170edb4a7d96d63e1e4c8738a5e00293fda619797d511ff39f9ec630309:0F"@bb5f979fd06ee8a55dcd8844f15c17e0e6f7cbe1e9baeb193c34aa7c9fd0d77f: B945fd39661cb1c7b74d7ff5daf378b0d59072e3c97ecd209f628195958990f75:1F#@2af75fba9f043ac8d8e79b02406f325c019fbcadada807efd9f3491fc46deac9: Bdcaffcf712c8a8861c36ae03c2fb423c70517655fbd50abe05670296edc48e32:0F#@96e8bdd6d83511ff96ef099634f625abc081c904fad4fcaed758b83fe89cc681: @@ -99004,21 +106420,26 @@ B4c097774c603fdfdc28cdeb1261c8a12ac71c9287a77f0261cc2fdd96d01c0ba:0F B4380b6f220ab1a72c6309a0bb42558a87d9016f01a717fa6961e9877bf38fbbb:0F#@c86403263030c86b80deaf8a6ba6fc7df942ae9b171b7e24cbd5be534c6aa6fe: B41e822cdd3e7bec48e7104d89affb9e23cd4c00c0ca17beb5447c928c73f427d:0F#@a0a3b8989665f257867493dfab51a358b2b3a096a704c5ae319f7d3132b971ef: B4cf07913c88aaa6cf9ccd453f5133139c23fe5da57026deabd734a5c594c6f19:0F#@d9c85138ec9d6bec8061c5cadc06582d88bee3cc787490c0597c063e3e34da6d: +Bcd3a8f669dfd753216fca3a56fa3b3195f731af0df128976d008a888417012e5:0Fߙ$@f699e56772013236894a87bde088bed65a23ee78bc06be73ee62fea1a57ea7d3: Bc1333895f33b3c78e7ba1fbcb54563fbd8a76e4f5e55df2e47b6303933792261:0Fƾ#@524c338bc9346a78e8d98060728c543f5d3482a89a0601eaa552f530a0c59082: B86fe70cd834d10fef830ba5acb40e0b1c2ccdb60e9168e92ec8c2a8574ea37cb:0F$@4d391da9b3e43a940a35fa632721f20bf6ae9742a04febee06d223c5aed70d86: Be6907bdd7d9999b2218e3a82eecca1fd616c3fb23ca433be3ab3fcf8f9425c6e:0F$@a4a4d62eba891aca97f65829efd1c874e8918a4538ff30794634636f6e5aa670: +B80e0b73f4e9e721b3c876da319f5ce5cd2b48151f06da1c73ecdb40c29f2a14a:0F$@ee6031a17128284947e55296cbbd800e382d9a17c4d7b347913433fbbd2d7bd2: B8d16cd8b4d0ff1d3fd61d8684b6f8fdfe385d68231589b73896ce8480b476cd4:0F#@e65eb259e6bc527681ae39e82a1ca99300cb7bbe47d172af967fb646ebe3d854: B953c2f3acf7a68b0446b0030209b7325d606f706e6112f4dd84e4f37948fb77d:0FȂ#@7e49690013c49dc029983bee00592404627e1322af1c65a704a27224458b3c83: Bbcbccbd7d5a22cd4562e86d8cadf53fdff36417b59ec2ab15619b330daba3f66:0F#@8112239430d85e61117958505717aa7012b7693e94fecc6815b829f28dd8c615: Ba7cf46228064f13fe0e05835fbf5b05f211812f6bedc632a65d1c71a84afd3f8:0F#@1939a1a17f2d4796046fc3480b9907d70d7159aff876760b535c43ec9ac70871: B8f2a527143678a62bf05a3c3fc73e04be21d201b5528f256dfea949332eba113:0F#@c8d7477decde48a4391d5380d6f02a4418ef3dd2c26c73684cb5f56a36c632a9: B3e6c9df4613c5b46990ad2e819a660fe191150d182746e4d9f4b363981ff99f6:0F#@2b13ce02580e40fdc42f8f3382d1b9af042b65078f39a07a95a23d3068c44555: +Bf8b3bb892177152891aa5ad49f9d7ecf92509c95a6a8fc04dad970828436bf1d:1Fɣ$@26a2929b95128e982c41e35eb798c6a8449c6ebdbb42e821b22e8200abab0718: Bb6dffd3eb77c2dba2f67b5fd0c8409cd3a3a89473c21dbae3049a2f95ac7173b:0F#@79a11a6923a48f134b64869364fbc27d9e2e357a7ffaf11fd1e23f0ce1f755c8: B5c9e7560ce651d86dacdb798da419b9de7ebf40c5030401fa35fca3bda06e1db:0F#@6a95c98247d7817f3c0661e9cb6b3c25cf3169cce1f698b496cddb224e61d1a4: B8d2c6a9a4c4309df427f5ba7d5f61bfc593bf3961d610096cb0cf54f2d45b4a9:0F#@c3020b43549ae18874a790ff6b4d4b9861319329c0e77a81441110164df093a5: B6305f32e17bd731168f0fb79bb3869b08cd032b38b868b8cf838377dcebfe1c1:0F"@16e14c8ed098fc34f23302c85602612c90db38ca4b3e6b5cc0685a0a432f7dd1: +B76d14e8fcbcd338ae4ab675260cf7015544326a72e8cb3fbf0562cb6543d668a:0F$@cb24a01dcad6ac2e7f886818f3186542b6716e90a2bf2aab3826a8f9ddac0864: B657f172346ab3c646b5e5471c8186650f3f4a383fd0f2b5c7a903fab7c200dfc:0F#@f475fd08766358bf335ebe90e487078604a9ac07c08cc6c4448bfd0bc1227a45: Be67cfea9c4bcb2f5e49efa92852d35e910133457047a6337060b3baa2bdd5c22:0F#@fd620d574187a993030a56bde0ecf9aae0c136c1bdae08d9c350dbb86d94ea70: +Bddbedba266ef7d9b90ae50c8374b3e650f2a41bcb394c47169427c118837f135:0FӞ$@706da78cc84ff13e235432dee9596770b89da090f7eec1d069f216e057401c8c: B06d30d2efffee2efd021dd25f1efc8c9df9e8a69fd6fcc844780d2a267c23b68:0F#@97c466d408e229209d6ecad47b21b520edcf34c227a3e415bd09de1ef23266d7: Baebbe5bd897a6cb93f9e2da12398422639cba7ba3bdf00faab3ad809cbd22f8f:0Fѯ#@d3f919ef3deadbf1a246999263e6d27bdd63ab40a620695a95537eb03eb20fc2: Ba2a3186cb801cfdf1272268b2a773ef91ce7025cd16ac92adeb2e838e3f14f48:0F#@d3ddd9f05465eae554c4b26671f34fc8c468fb25dc92cd21a9967e1ba5b54f14: @@ -99028,6 +106449,7 @@ B78847545d63b06ba348fdea6b88f339bb283b70de1137c257557af10a26eb6dc:1F B2bc7a468e73a17b4b7469f6a62fbfe82e071a9effbd7e485493a3796c53274df:0Fɽ#@900e524bffa4e8f8641487e8c2f056a37b0319f5046fd1e8d9cfbec177ca0ef9: B6c83050d888a711ce5322220ccd2ec6266ee90da85b2ed2c50a31c72bc8db222:0F#@bcd2d713796588d4bae91fb441fed178183a474d4c40767833e31eeb7d8f766c: B78847545d63b06ba348fdea6b88f339bb283b70de1137c257557af10a26eb6dc:0F#@34a05e2b1e43edf89e54c98a1eaace739780c7b7ce4cda8a9df403e5766465fc: +B1f6d743f27d411db665cddd1b3782c37ce5c4b7b447600261fe3241ce8451be1:0Fâ$@8fb346105318a90b5f4254be73dce0464765fb9309945ad020ce157369136eb0: B9042e116b2109f5988123aaf4d25c18ee69d7c161f019a0a550d1258465032ed:0Fü#@870417c74893824d57765c85322cef3fcd225790456823aecb48fcc55f4016f7: Ba337ce8780b45a6a944b756bcdf11d5c5064479ca5279b60743288e82dc5d79f:0F#@55576048375064fd8f2b1d262b995c5e2bb67bf9b38b611999ccc0df48737ef4: Bd1de2ce24676f5ce2ebb3892931d0ddc8d49173c62c1e7c8073e47274ec4fe3a:0F#@bfaa2a817589922ea87b3c1de2e56d5ec44d040cd77ef9419d08798e75c8df5b: @@ -99038,6 +106460,7 @@ Bcaa557bec7da9360817557aa93d8690647aee24c9a5d0c327d1d6da48d3c6456:0F B187defc72887903b1d90f4e50c5f019314af797703751ed406dbf4aa500cef40:0F#@460d92a9819b269f47022cb731b455200822509a7d6162c2c5da4f7f3cc7a3c0: Bb41960ede463732e6512a0d85ebe3ce21bfc4a55837cc52a239cd26e5ed818f7:0F#@69a11b2cee6ec12bdc69d86344504df3a7bc25a52000bbfec961dd6578234209: Bb9ca6d5ebdd1baaab7cd0f100d9013be382932563e2ecd10bcd8923b13c69df7:0F#@5677824ff6593ba44c87f76d5cc730579849784530f6ac8bd762bf36fbd2e4a4: +Bd977ba6d5986696daf19fa47feaafc1a1379dae484cd56f6fcdfa29a8f69f927:0F$@18f50d0b76c89d14c9f8e51f03c553026f2a68e11d9457ef0b1db71be8d5fc0a: Ba51babb85e1fb13d724c78bab590dc11e136173d1e439b2270f663a52e04a1d1:0F#@46b65d1b9e134d4c30e203f363b5c25986a06e21300e8aae28cc795787ba7da7: Ba5b0009d857efc70c2eb0c6d3be95e8bd8a96f311d40cdca0528cfffc2c8bd14:1F#@53ecb7342d10e287f9e93f28fd47a45dd7c699959a21af29471cf6ba92c31fc0: Ba5b0009d857efc70c2eb0c6d3be95e8bd8a96f311d40cdca0528cfffc2c8bd14:0F#@9327662cd038b0d976851a960e21f2897576b91c36cbcd2ca2e6b4a1bbcb4435: @@ -99051,6 +106474,7 @@ B4556c3efa9fbb936073bbef6f9375fe2e60e697252b29ad6b404a99bf5ec6cdb:1F B51791587c86bfe57f669289db8abd116927e22fd0252759e339d71f6fc5b47a2:0F#@d32fbc06f8255ba0b0be87142ae4b5eb87f797534963f8b244d472d072e88c9c: Bcec8de4047c35f95078109bbe2f0b2e1afac69b13365f917eaa7e56b8c983c48:0F#@9f0c9eb73728e2830a00cd3623e0cbe20b51f33571b87441ff80e349583b6aef: Ba4d65db9b659a1e349dba792c624106a6f6b1245b4d4a20eaf9928976fa4abc3:0F#@bece33304658cc15c94d897bac897212c1c1b5a85303442632ec8c5390601057: +Bd451bdf2c2acad23a1bcc7496021f0a29c24b71891efb2581d8a802ceda1dee0:0F$@ae137924e41fab4a09f004d2d5c9aec257eff9d96b872874e0534351849e512a: B0af55de3b3651e5e433466a91778206d57f235eaf3300f1d4f47c655a54cf6f5:0F#@1135f0a7b11f18401055df3871005db794b6efd96db0c07779ab9c924205e673: B59da1f43bb3f3def501129e2efddd97a4751d5ee644e7a2613a3dcd67e50aa54:0F#@c5d2216e78854259a1f7d5374ff14e2a111a9c26d1f8d3d9308fb13afc1882f3: Bab98eb2515b0c40891f464af4558855e74326b16fd753f3196a99805066a5dfe:0F#@5045aa28680684b7d2aaa159cf1cf4cf9b3046cccf36655d08da26e68431dcbb: @@ -99064,6 +106488,7 @@ Bda7aa5268f2bb254fb48bc95695d5a759012f27d5b6f85a51b60b710a93651ee:0F B21b5d2476326b1a28addd862f3dd9162376aaba23f013c8c1d8b06c2284fd20d:0F#@17bbc28af6eded92e94acff96a2879279c7624284e5ba307f09e8392adec089b: B6bc50ae9ab4a55fa2c1537b0b1f62cc807c59146c63cda8499a3e3fe624ca73c:0Fҷ#@ba8fdec5d63efce8149adf529872724b826f4e016e65411f3353522340a2d7a3: B151ce4c5164b01135f583419c202481ff74376dd6d822edf1678bbe7b8c69d62:0F#@4ebde27cc7dfe9ae554becd4bcd118102c9aaa922f96565bfde2e4b032505a5c: +B44299390c064c180a0a8b67914dfc95509dc8185a58ff7cc68e29dcff642605b:0F$@2616e53bbdf320930bf3ea59c88eed529a18f124dd9c9b00ce7400afd0dc7523: B8dc3e5b91ec430a7f17697d3dfac6a2c0750134242e0f15b5660aa72e98724ce:0F#@bb21ec32c0375556ebbb4427b24761b9249fe0eedda643356bb2d5b7b7c67d2f: Ba3071fb4eda725efec5a619a6bb822e8825f1e5cc0ec99de26b70a3b3bc6d3c5:0F#@a4e6fc26f0c6ac80dc4186a24b710101338e5385ece621f7fcdfdcf02db80828: Bf36b5cecf06b3b8efc500d8408f3d505b09942b7e2fbf9bd643704c750a2db65:0F$@b7c061302a540054156c1fa8d0f37befe4ca6c2ef72536c879f7bb8145e6d96a: @@ -99076,6 +106501,7 @@ B75b08d4bfddf9e6fa257db1a86cde549090af98f76d15097ea968c3d8cbf2d4c:0Fս#@2547a B59b63362948e6dd32fb9451052920e664ad8687fca44c4e6f82d280548fb9e2b:0Fʽ#@e837a77f40ea08306ed344a5aba314e794b6057106673046e07425452e402a23: B70109cd2227adf893741306d0be964979db41759ebde3bdf0d6d07486689138b:0F#@c2dd90f9a787bbfd20085756d3131162ae3a06f5503075164b12770c2c114280: B855e1745de7637d7e28577848a02dd84c09ce9ca675d37b890d0a55937ac1ef4:0F#@ae0233d031cf004f6cf11049b7e19141dc8e08ed8fa0330fda609805acc46fbf: +B0d8fa3abeffa5f7ab63e4da0cf37c38a1afc6830defe44b9c5603ac025853561:0F$@ddd832e8d2ecf2ef26085a457b20d95d50cfa59a440c245537f46ee5390e462c: B5191950bf6d7ba62dd6befefe445dbe5f2e95c8750358f732789d452c13bc124:0F#@d3fa5f53a02faf8ecf194f5a43af06946c5adfe68c529c9bb2d52843ab9b2123: B356fdc0db36cf34455d653ad9d7d0e36a3f2a6334b72347988ff2d4923b3846e:0F#@7bf5234826e54e94aadc2f8b4d07ed2f6438df4aabe59420a093af7595b38b5b: B5b5625995e5e65aa68c3d6c8054bc2f668eb604c736475b3dc5095a2d530d0ba:0FŌ$@f48c20763f9efd4490daee0e1c456a547768deb9bff6c95024173deb1a16b3a6: @@ -99106,6 +106532,7 @@ Bcf5dffcb13113e51b8a8f7fd65cfca4b16f629fe082bc58d4b69b2c2ad00accd:0F؃$@e0a1f B6a93279ec7f2d7d252a1585478885ded430e7c1419d41c48e5f6ddad5a0e42b1:0F#@43f33e8d3d50c7a32f2cb9a0a383633d3ffa0d1a3ee31a4501ae4a42c4b499d5: Ba787aac41e3adc719f2f5a8d1da7bf931f9fb6a3c384e36fdb2f54cd54fbeab0:0H#@0340fe621df9c705d40d07878985938904ba7c6871104e3d4d13bdff06e4bb8c: B2e2c964bb733923c3d0490a6e8f00d740f160f2ac9ae18f3972a03830eb5e48a:0H#@b737aa81a63ff31e9c7ba1aa42f45b84d42434bc1868ee8a3a30ef60c284beca: +B9bb23ade0cbef56ac4d5e16f9e076bbf0122115330f6aac3a7dd2c3a314e7b50:0F$@9900df914e6a18345fe2d8ec07d44291d773c1b341bb25eee4da1adce7591369: B2c2eddbc18a8a98da06ffd67d4929505aa659063fc481890d5d58cd10c61441c:0F$@6980c14c1fca29b575f262362ef344a222950137ba43d21d3ada67cbfc2ae846: B446b1a1ea21c07eb5989b34c8fa09dc1662db447809c71e9a03a25ada6672b7c:0F"@4dfd2f0c6169014d93d60bd6c5f6797504127bfdb260730afd014cf28dbc530c: B925e0f05e6f1cd0047c8a6c4c20f1562b130f5f5dbe73410d81a890e795c19fb:0F#@f491b8af9ee59c4ab57126c3319b32bf0e627707629345c58a26c1398584f623: @@ -99145,28 +106572,34 @@ Bbc93ee8491c5a767f1a8361f214dc2a5299877b9e7c586e9b751838ea69a2aac:0F B36c94bf6d17e7d3f7bec7b4fecc463cc845d85a6a407465e0e7e3f951d674385:0F#@b9fd5ab6f654c649f83d33e1791ebdc1ca8e4185c03df1fe37f154d8b05901c3: B004581234517f3b29368ac10f403cc3c301d0500c8fbaf6a7ef6616434a887f4:0F$@567a46b035c4ebec67e645992591190da0126e346f3f8a50eedd27a86aafd6ca: B06dfff5470f1bf3f5fd1e548b50581ac6971df397707717d39d37f19c3de98d1:0F߸#@42cedf898fecf5d32c65462085796d5caae2b19e7996df9425b2e729ec36f396: +Ba6647e65d6e357fd85fdf92d00ef8d8c4efdb377c556c516fd09a6b18c9391e9:0F$@cbbf90147f4c951abc4af067d5d5583f000b1a2774d5999589db09e153719bf1: B1005dff8c5129af836063208d8f34decd1f0771722f48be47a608e8ad5430c37:0F$@58761178857c20e74f8b733cc69140609a1d1ebff2552f2f6de0a0bde31612a0: Bc4fe38b255cf4c80f173a7fffeb8a985d081f57adaf44d6c9f997b13eeb207b1:0F$@a66789e5b8a2628ac310b42a482d6d7da8644443ffb629b1abc407815f59ba2f: B28d0beaee75220f8f256bc908286856b657ebe27b5382bad2db83f26e7134099:0F#@084f94ae5368f3c9e6b3e70928da74b2773ba9fbfc91a221560c8a3635240d75: Baae5736abd0b0942021e2c6b4b29d47c7061153ac497c950122e8ac5ffe8515b:0F#@ed464e3f220e23f67b4afffef5ff89d156389ee4db2a37e5bad827b0acabd9fe: Ba10902b48e6dda6596959071185be0fcd326393cdd6aa36bc2e6797f6ad3481b:0F#@4348a0d358550b1a7f97cb93b5c2b9db1ee3caabfc6850b23cea2aaf65233022: B03a3f670c719719f4b0755441c97239077d6989cc7ce427054bf5307a562d9d7:0F#@f2058286f4254e93ef9a8fc6bb12640eb4ef60f06085c51d7132617915fbc7e0: +B4c951f303b7e65ec54cb954bb1355e796091b757530419e21f780fca0d1b21e8:0F$@50304f8eea0b16d93339594620bd9713ca3caf49ecb368ac9577fd940d0a52ad: B4a2bcee23e396d87311ea71ae1e184f77a6aae6f11e80f4ac836c0486ac9ff61:0F#@d712e314643447125e1321895091bca00900e9a03295e9a855a5335ae5da0188: Ba719def49f5c8126688ddadbc9cc484e6d44f06242158e979de1c3d3e840ad40:0F#@23be6cfc4fa3af9dc6bcbb7164e77da6f9e928a97c89f4909352dc52901bdbbb: +Bf1e33c8a4f13d20e522495ac7d7ebb2672aadb66517baa287d7e7606e71a6b44:0F$@de7031fcb135a5bc1917a41e808f7ea7b1fbb95463f7522f9b73327cb9c3142a: B506aa023f8cfe62da733aeeef7506ba2e86e5da8a5a09c89c426ba94348c7773:0Fݕ$@6ad065c3b787959f6c5e8fed1eb5a6fa11f094d196daf2e7d2760bc7e703dfd5: B9593e1017395329d58579442b083f9096d24d47b150accd322a1b46e49cdbcad:0F#@def40d878889515f9548cee7ca4614dfdb5d4a8afb8f9a04a88d4a25d0bcf598: B506aa023f8cfe62da733aeeef7506ba2e86e5da8a5a09c89c426ba94348c7773:1F$@b1fcc3fe52def0794a4bafec6cba96ec5418bd23d5e0d3920fb0876c60e658d0: B6be4c53a96f1ebad2ed70d94aafe514a7e3d620f5f4d2bc22c38b9a527f41adf:0F#@aba014249af5334e97df8ae5581704d0946d5ee0d4483713911fb13446b41d9b: Bddcf995f1367d34279a2dc9a0c1d7c6061dc7168a8d8bcade996e06f8d6b6116:1F$@ac23c29fb6ca606ebefac737546e5c7138f47200045209d2da4c9be0b60a97d5: B8886c0e8ebf27bb88e1a52297a4228e1e56f062fe0d7b4af4467d5acdbadf45d:0F#@ff15175586b07ba5845028dec4c5560c207818cc250a488770d82f23c4d1c286: +Bddcf995f1367d34279a2dc9a0c1d7c6061dc7168a8d8bcade996e06f8d6b6116:0F$@c505137d22d69e5d72a218c753139b731b925d74dc9e7fac955a30dfa1dbe51f: Baf7050001e4e5eb7308ea2820862307624ee30ad5bfddc4c6f139e49fd0c03e6:0F#@2554d8bdba28b11ae560f1a8a799071126b4c53260dd0bf81df4402922aaaf2f: B5c53a01c7c921a5cad37697fde82f6ebc41444805509f4151808d2fbbb6c2af9:0F#@75fb7c3b996bd3c0c9a9a5ef97714e69fccb3588d6ec412129bb4780dcf19095: Bb2584b38643b6399c1d867eefc0e34d36d66e2550cd4d6d8e9f5bf06a258f4c4:0Fژ#@587bc7beee9d082d0daa16b22891c1073dd671072ecb7a4eecd489bed2b0ac51: +B91aa770a799e567fa198f2e510d403844cce9ea592073ef1279009f97541b35d:0Fϛ$@d66cfde6e07bc92bc4a81bb77797ba2a6a3c78f0d0507c78e85173edb4b32fc1: Bc5d678268463bab7f32c09c92ffa8d8408ece2c310b7417ce230931e1970c056:0F#@5b61f2d8b855003a8014952bc5a72eb2a747d651fe1216cc4df63571bf0a1d4c: B7770ee50222c7c7b5f6efd931da43e708baf3741df54f4908d9ff963574b36ab:0F#@bf7633700ea91c22e1c410fbf196a68aae8949d5d472b93302e0664a7a235e03: B17883e281ad329ef4635fc8e9aac692354dc66ab1ba8c143ce9214449b6fedba:0F#@e830b5380fcb35cd5b892728ac461bf7fbcbbce7faadb4ac346d03340a08d4ed: Ba5c305d974074c3fceabe5e95e561ad89e7dad0023eb944d152e170173baef7b:0F"@bedcf4480da48f6a91139c8e52b67a4fec3bfdfe55b2878722fd1c14e5fabfec: B0b5795968497d76b8b58abad9bdb2730ac405caab93895a836795bf7dcba939a:0F#@6f3239242db926ecdba7f627ee7b03e3a3a563bb3fa5f83d3923dd01b2f38ffa: +B1684a8045f1b8ee72b290addb4fdd58f8ac8c6657ba222b8598a6825e4e62e8d:0F$@2aec70d6fd7d4ccdcc3079216f3b38e27a32036bc98deb6daad607f33c24161d: B9d3240b2f88a89f22c4d6981333c62eb8238fef30d1ccf53d5c6c399c56d4bd3:0F#@b32d0e1adbc4257e973adca8a94b534c307acf4dedf36a68f58d3151fda2aa80: B9fbf23af8862421f178d521e490d5f0517fd3e8d92349a057da762420aa6dd94:0F#@35744805eb627bf94fb6ed631b35668f8a07a9b2cc3bb036a812b14528eaa4b2: B9e39b74d2fd8f2b7a1bca36365c71f7f16309cb569acfb63ec799efd83144c41:1F$@fa9c95821043f84f1ad0d9305eb5e339e8980705652018c0d0446bfba04d905a: @@ -99174,12 +106607,14 @@ B9e39b74d2fd8f2b7a1bca36365c71f7f16309cb569acfb63ec799efd83144c41:0F Bb9a2731d7e979954e3c208763ebd62b7ba1bfb50a3188fb1fe63c3b690df7f65:0F"@158634edf03c866c4983b725caea1bb6f795da8d401b5431d5b8eb0fb2477aab: Bf2a7573deea984ae22acef84871878b278be9f260ab28f8ea2e538c1aace94e3:0FѸ#@cdc1e9ea655683168a1f7f76d803c175e45fb8663f3ebfd1bc8615512778fbc0: B62341e6af1171bd30ecbd227ef676dd7beaad250d454e255db6f4e13255f00da:0F"@07c4a257bbb37c693b6353e250a31cdca501df33386c886213beac24cf95116d: -Bc6b67ee5be275f5be9af8521ec0a42e863952b6b8ebd91d0842fe5876e0fe0ab:0FД#@3160d958d3380017c5c00703f51259ac3edd9d8304ca40a7f74d639746965454: +Bc6b67ee5be275f5be9af8521ec0a42e863952b6b8ebd91d0842fe5876e0fe0ab:0FД#@3160d958d3380017c5c00703f51259ac3edd9d8304ca40a7f74d639746965454: +B2aec70d6fd7d4ccdcc3079216f3b38e27a32036bc98deb6daad607f33c24161d:0F$@b8c7b66bff4b2e34089189f879b399c7a37254e9501cfcbce56cb99a84178843: Be4ae5651fe69f1923b67d89dbe7441c6453330801710380b92e33b1603abbcfa:0H$@1826faf05455a9e64176d67a1e285d4f1498964f3b01b710c4c5eec7c302ebe5: B10926b8573a2c198a458481e7822f2235ce7530efcb7bc9a2ce95bce21ca0039:0F#@140116816e4e9e0a2fdabe87bede953cadde2935a2fc045d00d9a158a3cca9bc: Be45874a6761805190cf01858a29ada188bfd355ceebad5a57a43a80eed165d52:0F#@b0e0f8a465802d8985a6eae02ad568f6568f4efcaf5fcd1b734ad3aa05b066b6: Bb4bed9f378b339c3107da3efa5441725a142309bd44340d15b995a5a48bfc665:0F#@ed32b2b3b2b318f95889ee725338b9e901e77474dafc468e20d46ded935dfe76: Be7053464ae476abe7764c61af0bdec09da2d5c0711cebcf3eeaf0cab0950e6b7:0F#@44d76edb94d06406ee707cced31b5bfff77713d9219d3fbe718f56bc94d5ba81: +Be7053464ae476abe7764c61af0bdec09da2d5c0711cebcf3eeaf0cab0950e6b7:1F$@a344f7e52701d1d1c5fb8a174e7ce891f974eda6692082afd8e745dc045ab9e8: B605a47f9f3dbec183ef3f42583e40289bad0e07797bcb8dbf579193dc91f47d9:0F#@8256e9813628366df98f0e7481818a2055ade9d78d7c02398c496f9882201a11: B9b611f8c91315b1c5f6a2fa6c8efc8d062bc457645ca3fd8c1739ab2ca825671:1F$@46aea75272a8276e74e80aa91d314bf9fdc5ae9acf0ca0ac48bfd0b24df4620e: Ba6d55acf41af688c4513ac3d35b55d9043457b5003a372d40942b98123ce750c:0F#@761c7301f8eb0506ae87d829f7704d8f72c6594d4fb62bc6dc8f5391ede55fa9: @@ -99193,6 +106628,8 @@ Bba59e3b18411b95aec7b2194c850354b2a52e84cb1a5d8a4cc715882dc4a4428:0F B5ad100d2287ae9a07bd71f548ac02e8d635f641655128875e0756e219cfa6359:0F͑#@bec492c8273f8ea4535f301bac7340fe61c3dd598d0c2fd4e2a604f5f69f0bf5: B78a510a70eac01b536321631866ab85761cea3007d3293bcac4935fc5f1f670a:0F#@7f4f8c07f9e2be7116afcfaeab7afc123c56e9406b436f40a49b8b8be5fc67e1: B3e29c55c00321ce7c754bc8c636156bd8194671c3526a204ef25579d6591e97b:0F#@0d140b07030396670d419cc2297bd96490dfb3a483444c050721b42a8080f0c8: +B9fa403c66bed04e9e3f4e08d779968527d3fbc316a976fabffb67884ca970c01:0F$@3d6e2609d8a3347874d83e738423e9ac653655e2288a6d67df1f54adf3579437: +B7665ca937fb435af93babb7abc6f24af26546d1088c179b88976d4075de20549:0F$@818727490ea37a84183f5e95d816a86996bc0b178befba7cdaa89f328efe8f30: Bbb4fd585f3d1e6caa112981401228d53cdc86fb9037092ef20515a24cf698002:0F#@5440321a36e7995d17af6633cbd89b643fe42b58b88baf9ae021d2c64e342aa8: Beb1d792ea41ee25547a66f898505437fae78071e478cda560afaf3298480c67e:0F#@14ed49c1700aec2fda5c92f6a90809333e5fdc66c0db50e2a373bff02b708055: B7b47d229f417e8d8b65e5b38209cc78ff811c915a25c6031de07ec51c7eac88b:0F#@56beeac21a7942c3c2392d12a57d27c5de2fc387c0a3eccab6d196c94a775ce9: @@ -99202,12 +106639,14 @@ B2dd24a4b7cd56964383d50506872510db29d7d6ddc04458236b10a553f49b169:1H B2dd24a4b7cd56964383d50506872510db29d7d6ddc04458236b10a553f49b169:0F"@a5c715bd92bf51a5cbd8525fd78438fd77d895389c651f0210c95eafe8baefe4: Ba5f6dc5fa8ef3a017d7969ef3052a4eb3ef633748b86db5602ca7cb9e6a19c89:0F#@7f47f9fb26e29ab7cdfd74ec7d115ee8824539fbbe0fead76adbea61b312805f: B0921dde8e3e0eae1b51d937e0f9f659e8904951399b3e9b360b6fa632599bf40:0F#@015af7f4e7f435e076930a32f1046195e91ab24b3673fad4114fdcfeeb98a853: +B5b3a8e378c543ce4b53da2e4a6587645a43e7673358703ba4d59096cfbc805a3:0F$@80e0b73f4e9e721b3c876da319f5ce5cd2b48151f06da1c73ecdb40c29f2a14a: Bf6ec9f62c44a2d842778606f0e63082fb07895f74edd287141ef56dd7b9e3577:0F#@b3d2ad3c30297ac52c1a9ba8acc219362f29c765870451a3ba8b21160b1efd90: Bd88f1e2d7683d90f647b330d30123cc0293e6abb97f569638b68ec48fa1daf02:0F#@33110b683a8158d88178d0251869b928ea36681e8fcbf646d0d3af4950dc95c9: B876598b7d37ca1a460cc4a312cce504eb1d957a97bceb2bfcc34db1fc96f6e2b:0F#@a809c4da68e6e375bb6da697289cd9752b54c882f9b9d60c51741ba2263c9ff8: Bddd029d2eaf3282c7f3a91758da14d70d4793475ba70a9e8af51a244dbb49ad5:0F#@b9f07afa5d1ba01e82f325acd4f92791e06a099d97b84ba2b276e3e445dc781a: B63866b2d7f0a20400873075cde303abe658d13ae2ea0be495ad6a7fd23960d4f:0FȞ#@b4785ecc2f8ddb500f51dd22e8b2f1d1997af2ed934bd54d945c87f4f986cd39: Ba97fd84e8f1302de411d4c7627841331e510ea7d27a631fe6b6fe20711b39fbb:0F#@3b1f3e4330e1866ff37127e4f3e23a522ada26bfd330cceb235ba698b676cdc3: +Bcc7499fddbcfb61b58fa9679d999a09531bf659e203762908f42627832d9c95b:0F$@980752f1373bd48b72132e2aa258f0e796b90b05de9dfd68053ecd806cf06cdf: Ba3a74d3a0a0ea9b6652afd77a8a57be7d65bf1e6f854fbeeec5b12bbccb0d559:0F#@e678dd498145e82b6420eda3e389bb1bf5339b1e85a74c2f71374c067c2f1d40: B7d5dfb3ba6f77bb5d1ee79a24c02e866ae1130874276501312eb9aea18fe37f0:0F"@adb59b62963dda31183461808061202dfdacc1b3eda8e2b71de0d3dd3198cce0: Bd5f167c4e3bb48a7b84d6782e3e35ecb47ed080a76679c6ae043fc6f4da54be1:0F#@6f064f0a9196bd7347f4ad63bdfd27fe63cd1cba507035b72758ae07c211194c: @@ -99226,6 +106665,7 @@ B3e11a9fe4bbc8d871f89927c852c969a84474126aacb37db2bce0b2a1318dc39:0H Bd497459ab4d89a3ef2b0ab2ad7dd5f996ff1206e2e7fe060aaaba58a62426e0e:0F#@13ec8bf9e58f982a1623bd70e238d73b8a383952fdb5e863b90e62f3d0d8ae75: B9c464bf9d7fb2a4f27a9f2d1418b31b8fe466778ce75f780fb741474acdc7c70:0F#@10cb3db5b7a5e836184fb88258a6be3ed496ec0b359c2f954359ec2ca58d21a1: Bd497459ab4d89a3ef2b0ab2ad7dd5f996ff1206e2e7fe060aaaba58a62426e0e:1H#@771f56a33cdd9dbe058cc83da1221c771dab44d9334d55f14b9559408ca21e85: +Be8163d813e56c7a774d17754ee8ad76ced6b8c29fb648df49bcaad4499b43b7b:0F$@cc00af3389948379fe4180f8e83249040336ec2cc81905d8c49bedc03b0cdd84: B3b98464141d64823b3981bd51cbf1e2b4a40abf8f20d9cbfb607819312fed5ec:0F#@6c41433e4520bb5a96e32e565d8e5cf53cc45b8a841209c4d1699dd43b1ad77f: B60e3158b59562a41b64ddc0b5767765f6a1189f9e5d75579ba11b6aee0414dcb:0F΂#@a6d55acf41af688c4513ac3d35b55d9043457b5003a372d40942b98123ce750c: B3e11a9fe4bbc8d871f89927c852c969a84474126aacb37db2bce0b2a1318dc39:1F#@0a78b7541e908c61375b4a82b53523e6086df9f3f37f9bfe8872b6a12ca4e3ac: @@ -99235,6 +106675,7 @@ B2631fd3ed7d8724efa175d3bcd3c165b4bde40f04377dd15cad4f9ee970ec5b4:0F B4536197eeb2328a8144dd6ebdd60b96e467678712a26b3dac4772945e42c0319:0F$@d5733c76010e35fc1574d304b9527196b3742b752db7c1c2ced7c94fb6d3bd56: B6f430c85b4c6efde431eb63b75d28cab71f763d6c5d8177ca027fecf598cfb8d:0F#@ebe8bf4b891b9faa81b0dbf2b1cccb7455a8f0054582c0b91049c5974a0083ec: Ba717e930bba4417e131ea64e70737896ecac767daa150ca6fed473c566479d84:1F"@9ce8cd81406f619cc39cdb1f53a0b1ba8f505f924b884f239b354701c6ffef3c: +Bb8c7b66bff4b2e34089189f879b399c7a37254e9501cfcbce56cb99a84178843:0F$@aa4763a2ef0c9220111f2cf61895271171d453996ec9971adb0731397a15a660: Bc54eb459595e21606842530de5351bcac67f209000eca6f41a9b36c18846a9e7:0F#@e4ea545df5d2e1149bff237c732139985c002669be5c1d927e71476129cdb253: B321f898b6665f01aad7b16919d74f4f37dc3638d2fdd9e94d012d80faa2bffb3:0F#@d16ab46833c2fd2669751d887922871b398a9ee2f5367a96d067da3a518ef428: B9a5fa960ca1d0086e8bef279e45aa51b2bfb7d057a947ff5272202aab0ed6c6d:1F#@7624336bf9c5640c48bd79b633ae37d34503ce3f89bd4b29b1b3685ba90e7ebe: @@ -99255,6 +106696,7 @@ Bb37fa60e427a311d77629fba7b6abb5e61f924514ed1075adf395a9bbbd9f004:0F Bfb9b0082cff113f270f89a7a60c97df5f36dd91f2fdc1338880d148db93584de:0F#@268a7d209e6d284962893e15bea8c0f703849ddf057c1cdc799192c4a1d5f53e: Bc83505b6553fdad1b54d116a163ee1da895443a79c7c3e4fd0f65bc8bc267521:0F؋$@f2249e9849bd4ba4deda8cc6e9cf47aab7645b351a826aa75b4c9c1eb49be87c: Bf32ef17b3ad0b5245e897850ba67c35bfb851fc2548786bec84a0c2d4e45e4a7:0F"@6c99538f0876ad8a9a47f002a7f7bda1843516e4aebcbc7705c5f872b1be1d52: +Be0b604ca43aa9dfe0a37312e6540f481cac5e346d2ede6c710142b75b82ff928:0Fޛ$@aba034357ada91c65027eb8a194992e1e36033a59a9bdde22e33ac219349f49f: B323a06d53fb5e6cd091bc57128910db0e1e03d3e8b332ccb58b78e51963f7420:0F#@19c3bd782c60d90c7f9ae16f7784805bed627b88dff8d71eb96adbaec7a6d52d: B6685880cdd68ab6e71b777cb42f78961add07e3b9fc3a420e811daf88960ba3e:0F#@4a2bcee23e396d87311ea71ae1e184f77a6aae6f11e80f4ac836c0486ac9ff61: Bee2d5f53808401f647f53f0b0941fee5fb79e15ecbc7f14fb8de9f599a9dc0db:0F#@bae56e04249b9dfd6e033611532da62b42787cae17e87ca6501c373f84de4b40: @@ -99268,8 +106710,10 @@ Bf6ed7d3dd1c0a715446cfdca1f4e2df757dab248f2d080f220a6329e61107aab:0F B00b2f5387c8972cc8eb4f5b8bb3df15987004c70c43242da606bb3e59404e058:0F$@5502ece1ef8ba7e629faa959d610c91e3a0134f7afe6e8a809450ac1170ae091: Be93463f954374644ee1e9988a3616547f571213a09a18d1246fab624c74722ef:0F$@c1670aa9add4c932e6babaff9fc811c23296b3cf3ad4cc207830af3084125edc: Bf17d940ee34e44f8a7f4725a33d76a0dd70f93fc6e3b5f62440a2d58c2cdbcf7:0F#@a5f162a4f5ecb526c420425c576e455a1495a92032f063c60869d26da1def2c5: +B3e1bb1823ed20383c5de1d3f31537a4342f896f0bc6c9e177e60b4bd60cb8a25:0F$@8bbcfba8b98222ab4b37010b1be684c9ea8b93060b2db71d2f13f48ed9e54c09: Ba18196ef9ae968e7948c0c7173127109ed7c91af3df82dfcdde91ae547100809:0F#@ded79b1f21e7a68340b169c307b3908513b08980402518afc4679c720485c01d: B6fc83680d43e5d7032429674b9e26a468340ed1580c397da97f24b9fd1f60823:0F#@201e0474c238597fc56b92742879767b88d6f4fe4eb745b7ff14a3d2f4ea549b: +B7f087e09dd93de8db34bd445d134993bb98921f33e3d07aad07c0365d4537761:0F$@a2226d82c350d9989babe3cac24982321031c0549655678d0c342357ef69351a: Bb4236f6fb33568a1038d32b62c4a562b530321851a3d60bb098ca04baf3ddd96:0F$@b373123ae89d58f905ff0aec679ca18cb973c1fb67cb4946ba23990035a684bd: Be9b06b51babe219b54b927f4ba0e104a3ae825b15d5db256f992a283f8a88812:0F#@20d7a62644ccf97e4736804daadc5604e6188f7b458ada4b88cd2ac74618c03a: Bac3891ec4be243d124d0b5c83ee134d7c895bb912ca80542dba80497d351e93f:0F$@821b99f3fd98bf623085154c5b0ff5c08755965058c58c8b4f34f46a794c0c93: @@ -99297,6 +106741,7 @@ Bb31548c039cc50d61e4326091905eb2f25eb843eccb65714140d7a692eb3404b:0F Bf58b9ad37e92e72f0fa4ba57711208041cc7b8d50aa6242409c65934359dd319:0F$@1c03abdca9d24a3563bb3cbe43e9eba05c566593c5969620b2feeb80c156c358: B1e73e87988cd9be73e13ede2cbbb66ccfee9411355030a4ea9812ed9036e3531:0FÁ#@b2e1f838c95124a69d733f7363eb08d72f6f53f1d418e453e63eed5830320880: B8472a9c1e93c3fac449bbe0ed13ff37e9193a06ebe487c30693608ea9ca61d89:1H$@c38007704c95315db0073c05581d726f85144b2d564ef6e51ed3f41ad763cecf: +Bb31548c039cc50d61e4326091905eb2f25eb843eccb65714140d7a692eb3404b:1Fͤ$@731ff908bb65bcb68870676d12ab9dea00e166b703970943df07979f4db475bf: B8472a9c1e93c3fac449bbe0ed13ff37e9193a06ebe487c30693608ea9ca61d89:0Fن$@1af7c28751656706c39b0ced63d7c546cbd03302d1aab5df50e4a19f037cb6fb: Bb2214305e92c5ac176f76f94f629ef4be3a56e2942fe6472cc7d7c18b8b4e81c:0F#@98b68bba93ac51fec66cdd16a2cd0f30e41131a2a861d32da392bf13d7e0d4ea: Bedad0ed2d2e18ab15fba7d842f92cb7b1e5bac10bf8e07526301b9dfb3e2200a:0F$@2c254e9c8e109f5cb367abda76b5a59df774063c2cff04a15bd2e80c84ee228e: @@ -99309,9 +106754,11 @@ B618c47ecdb5c4aaa3d79469e20147ca48615610e2f9308392ec635d3f4eaad73:0F B4c117bb6086b758e0c01dfbcc7d0ee01b41b940ae019a64fc1f2d01b4c27b378:0F#@e9902f4ed1d19a72392e3c617d7e5a3088c9ada1af8fc28ad8449fde84040fbd: B432966c3657867756e3912ce8a487981b4219744cffa08acbb554ed9b3b4670a:0F"@a659c00910c6f9b988ee0ee0360e46c28ed45645c01c98020d06d21f198f1e66: Bbb5fdbacdafdd8a83a6e9246593d3fa18cb3905c78aa71aecd164f28ae2aa9ff:0F"@d8a4fc9cd4d20829e8f29457cdd37d36fb59a2f46cfe679af3dd7342984f3bb9: +B3d6e2609d8a3347874d83e738423e9ac653655e2288a6d67df1f54adf3579437:0FŘ$@354b3c664050a65185f4f65debc797de9f4155e8661ef278ca754d1bfde42f59: Badccf177adc3b861824f98c769d402e95d0662173173cf6d2bcbb332bd03a040:1F$@ddbf4827b8ad6212d23b7a9503a419facf5939efbe75f7a7483312f0ec247588: Badccf177adc3b861824f98c769d402e95d0662173173cf6d2bcbb332bd03a040:0F$@b4753adc784120a1776a443b3b1c0a486496a2dae6958d9ed50d44a97206c423: B3fb42e8b729b223eb4d329690366442c3da7914056015d67a81442997d89057f:0F$@6e6b9a2f1d677ddf350d64338831a42a19863c595d705b171f72d656d5b02daf: +Bd6c5575c8d281e7dc3fcab29d4dcaacb2cfdd47702113fa04426b0371c10ff15:0F$@4471c1180df37983720cd46b49646591d14dd8846871c4b9f08ffef3d58c0901: Be4086dcc398cdea30093dc1aedaccd6f5723b5772212710df72b531b6a79a771:0F#@98b5b80053464b8d635343eefd3e7a801d947fdc0fe1d49758aa0b6f1adef1c0: Ba887436c2947025e5f235d42c17592d306464426eb5fcbcb5a9926db5d3c932e:0F#@1aed6322baff6feaba7d2394b28af99b561a007941e7d43843a1713bdd7bdb62: B21db300176bc944f34e18277c65962c8a594cbbed4edb7f8a886ddcc3e90cf6b:0F#@e9cb75d65e5f23a096fbbc988637246f25604e544f2a3a791faa18e1802b4f82: @@ -99330,7 +106777,8 @@ B9fff7dc0eda135e9993754b4ea57df92ddb82b1e42f78bc6c4473ea18a396ce0:0F B8180f641d7978a593c73d47fa12b844beab7212a657deea7c92f0f1ff734a13d:0F#@c4768984393cb82e6892f0ba91b78012bd0e381b229dcfc6cbcc76f9c416454b: B8498c242be6dff5d4e73ab33ceba14cb8c22c5fa65c501a5ab48ae79818ddb70:0F"@18deae18ef8e8b8e28611dd9d64291a0acc491d3d4d5f7df0cd465a5f27840c4: B1a3086a7249bda41f567bbc6798d923dc7087044d0c39f61d234e39608318a0e:0F$@954e73a54c406a367b2495fcb43400354e7816ba12650f52336ce3e9fd2f27f4: -Bd3a0c937605e7f9d8241be4c33777259cd402ff4d02b13cb6eb10dcb7a7d5cb3:0Fē$@21a545db91ee31b2116f298c0fa5308909448975ea7dd55600a862e1c4ad875f: +Bd3a0c937605e7f9d8241be4c33777259cd402ff4d02b13cb6eb10dcb7a7d5cb3:0Fē$@21a545db91ee31b2116f298c0fa5308909448975ea7dd55600a862e1c4ad875f: +Bd3a0c937605e7f9d8241be4c33777259cd402ff4d02b13cb6eb10dcb7a7d5cb3:2H$@8ee185f5b89e295a526b4b11e90fb8e82645e8ed08d61e1b4b1447e8fc20ca47 : Bbff740aa7bd7f7fac7fb37686e6a42379db2a252a599b3dd5b4b96e6575065df:0F#@2815c8971ec0d62fb412f529e351f9e2f3e7f549a03c1bf7260158ce05c8b4bb: Bfb783730a5307d848a654b63171efdac95d5490ea190094d8c700f00f1f04861:0F#@fe4b2a3dece5b8f17a929ca392358d0276ebf73364550f1481bd3ee66f02b191: Bc9d0b289bc6be55134faff97484f6f3810555c18c6867730765cc957a0eddbc5:0F#@8ad301da9846210fe8c3c1ee7c6f4202f1ea7567f4ff9732f017e075754b47f7: @@ -99338,10 +106786,12 @@ B7482813956a69c7e847e7e6a0b94a6e607600a04334b0b8e29aa3477d5b3f5d5:0F Bb86eedae1db922424f802b30a02f31df118ed65bf608dfe0d39846b9cf9d9e6f:0F#@afc6d21b63931df6c85ea4eb988b6824716feddfc8aedcb1433360b16f2830e5: B765259462999077159d1d9f0d776de3952a3746eadd0158545f383088357696f:0Fδ#@3fd1bbb3d0a1eca9488eda7f6bd598bda8b041b723e64330703077bd3206df0f: B1681c027926b86a1f7af16c2ed980cb895445466792a1f6c82635caa7377825e:0F$@af9ea83d41b139c004f03ee7355257d8d9701fd100e1f1d4b61331f2ab1fad62: +Bbd9fbab1b8904e9793dfc1866e636927f2fa978e6e79a32b1736e1a023cdad64:0F$@60588a786d36b78628228c787aca6e18163be63feadbba7fcd3e678f6f83ad8d: Ba98ca7ec2a84b335329e4b04baace502e45492d4c074cc5731cc64747c5c2acb:0F#@0f1d024e26bc7a099aed9dba7268561ddec013b933c8964ac807dba06f9b4fcb: Ba8ab145d485289b362f1eea261f2863dc5456c41b1fc3ce3ac27882ee3123bd3:0F$@1196a0cb05be917e75889644bdee7d2b6d123372e2ab200d06510f154da6ae98: B656e92d9aa1d8c0173847ed34e68851482a9f6298787109ef5796d35427d7ebe:0F"@08858cbfed3a795547b93b06fb0245b77070127d65cb0afcacd898e0239553c9: B6ef88974c85c4d56b7c5873d48061abf5efaaf4b3075f146a99c12733d76cf2e:0F#@8f07de5c6839a028cc3432e69410bd75b8ebb2131c6eb1eeadcb03e6bc5d5b38: +B8af4618e5ffc9afeb30e60ada4c52c98db666b9f7dadbfdc6c0561097477668e:0F$@df2b499589707081d290fbb2c894f91e60eb360f9ec3be71c3252bee7e85f07a: B967eb433bc4e2b796dc94fbf52a618a4f8555fea677395afe0fd9847fed7a56c:0F#@83b7908eb3e11c80f9a728fed226182c677a9d2927d3b06f2adbbdcc383bf7e8: Bf0d8a50a9a28555f4da82361a7eb7aa4bb364f61b336753d5b6d50a3d3df388f:0F#@1c0089ad3709577545f00c8b33337ce3b55f0b20c1f62883d0626ede736b6d40: B2e0d7aede244f4b30cf2e88d97f4a3bd2017f6ce47223b8ca65b67bca0c3bd6e:0F#@64b017c1b7af2c320cc8f8fc234b1e923902ad6feed4cb6824d3940f0aaeb431: @@ -99357,6 +106807,7 @@ B272d5c13c94eddec6df044a1f581629e013547f0801e4f42297692546702c28c:0FԈ$@fc861 Be88cb4e74bc1c58fc761863c4b76a5039dc5ddaf0b25969b07de04d8b7e2bc45:0F#@2dab98c3940ccfe440957d2b46dc405f41b7a50c89728a89293267c46c95efec: B472f455f86004b9aa94cf783bdcc8ffb7b2efca082398203e30905d25de4e1b0:0F#@4a074601f1a892070a724f0348d5e28698b7a77bacdaed78bfe6823fcbb9c5d3: B090ae77f9cc59a81d62b15377719542cadbe53eb791b063b1c19fde831d4a452:0F#@756baedf5c4d4955e6823804b94933045a836ca0352e58e93646f4476d78472e: +Bf1b1838780acb63e8946c83a9a10c60c112bd5dce2593823c98530cc572901cf:0F$@29ae3fdbc1c9d5f75f31735ba26cf30486eca4eecf63525a39ddbf68cdda751b: Be9902f4ed1d19a72392e3c617d7e5a3088c9ada1af8fc28ad8449fde84040fbd:0F#@c106b5b2e1009e8e36e0c855dacfb6e34440584ebbf2179119b014b34398a506: B9ce870f7727d1bc3435bd4fc8e40faba09ad9639e9283ed9efa597d5403314cb:0F$@1577bcc10432bebf5dba30f1711c780ae196bfe0036e45d4a2c6e4116666ecb3: B2d8f68b2b08c9a5a51dc8c534ea044b951761c433944ec21b863022a2a9f50e5:0F#@c1109ebeb4bbd26397b1f1dd445207d7c89cf887b4ae1ed3c3e89745d902537c: @@ -99372,17 +106823,21 @@ B2c254e9c8e109f5cb367abda76b5a59df774063c2cff04a15bd2e80c84ee228e:0Fώ$@7b1a0 Bba2843541a3b029f544185eed8d6dfd8823adc450160d9c61c4842f39782d1f1:0Fݕ$@b674c0dd27dd10d7ca29debe67adc18821a68d6609d465af965845348bb17f5d: Beda30f013e513746d1c210294dcda2f732a9b8d842644eede84a61be7bf6c7b5:0F"@188d6edae5af57fe39d8267b278262eb5204ec3d06ce664bd81b4086c94aad2d: B3fcebfe0e0a5f300b6d3c7ff5ae9fe4ae497b787cc3d1f9fb7de301106a9351a:0F#@3750d4e21d8881e6ab71c781eca9bb2ae565f4c8f33e5ab300fe4c49779468be: +B78c44cbe5817842d4aaba89323a795f3d02e824e557a9b0ab32a13c0fc0251b5:0F$@688cd075ee9041aeef267d4c33e2546c9a1df64ed8e17116c9cdc00aabde5ff8: Bf76f148331f2c950919cd3ab0060f6cef938e512c586d81329ab0a6f50b18461:0F#@00b74ae66561530717d5bdaf0d45aaa13685c05a133578e72e29224149c5fd46: B347aec5c72c78366668155d424b76edb12276d3cb2f8713b6de37aae937647ff:0F#@492e7c639529c14a08dca093c61fd5a7e53adeb9da031bc74f283b314c3a7672: Bed64e1d7f39a3ded8fbfae2fbd093aee996b98cb8ac508471941a395c46d0f7a:0F#@b12f5f7052a71439f9d81958c0db991bdc06724fa6e730e7cd4982730be09d23: B98545a5a4f5d33903f9ec111b199a868c2c4feccd3981265c647c20076beb4a0:0F#@d8e9c40d14b90cfd3d7c1a027c0aceceb7efb408ff9977b836a20cdbb7a0ec91: Bd8eeef4d01351dd18da0fc12a7ca3daee7bd11968ad6c620f08e556932663c1b:1F"@6702f81792220ec359d7bef0bf54ad3a0cdd5feb25766bf8ec6ef37c95eec97b: +B32dd74482971a6e1b27cb7e7351b13b75229391595f96a1bff0d72807e10b429:0F$@c4e0d86c6067a71a16759812f60ba5d56c4b95d5ef0d7811c30fd4c94ab91ea9: Bb82e13f0c4231657d99f18cfc4c255a81b775c23be3a76400c492752a70b0104:0F"@b6993a3e59174c11bbdb68cbf114aead03343c0cab40a8cb2dec1b2f964f0528: B5d38cdca1ce1b0ad7e4d7174f1eb956d6d73c2ad56683ecf90337be2be3a8246:0F$@f1603d84bb81ce8c8facc95d04703acc3af6ae12aeb0a259de0e73ff2052d14d: Bbb21ec32c0375556ebbb4427b24761b9249fe0eedda643356bb2d5b7b7c67d2f:0F#@605a47f9f3dbec183ef3f42583e40289bad0e07797bcb8dbf579193dc91f47d9: +Bdc9e4a7fc4a6351a77644335db3b77c14789dadc6b148452f0c43cbe2b12209c:0F$@f823e0021bfd4a3b56d84f3af2255b9fdd0c34700d3c357fa29e7b78a3aca464: B05b79e8a8fa3c7d9f26b812a75d42e0fc28bddcb73786c23d65197bd1c639618:0F#@9f4be6d8d6f6a8e1e5531638be2152ff976a25cbee62f317fc1de318e0086232: Bd8eeef4d01351dd18da0fc12a7ca3daee7bd11968ad6c620f08e556932663c1b:0F"@f8e28cd6e040b1432b867f62f26a62f9c61d77a5bef7fe634c803df250b99137: -B1468a0bb9c4e3d6e72557b2890c940b33fb89ce6638768d3005eb865a6cbd1b1:0F#@518f44ead1b41011b5999db240546132503f2a600a7eb778d1c9a70eaead2f88: +B1468a0bb9c4e3d6e72557b2890c940b33fb89ce6638768d3005eb865a6cbd1b1:0F#@518f44ead1b41011b5999db240546132503f2a600a7eb778d1c9a70eaead2f88: +Bb0d9828d435f0c43bf5cdead83ad7d7f05db6161ee77ce681ac8097e381e4406:0F$@c52841c220768a9ebf49ad7fc7b3ee429088af5de6a31ee33232db14d2d4a261: B6991ec95677726dcdd08fc19cc1e8c6cf764da5a61e4ca14471d2d3bbb87f7b4:0H#@edd7927329666a7153d182d990bdb5e621eaefc0fb7dc336f74b33bde88ff5f5: B02057382be3a8cd31f47447e0a86f7429cb997e382a7fdaf651eadba360d9dca:0F#@54e6da06a154754dec72389df02ba1e13a400cac63357186df39543657d4c610: B63b349837a3bd645e64dc49ebe259c249eb301797caaeb63ec074ab223600548:1F#@8a88ba12f8434951990f50b627e680122ec95d06265e3b4e750892a70b2179aa: @@ -99413,9 +106868,11 @@ B56ff31c65a56e71395bf9c2f33676bbcb423ff6a7a9046337a9717f026670048:0F Bd714086ac64a9d8581839fccb4845679671259b0047b3b37334fac58e3c67ea7:0F$@1f5394c216a0ae241021e3b22eca82a230141ccbe903faa71429a8df1d77bb6f: B56ff31c65a56e71395bf9c2f33676bbcb423ff6a7a9046337a9717f026670048:1H#@3faa5de19d7fcf054021a90404f86c7a3b410e765d742e9ced5c6b36c38c5a45: B05d14d6c5c0006ffa5d889d86e4892b3a30afcfe5c052e1c62e60a88639a3a8d:0F#@812d81763d1261017dfa9c86576a70ec62e2ab4651a8c7e666b82964ebc1fc0e: +B5bd85f37fbde7f3bc3d6626dd55a864fcd085ad66984bdc4491eb24f6a9652fc:0F٣$@a7f7384f1aaf4982b61f6f203dbfe1031007ad73d9ca27c49893178c84f4de2c: B99c70017df0afa6e4a02fec785f09aef65244482e443c5f035d4c95a7be0a3ed:0F#@21dddcf6d4025e501ffd5ba3b744eb04fdfbd581c656253b2ea513c0718c19a8: B9a1a8a8f35f41cdfff15567851286990cef402dadb22be090de76b8668c3152d:0F#@5aad81de6bc891982e7e75db91f925ee66ac809b0e8f9125f3a2833fe5f01342: Baa030ad0a95d21f3fb6c168bf9cfb3a4a80c28cc40e95004ff138e0049efeb9c:0F$@e93d5839e6fc4a83fa14e5a3a7918aefc57893ffc9a7b395ab0960cade20cacb: +Baafc70893ac3d0d482ab19223a3d93dc25254470b83e729c8a95777a25a5e20f:0FÝ$@bea919af1fffce5da79b723483d08cc94aaa2201c5676f9b1ac86ba9aab01e11: B1363f08fac13da96754f3d8f749cc8dc5261d199d2f8973abef70c34b4cdeea9:0F#@5bee4476289f71e10f6a5232b8dffed940d4242fc71a8812cb8def7e85465c73: B0b414e21a941208aaef69da8c5f1026f1100e3d4b3b29d04e1732d0b77251dc5:0F#@fd76d463560a9811139de0f3ccbb4e4762d55c167143604b8afcbe17e966ef9a: B8da96178368d0ce76333393b57d74df76cc828f7f52fa9bbc0334a6329409e8f:0F#@ea87b5623252c32807b5e9389b516590c17df67f85f380bc60056e3ed4a71c45: @@ -99438,9 +106895,11 @@ B5d80303434b7f19e5afd85dcf66517881a3818e5006e15798ef6c048a35934a0:0FȌ$@13ab2 B7e4d725f9262bef6279d5e8495a7b9639df2b14821d06123e43a5f2bc8f689b5:0F#@92db42468d8acf7dc215bcc5a5a9f3306fe4a4090c7bcc410894023f93092888: B5435054f8292dab3fde9055115b2db694fc655548499669d44470b11394b9550:1Fݕ$@8a94c51a375138a6c3ed396db90c1779abd0030477e66124b7298bf9a1fa0c52: B5435054f8292dab3fde9055115b2db694fc655548499669d44470b11394b9550:0F$@58494c324a32a678c977e84e41e998342658f10ac49b07245b669369f66b46de: +Ba7f7384f1aaf4982b61f6f203dbfe1031007ad73d9ca27c49893178c84f4de2c:0F$@656ca2cf92fddc7993e05b4724cd08150d7752977fa98c701ae528cad1f54bbe: Bcf11d79652aea278fe8aee12a4bd0d1556abdb22cc49c63c9bd1550dba6fc051:0F#@f89fa37ca6e55a2cf00d0e3ad3e410b7db98bec0d3ae502c300ce051f7e7bf53: Bdab87b8be973e971737b59596a5156b74fdc16508ca34ae04e980689011232af:0Fܚ#@fbdc48352ade22b53d22855e071a3b8a80cd43fb20464f542ce778c746fd6668: -B93d31dc93c19e4157c5ff75936b62c50eebc716023d92d286a17f41105b0be67:0F#@c0044756145c771f821f4b51b78e84583d208bf8790f113648eaf6548f64cc50: +B93d31dc93c19e4157c5ff75936b62c50eebc716023d92d286a17f41105b0be67:0F#@c0044756145c771f821f4b51b78e84583d208bf8790f113648eaf6548f64cc50: +B982105b6d6c323a33c41af8cb7c1d110d2af1c3e0eb8ce1fbe9a26afc5a0a8ea:0F$@ccd0ac951367b18306cab55dbe84a4cfe686f3d5cc086bec105a9ca3ec880c1d: B6c98c6e319a5790f898b6262cb868bf2a0112ce872afa69b1c263242898a08fa:0H#@985ad67b2bdf7e5b7cc8d06e737a9ebbaa9b038a2208d9f56d50501467221869: B806be2d804f7643b98c57b5afd129f51c790209362c3c726b0f7b49d01320b5e:0F#@0a48b69ae3c2850fae91577eedbd3257486df0dc9aebece43291c8d7fb077d9c: Bccaf8e29b532998096e056597458bfd2588a574f909f98134acd7111355e5e0c:0F#@56db78ce4951357cdc6b7424d8299dc2ec4208985fbf38c2b76eeca973dc1aa1: @@ -99482,6 +106941,7 @@ B6f0457136251a198cca38c7e15c49ca10fb4402b95953422fade688d9940b21f:0F B6a21b4679707ef0347189676b3e584a8e11bc3f717a089e142bcae0a05e0fead:0F#@9061baa501395a04138fb930b285f8df2303f77fb55d95feb077fa627a77f625: Baf190f936f3f51757d17a1c07d4bcaefd7cc4d55f71bd98165b31666b9e3a5e0:0FΤ#@2b3bf2cdf9319b3e2ab6d616328b6a73cb3614e2f5c046e3a50482f60c38ed20: B677e687d9d47e6ad6c31b8365cb0f5c507892e23e715bf054773ff96a6edbdf7:0F#@a8005ff1b588ee6fe161c408080d2bcffc6afef5d13627f78f20fae777ba108e: +B5964caeb4326279c571dd238039e701184afceed096a775869e31c3f99883474:0F$@4aac9d36e662bf09c9bf78769b06fc2861f25d6b8b376db9d546e6b52b786e17: Be50fcef786c4493747c824c0389ced131f93b6805d09aa523de81a6fd02586fb:0F#@ae72fe733bbd61bcab3c20ce26889234fa7f55c4b6ce8c48adef621590095d7c: Be598e374d3f3fedc380af6c6a243e391eff7f59e9d955f2156642a3b06657b9b:0F#@058784da6a7f28ba89f4cf23fe1f44eb1772cd83557a0623f59afa635c7bfe5e: Bff932e435ec032a655aa1edae9dc19654efd5a6dbe943e7aa161154f8b719ecc:0F#@2ac701baf00c103fd093d6b9ca3f403bc8f9471e195f7d77cd0998744b665985: @@ -99500,8 +106960,10 @@ B15e2778621dbe943108ba36d0a023fd3224c588a70a8afa68e4cdbc417ca37ee:0F Badf21f465472ecfdbbe39196e1a4436302b1662187cbbb020c46bd6c8afbd714:0F#@1dba109250cebcae605f13a73422f90d87f64bfd6476bfb948f3c5e8207776e4: Bc8a2f3c69aafacf75c29bc8ddba401a66ba04c3a6281648039de53687b4ac7a2:0F$@f59936362621e7a27ee6a06f3a71ffa2162bd158b74ceea69abdbedc9081fab1: B3a88aeaed17785a98315340357584e8f6f8eb5ec32a0c0974a146b515077803b:0F#@e15fd92d0e25ceb2652faca9bbe70c113d6171ea3ab59d7b46b9f2b3329a5cb9: +B99d81c186714f21960e1f5c1469f73b4da868729c7cb3ab2f96f9f686d64f529:0F$@7495400fb294b756135f1851dc9ca61cd828b2ac384d2d22e082ea3a327834ff: Be4b93da6c2472ed9d97341c92849b3d01668c4083ded66d095af0744e650dd7c:0F#@3da70a2e9a855795ccfa2183e347b9861543eec9b00a51344bc5d6e275e043fc: B9bba829ab311809f9f07d5ed3087cb222c901dfa039906226fe9d093083424d4:0F#@d80d83bb17f3a1311e6a92c5df7bd52af1dc9c5a7f77908640959480f22f2edd: +B1fdbaadf798bfa8643c151de5270a9713aa9a4f5a858842761fa872a3459472d:0Fߠ$@30c2fa95e9c14bf72a2455995946cec7d16d66ab743cf6caf5c7ed55c76e8896: Bc30ea5adb5f1186287e07920e26785f4a58428844cb43ff21a54d91d0cfd126c:0F$@ec0d7742864c2e9564f25838777bea11e239247bfe7d12bc0d4ff1936f16ed00: B2ae875e5431d189582a94ddbdbfa784908e112516ef452cd3fabd3587956a1f7:0F$@fa2685e850eb9578891091277201ef37e0ec986885c9e0ef24b775e3f75d6e81: B79b8c3ec6c8998aefa79f25e6874dcffbfa569dfaaceb6952434f61b2d237806:0F#@a5f1a58511393f8a35dc25b664dc5c0e3833ffe3b0cf4669f58ee0b837727f9d: @@ -99517,9 +106979,12 @@ B3ce3800e53997f4c731390eaebcfaeb21499bdf858b5435e89071c526812ae8e:0F B3c84cf8eb93d41df019af4ed5442b87bad81688229ea1bf93d4c49dc4a062971:0F#@3eb39519f27af90b1ff25a8fa998a69af607687c4759d23eb12b296ffb01c1d7: B75eddf263d9a184cda739c70579ac28a9c38b95e7c9a9ff2fbfbdbb823f8fc3a:0F#@057d1e12ba3f033734ea375abb31e4ebe6723aebb11fbc5d03973b238ff15d4a: B0e9019e69472c1ce2f3b181b1c9f6c7d8f7562c48bab2c56bfcf58405e012fe0:0F#@030d0224b85a06ed3db34eb118625b2072da99050ad28fa8df2f04be2ff76b70: +B12bb1b53e746d41ee3a10ca33883ee4f3cee92a53ace97d5c29b6eda3cf54da1:0F$@c85ab331f98575975efb955e7f2771cd10cc3185038df433426599a9bd65e618: +B3c2ed645b599e23ccde32ca6aec6e6d99b03ae736d3483ab217b18c037a28d3b:0F$@e8163d813e56c7a774d17754ee8ad76ced6b8c29fb648df49bcaad4499b43b7b: Bc05dd777f616467ca9fffc48e00dfde286ece76f6799954ae309c749f5d27fd3:0F#@f48be376b98371628e227b942900e1b5e24fbeb4f33dc6b9609ae655d57ef822: B4f196b2980b691a74a582d8f79646fffe5ff00da2d83d0902b4610f122582fa3:0F$@664636ad1a32f1adce54571d2155b4f2ffe7797113efb4f5e517710877f5ea3f: B07879d15dc2c0dcdbab2b684ff4ade056161c0e0d490b7e4335ff9023516a7c0:0F$@c4f58217b42f9fda82ec83e1712c11bfb7abd6c9e8b559ec94a985e870cba7a7: +B39b3491cfb88de3daec290686f56e4f11c5c715251650e76531875339fbf9795:1FѠ$@966c322dc6b4242d221759f49716cae654f7a8d5c00f76313616ad7916a89440: B1e2cd736d2f28f8828436b273d5f160320e4d287945608d94cf30724318b9650:0F#@97e2be6f861513da8da917ef79c961a5b53604f591f2a47b3ff64634b84d60a5: Bc96bf0ad15c41662a398fa5da82ea468ebb400f78c79381eebed992e3d37ace2:0F#@e75fe54ec1971646c0a58d77b459fffdb3e9dcb7ee9b14777014e0ef6f69b341: B39b3491cfb88de3daec290686f56e4f11c5c715251650e76531875339fbf9795:0F$@60223f991aa17f530b995e30e534a325054e45445ac90c272f8dba63a1a3c31c: @@ -99527,7 +106992,9 @@ B0c21070ee7c56470fde064742b2204d0e636817573f468db00acfd4144a77d6f:0H B0c21070ee7c56470fde064742b2204d0e636817573f468db00acfd4144a77d6f:1F#@6efd62b68a972ef1a0f8d89de71523fc7b3ae380d9aa32ca5effcb40bc6b127f: B31750b0c177de9c25d9b8afb1e5274eb647c60edd6f65f0f2f4c5ff21ab50796:0F#@9fc9c3bffc6c77b73ae45700ee78b71b97aa28030e0106f20fa3b4b758429463: Bd43e8ee08ab78341312f6a38b03900b35b51df0d47303284be4b549b71f512af:0F׉#@2099e6993b1e3e3aa323dd8d71295cbcfa035530f46d34180def66194e6a45cb: +Bde7031fcb135a5bc1917a41e808f7ea7b1fbb95463f7522f9b73327cb9c3142a:0F$@9b7526364c5b6e54cee111c526e7d301b7c66e703a0024d10dc20b11c8cf9b60: Bddea402b7fc92d079e6dba02b31533173f6d2111db74d6634efe97608d806003:0F$@f61f8bbb928daf7757686ac769f6b1f4f1c2adf2576a5e962ef2f2e137cfe127: +Bde7031fcb135a5bc1917a41e808f7ea7b1fbb95463f7522f9b73327cb9c3142a:1F$@b8f0716bc848e2a9607e3ff9aba0d829801c69d406be806a71da6ecc82482d53: B1f80cf10633f16506add9b473a9ad88681fc10cbb66f1bfc3252250c66bc974d:0F$@fc48d8b4e73b267aaf951e1eaf7cd71c9a0b54369801fab2498e4af9e62089a7: Bf01eb22f76746d1cf0f897b31e5ded503e92e603b556e4fe28dcad9d8e62663a:0F"@5bd81e9647bb3f27e162cb60da97f2862c3045785adf6161a26750343650dac2: B560f4b033dfbcf0f4f8aeddf36cde8b3d875ce306987511147c9a416f642a626:0F$@2ff5c08a28ac83ebc193a6ebdd24fb256661648d3b64ea3ae660a77147c95f52: @@ -99536,6 +107003,7 @@ Bb3e782936f5cfa84aba9c114c1c3c897e7933cfa80969c8455a3b4a3638b9c78:0F B22b0ca58afc50dc7890957d5585e40dd835633915402d83b833168bf9eacaff3:0F#@6e324c559d3f3a11301aacb3678e5aed9cc6866e2513646987cf8c3dc467863a: Bfcf13e65380b4eea258f93fa0b6ff5486b5438fa589a7d78a782d18715797d7f:0F#@4d06e72bc2a5eb3c1ed67e3fef524125ed62f010dfeac996f577fe8de6427ffc: B0bd8d47697167ee5329ebb0f35ab7147fc5064aa4695d0eb7ef8753ce6140870:0F#@58e215cd81d075036b1ab76ee2480ec7e8db563a7a8de278c8fa53f6e534473d: +B3f42b02ff3e3bc3c2763d4cdb25f43f8274f58570d25fd39ad36f0098550f8aa:0F̡$@4d8d2e4896b1733f6b0399f2ce13446cc30c392641e32dc67ba83ce0efd6bd59: B76f8f7f327f5c0ef9145bd3e8bb433474659d7580377fcb1e1117e2375081d24:0Fϧ#@c43bcb748841f8436e7e67d8cec4507f59240b05cedd57b3d6fc9bef4b155ce8: B8c62a4d4b591d8ff2d55ae0273227d8b1ae208219ea3321099ba125e04ce4703:0F#@ffa641a010c657e065d0584fa64cd7ae78ef199159cb0fec47ac1941586af5f7: B3f5e0074515dca367802bbbd571c33e107aa895ce8f1c6445bd443de90ff37d1:0F#@806290b4827f3de7bbdf822ee763b731d01ea1fb9c340311ec15490256cce974: @@ -99546,6 +107014,7 @@ Bb5baadf49a401c4e00795b1a3cfefd4af49dd2020b22e075dbf80e42792b52e3:0F B8119a898034f6bfb5e6499b2f378b5935f5651eab85d7e9e7dc820372944d0a3:0F#@106f598588d547e770ceb8a5f259d38f3f34c41118507df9df7b738792e675b0: B8b0427cc2ded88a2b32eab07d242790b268c09ebf4d081023dc672cefc503559:0F#@2e2ddd0d9f3aba002f1de507ae299ef81d19c3194767c0453c8e84c2450abde1: B022434e542d660a4cf42ecc2241149789728f43e9e22600f2c8fc5aabb36c74a:0F#@b625a90c0002c763754b5ea6ef365750bc61fe1629d2cafc9e45982c98ffcf49: +B6513b40b2185c6b8f4ae6de5285b8441616a06e5d92cd6337321edd234df9d29:0F$@61e237d4a478871cae7062dfc5512e3a87e110be6bfc4f333b1e3f314c7e2db0: Bae093b67d02cf42442151e1c829434c54b78db59f5e693fda499d0555c292eab:1F#@520c0d77a9e75e9def56d70c3f4654e4d0c88d6f8e4d38c21c10e4980c1e97ca: Bae093b67d02cf42442151e1c829434c54b78db59f5e693fda499d0555c292eab:0F#@a44332e75389ccbec88353df34e896a1db8f385f3e8d961fc98e0c35832956ed: B66a5426b82e84172cca1cefa99222abe28f648822ff3a067fcad82d22d6f3d1b:0F#@168690cca51c6bbfa5fd8652da02df190183ed4b47fa479fb514062923366822: @@ -99564,14 +107033,17 @@ B977f2a4c668d231a9bdfb0526b17cc15269264889056cf3915c9b54be83a1a20:0F B97f848a22082416957e79e7c73d695b14f4bcb394be10fb0d39abeac25168eb8:0F#@92d0e17d8c86c7a4414e6c682514313be66a6d0392cd43cb8b5339d00d31c27b: Bb2e42b6868099c89cd0f2254790f5211a4de37b6f74c56eab0d741533ebf1cb4:0F#@b737aa81a63ff31e9c7ba1aa42f45b84d42434bc1868ee8a3a30ef60c284beca: Bb370390ed92de0ae1472467259d12f989c5bf3894a7536c5dc0bfe0645fc5c61:0F#@c1e43a3010af4518468db39a9211515abe36fb05ad05f8a338687ad9ae29c63f: +B7473814fcaa91800823bb2f4b1629901f476d1783a338aa8826cf8a8bc6d18cb:0F$@430396266b1735256e173a7d4e21cf4257fed37826bc1ae77897b5f688c02cc4: B899798fd1baf450ef191fa0c2ed4120cdb8fd3a0ad0ca5b0f504e592a98c1a35:0F#@8c784761b112e4a5ac83ff3f28a96d5ef93af0ca3a8724fdc119e8cf558f9819: Bc2aef76749ef1c7736e20eb67bc969f2376b3bbcd1eff923bb905495ef9644a1:0F#@4c698100db267484ec608c87e383604b8f3fa91e3585b7804d02ab7a6baa6451: +Bde10b0fda3eddd42efd473db03189a8c3f4d4674924adad24b5317a9642b9753:0F$@0e788adfbc6d7cb5127feb4aed590d350c00d038b53c8bfb8fba5301135e2d01: Ba166e2c7312fee24fd24a0c1a960b59b8371971ff573aa142b33305a39e68036:0F#@06e3a10033db2dae0352da2b2f7b5d36d1f19d582fa20a68f16bfce582d201ff: Bd679f538f8ccd7d273e6ce829390ba45d42099b7a896cc1d5673bed789056f25:0F#@ee52ab8a50574646438237c66f8898cf913866dc30bb4cd6605084c6997ac9ef: B64215995a50e441cbc627cb4cc56389bdbd0ec20f8d6ae76ba13d60617933aa2:0H#@788189a5822bd718155fdc972abbcd2cd3e30568476501f489527657e8e1f798: Bad8983774251573a115be47212b32bf8d4064928f7cd29e182ebd9e900654ae1:0F#@d0eabf1441195486c25ac53734c24d05958cc86c3ae31ef7ca9ea6d5a2591257: B5c9bec0dc40538cd0393e77319a33501c5626302754b8388f141063c61eb0431:0F#@557becd3d5138d957467d6d9f5077a3f51fa9ccdb8ac572073b75954515bc59e: Be2e213d56e9fae7d8d78d12092c85c0bdc78c6ca4d504b289389e1eaa77be88c:0F$@a1d90cfd88f1b32413a63fee413052fc4519b2c519e04be3873dee1e90fb5156: +Bfbe30614a9de8b8a8a69616780de1c19197d9e8656cf6d9d02000f837cdf2725:0F$@008fe5657bed8e1aade3d17dfc3d6c68917329fac0ba1a68295ad822728a5fde: B2554d8bdba28b11ae560f1a8a799071126b4c53260dd0bf81df4402922aaaf2f:0F#@70dbec7953f8fea6dd92f878c6693a8683463b6375e9c7169d8cc2fcc9f7f28b: B6813da15a684ed64b8a2315dcf1369277723c37f0bd7c9a1a3eaa93ac645e981:0F#@ee06db82bfd456f9adfbf64990691a69f79b63011da822d155141672b6352f0a: B5e16483e9a89fc2edec2a555461bace3802769f5713f239929056b8ce2c1f6a7:0Fθ#@8d499c74248bb3f4c7776566fcd0e2bef98283ff40877cf0d5c99535b416d741: @@ -99585,6 +107057,7 @@ B55a943f3a066bfd5e24a419f370d7ce26b6eda9120ae29f0908443a13f349e2f:0F B984c16bea64d389899423d602682a22fa272c035de2de5c2c7d0ce56ae004a33:0F#@10c2fcabd394bd10a971abfca990c16a03a4b6228309ef9ddb60eb83f15463ed: B7fdab924482de5c1d39bae2a8ba47cd613c2b3329cd2678199987d6f24f9b75c:0F"@ca8abec500525291447c46d692d115677acb92e9227b11214e2b3babd0ff6bfc: Be73bf2ce19fe89f3822a1288f6b34b155d3f4bae0841ca59441bba9016959959:0F"@f5c2a571872ce65e1ade3cd20dd9529d1020b9d2d2b31917446c264899aa376b: +Bca2706cb39032a7f209004b20444ba8b1363cd3c311751dc2401971c580bb65a:0F$@34d5f9ccd57992734221c3b8ef599abdfa2431514ba67afcff282a88c4b2b38e: B68e326bdb0214d4d752574d26f353945a7f6a44d5b622163cad2d6d0f7c68f50:0F#@778c2f9ae8544adc240b22975381521fee34902f3b9fc49fcb9f10b76389b6be: B58ae9318afe7d4146f537673f5b7d282a185c21aeafa80d181d4b99eac831e9b:0FÛ#@dce4ac5301e06b7e49eb7aaf54d71bd036d91a8def7e57ff872c8f9ad1188cdd: B3200d56a52ea537489513b2f07c974fe75ec5ec9013ef5ce47cd5b95e1de99b9:0F#@1c43db2705e1a5c812f2666cb6d04c326e04e06a5da9b2d3da937e8e7461b07b: @@ -99601,6 +107074,7 @@ B7948b9a1ed5e3d040b5b9964d1e46fd41848f4d8b0e5e1543ec6a5de62f56978:0F Bd7caae89e6dc8f5eefd053c609549b4de437260dfe2b281128f50b838c304668:0F#@96c5f0b0825b33326bda0afd028474dda3170e82f5d9c29d668e3b6d65303c2a: Bb73852d1436441ae82d76ec7c85a53614a468c15ca3075903fe6f40c3e0df473:0F#@48a14851a5b16d64959b33bcd1261854279a9585123953116a8dd1c5666b0b54: Bc3c95a03240723a51073536ee04ad1f3a840997c1cc6849e9aa5e97398822d1b:0F#@091a11792f847cbd5bd469b46b13ca28455d5a26aad395fc6b91dd089b16a935: +B2071ee8c654f2cd142d7b963a550e3ab687c0acf96cabadcefa0636280ac2478:0F$@96069a040a1a32506d7003d96e680fa716c924cdc768627c411820a109a7998b: B2071ee8c654f2cd142d7b963a550e3ab687c0acf96cabadcefa0636280ac2478:1F#@4af9155e21e8f460affcf8ccad3743312bbc812f854d1470751e6bcc3d592be2: Bcd16f4804f5aa295d71405b996daadb1c4499df3e1ab20f9891e096eda7ae081:0F#@97420d7f2348923bc8ef7c6944aa468a97777502f0744483d7dbd01d06c2f7be: B48f8353d07f98cb873ac32dae69c9f91b39c8b7ceba1f8352dc8bfe5cf3695b4:0F#@1610ff3e2f10eaf49827fd0df8eb84b7ca296153acc40aaa67eb0c5db13f6821: @@ -99613,9 +107087,11 @@ Bf8a2cbd40db7a22b7e4b72c57e8a876170636011e6cdedcbc8affbade84683cc:0F Baf5b3a69d86bc62bdb2b73974e34b9a3e29836a02903207e58b4d287f2d94ec6:0F#@c15882e5903f442113a1037cf8264373e37e8102c3c0f2369c45f2b5b2c6c6d2: B418151d2c2574b0a445fed18b22f256177677a238e2b215b29ad63616062699c:0F#@7ddedc7e0feb83f3a82d60c99d711bfda6f3fdf83bb81eb128f2b04c4c8b8ed7: B74878ee6b5f142c7f53a2cee4d0efcef754d8bf4b9e14a711ac85295c7bb7d15:0F#@777950d812b47ccb23a0ce6015493a343d6bf0d7627e981e23344e6379fcdd28: +B77295c5191449fd5519f1f7300414fc3d17551fcb656ccceaa26b81a6fa10b58:0F$@7e90d50532570d9ccbecda559a609c7dc262c44b9c8033c3cb02723b7ecdae39: Be962d01cbccc620ebd3ed4137155fdd986fd03d198a98d5a6662a9aecbb60b72:1F#@b08528855f60bde1a9fd493e1d518f984a191d5d67e3e753f22ab379325a9433: Be962d01cbccc620ebd3ed4137155fdd986fd03d198a98d5a6662a9aecbb60b72:0F#@ec922882d6db3d23625c18082b53b15fe987882405baa41f0a62d33d4759bbfe: Bbec492c8273f8ea4535f301bac7340fe61c3dd598d0c2fd4e2a604f5f69f0bf5:0Fߕ#@18a06b74194738335c44da05ead068b4512120a6aadc644ffe36936ba567b5f2: +B4c8fe15327ae386b08fdc08b3562558484e4f746918531a39e5f11d757e65532:0F$@05c5aeb13db705330e19f3f32ef7c19f2f1e26015e4b73335ac92b1b597380ad: B50b6928dcb343cf492ee6d83671df9d881868b2348a12ae0c79f167aaab7d5df:1F#@8bba1832f0f6d09b2228f219ed8ef9f9bc07f3f19cb5858ea046c21654b4bbf4: B50b6928dcb343cf492ee6d83671df9d881868b2348a12ae0c79f167aaab7d5df:0H#@15c814229881d593bbd7ffc4332abcc2e84a28dc5f56ae992e0df2f8f34a164f: B1c4a97895b2689a7932f6c60469be3de4cb5ec76420f7e199d57488a3b5e1143:0F#@9f2d18bb9fb31884ad12b53d6b62fca300f09f63567fd0229c868df585f6500f: @@ -99637,6 +107113,7 @@ B3b2496240fb832c16a3bcaf19ea05fe4ba4a82e4ce9135cf3d8fc78aa67affad:0F Bfbb829b3a7a415b960aeff05b387a7040e0dcc9a4e07a9a86cbe2e30d07c4432:0F#@40c3f3a40cd6cc861c8f68e480dcb700bed883e0c5ee6cd6bd3d8899f9a447d0: B2e8d2677c90e9314088a61fa55a7970c664e0dcb7fc9c013dcd815ab7aa55eec:0F#@ef0a7bc0027e2f6c20ffbcbc380f68816a6b06de85519c042ca0905d02d4eb6f: Bac7cd003bf3d31ac58d3366df992f9e901c7a68b024d075448ba018e20c3ad67:0F#@5e3dfaa9a11706de9f65ffb01b54675886dc7d9509d1e01ce817acc9f566dea1: +B83837565e719be6b5d11667a8f5223086532af27a9646e2c6b3c71902cc03245:0F$@5c7b1d705dfe18f7f607f072b258d1b27f0fccc9ac6c233f6076444eaefa6fb8: Bb7a92febc7f152368dc909c4c97fc581668ee3a80927390bf5b8848954e6897f:0Fã#@06b78e3550dc8d318e3c2952dccd6ea363fa187dc5a0f0b077b2fe150761fee7: B0a879499d77f3a58013949c45afe1e6e7d4e46c0fae8f0fd516fef470f005826:0F#@bfd399153f39d5fe52dae351fa1f4c14b08eb03d5f598c0e68e496d9cd0df0d1: Bbb834b9becc21539a6b514a361bffbc17e516384f0c2528db90e7dbdc915a7cf:0F#@26abe207be13878b956409858a872a7cf64d40723f95b605e99b16065063abe4: @@ -99649,6 +107126,7 @@ B6e4182bd1f509184607e6a0b716e4644503e7cfd72c7cbc0426d894f7efe82c0:0F B084f94ae5368f3c9e6b3e70928da74b2773ba9fbfc91a221560c8a3635240d75:0F#@93ce1e1e6276974b18ebc171a5348050f5128ddc533d552a8ac7c3d695a24891: B367c686b4258615b678db8a63f2b140710109e93e7f071ae29ac892006260d60:0F$@898e289a22f1f23d1996c24ae2fdbfd7ae6be30b8078ea4c6055c3bb50567e25: B76e8011d9357148532406773f20e579dc226b59cf858190a92f2d913eed7a7a2:0F$@2bf19dd2c68c92318416c5fd5c1eb4687e75e0d152b604c998a257de26fe3b33: +Bc77908ab9d6e534bc3a632bc04e7b061b0153a72488958a9083eb5e00e7c548c:0F$@f826c9e2a57e9fd2959882aa6a69092cad9c49aaa0cbcb1576c8463cc88d9bc8: Bdfde66b3091ab07bed66f4a34b8cd47dc0bd7b70fc2e4bf76a91814d42bb24fe:0FČ$@393bb1f3ba924ecc888e32e2bc63047cbe7ba7232fb99daf501411453764c0ca: B12855a718151976b36d3a1563be75b80a6e0c1e1b051203d08fbeb204f67a13d:0Fȇ$@3ba6c6124337092c2e173eb7930a127d6fedd047c75a9448fc60596a54d52b9a: B71b1a676289f2c3ebe94780680175123a6cf54013b2cf202a8c0a2d7f051599f:0F#@7eb2aa2767c27db3abe3d271790bf6f9a2341a9a96cbe6be3e431eac5d660b20: @@ -99676,8 +107154,10 @@ Bd17815d9961c4ac13006ca065d0e5153eef37bccf19f639b857d6a0c0f3504b6:0F B34d0526d7cd3019a2907a78b423b4ac96eb26c03b29dab7ba3cd78f1dc7d4194:0F#@8eb4665e1aa484abffb4df99edc81b7b251712edc9103bd24422e68b3e873bfc: B8dc4e62a2ed27f6dfd8d9442f06c58db67459dbbf0418f8660dc15d0b82a32b7:0F$@c25550e357e37bc997ad4985e16ae3eb868013d5fb0a18763e93052467e74853: B22fdae3bb8eb0a30aab8e47842b0fb7021d2800ea9598c29aa54abc1d7200c0b:0F#@4c970b1868a06277c5b4993c1fc1032ccd6ef5c9465084630c7d39245f7d066f: +B09409a4b18b21634e4ecb31a25424d6f30e3220ce491ff13c3b504ca59c7ee83:0F$@d4cf7a17103a7aeb2190a49e92235430f65cf4708ba056adb96d05af7a22ba7e: B5282a3f2cf0c6289512ab26c9cf1c2205ad00d5ed654bf235d4c169386cdeab6:0F#@53b6f9067e2f76c709f2523dbc673a48672596c38563c0f334efc9746485b8e1: Bd12a10105658869e1152fb7453ce62586b07abbee3737cf7a308cde0deca8136:0F#@aacfbe1eb6fd56e651dabd71ee8b4bfaea92a7c1d830908c243a8f474e787f15: +B09409a4b18b21634e4ecb31a25424d6f30e3220ce491ff13c3b504ca59c7ee83:1Fߙ$@9ffd5d63f6a337a1aaf778292fb1a6b2c163f5047ae89a8f06473ae9c97ea82c: B50018e17bbc611c3618dabd3dabf644bf6f0a663c58b4e5a8fa7a7310e4fcf9f:0F#@bd9106a45e53bb8d334166b7284e6b35b30f1f44cb4ef2d9f09811afd18a714b: Be1d14c9d72a0e0ddc6272fa985e55d9a8e40ae72effc28c5ac7c105c369caab5:0F#@c1951926754b6d8140f4899f1fb9f7171ac24641e2fc06171374edde14899f31: B5a7f57a532d2edcbdb3b3498e28a08ce669f33d765e427bea332c77e64abf2ec:0F#@06f5f4d28b7fc6ff2b3f96e8b02ec3d2957009b66dfd2ae236b9c4ddfe97d8b5: @@ -99735,8 +107215,11 @@ B823ef58c20e7e7b2f920eafe9e55b430de9fbc98dd05742f352ccf806c48db39:0F Ba41140967bf3184f1dc9996852e314f6fe11cfd443e86ba44626c89267db94ca:0F#@a2bcf926f16c202955f53c139c6295acebc5a0af1eae2247f6fa9be052e995ab: B461b42c78cb6a5bc9cb7ba5f57e2b6afe7c8da896687a8643b84fe4f00380b49:0F$@899a504a78c98f6152d52b98b6b54575608b108f18cb9a899114c8fc68d070ea: Bb6f21ae23987ba6aa754bfa14d770a9b6e8e924fbf02cfe7f591ae0bdec3e2b7:0H$@12685d875931d0e7763873c7e03daff64906eeff9e79cc82252f9448852df2bc: -B96cb1dba7c4fede0f5636b8c563abef1e7dcb234748296020ebb61da10c5e790:0F#@6c68536442e08bbb079cfdfd46d9b958076cc3043ed24a67c52972c60476cb11: +B719ded5a4165c4b5ffdac2af330aedc9bfc27f04ddcc56df2aa8a8694900165f:0F$@ec8562f3470f0e9e639f3daace86410f816bea826caa85e6f8d6e0d85e478e6c: +B96cb1dba7c4fede0f5636b8c563abef1e7dcb234748296020ebb61da10c5e790:0F#@6c68536442e08bbb079cfdfd46d9b958076cc3043ed24a67c52972c60476cb11: +Bb87e3f7cb7be86f61b15c1ed5fd1829057cb9d4fbf1f81d736548c92319ebee7:0F$@cf1c86fc612d65147d5066b7c5900914b8cdacd11de0e968004d1eb1ff2cdd30: Be275cb97895a5f95ac6e09e77cff24ce718b669471bfa83770019fd900a6a12f:0H#@846aaa23d55664b17b331304634a1de0524feeb2fc748e47b17d66bf8d314544: +Be491ac349155daafc613486cfc0458627e6f520c7ae88c0b6ccc2ad1d003e033:0F$@e34cf29a5b60beaec42029db040d538be4badc5e8656116e80fcf0c06e71f9d6: B065f4dec6d78a8ea579cf06bcb2b1d381443d932945293f97523b639f502b071:0F#@c969c1b5e66f88e41432ce5f88bedf59798260cdb049dc35bc9ee581f4bbff2a: B16db81c5a353c11f540edecff3b1e42aee9720f81657dfef0ac5da5f66a37769:0F֏#@294d3cce6814dc05c8a4002a9151eabaddb584e81ce8f4cd11276cf2ba67c7a3: B241da167a760cb82ca22e4ca50b14f54e6c583d5fa1036317264dfd3deedd215:0F#@b9a4cbd174aa56ee24df1dacd0d8e2fd1468e7604513a3c5433a13a64255d2eb: @@ -99747,6 +107230,8 @@ Ba0861f60aaaba5649c9a863586fc9b203ce1a178bfc0215d5eeb8683b4fa63c1:0F B580bbf8c64a9ce06153deda2d949022a8616437b737992bc61835772a84d28a6:0F#@43ec8ebf09c690136596c4a29b1d69ff075255c36f2ca6259c816675a5e0fef2: B84f4300a755146dc9a86f83910dc8c60706b36aa8cd8ef9f65d5da43084650cf:0Fڔ$@08d2fb04d60e478d67b061f2b0239190e49986d552419251dbc325ed4ac491bc: B54d3fd2cd4d16ef5e9d0c86cd39016941fdd11775f2097c1bd2c48df18205e1f:0F#@b59d7136b475259b082655318848c81d7ad1183be19302bf13f28892e54d65b2: +B6b9c9e1874b8a10437656c124b5d3da6f088cefd6b6c0bee5f430c7d6bbd9d7c:0F$@21f4219597496d7a0fea69ae1ef7d2dac895358db866c72aff647b0dabd6ba5c: +Bcbbf90147f4c951abc4af067d5d5583f000b1a2774d5999589db09e153719bf1:0F$@a5c02898e33d520c9b93a8dce1b9b188e62dcf3bcb401bf72265470e7882a687: B7d493d4d8bfe5e96a9fab692847e23afd3331eb55620f6aa0e1fe5b302941953:0F#@e9a8c2d3fc59935728c47adfcf0d0598fac2cdc699b3ab20e4ef06f30b6ccd7e: B0af3a6f911dd7ce23300cfce74aff24c9c2571656cd593fb12de68f3d80365a9:0Fܽ#@f44d55ed97e459476450b25cfbab8c25f08d0187a4ac2356457da37a7a4512e7: B7d493d4d8bfe5e96a9fab692847e23afd3331eb55620f6aa0e1fe5b302941953:1F#@cfc5bb0bac0136fd0e8a82a10ad6528c431a7341065434aee428aa0cbd7a4529: @@ -99784,7 +107269,8 @@ Bad79937ccee8f8597b9e7b56af4487b03c7c562f490b5b965969800e8d4fc069:0F Bd4374da944082ca4877775d4235deb2ebe6ed4fedcb9e85a27092f5d9435ae92:0F"@903452c36aa8cda128371ea9fab6b86d5c6d2924cc8e3c353e6fe6294c98f920: B401d32e55fac7818603ee9194e3c7717221f393c8f941ca1c83dd775b26987a6:0F"@5f1877d7245a0359dc4c904e92268e6655e2e1964001babbf5e8612862f71c12: Ba0706623975f1cdc82263c681057f1904aafa104e8b3461e7ca0059acf900d94:0F$@177f7e7d473c457f4639791869c529344332842b77492b5521e38778308eec0b: -B8f7ae35e8b70bdc04978808b86c6b5bf35103278bfe70a22543502116be6999f:0F$@42b23da2f4a8074b95866abf286166bd3ca00652ea2ac498beb735c3f4f4bf96: +B8f7ae35e8b70bdc04978808b86c6b5bf35103278bfe70a22543502116be6999f:0F$@42b23da2f4a8074b95866abf286166bd3ca00652ea2ac498beb735c3f4f4bf96: +B7d4564f67984d409456271d0177eaa9ebd9412b4c880eeef06b8f36010d73728:0H$@c505137d22d69e5d72a218c753139b731b925d74dc9e7fac955a30dfa1dbe51f: B73ce51ff2689cf1046892e9d9b4c037c4b345d7f80eda2db2f7bbea8d339c74a:0F#@1ce33fb5a4ce55cb8c0707a1122b189de68765d4f6b83b4297cf109b12aa7d06: B984c253e655006fd7670522b719a929aa549cb7c6c7eb398bbf19eadcac875bb:0F#@3aefc80f13abe3b1f6b2742f562f9c273d51ff6f739d0d6d77ff5dea99dbb82b: B9648f2e39a457a2429d324188da87d5268619537bcf9fda1e4175a9cdaa50363:0F#@7c86fbb25e4779852cf98bcb469c855a235e56a8551629b2482d700e8c11a7d3: @@ -99795,7 +107281,8 @@ B64677033aee315cc7dc1b011ca769a20b42eeab1cd17decc2b7c147f4015badc:0F B6d74bb7893a81517462774480024b6b3ed0250fe1c569b14df73f63142a8823f:0F#@0ce4f62c2be95979128b305c065395dcae33db2f0fad577dd2f8d131fb0581d7: B92d0e17d8c86c7a4414e6c682514313be66a6d0392cd43cb8b5339d00d31c27b:0F#@e5bc6022a2ba31c8038284ba0cca263ccedc84843af200063de85ae56bdc2415: Bc4768984393cb82e6892f0ba91b78012bd0e381b229dcfc6cbcc76f9c416454b:0F#@13452e853da8c0894de4ecff8eee475a0e384c0a268e2e9a7aa3ded94903923c: -B4ac2d31741ebc527da61251f0dee278b1ba9ea4f8f6f0263203e69d55d35b44f:0F#@8cd9d09d38ae5ecd356c4d9f510f3f5fc0c4e91e90bdff6a0d236d2559e51b33: +B4ac2d31741ebc527da61251f0dee278b1ba9ea4f8f6f0263203e69d55d35b44f:0F#@8cd9d09d38ae5ecd356c4d9f510f3f5fc0c4e91e90bdff6a0d236d2559e51b33: +Bb35309957d0dd60b3de5a0d0b8c20bfab2fcf92714faa747a39bccba9ea3ff8f:0H$@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9: B0b1278d2dc2aeafb1d363db77d3765dfec878b0735e207abe04ff5bcc2329ec6:0F#@bedba6e1364e9809e7d6e55af9d106945dcdbbfd0b1a56901abab3684d9b1d3c: Baf1505824f274cc565fc3fb2f7eab263b1257024b4d60ab43fba3c0d8d443976:0F$@bd17e4387b0df0d65a3a982a7f28e1703811b8b79cf7675555435ae68a4e5336: Bf488dcc9d2d84c7adb9e37a10291073721c241b30c0b30bc2c62d8f304cdda0e:0F#@87f64ba582bbe674d122d3f11a6ee99d38cefc942ac881e0364359a9dcc9e026: @@ -99807,6 +107294,7 @@ Bcb92f07e16103105c4664cc4046214a955d3bccf3f37f72de806b92f0a22930d:0F Be15a0d3edfe9aae33973bad813a81f4ab75f51c956474cbc056e3d9af2f39b10:0F$@1b8fe5513129ee5483e2cef6c1ec632eeb8783842c8022f12ee96a347530077e: B45138861da890512cb4b37e4a39832c3e7cd76d89b2d26d19898529fa0890b16:0F$@00c26f89ffcb18387ee9ced817560911aadd9f9c691cf606dfe90f75ba422394: B00540cad4e3a740ea73b54733406b685faf9e2597c0c4e498af4eba2ff8c027d:0F#@5fb34c8acedf9ba244cd3addb75fd1129f8fb630f605b39e5f249428804fde71: +Bdf41bf0ed58cbd1454e3c2f3ed392619a0d270b9fb9d7253129a0d0214c6e1b0:0F$@f306b15614ed59193ec56d3d2cb8994958c4f0df2a677e380e3d48c587a59744: B8f2ae31b812910229f4e513a2a4495069d0a62f2decff2cbe0da22eb42eea720:0F#@cb1bb4362767fd4db35535145648c0a32da24241dc67bc99c6ef1c46125590ef: Be523622a7ea8857c2c54367e09ed4e974d7870ee6730e82656bd30ea0577ad90:0F#@643181486563aaff8305c159887960134b09586d1c3ee01afc75c4f01bd2d26c: B673ba774bcaad4b3cd2ed7baf59f24085065dfd250af88c4aa33afd453b9c5ce:0F$@405fb6ddbd2318a51b18eee7900f3b8ac4478ef3f7620736e1a8787871deace2: @@ -99846,8 +107334,11 @@ B2c9ff323992b7b8b0ee3b0726c8883a52bbdc01dd6eb529adec849abf23fccf3:0F B76e73f0661a354bcbdae08b27e5524701baa5012799236fc07fa3dd2808e8705:0F"@697c7af2538e2e60f560eb9f09a9465f5723ffccf1a4210efc986c4b5d370cc2: B3fa56072da73f7de355834d8d95b932f958c15cb55df094eb77d24f81397ec6d:0F#@31de76dac4d5b1205b925375620d28b9c7a4e3bf326bbc4a6415df72446d92c6: B062e3d02203b29392778044e5bc59b54e3aade343770834497a2e172980e995e:0F#@0a879499d77f3a58013949c45afe1e6e7d4e46c0fae8f0fd516fef470f005826: +B8b96513340555bf15a36a17865505e70c499ceb07f63c750d8afefed36519a1f:0F$@e9d2e753d358f543b1b63e3e5e6006d485b1e90ff5940fcfda3370bec484a645: B72fca97df5bb00049fedc407872967ac4068c82364b874aa2ae9d19e6aa565f5:0F$@a1d3a0b92088c8bb0042456f932ccc945eb26b046473886fe2c464512dee7e4f: Baea3f85f9bee0290ba3c3676064bc28686f52d710fea46fa8f8562bfedb7e094:0F#@229acf800c1e8ff8ac42b62c2fa9790e999e998cd61e3027737af33c3cce5b1a: +B79d8a960b48a75fad1bc2e171d1c15bd025965767675cff4f06e891a0c319617:0F˛$@91aa770a799e567fa198f2e510d403844cce9ea592073ef1279009f97541b35d: +Bb52f49569f5e429f658f8eca1c98d7af56517d42cfc3f9122aa00fdef1d7d9dc:0F$@31f6b7241bd625cce45d8e02cb5c7df015c24056b103c945b6a8977be2eb60d8: B673f88637fccdd208ca8d3f7cdb27480b284c55a46f2540aa1893d53e5b1fa4c:0F#@d423873ae1d19a475a0d9340df890f91ad14033d7188c1a0d33978f7ed9f6cbe: Bbbd9c850bfc6fd588535dbbe0595c49bbafb179e914e30365af789481a4b35bd:0F#@0699385757dcb5552b535c0bf1912e4611c2dc652a75fee785ca42f5718247fd: Bb0d0483d4678a3272616bf2d0db0f51164206dbd5d2bdcc29e9fdb9a1e30bd13:0F"@2dd24a4b7cd56964383d50506872510db29d7d6ddc04458236b10a553f49b169: @@ -99863,6 +107354,7 @@ Bedbff470d43a12d76ae79e4e7cb073a597ab805d78b4bf73c8b4002ec0e2cb87:0F Bcf2acd7205a5ea003d14f1c7a6d9f36c78f3a0ae7b37de781bdbca6daec7d79d:0F"@79f0b8a021bfe96a03acae01b04911748342be6390a31f55ab81f872140494dc: B51bf0c7e45ac58105969c35e4fb3c897433e3152e8dc39a48ad1f00a1c4d69cd:0FϹ#@30a835b37a10b221cf0d45cf5ee6ae522d072de787cf4bf5b5ced0233bdf8b0f: Be7903e201c66cd761e597d624ee1eb0ff07350642765c204828d067e7b5111bd:0F#@680cec51d1f5e5bcc31159fc8d9c2e0b5108d6b3bf914452fd4ffef1d5f61aa1: +B06da439ccd64ec1ab6e79686ea7432777dd802cedc4cd2e77eb072bc32fd1cfb:1F$@ee8eb5afe19890a208aad317119ce931b508a40e0b1a885a60c465f493a17dbf: B06da439ccd64ec1ab6e79686ea7432777dd802cedc4cd2e77eb072bc32fd1cfb:0F$@ae3b8dab1e48f8fee589990b69f1884ea07c1b0f471feb7f6d0b07918277e259: Bd7bfc9aaf4f2da85c22b95c5ee60bba754d93f8b950180fe227cc5b5701b7e22:0F#@bfef1e060b253d2c4bcfc6cff79a97530e42e62482e2db02d076792fe80b2800: B201e0474c238597fc56b92742879767b88d6f4fe4eb745b7ff14a3d2f4ea549b:0F#@6ab867ae3616684500acbbb045572a9d9f911f70d49d86563393aff05c0ad589: @@ -99885,12 +107377,16 @@ B1737c663d401579b15e8e7c7d6508276c90993231c9efe194a9220c77647c8bd:0F B1ee1ff166410c285ded8d1d985835cae8c1676c10a16e90783ee2dad74cd03c1:0F#@0766e3feb9222c9310b9bd19325fcca8342c7688493a428951d757c0abd16652: B8238b1363baacda96fbafa908fd98a65c67c3187bf6f2fbbd52098be716c23a5:0F#@064beadd4e03b1b4c83893b4c94128af2b3bedb3b833a7a721d81bc894407963: B3edaf9dc60ef567d8dc34eb3ef1c65d99f703376415e9f69c784010b3e5f180e:0F#@aa53b0a41e190ee613ce9112d4daec905ca021f6df4a6eb90b994b08e936047a: +B44d76edb94d06406ee707cced31b5bfff77713d9219d3fbe718f56bc94d5ba81:0F$@aa56f8f4e874814b1000e7a88af743e616a4a916e1b3fc8843654b2826926247: B8ded5badd6f76d0dd7ae97eea248d0f329de076a465808958fc6abd3c4166310:0F$@d55c34cd18a7980809cac410871153b72b2b245055388f16676b951db44bc74d: B71772aa1b40626a6069e2a9f610ca7bd6de5b84b031cd158a27fe639b1ccb715:0F#@550adaa9bf15bf77ecc0fa66dc203308280a477593b7990bd3e4808b0db8173b: B8de979a3b692ba85818a642309041dd0c665e4d4de60c06aa84c60737a242ce0:1F#@78d86d13d48ad4e82c80801560d9aa06ad171dc41c854edde5de51f399a3d31e: B8de979a3b692ba85818a642309041dd0c665e4d4de60c06aa84c60737a242ce0:0F#@de11293287fc3f48da007c1354a780e3a769df4438a6400e439dbfff8343e727: +Bec57d51c0bafdeef4031f91350ec8ee0007091f87864d96f22c370af64858123:0FȢ$@e3ccaeb25fc58f4b2d3e62cddded1db5979c823fee55bbd2127066889b5de256: +B7e34fc18bd205ee63a8fd83b528f654ce515039d765e61a4e064f31c5cea1167:0H$@d098def9a0bfc22d39b5ef656a22291761cfad5596082f985adb9a07f775e2d6: Bb6d5eafb3980ced80aa317a443ab740e787933f7b6a634ba932f1ad842b20a86:0F#@b75a79d798a945d74d9c80d36da5cc3ea062c7c74c2ac1a638e382c50c5adee3: B6277653f2d88331ce9bd25b13dc28e5e3fd2e29c09c9ea9a32fbf05b961bda6e:1F՘#@f1ec54c4cdfa3031290c510c3b17b8cc82f1870c6735023a30ab191d7fb361c3: +B9f207717822e3fe4fc32b69542c86cc7bb2dd137ad8cd667f0d44920b0c67a9c:0Fנ$@0075eaf34408705c063acc436857597867edf061fcace5078d3a381c5dc22abd: B6277653f2d88331ce9bd25b13dc28e5e3fd2e29c09c9ea9a32fbf05b961bda6e:0F#@fb2bcba50e155456fbfecf010fe6a0a3397cb7cc58e3c1188492c6203ff7fcf2: B5af935f84856ba918ee30ddb548a0fb5fd1251befa05f5a92b84fcac4e351657:0F#@7e4d725f9262bef6279d5e8495a7b9639df2b14821d06123e43a5f2bc8f689b5: B5c7f8f60b0f5acaea25025ee88ca965f335b3dd5dd8da09750cb42440c95f244:0F#@3c9395250615bf2bf211f620bf5582e438e2bd7b4d8a949a504468f3eb62f6d1: @@ -99916,8 +107412,10 @@ B8b1f049782e582bc418a4c7d4234a5bfc20232f2ac3e72a92dbe76fd5cb4c125:0F Bdf31874ed7541c950487764bdebbb6533b942c932668751c92a076dfe3bb06fc:0F#@b0aace596dc985af931205a2824ec49b5c72e90d8c64338958b379934aa74758: B121172d8b7e1f2193a616b55850bbb4b06a62c97ec23cbd8f5ae20eb7b607acb:0F#@eab168abf1dbc18cb90088c2c90d7e470093703629548986aed5cd5b1e53270b: B288866b91318b39335249aaf32001e589becdb066525089cbd5cb887b13a6f84:0Fɮ#@46636bfe7ece4550777b47fb6db1e391adf2ed63222cf3196b3aa0728b25e3ea: +B4aac9d36e662bf09c9bf78769b06fc2861f25d6b8b376db9d546e6b52b786e17:0F$@3df6d4123f4105b503076b5ebbd227356e7cd28ec45a81b39154787bdf988a5b: B3ac838d0d2f991b3407ce7a6fbf49c7eb449f3840429375108a0187bc2d6be66:0F#@f48702a1e1d4963acb342fcf15fd5bb2f3072eccf33e22af314f37a665fb1902: Bbcf3c6bb7cc70636f4791989bdd4f8b3d097390880dc527c983d9444a4d69cc6:0F"@59ce29dcb4e432c91c2cef7722cefe6727f5889b199ca15e74a88eaacdfe0a28: +Bebab9ca8c9f356b11090db9a3f79f07a2ed0eab0409b2668739c518ec459609d:0F$@33c8080b14c1dd9873e9954babce24b003224ebd494c4af09b1d8d5e19dc2a00: Bc2000310fc95e2387ff02723e0c94eb58691172ea33fa8f06520930f58a80a97:0F#@17edb4d274dc7e1e05d8f1e757bd2cc4c34b3345e93fc6107c87e8e4f59a489d: B3ef6af40b3eeae5eea6d25dfa63b46291223e1867e54abb31685dfab340d4a2d:0F٩#@d4eecc7a6f82efadf3f138aae01fd9fac3364f2c04a564cb47886721b8dbd456: B960ed8858b8df45b1367190bfe63f5cc42340a985888c85117f03baec1bd7c11:0F#@5099dbbf45ed68f2e500c660c69c5547ba88197166b48663c9d441754f1bee51: @@ -99927,11 +107425,14 @@ Bc6cca568b1f789da7d8da25559e3eb95fafb6618bba8563447b3306f7191f14a:0F Baf370a066c67457cbbaecb2a2108321b80217e74fb39c781a78969c77b9676f5:0F#@9970c899a9725fe7fefb13389cfb52367182b2384bf33d64f98753a725028bfe: B3710017911eae2c3f184c998a0d358dc2b39774c364dd6251c2e2c584adefc31:0F#@536d19f3c1bbc59541a6237e89b92c5cc989255866260b1429989df3b5f7eab2: Bd11b282b963ab6b05012f3e281231e66146cc374d86b151c18ebe6389504459b:0FԠ#@2034a898f7962ab57d98023f124fa81423b95ec33df806fd3b7aedf31df68460: +B53ad27a37c6c7b555d0ba4ac483dc764cc9ad10657b2a584b3b7910f3593efec:0F$@941ae72c1eaed1b16e7ec0db68930019a96554cc714411ee0d302444b1b94b91: +B7ed2f106ced42218aef5912e96924a54f9670423347a9eaf73b9c2c0fec8cf54:0F˛$@17f921a9b0809f429ec90217a49ab0d145ada9d035d35f143d4f2dfa221598af: B4c0c9165afa64975b1f36441fc17f4ec30558ed84aa1e18f4d52f40925a63313:0F#@f7f4041d2b38201b4dbd837b30216fa3aa281cf56c2d8744a188ee0447974b91: B70bd3f42d33bdf0b4586a92c0f32e2b5e354cf293e68af6e433e75febdf61d30:0F#@5328a0e100d698da7ecfd5e479ef2c0fb1f6b0bdcad3ac37d15d9f84a2743bd9: B693886bbe6a62acf0d79a2bca075d7824bc1c0b3c68f9e872bbcc4da820dcd19:0F"@65e5026a6be19f14001308079dc99e4c82278d566c6c30c399dccf7635a20268: B2b3a4426582ed55b79e12f816d9cf7c4d35172c1d7029721930c00ecd2003045:0F#@0cb46a181d06cb5bd3d3317aef78c2c0fd2f1e5d45b7653a4bea628b3bf4c76d: B5cca9633304bff2a2d5320181544982eee32c736d446d49e145d1a8ca7976a55:0F#@b965f1c78ab20e799045f2207aab80575af429c1c20e62e9581ffcd2516e8a66: +B68aa9629aefebdb723d6ebe9d2d6a6e8464ef02a49d6e3cbcdbf92fba116c463:0F$@295f9718f778eaec516401752ef8165f7e1649091154004625228dad06010aae: Bdb99119b3a49bdab285565399ff67a684bf59e9fa039435dd9c4633248c93012:0F#@d5658072ddc7b6ba6918959a185c9157c010ff0e3cbd4452573da225bb84048d: B1d48654fcdb7322c1f392418b4ce2e9df25af14af906d0947ef8d1c8ae73daea:0F#@accc100cef8fca583d2b088c4d2f210fc142c6fce77f21b6061acdd4f56aecdd: B1d48654fcdb7322c1f392418b4ce2e9df25af14af906d0947ef8d1c8ae73daea:1F#@9e1274c03d51b550b50d3638e146f75a209025ddcd0c508a469cfa6256df2d01: @@ -99948,6 +107449,7 @@ Bda8b537b1d97b986bb81c422044e218e7b4e41958fbc8f19248a1a1bc790d7a5:0F̕#@6c23d B648f69ec9af87f5c52f7cfc391f5893e4247fe87d7548ddb46f5bca60b0cb8d5:0FϾ#@d966c5520b5b4884ff292208a10f742f7d2c30338a02afedb9a311d093cf2158: B9b9ec2b0669685e0a2e909adcbbbbe7280b0aab108a5cb9942f9e9f4337fa81d:1F#@7b2f8ac278b5a6e9633d6d3e98e80ea0d3107b41f12aff1c07ea49fe3069386e: B10e3abd76d49f98ed88c3580aa0d510a93cac31ffeedb0d1141d1a37eb16485e:0F"@5516a6078d9b542aab2c42d94ee9e36f7f05ac414429dd93d594d01baa92b731: +Bdfa30216181d8752f9310334e5e1d2b841c351fc15de33c5abd867fe4aeae40b:0F$@b8a9be99b5a92ac02081b35c1c57d48ec7c5a303f349c1d362c7afe98964a073: B7482c420e62429a2b740ee76eeff006938d84485717dc641562f6777c43096c4:0F׊#@97a036a3e9416dc8126d33d83a37c45a1a1aa311764d9ef8913201c4c43c873e: B72f2279a3e01d70a1221e332ba0ae73127c63919f1d6e90b655da099e90071d7:1F#@257a3cb2e5702791e85ef1553d8ece9c4460e1d174647b745d140b84d6a65d41: B72f2279a3e01d70a1221e332ba0ae73127c63919f1d6e90b655da099e90071d7:0F#@bf157fbe0de8c0068430ea56f7f91395c6b4e8775181df7bef6c26e4c689a686: @@ -99969,6 +107471,7 @@ Bf66a2a87bed95551e913b86757c9d9f4a284e1231351562c81fb8dc2866fb330:0H Bf8b5d947f00000fcb5c4d1be531bc7d00eaf62a19fed97bafec43c97c611df36:0F#@b6d4b5dd4d067a21163df2283e2f6163a139f8df1a674a869aae520e4038c66d: B093dd3f1703739e2f7f7dc4746e263c869dabc00d8a85b209306f876934cf611:0F#@b37fa60e427a311d77629fba7b6abb5e61f924514ed1075adf395a9bbbd9f004: B9c2713915f51964fd35a9f37790d2140aef733adde745462488ae4b4f3664dcb:0F#@80df8ecc1407cbdb153608255a72a3aaf20731b25bae8fadfde6f5db2b4b1c4e: +B72449073a6daa2ef84a9afc20e51d7e360fde4b77a92ab89062644ed8ef64f36:0F$@e7ace82686cdf05261f6731adb9e427cbbdc49835fe0e19fbc0a7230c4a0bf32: B0afd2e31368c89563cd9c23f6c8b5714b3ee2c9664e926286ca6dfbb31caadf0:0Fש#@83a6f91956d4cf0fa61667a96b1d1fa52ecf89ff42ef9db0cd9aef4302abbaf9: B67be8b30afaa260e78d909311edad463090b9476e6925aeff7b2f76ab5d5991d:0F#@94c6bcd43ce661dcb248c0a04da23140c204a3e50ba330911d83cbac25646b30: B1bc885a9e40bd9f4bc1fb95474f00833e67b31b7f3a4586a7bc1cdf4ad0fc17c:0F#@50018e17bbc611c3618dabd3dabf644bf6f0a663c58b4e5a8fa7a7310e4fcf9f: @@ -100009,10 +107512,13 @@ Be71c857420cef90b57ea54f6fd3617eb5513c850566fb1330c2848a4f9a52e55:0FÔ$@7a10f B49232bdaac6056b00866c0de354570aae416c238341b7527adf78e11b3a73500:0F"@55c9ac2c4f98ca2099b5064339b8323dec06480773898177cad909f4ede39b95: Bd4d81fa2c4c881f04babb2a8165dfff3684911afea8c4929777cdb0e3ab69d81:0F#@0e771053a3c70dfe5b22e5560beac380f83e737ac560604241d31ec0ecf310f3: Be19cfff433eb436a8fe40aa2d06c967a50b082ad635d45b9b9b26d148fa238a8:0F#@a0fa1d7cef9e2e417d8f00a8d57dfbe06c564b81af93fbebb2adee1d0dc3d5bb: +Be33a6318f541622b1bb40b2972d98371b89e75fed713321319d492f9c16694f0:0Fԟ$@14b5b298071866d8e9ed58829ce4becf3870a863e78c54b9ed2c2e6382f8ea3c: Bdc75a9de596ab68d1dc0b5907be62c548333efbe0e7d9fedbf78426fe44e7b97:0F#@07ba69ec41c908fa3c50c752e4dc34be12c0d83cfe0e2e8e337013607c135b1b: +Bee4fbafbae3cfcd08ee8ae3b8c92f4bf9be72573ab6ef83ce845bb17effb9fb0:0F$@11b14397896ff9af99e3dbc0e6fc10aa3344f7a36a046cc65f067946cb36d074: Bc01e55cf22759b50dad9cda0ed4d0d23c5e405c4b9c066d6daa4aa506eaf267e:0F"@33b6ac33ff4e1107a52dc7c7b755bee57768b1d30ea010eeb52d65afff950597: Bc01e55cf22759b50dad9cda0ed4d0d23c5e405c4b9c066d6daa4aa506eaf267e:1F"@84040a38cd03b4625adb6051cdcc30479ce9a8de3f9ee81c3b6378847e0bc508: -B3cf177daef017032b92485865cc0c503df55e21fa8fa15db3a5ecbb67d912c0e:0F#@7605a9b8f9d1a6db55543e4dfad7466a582e8326ec2ee923683fa4e692aa4e80: +B3cf177daef017032b92485865cc0c503df55e21fa8fa15db3a5ecbb67d912c0e:0F#@7605a9b8f9d1a6db55543e4dfad7466a582e8326ec2ee923683fa4e692aa4e80: +B966c322dc6b4242d221759f49716cae654f7a8d5c00f76313616ad7916a89440:0H$@fa545823ae0d2445c90b59bb2fdf8f58870c0d3e67114ab1487d65bc37fd2308: Bcf4e4bdcb60b1b42d267e7b2070a6b49634a0580356b4c9d0fc86a4fdeed96ec:0F#@3806d70d77f861db9fc913802bd5ee95df48fd437ce51d79973895f2d8d37bca: Bb22881979781c5b783a0ffbd9e553a586667e3839c316b1bc43cd06019d815a4:0Fҽ#@389f173f04eeed05e22f5bd7de5b383eec138e48860990960c30369877f2e7f3: Bb3148f878d0679f1c090587fe91593e772e34cd8f2e9703cb62991ab775d8483:0F$@d5f60afd17874ac4aedd94b0a9351eac1f4b0888665d77d1af8b0ea891b875d4: @@ -100062,6 +107568,8 @@ Be77a00ea631a1759c664ff95bf2ef238e4d8f9af2e16484e24b0b82c8f5494ae:0F B52782a69f2675ed4d4cb94256a7fdde02260a1aa895795e2deb5bb6866ff030c:1H#@1fbd61b91f3a90adca7241b32423f234d0ff08a99445117c5babaf9b321736da: Bb6c9128fc6674bcdb4bb1a50d70b220cd299ab6ad94045c7f2778b9ad342594e:0F#@3710017911eae2c3f184c998a0d358dc2b39774c364dd6251c2e2c584adefc31: B2ff5c08a28ac83ebc193a6ebdd24fb256661648d3b64ea3ae660a77147c95f52:0F$@4849ee03029112ef167f2388d3360a4c7f417c52393e3e656fb4ec9cfe47aa00: +B94a9ed16d8285e66f1543c1ee25ef75f6b2ced6c5edf51c1985de3ccdcc3a7be:0Fɚ$@0a1364794db3f103fa4162e84a25516f1de97024655c5b9f033dcd4a6f11408b: +B176eed1952bae08c3869c2d731b7a6d909dcf9ca599f7420cdb9be40b3612e08:0F$@ddbedba266ef7d9b90ae50c8374b3e650f2a41bcb394c47169427c118837f135: B9d57d9dd0568929f209c6b80e8e64620dbc95a10253a6495ddd38ed41992dc9e:0F#@d402903915bb19258e64b8d3953c77be8e9599a4dfe0e1d218b24a145a130066: Bfb72c5498be30e4e67e1cf418b6c59a4ab392242a8c95ce0de0e8768b7e4bfe4:0F$@7510c211bde9b9674e118d08f247fa04ff8c97be875728022e375b32c9adfb81: B45b34cabe41f47c5a408ca3eaa9840e48ebd8257e8167379e19ba22a004c3b5e:0F#@f8897ee414db8ac112cbf08b1365b57a9b983835822e4bdf7d43ef1bb7902cbb: @@ -100099,6 +107607,7 @@ B5209a31b139660e5aae4810cc71221c6e22c5bdfc7794d1d19b1b1a50a55fe3a:0F Bd2bf09955db1e7d0cf766f05eccbc3582251db4c946c6dd12e04db0eafb1f278:0F$@e64d97cfa7d43f249b6d6f4d9ac963eb5cdbccdd0b216c8db2a6b7c2b9277938: B37fd1c59edd90124ae988a3c4504c21400b9e7db368bf8043c02fdf7e780328e:0F"@8dc0d454646a32ef19d4b3e8ef6793d68cfda8b05df13ff6ded4be275cfa8c01: Bd2cdc0a8b4f7f979285a0e6816eaa69fbb0311d8b644fed29225e112bfbb3a21:0F#@a6eb01a868f48caa6044a59acde3e1cce1f0c349f87dfb8f39fefceb48161993: +B02176e9956df41fbb759cf7283de67ea57987300841b6515b71fcd4301a7d1a9:0F$@da9cffd6c2a64a2ce3355e8214b1b820ebfa2112f07cc16a635f4f548b2b98ae: B530c4ce80093b1664f55fa945b2b7bdbe12b9c067dd8b67fd8dd1f13a6718546:0F$@c9faa1a6067ae49cce7dde56884b7a218514b8156a1194d46db35199f9de12fd: B7e103cd3ae2809df1d921152861a1f07a7dd1c9d0cc68dbe011526ff88f4d61b:1F#@5d94b7b8d51a638896b68a803709a41b68d9ff6acd0a49f67e5f8881683e642a: B7e103cd3ae2809df1d921152861a1f07a7dd1c9d0cc68dbe011526ff88f4d61b:0F#@baaf8dc45edc73f52d132dd620c616bf21625d0b3722c231a6abd2232d5bdb65: @@ -100107,6 +107616,7 @@ Bd90d9853bad3c5d2cb1485468dbcec7bc181a5c5479c191cc6a00b6c1013b178:0F B130297b700676f47ac98e5f5bbc7f7b97ab7f7f0a9848df801b49a5fe17f9b95:0F#@26704d2722878306f6079f07f02bf088636be9505f02935706da3b91239fc75a: B9f4be6d8d6f6a8e1e5531638be2152ff976a25cbee62f317fc1de318e0086232:0F#@3cef6633a66f83cf6050b73e496a5ded00f7dba2be48e74b1d0d3631d7721c75: B3e288a2076e9d6983c1a49205561a6deee0203c64c154a8e0cef1ea604de7cb1:0F#@fa723bd94321a00fb79a7d4447135c3c4c70f022a70adcff0b6963c3778a3e79: +Bd3b3a0956069bfc1ee444b9074cfde760064edb34958082dceb0a153d22e4f6e:0F$@2e32a8c955aedcaabf35b05283c7b55f7ab5047e3f5bba389d75cb36c0c3b351: B02912c019cae1ed3eee6889e82987ee8fc925b4326b54ee86e2744379149246e:0F#@28dabdb604971dfe9d2922b6bb79565148c50a287e15c7f1c2d3f00ad64f7b1e: B6e4c52c59399c68c703e8c1d23534aedf1c6bdc1a4e10facf285fb9c02e38b76:0F#@1032b7a2c59c9a4861f3bda5e9c4a48f161ac9b956fcacebf790cab7d6020b32: Bb3d843d46a09a3b2656aa84ca17e184c892c46ff753ef6ec5d6858c67ffc12f4:0F#@9b49df1c1ac49c0a2892f885519ed620278d9934a035b8c43fa936d2c031e933: @@ -100173,17 +107683,20 @@ Becdde70a9ba3b7c0bdabb8febb028f2dc78e2170074f7aad2c5196bc95a37ba8:0F B94663bc90371af39265ffd6b524a10144ec07a93e5f9e33e94a991cad7d40115:0F#@73ab1d1b7d1d4008dec428644f0a815affdffca2c6565e01fc905e287c233da9: Bcb0218bdacaf55acc15c2d3b0aa98b401c06b125401d41dff85d553f62711cff:0F#@e72a64d14f070fdc5cba1bd59e3b891fccb5f149e2e25ae1dc272ff2f70edb9c: B7719ae6729e7523fbf9434e4c599bf1d4a55e77b41596a0d561c0bda6af05ae8:0F#@ee83fd6adf3025a7d751d7ba1578ae471668a6892f7fac4c552903ece59c27aa: +B33f6087c0767ffaf36a937d3cbc69361b2a6e0836d807d8018d1a6a2540e8665:0Fۡ$@f9f19d5859d5ccca65a1b2c32db1b4a4e11a9fba4c093b95e3fe8a3483d9db2f: Bd40969d071950f4d4d7b1bb1b520c2fb34dc3ab84e8d9d524aac97d15cedd0a1:0F#@9070ca1b07c88aa83ec79e5f9a42bb43fa607ec45f1f63257709eb4321f27229: B741b23cc78a46d7b98e9d9d8089c812f4d178124767f91f8c890c7985946cd44:0F#@ee8848752b937faa8da338c6b713c83c6e75d1ca8d14cb965b9aa1ad7d2f85ec: B7fa33ff7058642e10e1baf37a623a7038e27f31878bcd8dba88d7e6a7321138e:0F˃$@b40bbe37c7c13522576ef1b4ff9475a553af4854da195aae8bfc1360b6e9452d: B6cc78520778b649531c5bb167c99f999bb2c64e509e7f40dbc31a16e8d6374d1:0F"@8cc71021c053eb108849d3d705ead900facf3fe03618edb1c3f265be05345cd6: B055fca5f9ee6152b0cd877734eb92c1b2a0381cc7c94702b06838a58c4d3b345:0F"@92fd9fcc903bfc6e2de95b7d6986e6435d14f125b3fbdaacf0c480de7c7457fd: B055fca5f9ee6152b0cd877734eb92c1b2a0381cc7c94702b06838a58c4d3b345:1F"@afa9cccd6e50fa6e3628419e6a86b5bb778168a0bd88aede47108749699b71fd: +B36f606161a146590703ee690c3e11ff8f8f83c863c09f6d09f103a0f41d73471:0F$@49aeda46b32648aa684478e3d623aee9c258765fdc0aa6b98f4335cb4d636882: B00e264efc76bacff1a7b70bc6a77753a2530b6b2687b47b379fffd0875f9c974:0F#@2e38baf5c683859f9612ab56679fdd837f4c29b488672c9df3ba0ac64cfe6e7c: B9315d2af1c2242936fa4810b816545e5ce38fc3f404fc4e679be7dde817f94fe:0F#@e71fceee56c74d3993dd1f0c30218acbd45f1a0ea714c3fc5877329ae1f83e2e: Bb89799955fe977244e6062dd60b21b26a28db76b7258fa733c4925d08c80e607:0F#@ccc9af1c92c4cef1886399a09926e6c6ca3e263898354cd831d6f9fb4b9ef66e: B68f1a8907aeb5a3396734c33773909768e1239761907cc9354789f6ef903410f:0F$@e72e4bba4705de1f3249a0707a69d971232826779485b4661c25e543c77db2b6: B8ced7accb1094856fe143be0c3d3aada86d8e50aa9a8647ca80776d90012bfe3:0F"@f6655dd29bbbcb31db07648424849459ff3e616a7688c73a0d757e5306708069: +B823367180e77f041625150e54813a44b6568621fbb726882191ba73c3eee7e76:0Fݚ$@2f8b517c0f09894f0fc761236c11f0a06a4ab171bab1dc257c6ed46f63fd220a: Ba0dfaa26dc97ea000c6d6f98b50afba4f3464b401901afa91350641a259f61fb:0F#@a3319b1927960f68856565ffb41dc741f8b89d7e107284213b6ec0cb54d43a12: B2ff25815d426a8582af976dbae342cac6c2bc29fcd6df79f5bf3c03eed066a50:0F$@5eeb00aa0df81a196b3e2c41693ba0017dc11e771f44f52285e754fd5646a98a: B6719e9a511790948ad4874b5c730c7859dec91e36fd2d2819d0a3f55671d612a:0F#@4c07cc45bccaee9e0d195977a00af0e4fed91c84ea52ad6baa781f4a883584fb: @@ -100193,7 +107706,8 @@ Ba4d409ee798c72c6b9bfd7fc8cc95d7b53191d0e07be7e6340a94ca3c21e5ec4:0F B3d38239a7b54fb2230ee57d5b91bdfcab968dc99c97a591c88a1d2b8d254a2c3:1F#@ce7efabd1ba58eaede9f7ff9556d674c98d9c6a64a332a09a4dac23af8b755dd: B3d38239a7b54fb2230ee57d5b91bdfcab968dc99c97a591c88a1d2b8d254a2c3:0F#@f92c014a4013ebd0777243b94a5aa903a87f0945d331391a9153685ccab9b3c2: B5e47810f59e770f528bb1a050ef51e8f2ce6e1ed151ff512d3744c61821ae7c6:0F#@418540c71a0e28d654d811d4655accb68cef22769ab4ee822f3dce0a6380cef3: -B63c6bd3911a02b7058940200c1ea8cd6b1fddb48c823feb0c858b9e882cda2fe:0F#@225322302f138c14cbf61ac249ccace833a983b907723d99c202584e46f91a04: +B63c6bd3911a02b7058940200c1ea8cd6b1fddb48c823feb0c858b9e882cda2fe:0F#@225322302f138c14cbf61ac249ccace833a983b907723d99c202584e46f91a04: +Bd70155906e1a23eed25a9aa2ebfa8d32c4b87e27e58dfde655e73fd75c219a95:0H$@1d5382e77210f406557960ea41428d5341b6605f13fafaec800f5880c5d5b5f1: Ba8fed7ca2d1b169c64c1962e256d4c3b3b351373793ec3dbde743e208450073b:0F#@8e7eae1f49878f1cb0fcacbda5a10b5aad8f59925b755feec1f04db75ebf7f2c: Be1874a2ee80211c17ea4e08458dc76068a93051505fe49de8cbafa1551e329fd:0F#@4372a6266083c704263d87de0dd4e70d1cddccff9a83da28e57168a64c7fe00a: B74c26ecc12177b5936c57faf11e2da1389dc18442b8f820d99961f431e8fccf2:0F#@685877e8a07a6893c677b7ef170857d415cff5880b28bb49d5182209a7717c68: @@ -100216,6 +107730,7 @@ B1c4299206c83dd6bddd140930f6bbbeaf40b69e0bed39b24779f3234a141e2b7:0F B8eddd4005f7fd6283899de13fb5c270dab0c3c94c60db0d55fc8727e375ba6bc:0F#@7a13658ad9bfd5708be886b415b0eff89ba544d1cf90120a9cbbed2be4b56a3c: B1c4299206c83dd6bddd140930f6bbbeaf40b69e0bed39b24779f3234a141e2b7:1F#@f015135664dc0b7aaa621b3d2443b061f036367eb83ac67fc9731695c871dc98: Bcc888592e21184bea1c295a6e04a8f437ad385ead3b0ee5f3c378096f0b87a56:0F#@5f3f8401e7b6c507dbd6c8bbce4ce138a9b33994bd6781fe2454971b4d437f1b: +Bf916add8cea6634c0dbeac16ae344e5605241f6be2bbe391ec1567cfd44c527a:0FȢ$@224a5c0119076236c8a887226a0ee891b390b935b34d4d4493d8956561ad214a: B421a9febccb92a01df36f53e49ec01c12dc13b9f3d162dc23e72c48d6cbf1ef7:0F#@9f33d5f5b6843237fc34c41477e23a67410f81520123b034f0512b473ee11f37: B6be3e89296cce2ff5e881402ba8b2d26941ce5c8c9568cf00bc1126eefabe899:0F#@f04574c3917ee78c019e663f11ddd7cd02de91c775cd3a05bcde60981e000785: B018f90c3a0e2e71b93092115bbf0fc915d043b92589b676d127587ed23da8751:0F#@95b731b7a0dfc736d4c5d78ddcfe36b21528a83d2c637e03be198dcc522793b0: @@ -100224,12 +107739,14 @@ Befa3e65c80a77113e9cb776fa4530eb6621a18cadffe36de0eab72ad16b18745:0Fɱ#@2bd3e Bdb358ec156e5a2f47cda7c9760d9e09f5f1513e4680a01d328eac5e1cec4b96c:0F#@187defc72887903b1d90f4e50c5f019314af797703751ed406dbf4aa500cef40: B2e38baf5c683859f9612ab56679fdd837f4c29b488672c9df3ba0ac64cfe6e7c:0F#@1092a3543268e12ffc0d7679fa14dfb5dbc42d40e3da01b8bfa17c8932af2f11: B8a88ba12f8434951990f50b627e680122ec95d06265e3b4e750892a70b2179aa:0H#@1fbd61b91f3a90adca7241b32423f234d0ff08a99445117c5babaf9b321736da: +B44253766ace60f165e712f078e331fbcb6f61fcdf4056956f02e7be71f2f91da:0F؝$@1edf5fd751606adffa6447d45022297f246b73678cdbf985d82ed15dffab171e: Bfafcb663e178f9e917edcce47f0927d666af0424196765fb2cd81de5ef20893b:1F#@bb7b4185341c4105804cb3bdf986df04af75c5bc157395e671c56c5dc40cea46: Bfafcb663e178f9e917edcce47f0927d666af0424196765fb2cd81de5ef20893b:0F$@386c8c43d9a0f2c8312ccc75ae4cb90491398ce87d8bbaac5bf0166599bf735f: B3d5ad7ed0194ab9b59335bb1d79989449ab4fbd065d16ef281f5bec7cd4e1d60:0F#@b8668bbe16fa014e7b8502e3ea9105b06172830fe0af788bb5c68356ef0617fa: Ba99fcd187e35b96ba752ef07c196c439c3eb7676a01a6e58ef4fb00f7a06256a:0F#@9dbcda5ad7cf806c9d0f28d55198881595954f5da1d9aae86700c21413b6d788: Bb6da9eb585be8f13f636b090cfb9a496315129990a7f9eca285d33fffdbf202e:0F#@22b392c5abf689c42a52a346a2c4e11606bd21b3e1e16790bb160a6148ba732a: Bef44ac565a9f37fc88780181b258163a5f0a0db0922ab1c5b37afb67a09b1cec:0F$@cf79974235a1b3340c6b6bd5b1bb9adcb61225c56c76e0c96ea9073ebf8e5f9f: +Bdc3c347be7eabb24d0f1e633bf15bb20bfb7a53b2ade886bcc0262b587b8555d:0F$@7c713cb10dc4f08ac7e7c53cc102b6f7914d8b92d2be60c849b9d6e3564deffc: B6800957752d39cfa1aea0078f907233669b1d3172be8a8e38bb1720d90f7b39c:0F#@93a89f3781bf28fe68663e99d0b83b3701c59a2e5e37c6d99685fc4342838347: Bc414269059827c3f7018143f3424da0411354fb8579d9300b4b93560867d2595:0F#@b97f55e8deedf7ca2c7593c6d176102488b57d71ace6f484022c25b257a837dd: Bcde9adbddf45e078328318dc2be23ab93201c498a1c453f92d554707fe196ea1:0F#@4f03c8b1a402647720ac7c66938d5be00db0a8e18f7d64110b7e0918b1f62f7d: @@ -100239,6 +107756,7 @@ Ba3e2de346050d5f5501ef354ce53ba6ea5340867dc3c3f6bf094c8362544a50d:0F Bc6ee8aed55deef139f805dc1d110821625205f2c3f930ef612180f6c6bae30d5:0F#@a41e6cf1e8bd4e8bab066acb8520bb4276794411d6e9cee1b32a4e0c66f3ee3a: B4c630fab28e1bbe839ed0f0209c53976b69cfb1aff87fd31ef27659f4bc7500d:0F#@9963da5e706e05dd1493a88a4d02a463479b0bafe35e68e26a35e605c59191fe: B49af4b53fa303a1ee7aed0a08410ea678d3859022a17543fc5120f4d5daa8c91:0F"@2d2482fa57cdc9e27943ea02d8355ef1894067caef8ce826d6c8d877557b524e: +B6632c2254cefdfa21251d005c7a133010b1a5d1b454caba82403bd1fddb7f89b:0Fǜ$@583bdbfd2b7ec23e608314725ed59d63a679074450b83fbf7dfe70f17216b69a: B34a05e2b1e43edf89e54c98a1eaace739780c7b7ce4cda8a9df403e5766465fc:0F#@4d91787262f3244bcfeeae708024095a67b8c7000a293c5c01917dceb66356cd: B512a6e4684e91dbcfb2b8a1de1e78c59655bc0b0178539e821bfa4e25c8e5749:0F#@6b63bd6814d0d234b74259245b35dd371d88b20c250e7044b41d8fffde4b2dad: B0b88232b2bba5e0345b552de7812636bb7015f65f35a484b989a3af9f8981e50:0F#@a936decdf961357608362c312d66530939a7d470e9d8513f6ddf19ae6c3bd55b: @@ -100247,6 +107765,9 @@ B845f25bd50a37977125062d10da9e745d3d08d3010ab5ea7e5210b2e0bdf0586:0F Bb84aba31405109bdcd40274a3597cc18fb71d6048437d61b7a88feb27082e40d:0F#@a9f30fdbf0b6c35155fad2e8c3d723fb72a5fbd1712dd018ef4bc974e771c06d: Bd0e1abd524be0a7612f9377eab0e0d46f15fadd5381d3c1f3791e627de06392f:0Fغ#@01d640b08eedda8e4ee91d0c36cfc3420c121835b480627e23d04405cc350d95: Bd5f60afd17874ac4aedd94b0a9351eac1f4b0888665d77d1af8b0ea891b875d4:0F$@1c2a665c0b3705b5df0881e85738a94bba80286ac6209f01e60863e30bc80344: +Bd5f60afd17874ac4aedd94b0a9351eac1f4b0888665d77d1af8b0ea891b875d4:1F$@e8b7065b4d0490eeab09659c9583f0ae6c785f5a3577a3f43e94c44e99a2b933: +Bdc60a35a5e3b048373e62ccd38c19c0e5fc463e50f68ada7a094839866a2392f:0Fј$@418e5ec3bccdb72d01b95072b1dfed34ff6525caeb212c10a50789f2f4c0abb0: +B4dd93620d1247a9613c5ea0817ce08a4995895fbb2e0cded7d5b466645c49452:0F$@f1afb4689e25e1d9963d0511d2c12bfe580dd2e1d2bbb0a1ebe2f916d277313f: B441eafd9644aff843a824442eca95c17061bdb8036eac8bcc88e4b51941e4346:0F#@d44f06607408f7197e54753d70f8ff62aa451c3320c10586ef2083b2112698ec: Bf067134202aefe81824a7aba9f966189e97bb92cc55d05d0213a38a8eb1491bf:0F#@dcaa0e3669f0a09eef4c3f6cd5bacdb8e9a5817375e93f6949ebc406b786ebbd: Bc4f58217b42f9fda82ec83e1712c11bfb7abd6c9e8b559ec94a985e870cba7a7:0F$@52a1ba3c7e610c362d98e756b82a8f5968ac4fe41229bdeb8eb2aa9201fdd400: @@ -100263,6 +107784,7 @@ B7265a6aef780726af041f14a4404713b5a244bb97febcdac5775ed2070189a2b:0F B6e07ddfd6673691850b909d326fbf78a41064c53f7efb5109374cb6e14ca34ac:0F#@c8d7bc19ebd6f39ab46163b666457549d03af5cd46266fb1dcda3f568794fd51: Bd22aadf5481c13f90654b68646c3123b122d040e5f28eac8052933c9eca6c507:0F"@a06337046323d31847ff308d140fcd304b1f3256d9d25429c64fafd6d5772e23: Be9091606bad3d5e90cc1eb27fab0908566b44a16c6110c46e402b65e10213619:0F#@5299c9d6bf281400da056f9128ee52a1a3c3a7ba449ae20e2fae4c1e24a7a9ed: +B70a4a81035a54f4f1bf61358530cb7e060168a993b31f7dc72bc339b9df7b70f:0F$@f96ca47e85eb42568230d8101572a0aed9019405893b622e98be8e67735e8055: B6f00bf381211bf1aeb10c6998843f0f162cf5411d019f3a072233cacfe1474ac:0F$@62cee6aee0d4098681ca924251c2013a414abebe40a33e0f4c246aec04a7fff0: B464002a396abc9d80019024fa07df0f21e8453cdf6470b3e47835d19900274b2:0F$@11134a1763e883597efbdfcd18fb98de96d71c2cfa892a136af4b4888554245b: Bb1281b55b108be86d5e56925c9fe75dbc361e4bb61c0f4bd6991dcc9ebce9a95:0F#@7b0c163a29aadcd9825a7c4ab93d84f14dde59125893ee04257dea099052d0d1: @@ -100302,6 +107824,8 @@ Bed282329727df28333c09a4c06b4ca156c1c8e8855f5a4379219c326673dc675:0F B0ec41e50277a697b76ae210d62d5426e4e87ca3a3c205cc2018cfbcdbdeafc10:0F#@7c8dbfdce030b277efef76f657c603d90776bb7644eadcbdb64bec95bcb13a5b: Bd5ebb0af1d3fd54b4808031548a4e5006e3e9fd9a44b27481209b14167efb179:0F#@0c617870122218d20dbd2de5449bc075286863ceb76bfe5e6046c974b68f0175: B527453cb2ee19f0ecf1d2138a1e49735643727b86e822f8ecf5f79bdbcb4acad:0F$@0b767ea21f11074aaa5ea228cddec0e5d5523da53b206a9e4f63d289f1e31904: +B0985aba4ca23ebb7e75d325eb00c3c5c059117deaad8cd8669cd9a500437a22f:0F$@42986b2d606e76c3d27134e32026ad1c4272e7b3a2cbb135ad855c7108bfc4e0: +Ba179293c84bb36f442cb46a888fbdeb1576b1ea915e42f544f8f1989307da771:0FÝ$@c1124735315039b362d2fab53738ac2319afe69c57d2cefc008d0efc7593360c: B550776fa6a5552d53353999efdda71d852e3ed0b670859cb382a2d5cea1162a8:0F#@0c76c4ef981ff6607b5000d0d7dd088055e8f9366e692225eb5a80cb5cd60c2d: B1cf1904a10f3b7f2e69d8f94966a3bfe080a228943f27cb9e944cb514946e7f7:0F#@4701eb8cfbfe53590b503e259e1e1c1375368e20d9f1a617ecf4a7b50223ebb3: Bd3fa882dd6a6ef87e5a1054db0c81c9c2e3ac9e9cae8431f6cc5431f9b8ab94d:0F#@c4e0e5f365607b6012f7e1ffc41b887b2af2730c5a740b9f06e9d75872cf8d34: @@ -100333,23 +107857,28 @@ B1f7d0fe2ae19106279ace8bf11b067e63dc123bb19d4499cd57d351c55ea51f6:0F B19b85353ac678af7828d1e9ae753930d760b82d376883a74d423b877d6f940ce:0F#@d444d36b4cd0507ebc36e029ec6121926fea290dd38944db212c05ab976099c1: B1ef4798c4c031569229886d64cee64ed9a62c49765d7f9e41001924203c6fc95:0F"@4abc13c94afc3d6a39477bbef32763e884cf81342d5fc5134286da8a05a18a51: B1e156315b8cac6a76b0f5fef48805232e978f28079a15a2f29f3c055f3d713d9:0F$@09409a4b18b21634e4ecb31a25424d6f30e3220ce491ff13c3b504ca59c7ee83: +B24c12ed0eb80b28a233c4b93f8dfa88cbae627989f8e1dbc82da6b82e2f21f89:0F$@94a9ed16d8285e66f1543c1ee25ef75f6b2ced6c5edf51c1985de3ccdcc3a7be: Bcc51e3f86c82b724b3d211321a0ca3ed1787fc93929e8fa872f81f3b7824a9ce:0Fē$@0d1503dc0dd101ade275c97ff685dca9aa3a91864c7cff1dfb7cf5b8b3d7264f: Bf1ec54c4cdfa3031290c510c3b17b8cc82f1870c6735023a30ab191d7fb361c3:1H#@1fbd61b91f3a90adca7241b32423f234d0ff08a99445117c5babaf9b321736da: Bf1ec54c4cdfa3031290c510c3b17b8cc82f1870c6735023a30ab191d7fb361c3:0F#@769c0784e09e952792702247005de67e03ac54cb7db259f130669599b1be24c8: Badaddc63bb5a577f8fad067c9cf1407f38a2aa68032079505a80a9410d294b05:0F#@aba28887cde0b022e19792e2b1f85bc5ffe454ae291cabf0490bc0b7ffcdea73: +B7d978dbac59b40c6d6c97fee863720437d14497ae8c57c45f08308668cb067c8:0F$@44395bdd47b3a79c079e94bfa9f3a0c5765ab0c9ada51a1433ad6e9a82d6a456: Bb8e721b544947060e1cd8922aad2d948820f0689cc369dcec2a42aecb63a772e:0F#@b22b05dcb3111a30428842e02151ab996b9de212be3ac6e8ab5eeb4c53ef803c: Beef61b70675c85417ceab8b44d8caec8e7551837140948121d25e89743b2e4a9:0F#@bae511856aa9404e0e7949b4b2b883ef25894a4e6fbf1dfe28728f9df594f09e: B27f37737d724b9ac8e9f7e53c1c12d8ee71da41dbe04cef7547df9470fe15524:0F#@16bb0c9031e719b480873cd0cd3a4f61d4cb51436450382cda5913c14f5d9cf4: Bd583e02e1982306e99e825dd43d19bc23f1c93bcaecdaa4f71478fcd12fdbac8:0F#@758c60a799613d372e07f5f2807387533891624d03d34329ac536c18a816e829: B16dec261d6b16a0de5339e9dd04ec200a01469cd3993ad87b3fcacc03d12b15c:0F#@91c3b232e85626a383ff23136951b06c7d6d761e0bcda92b105820246d5767e2: +Baf66866d575a3bd3f4ecc1c1442f21a5febf439f3b7169808af86bbedaa619c1:0F$@1e6511a41d3b94b42f828171bf6891b0e109cb138bc0850c7192cafb07ba2a5a: B07fc8cdb6d4495324128677baf0d02f5b5105714397adace4b64522528c1bbe6:0F#@136901e9e8f0573b69291b340186ec33524b3e4bfaf47ec197ed45a9718cea9a: B333cb78e2e6559007d6f4eb4c229be76dc1c69b07de5760323c3f213328ffced:0F#@2f9980a10e1a18e1db821f0ec0cf45fc42114b00b6e81a492a94761b1986dc92: B1fe22b3b52a8bd9e4f7f192ec151fa76ad51ae99aa15dd2b9efda3f9e6921b7d:0F"@3b9b29421f5ae02086e83e5e09ab43687684a9d203fcc0d9ba4e9716e8814d08: +Bcde5efe672b7c8dd6f55e3a246bdbd43761c12c21638ec79c9e4729cbe603dac:0F$@5e958d59ef77129d60ddc6165e488cbc0a78b0f1bbb630d50ca4d0a1ce39fe49: Be98b3aadd909e740c2f520dda2cc9571a4478d593c62fce49d8edad1b5f9d59e:0F#@f3ec70463e9cc854c5d3ce22df0443216c96c83f05856460c16fa813754d767c: B82a652810af95f637fe983f2d78c33dd55be94a426a24b3f658b027629fc6680:0F٨#@d6a778c574231178f2aafa6d445e95c29a0337660ff81122d6f1f342f4c4c295: Bb8d6960af7f8dad6360854c393adf5eb9c6c01ab65816fbc19391cc9affc4467:1F"@79109c07daa0c8f5e42e3a68395998b22eaaedf29f8ce40fcbd33f31a4934c54: Bd981d20d438f5396e6ff3d62aaad9a9483f3f182b61033d1e9b4de6494358734:0F#@3129ec1a680ec3af9d618696fa97fd8ebfd52391960864b79db0d1241142f1ca: Bbfe7a92d229ccb7398a50004c685b1dc4221286a04f555345a489201f09ccfa4:0F$@9832a983ec01245b5b8de9167650ae0bc41f84f9f891163b04168a451e1ecd36: +B4b47c20abb9cf4703036248e2acd6cfb851a3057d9822ff3834e000a3400304b:0F͝$@5e0fcd0fede973004748d3cea92b45a478d75f68a6753f8d059bd35689245b1c: Becd71a0f1108e97c9cdee06e589b46d25df71b8bcbbb5b2abb6948926eedb059:0F׎$@b9b41bd528f52bd7e7a1ae1966bf3f6442f74bb77157c9e58668c16cf619206f: Bbdda1c191cddd9653d879fde1579d769086dd8d6568178a27f66fad927a22999:0F#@e77a00ea631a1759c664ff95bf2ef238e4d8f9af2e16484e24b0b82c8f5494ae: B7a0f7a3eaab8183f8822080fb03c8736c377229bd65d5fe31c0c3c6a16fc8953:0F#@b0061fe1b362d7e0c3a6d3a6920cb0553db050bd8b9a2eae154dd6d39b07e614: @@ -100364,6 +107893,7 @@ B7eabaf682178a212177d1103cdfc42f5b8e9b332c4e2cb6732a8b4c390c7e63b:0F B05b2306a71c33017ce5d4c4f3dd5e9f20f55e7c5b8f27d902d1a6f49468958e1:0F#@b32815144c6b4dd5e16acd209973d87278540feb9d07d93e5694872f26dfae5d: B9c0f475346f2ce275e7f2d727e5d516cfffa447d5e3347a8c7f9a09c3d62cc0a:0F#@9916cd84267cc6994d26c8d353bd9dc27ae890508513eb83f7576eecb8009518: Bb4bc0e89a8a07b89edfe9d45843164d9f1b4e200839468956ff45faf338586c9:0F#@abeefe104d738ff5afdb097d52d6ba42f9f9be7da1954dc8c57dad05b9a99cf7: +B994ab54fd8ad0e29817b874dbf22b8220bbe05d40af72dd3936ade2ae3dd62c9:1F$@0e8c89bc7454988f0399a1d1e8e91d0a51b4c0e91814f9916198c5f80e73b7a5: B23f191ac122d54ce3ef993b34e296cc1c127b58a077676b42dda64ef49b35d0d:1F#@a12bf4646b25f1b2886e410965130f7d261d41018fdb91f08ee5cfa7eae8e357: Bb1638f9791151080554407f79462ebe10c59721be710fc9954dfbcebd0da9b8e:0F#@572e26eac94da9acbc7ae94eb3dc4f874bbbf4b107ca6097ae283c8d7b7f881f: B3d602370bc71a691961c2b47f5f5f2efc81d04efedf39c4940dbabb967e91078:1F#@98ecb5b29429a99e4f27c24a8624f25f18f40c054b8b39db85813b08ee6c26a9: @@ -100372,6 +107902,7 @@ Bc2a83a741ef46c0fb81bf50f3fcb90d25c86a6e17e770ed4cd04a0a613eeaaa6:0F B667490695786361164a561f0b1bf137fa7f88c6df160c1a723c3daaf727b7d47:0F#@726c98872c58686bce6bf0094226394398de0ce98987e00e2ad5890bbad0a92a: Beaf06ee56e1cb3f4550b3696ff9fffb25fb09862c3fb8b05b381a76df384df2c:0F#@ec8a8d8259789d7dd984b737694f6a927955f3a3edb3f3dfb58930c7bb159e20: B4c0d50d432a19b8ef725fd1c3a22efe08bd261df484125b8cb2b1eff231e2faa:0H#@7555ffcc3eace68ca3ec27e68e1c75c3cc27afcfbfcd8a7c715291f0d5a2ec66: +Baf048eff07c83bb2bbe1d8a898426ff04b32fce7471982c4dbc3d18f3605e684:0F$@d362f128042df239070fde5f1b973b769f219546e7ba1360da830d1cc2826cd4: Bcc232e2a45a49092375ab61ee696df3bff20d6d05bb9d6e2b012826c2a66e164:0F#@17b7025396243ebe9a5caf6f5bdfe0920e746daf8eea1f44f02aaf43aee370a7: Bf76e94cd2a37d27a196a41bb8d02da03aa9899e705473d559f86cd4c2ce6e45b:0F#@787a506209a99008b176ca9db18122cd3c44ae5939155aa9cc0daba494ffb687: Bf9dbc347a140a1b040bef3cb557284bcd94151460a77a3a9da822ca875f8997e:0F#@83c30aeabf59b231121dfea94fb215c5fe9f8e0db56f117c70588bb5a13016c3: @@ -100398,6 +107929,7 @@ B2c05775936490b9dbd4cce07a85d0b4aa6ddc0be69a16c7356373aa29458e418:0Fڅ#@6dd94 Baccec8b6a7daafca836c579ddcc1da0a2231057096a3136d84e09cfb1cacb467:0F$@bfe30a77a558b1d70e57ca6ca2294f57388f8da9b4e8d760d087f2ab4de76f58: Bdbfabcb82140f84b706078da0ed9ffe15d7026c9cd9e1eb300f8fec72618664c:0Fݕ$@3a340527d5e1a36cb105501c496c09f7ecce4b388a70bd241c94a0bba77dd2fb: B48425714100bfb8ae6cf7e8c489571537c38300cc303fb9c711e77d8f8ff7246:0F#@250aeb8eefa63208cab37c6afae96dab204c663ad4e2c7ec8ae73b079c350f8d: +Bb874a8449d2a399f777e0fbc8f5d62699c703b165ee2cf3442d36a0c986f97e1:0FƤ$@937a70826ccb6abcacfe7b02abe8c464a4776bb3c85f6757d217f2fe80bf6a29: Bc7210f103a57bf4c7167b46deed01203be01d7bd768ef4a9255db670a7805332:0F#@373b0966c32e18c306d5d7c2d2d4e9ed28f0dc41c673b993428d91dbf17e0ce1: Bf54b3a122797f2f7e38c0cca98446a8777bcb318194988c994c12be8b6ac43b6:0F#@a5cc2a1c5886e23ad11479ef64bdab21c08847f8f99f5016de875bc8448fa0b4: Ba69d94922cc45f8f9d65066b45e4abcc2c7d528b30243c16d577a2724e501c55:0F#@274ec1cc2f2197010dae36f9a2f3fe610cae4fa9212e2a5d0440364d53737643: @@ -100410,6 +107942,7 @@ B22891817390ff40c281d0180b878da1b98200eac7ced2a33ea4ab334b0344c67:0F B7014c06fff4bdcc9764c64d8b2ca1242c0ca12fdf968e74a786ed3aaab578734:0F"@b7dae23d5df89c6db43ce207a16629aeec839286078ebfadf8ee6e9a6fbc2842: B39f81ca4cce0f4b6cba60e3bbfafe710c839a8f42784c94de2e8906f1e38ebe4:0F$@4099eac2e6cb21e5bd4c87f860c73fb407d8c7f0bee842bee9bb6974eeb94e40: B3c6719aeb793d06a6bf0dcbbb638b2f64dbf2f5dc907dcb37fd0f5b81350a389:0F#@753bcfdb7980a0881485a22846a374beabc9655c58b1751c06d05bb55b20084c: +Be8b7065b4d0490eeab09659c9583f0ae6c785f5a3577a3f43e94c44e99a2b933:0FХ$@617039deccfb5fce9151f62c8e215086c446a982a805a638bab1328047de1b27: B6c687bd5ef3bd85f9494fcf616e067d43927bbf0e7fbe6c656b65d93842cbeaf:0F#@f38a7bdaf8036c129eef9033c027b343b634c9e208921c609650e2932a64e9bf: B175803e6e1fe09299ca8565551d14cc446e4e9a8deb6d5ddb782375e3d4bde83:0F#@209049e04848f5c4b81945973c01ac26c32c8d0944d68b8082a37430a86e0b8e: B204e5984b5d3f846507528c1677b89da430dfe67114df83c0a2e99ce9ad70211:0FԴ#@3eeb27dba86429816bbadf62e4304dd5f37a131cfc3e222c224fc04493a462ad: @@ -100433,6 +107966,7 @@ B7c9f4009f274cba9e9a8e260cd35fa97d31c1f13f6520bdce323c4c7071816a1:0Fnj$@35232 B04338d3a6e388b03b1a8d5629d4381c831521bc7df0fb745010098c3d214f51a:0F#@3c84cf8eb93d41df019af4ed5442b87bad81688229ea1bf93d4c49dc4a062971: Be0761e1cca45bf148e09f3af7a29ac379653768a2d8e9dc4d2780d07ae145db8:0F#@0915930857f39f823110ba9e559096d54b25d1e6e27fb36c8858d72ae553e2a0: Be0f7bd95846c61da869c1a43587d8f1eb19d19e5017a4baa70de986e280e785f:0F#@d9cd265d61a1f46441d66521e98a3ff16f76541d7aa30e5127cb8095175ab14d: +B7268466c37c7aba5dda2abf9860a468e10ff29a9566df6ce0e4349a985997534:0F$@0a07c8114103c95f3f0687660247c2e0add02ae40d804d30ff11f76edddb8846: Bd18d804ddee1df31df22ca51bea46a2fc099bfd640fa0e433c7175ae42726323:1F#@0f9657eebe30967b3ce514c455a00d2b2694b0f9bb3f9eeda228296ef5331b6d: B4f96961489c03821b15e3cc0a9be039090a663c2b84126fcd6f6020225850f6b:0F#@9a112787e6b6d734627d9ed379e16ce73b5dfa51392c7830c7d6aac7acc04f91: Bd18d804ddee1df31df22ca51bea46a2fc099bfd640fa0e433c7175ae42726323:0F#@827601b37e1631e628e16868ff697efc7f614ab6876689bb67f1627fc630bd01: @@ -100463,11 +107997,13 @@ B133ce8220dacd8f2439144c4be976d107d927d2552a91309e93adaaecfef2b30:0F Badfe3550b36d8d644fb600ec43b9eeb1ebbc03946631a2d8c93811812e61c3f8:1F#@50b6928dcb343cf492ee6d83671df9d881868b2348a12ae0c79f167aaab7d5df: Bf9292d06ed3779f5193cadb6c1b672f3a8a3b13e75b98f5f4ccfa1909eea2130:0Fҿ#@1c35831b1814e9646b65247a9fe9f3070e23a5208e476bb2e455c7c10afaea7a: Badfe3550b36d8d644fb600ec43b9eeb1ebbc03946631a2d8c93811812e61c3f8:0H#@56ff31c65a56e71395bf9c2f33676bbcb423ff6a7a9046337a9717f026670048: +B8fd27fef5181bb74ddadc39838c85e90cd2c2c62551c570cef93361a473e41b3:0F$@cd13114dd99821de448b9c9a717894074ae1e22facf3e573706360f459de6680: Bba6a83d3f9068165f509b2c710d9fd13cb69d2c4e0173917168810ebe55765ae:0F#@f55efa960dfeac81ce874f7488e61a55d18b1cad8bc5093acf4f600fbd7d1c67: Ba9d21a86854e2e842d67afdd02d2bc5d2a650e9a5a2f46d886be249fe7fe9dab:0F$@499cf269ac1ad75fa70860ddf43dbb40157d029801c30c442a206ddfebdac0d4: B08157c0ef3a9d0d70d6c96f2a8287b566d0d91dddbdd0177cd51d8ca8c26d87b:0F#@e93eb90c56e051d619b853f08065dede6f51253ecb55406322ac72bad088b689: Be4d269458d161ed59ed03e77ea2df185d9741d8f867c3b5185aac7c16b16b848:0F#@1fcdf12299d8981f92fd572d926e437949101d21bfa9eb328b4179cdb285e09c: Bd1675ed3f201a2e0e902312cc4b836aba1a113e9bcf2250725ccffe63b6513f8:0F#@b2e42b6868099c89cd0f2254790f5211a4de37b6f74c56eab0d741533ebf1cb4: +B111e8eaffdfe6c4f3add3868729b27ae42b8e28ad5e3d39ecf8ac8c02e335e7b:0F$@176a69e54279de89595e894248216abe33fe3e69955f8bce48101344a2f2abd7: B11aa4ce5336d9b97b50e6abb3fdc030a13ad994d5d5cde073732e564016e2af6:0F#@9c4fe9055815477ff1351e3b7e368105c8735351aa140e8efb86e6572f504b5d: B22cc42d2c237729e049a5e4c53dff6bf946ea68a7e6a81b1492bfe04f1b99c42:0F޸#@bb41ea7b2f481670a054c21b10acbc19d92f6a9ea212be48fb552436769d2928: B22cc42d2c237729e049a5e4c53dff6bf946ea68a7e6a81b1492bfe04f1b99c42:1F#@8ad5c63289c9be32b130aac0907c0320f54327d819759c71bfd39a91ab483ba4: @@ -100527,6 +108063,7 @@ B50479ce20c3a2bdb3b61ee970ba6d7eb0418b72564319a33b6a96f7e47004dba:0F Be5f8e8197d508366151d8dc4c55797efb76071c87707d80102e6ab2365014f92:0F#@9fa403c66bed04e9e3f4e08d779968527d3fbc316a976fabffb67884ca970c01: B0037f03a58c3519f13cd7a603dcaec0bbb5b8bdff3171789f3a6eec53e93f3d4:0F$@e26f0c84c8253d26a23cf1dad564b8f0c3b6d90c5256c32aea1a4a4f14abc2dd: Bb8e5955ebe11d6ba1cbd467bb075b6c3b7f7a6b28a1a29d0329f7dabbec9e7c7:0F"@6c8387a389d333920a887993521dc44e3023aebd4df11838b2397b7952d643c4: +Bee3efcc5b00de32e3cbcc1d215cf25d48df39733cff37a719880fd4423b8b9cf:0F$@1ebc073816ad7e1b84321a68b50337791737f1758e2346a17c103a07ca671b2b: B60f61fed0e4df5ca9ff59f61e9bcdb5c916caf00f52bd134665085a546bbe0a7:0F#@51ed3558f5be275953cd5771a568b4995102513f26db6e420e32de40247f790e: B65f2a1e9b8f292794fcdbc50db16dd9ad95648e078b958e0012b993a2e875acd:0FЌ$@2dee28599a894066158148d855b1ef82a0b9f1e9623cfbdadd00e8180c0b21cf: B2f8328a683d1ea886ba0be438695cee50f5acec847eb718fe4aa7f1f66ea6270:0F#@e49edb30a238ec11f7c515416d31964409c227b64a4e1bbe17d8df5d47b65abb: @@ -100557,6 +108094,7 @@ B61a918bc68ae602513b8db43ae39f4f1eaaeee10d990afec5653de36c839eb29:1F B61a918bc68ae602513b8db43ae39f4f1eaaeee10d990afec5653de36c839eb29:0F"@b7af18032f24b769e3838b7aa5d0169062b477b628157f5f0e8739dacf692a18: B6ca93543a65d862c5ebdf6d53e298d3b46dc6f34918432d0afb4fd9518e40c33:0F#@78461ac7af07c7a472c4558949d98d542ec3b132685204714d1050ad19ee3910: Bb75db7220cdc5ee4a4a26e0351d07c9ef4afca9cdea2a53502679538ecbe0a63:0F$@c6749178bfeff2b3cd00a1c32dc5bc17ace014bacae2f0a86f60b3eed672d12c: +Be0019ec2c7cce14e962de26204043d06883d216508ad78eb12bd5e0ad2db2545:1F$@1d5382e77210f406557960ea41428d5341b6605f13fafaec800f5880c5d5b5f1: B000420896f6adb6090cdf1c8c16204d4b6a23f3836c8f107519e1862c6041149:0F#@823f23386c3f078f10e2b0823eb18185275ad1cf4624658413ae8538dc6c6492: B16d2e1fb2aad6ec0cccc9ee29496dafbedaa258c0579e709e959745c2d14e971:0F#@65f0837040ff7ef3e996c6947960adc9c2ca00a597f50de1fc7913e6f33de05e: Be0019ec2c7cce14e962de26204043d06883d216508ad78eb12bd5e0ad2db2545:0F$@1681c027926b86a1f7af16c2ed980cb895445466792a1f6c82635caa7377825e: @@ -100564,6 +108102,7 @@ B42e2e7e087381be6ae815ff5077a4a0ff38fa17c8ac8bd9ca5151c6a454c2218:0F B1cc66e6d6cc05b687813e02d0d8963cf722d31085e0f24fd4899a960290e58cf:0F#@00d0717184fd6bd548e7a56a07351d7acb7d0a56d241bea38aed69bc233c9c23: B659555b465cbeb6ecdfa680d163f58fc82b23ef520fe8a55fbb6fe7b77f82d91:1F•#@02c35b4431eb619182bdd40d4f1e9046c704556c041d5f25fc81f38942b26ffa: B659555b465cbeb6ecdfa680d163f58fc82b23ef520fe8a55fbb6fe7b77f82d91:0F#@8da617f3f3310e51fc5363047497e89895851b0e0f5c93d7beda54992f007193: +Bab4ed77c4179a112c23918e014b97ee80f4c15f524dd2a558f87bcb30a0eab2b:0F$@ba217235e8810ea3354ef65adeafd00e817fe65a1f4400e0da60b2e1ca5016c5: Bce34006688ea12d5d17e450f6bbf7b1d5571a78a33bd5115d03ee26980b027ae:0F#@dc75a9de596ab68d1dc0b5907be62c548333efbe0e7d9fedbf78426fe44e7b97: Bbc374350319733049a2f782cab2f65cdb965f3163b30a00471b0a7ea650465c7:0F"@05f3bcc60c6a9bb145256e2a065ba3a15897266cf727c16b12515b696d8dfb0b: B4cffb5176d2fbe6c8f45b2e36a7c9808e26cfc2a9a86a170941b17dc1e8d5344:0F#@3a3a9f749b77c82f39ed4f74977f307c127232284f04b215dbc64ff2dec6ef4a: @@ -100584,6 +108123,7 @@ B520c0d77a9e75e9def56d70c3f4654e4d0c88d6f8e4d38c21c10e4980c1e97ca:0Fʕ#@1c4ea Bc19eeb80e826da4303e9d6860fdb1e573cd3808a4e37ff307ba9ee6d11e46d04:0F#@2eb7dbff68b27289510663d4ce709d96d4f8b66b3f99d91ad1e4947e00679263: B84a36275ce91c8d51651a649a57ad1e56386e4e29f275280a9f390a6261b1bff:1FÕ$@53e48a47276d4fcf9a3380c13a2d8a10b85cff83f5a73aa93cbefa228bbd4451: B24f6dfe05ee19438333aab7da2c9449eb7abf00b3ab9af88b484d7d38b080766:0F#@7efa8936d06f477b1576b2b5ea3a3609f6f744b3630249c8d136a9e775b817c0: +B84a36275ce91c8d51651a649a57ad1e56386e4e29f275280a9f390a6261b1bff:0F$@720d48d5e98463ab522c9c0a0a4d6067757e9fa0ecf4273362ff06f73e26682b: B00ffbf34b4d51d1bd56eb5c26da79621f246c02e3edb868430f76d2474f18c39:0F#@3676792a399ef4dca33f0102a38e2014a2fb3aafbdf22604e8f45fb042d7c681: Ba38c43e68abc09c092655841acc7a34c5426c3cadc8cef74cf258f24084555e6:0F#@da6004c4156daa9e8f24be8f4bd9ef29816782c4887d019f584382c09682e366: B00f30185aa6ce313c59ed538f5216f9586625715fad595e50318052be15a3cc0:0Fյ#@7acd028bc5a0e7013ffeeba93d86f8024026dfb386acceae7b8c63a8cea80cc7: @@ -100592,9 +108132,12 @@ Bd268cd2aa8d737a2fbb4a7932afe043fedb533057bbd630e062348d60dbb9559:0F B783431cf488854da4bcd3daecd7e46fe1e899888a8814615f036bfaa5afcadf9:0F#@1943033784070dc596e9e04b07ad624cba89d257017f968d1783d00119e5a8fa: Bea5a8408fcda63e16ff67ae7c4cd10c6bfea9048d9010598d262b60dec172398:0F#@b518dd31c77d976e9a0ed0623a84c0fc037975fdf6a4775e0c95c57eea00b5a3: B28787459ec74293b85a66873bd1961a8ffa7a719c4a429f8e93282e931961ccf:0F#@62bda09b89ac5dac553755e08de8093d3fff99fb8ebd7315f3a7353506f1a601: +Bcd8a61a6824eb0eb719d3132445b3cee0f9456c28a12ba77a2fffd9ad38e58b0:0Fٜ$@30e729e473926625f2e50677b00608d5909d3e7ebc167c4be3d1e1094cd51d05: Bebc45d7e163128d55ecdc83a0dcea2c5e788f8612102528fe946dac0ea977118:0F#@0d5629122ebe0b2e605f3cf8cdbf52cda5474bd14a7bf7a93cfc1708834d0430: Bd89d7ce6dbe3550ba4c478d601a7b14bc3de00a4194cb2e8da690f1f2a68e3fb:0F#@c47279f25007d63d37ad2b87f9c6b2c56e21e6c9c48dcb4d4f09e3fd8414727d: Ba560e3f959cd27087137141f7619af3f6395deb88940b741302a5f4d7a54e864:0F#@b83d5f8b9a2eb7585b64059817b335c9014a8a54f4fefebcf1fde0f35d82cc7a: +B30b9c41e2d6644ed1ea233f2e7d39a78f272376871ea2e1a47234c95505b22a3:0F$@5fc78c48a451f73b7d150e9e1da71fa15fe67a789182437e2b608196bdb590cc: +B1d61ab5463c880a93999a01cff05370ed3aa062ba09e24f2faab7cf4945b38d6:0F$@1479feb44752f28c04575d9c3441c4a08aa758668922a4b4c9e9b04ab3163e2a: B289fffe55f224a4fea7ffa85f6d7551a7d2decf58f066f16b0731de5fd5e4d68:0F#@acebe855ee832205e912eb24d3942d8b19aaed3f632a06ddc1f1724f06e8d1e6: Bd3c6cd8c6aed06943fd868740733b6c9faf2db80db713198b12af75d1b6326ee:0F#@a954e9cbe985292354dce859ae8462166086bef289f669e1b0326b78302ddbd4: Bd3c6cd8c6aed06943fd868740733b6c9faf2db80db713198b12af75d1b6326ee:1F#@f9801e5958b5a453e687e7c7c8a4d0f858d1c671a6eabcdd1f23172589e1314b: @@ -100619,12 +108162,16 @@ B9f7676e39999bae5d2227f7b37500cb3f3f09beb5a311bd5126188925f5b996d:0Fϼ#@840b7 B8af9631571ea619ab3cad5e19721b36481bf07490243e6f359b86a774bc5cf7d:0F#@0c01f9818ee0fe44ef84dd3c2361d5ee0ac711bed1730a0fc4bc8c56be8de1e7: B79d1860ce6ca6a05e6b81edf059bfb06657b247a7de843222abb486a9fcc86cb:0F#@3128af84f8dae51923b13caaa0a53164c41507a6bacd4ff901d7b19aeb80f0e3: Bf08b100815118cddc526b324b9d390dedb7ad8223c392a8149baee405521a086:0FÛ#@8c28a4e0f955288cfde9da7a32c93c37137cae80eb18900c5bc104ccf9b85043: +B583bdbfd2b7ec23e608314725ed59d63a679074450b83fbf7dfe70f17216b69a:0Fڜ$@108265d1e71f2a54a501851529c729c391bb81681a98ab5eed3d8e2b1184ba93: +B8b66a3ba32cde7b4822022379bd2ecc2a731b5506243e23e6ef530b2d7a77967:0F$@fce417803756fe5b9c9de732697ce1d59bd65a8f32457d28352900740a0b8535: Be51b07e183e81676745751f69e519b3dc15231ebeb3d838342ea6317533ec2d9:0F#@be96f8e6060b254f098aaaa10b464d2ba08e18696f150c808134e0f9b12fd943: Ba98d8c5678068d4c1e26cc0d790c8b85a180041a92cc4e8ac13af039eb132e4e:0F#@1c36769b6e229e6e50088aae0987b348894158d26ca528ff06693b5ce0f5a3f9: B00b74ae66561530717d5bdaf0d45aaa13685c05a133578e72e29224149c5fd46:0F#@40657b2c643fcce5da4507c6c39da6be7535c0504ec2fb137a64f8241f0c7776: B685c120669d32d21baf13f5ae653499e57776731063f8b644a52d2419e3d3a5f:0F"@37b490bb170d3e75c93a4e3c2e33b10ac58137a8525082c9746925c974541528: +B94ca650fd67138d533fbaa0d06a48744e8960c66d0abdd6048dd6bd6a6b00ffe:0F$@1901ace817bf98e4c221b949fa3b224b7220767d0602b96b413fe6e4e09fe562: B37fbdf13572734ae13d6b4c4429f65b1596992334950766b1f0912a19e1ac4ac:0F$@726b3eb17d30a80b56870023410fa10f50c5afe2da16e5bf1075ded9aa5da676: B15bfba8a13544f3469cf99ab5fa11d0db9ec7ab1295995ed084f3a15b78dfb9a:0Fԟ#@a3e441976107c668e9a4ea5950f2088331ee8690028f318af8cfa2e8c759d660: +B87542378b850631d30d30a247b681a9b14cc6bb16d5c9245214a26be020c9918:0F$@9f5d5f6c6cb3a664a209204fb466d2b4e32ca4003f2717cf35b1863bf1c3aada: B99826f07d5ae5f0b213d4e8b521bc50295f4da0b04ee84d13b902df8d11ccdca:0F#@8f61c5130f1c8d7e025b1ec2722e73def26c72c4fa1d949f3285473a7558d5dc: B4f1734ce08b56737e3c5cd83121fcea4ad1c4ec15a35924f640fcde79264e2b8:0F"@1e2e1f525bbeba803da0fe2389aa64c31fec3915b143f7f1aede6dc7ee1ac7a4: B8831a92bb686e48a177293e0643d29aeb0009ed89c8167381ee01bc0b1b9748f:0F#@c52118d4ee0b283dfea8978d1187ca8226b2f12838ae5f837fb1627b05cccdec: @@ -100651,6 +108198,7 @@ B2de3e14534b4844aa76241a5fec5d3e5d4e15d16e7a7a9a475fc92ac56d07c3b:0F Bec1c729a07275eab49c6d9f2238ddbaae3220bb6b087fbcfd252603eb8c656e4:1H#@a7093123cea2b7ba5e90802e48edd00b1f972345828eb3ccb5af63e3311d933c: Bec1c729a07275eab49c6d9f2238ddbaae3220bb6b087fbcfd252603eb8c656e4:0F#@7ed4fad35d42c35e1bf4dc1471d2d2f04ec0fc1bb10beabeeb1363cf29e19044: Ba7a8448dcb4942acfe3ab723d857a55434ef98079853a6844eeadc523b3d4a6e:0F#@b31e88d8ba1c4d0d0306ddfd1b938210e771cb835dd7073e1fe276765b2f2fb2: +B6c2bbcda8c1d0388c2102e15660de097f9f861d3fc92b2e10f7ab338b6293ec1:0F$@2be979aeeff52e982829fd26bcfabebd47d3a13c9b0b13fb43167dccea12380c: B803a35e8fb57231f7677869b3b820a4df33976bba9c359720cb57442ce5fdc50:0F#@de15873f0583bad9f94917b980989eb00bedd6c3a34bd183301da0bb3d75529a: B1fdab92c300de86258a4571a20b5b16ca9a1a27cfa2c073532963e73b8bd9221:0F$@bc5c2101f4afb8cfdc25e1a3e1ffdb1a94a4b5843b81fee353e6016b8cb9b418: B98747250893addfe91600078daeb0b09d2c367b970da0fa027743d1f20c182e5:0F#@4df10341a029813a1c99e2670ab60f3c70f2d08b99eef39097f870f116395624: @@ -100685,6 +108233,7 @@ B3a2e8d54c9fae177368079e66531f1d3c65a98333a9998ecef5cd08037d7f3e4:0H B77a5de9415b89c02d0b423559b4e1fa8c50b084933a63883c1872754c342014e:0F#@0f25435330f898b09885cacfe9736ff46b2377866342039774cc7a285190c7fb: B7b0fd44a4410da9a45dd702525bfee9e01ab2ac5ee94e1fa0bdc96061167f3fc:0F#@31642abe8c6dbfa9a6188f1778185ed1c343a9d8b4b759fa473a7e5ccaea7607: B809017dc5775da0e6a0f47446e9b01a534dc4b14fda98dff80ddd80d616cd000:1Fʇ#@f3fa2f3d22e13a65d7c901eb750259cab0fd2d95dcd3939d9ec1cefa0a9b3899: +B06fc710a122cbee79c752d521720d1251c5d9295fb997279d775f010b8b914a9:0F$@2392ab2f2389466e8a5c3b942c0a00d2b1d13ca142bbf51a1f4bcd496cdb89af: Bf96326b87f1ce3b741045090ce6d90fbdb6ffe8286d0a554b7bc134af45822dc:0F#@3c5e89f33ba28c62a73b86bbe3632054bb3356361a56411a27256aa7ccaf8ed3: B31c6b6ce768ef42e3baaacedba05eb906cc6cc93d8a7034985752ef622d64e37:0F$@39bc6e5c8466097e0d9ce66ae7daea17f2404d86debf747a0be8aa641f5b9822: B11d6bad8ddaa5ca7bce1e382987e3d7622152decd0a898cd135eedc334760350:0F$@8774e53b4c590216c49d75a4f62551aa0c0f98f7e7530459d0ebc72145debd22: @@ -100703,13 +108252,17 @@ Bd63664c25a6d30e0f0f6b696bf12fd07dde10292814ec9dbf95f018880a9e7ea:0F B2f93bf62026f79ed8277639fbd04bb5c9b8ce99c36ce7fe585644d00165a852d:0F#@87512ef5cdd00977991a04bfb73e6810abeda7191e11f869ffdf9e3b8ffcf311: Ba7be2c127028822c243d2174127b19344b00fb827ef063b76ed498111931e1a5:0F"@6e371b515f49f86798768733291c9d79d08adb5469dc6902e111b90b27f42df1: Bd05a657233b4db41652b561f9d567c68f1f807547d50bef951e15d483485d526:0Fߑ$@7019737ef9a50cff80f8cf04c9dd26e61a799bce2e6eafb5acc9db458a9eefd4: +B1cf247130d0bedd8e100919531481ffc11e249f7f3685c2af5638cd4fd655e0f:1F٣$@cb2348457fe41278944734c5b3e8fd3a1f62d0387f820b03c83d960125b5cb49: B3acd7f0b038f5470b6be2c34f2c296a2fbf2bf57ef4ceb2fb12ce6b3e20f4d15:0F"@49232bdaac6056b00866c0de354570aae416c238341b7527adf78e11b3a73500: Bffd843e62bbfb8aa09c60cca6d346e3f24fe0ec6e61cd0fa72edf399f16ef3a5:0F#@fd3231cd39a372f4cd72913a15838431b32e510aa31bca683d0b48f903f93358: +Bfa0a5eadd51a1c59749f486e6ef0b4623e2c3901650598a2f6e5c69c1705a7ee:1F$@2609e0cbccfacc98642c2d64608d1e0957ac0a3675e743a62fce27b8c0c1b974: B1490a9dafd3963c868278e8aa5b06af0a5e3ca8cc8b5b60ae22592e98473e3ff:0F#@f37d9f83d44e43f831e59e651ca7c9898c663707cf2eef02ca2996acd1dc9a81: Bfa0a5eadd51a1c59749f486e6ef0b4623e2c3901650598a2f6e5c69c1705a7ee:0F#@1666fb8b01dd36e45c14ad5b99a055133d13bd8e9c4bc30f564d91cd0d66888a: B0705807f9b6db7c6079f917bb957d9def33b20dece720c9b5a02a90db4183cec:0F#@ef3782d1f5b67a7603720ca6bd9526769055d62844873556b4f82c908bc3c34b: B939c06b65e8d1268d529455b15d03e361f9735f681f6288e142499f50b7cd437:0F#@7bf8efdb8e04249f4e65c886489d978754c9eece3035c01b4b6d56e88a91f311: +Ba4eaf6930e79d5d8f92c14d36069bca2d82199c572f6b0fd84e01f0b662073fb:0FѠ$@70a583abd81264f0019c809137e45861674de5615eb3f90ffe1c29301ff6e891: B2ba59c9c5c93672009de67189dd3483121464b12252bc908b9b8da250e51c17f:0F#@9149c9de1712af59db8be20ff2ca54e45cee013d6f1779d2fed6229506f7f527: +Bf66be1cc7020994f3ff6b94b81be06144f60ce09bc4d6e94cfc0cb8ba7389d44:0Fۢ$@7c5f927c1a924493a7ae86c491eb18634c14cfa65a828713f31bdba96a562ff5: B1157e6350c9e1bbe535b5c36566de766d70e43ab9a91cb14e39a01fb21c9e962:0F#@5e87685a4de7b8f31f1d76bb876b5e59783f3dd0962c81688becd3a0c3cf10b0: Ba20579bee2e052f953007ef7ac15ec053af6d4b18e95b2e2531ecdffa2471736:0F#@3c8b824b0457363b94f9d92d79aa22d8d41cd2ca3d8a60aba7e31bc935ca6454: Bab268d370882c375002110e54a1f7860ccb9d87e8d8b8f3204adb9472b18a660:0F#@0169627a43f078dc1ef2a5739d94523c81d9dd649bca5d17bb1c530edab45284: @@ -100748,6 +108301,7 @@ B13b71e0b0e381a4bf7a80c572db2760a0893d76005b3ec873da3aa209c9f0ee3:0F Beab209dd3a1ed2416b4b802833273a9dd17bb38f1227fbca1739533a57727223:0F#@a7bb3d86ffc20f8cad8e78388ec55c2ee870daf18a57758a53b6b9e5caf991bc: Bb3d648f4863c919f3d233833059e2da15f08fe14608a804275c8a1f7ac2715ee:0F#@c3ad22604266a45d5a4b82e5705274c6853418d7002f2967034d9c785806fa97: B5d71a30c57d054144b925ba3442a2cd5d71bd0db0751888feb854560ba1be6ff:0F#@da13aa3afeab8318fa0c856ee127c292b3c5f4710259061329a229237167815b: +B84a260d41cdb1a004bd041b92605442a476c76dda9273e2a5daafa04c58aea02:0F$@b0630fb922834950005023470394f8c85a5e3b5e9608c14f227336361140c1df: B2b402985969caeb801bb612b8bb47dce3610d9f033317485c1c92adc90a7f30d:0F׈$@a24d829328cb6514828f29a0fae9cbfe79ce6a4d05b276ba0aa446efd64b9906: B71040639b7e414458e5640e1ce4a883f5862873ea833520c377fcc8b7701dde9:0F#@c81839c4541ba1da9baf61cf2ed2cf73f18f96dfded2eb590c1005e29218e341: Bec0d7742864c2e9564f25838777bea11e239247bfe7d12bc0d4ff1936f16ed00:0FԄ$@3bc94205b0cbbc49e9552fc5143fe1e8969d0bdf97e862bc1ce2dfd088f9e2f2: @@ -100767,6 +108321,7 @@ B5d877307dbbb9c22370a6126f8c0864f91e32bb5e7f714cae613298e89279fd0:0F Bea9ddaf76ddd18da184ee5ebdd578b773a95ae8d66b0ecdbe90e8d4f55c6d479:0F$@6adaa9dfc1041e5f03c9d6a6bd1cca7d0152ea9be44e1b103436b8d44fcd48ce: B10858d611e275722d18a580e6f860fe6b33a9187de31131a888baef65e19e7e4:0F$@0237da5d5ce155fce5a77227487ab2eb8c2e1ce2782576c4226784be15db00bc: B067fd8da9d697703c23d4fabcfbe5e5fe9f7bcf9a7a70989bad1ddfb1c60fe1c:1F"@2eb01282b0c0f55339e17f4f5be8e3a0ec8c0040a95f0a5419890221bd98c43b: +B8948b1606eea52c2209c724d6eed904a264e4e86743405a707249625e3dbbb46:0F$@ad64a1eb1587c508bafdc36e9d13a2140216f5189376c3b62519bcc070ae5807: B067fd8da9d697703c23d4fabcfbe5e5fe9f7bcf9a7a70989bad1ddfb1c60fe1c:0F"@04b39988d9f5a50e5e3ccc1589fae149a087337784884067464f47db6810cf57: B846aaa23d55664b17b331304634a1de0524feeb2fc748e47b17d66bf8d314544:0F#@1ef4eb8da3064ac685ff53c7a155f7b2366ae9c9420dc95f412954a8929eac66: B9417a8c5f15f76ab6392908a23df400876f3770fd977b283c99be25b94eb1c07:0F#@1e9e228587640c87efb7d0298be38bab3b678f36fc27293b8bcd0a40f3df9965: @@ -100778,6 +108333,7 @@ B1c739a3b576b203b1ef2c81164677da099024ade1ca4c81289dbffdd567fbd3b:0F B8d50f6bda2f55616f6a7c67ad6d2c26b4b33ee562a7e5d9eca756f9ea31a2ed3:0F$@b51e03051efd86583d40f5dbc3a3d3ac267ad990fa9793c7c8cba068c74e1894: Ba3fde5dd7f31dc5a33bc041a07d507f39931cd25c94b9c77c7f42922d7ee839b:0F$@369076adc07781b4819682e25e3d2f9362eb861dc5ea59e3d8dc14f3889aa0ca: B787a543e40bb6879979ad76cc922e8d0b5105cb53542c5320a27fb6c160625b8:0F#@1d9a9c22f0be40397ee2fe25d43cf58629fade4b448df631f53fe343bdaca363: +Ba697d9817bebe62ca9152a72782860e9de54cb34bb38c12dcec9fa7292e54e69:0F$@d736b0b0eaf56fcf16cd0714ba5056485069f2c417552993436c5debf8981fa2: B5907c48485415673c8e4b8d8eb8d1e9fda42d8cfb584bb524bc7219a24aca64d:0Fͩ#@6f68ba572366b1898d4c4442bf4940c559164d8c4a6fa68d10c1510e7a0b81df: B05c9358d75aaf496bc421bbff95ea6d3a7bcd926f0e0d30f57c6ded69a7179c6:0F$@a08099188b28ae031af849f31c6264991c0c1ed9dbd379c7526e1ebac2e544a8: Bae5907aaecdb861958ce8d0ecefc4b36313c7bcd7d861f1654fd3cda2e48a3af:0Fdž$@d5c88a1acfc91d5c105d54c9b10fccfea00d66f3f8689368cd9f1d226d936cf2: @@ -100807,7 +108363,10 @@ B572e26eac94da9acbc7ae94eb3dc4f874bbbf4b107ca6097ae283c8d7b7f881f:0F Bf26f749685cf6eb8b967bae83943a616781b19e9dc8e6e6814c085ed43173aa2:0F"@cfd239ef31146b9f264e4fc31a96b9da48c2dd7cbb1f9fb382ed78771f201c68: B94f68bb48dbf88fe953be49c8a53b05103e8a3151c9b3ae74412f1f75dca32f5:0F#@e1265e336594e9e72e5c0eec8a1c0c8e7924bbe9ca7187401996d509744015ae: B5bf693bb8cadd210dcf22107afd7bfc92e5f33c9eda7f284ae66e0dade1d098f:0F#@ec49fe70d6fdc8ce6c554c09074f8a123846d87ad4e43013ffa89513451f09ad: +B78e59929559df6879d876df29fc90a725bc3c6c8c67c3bbffb603e0660f200d0:0Fț$@f0da353289705f13e83ee451964be71be50bf8599dd572884ed87bf0bcee195d: B3352530dace8038ee650cdb4c84c55cc80f83a8b9e29e58122f7f65ca498fbac:0Fُ#@183e6b848bfb4c30e07c8376c78062a2123a51e180f13f8ffe5903822f5f56e7: +B49aeda46b32648aa684478e3d623aee9c258765fdc0aa6b98f4335cb4d636882:1F$@93d207bb72a49ed27e0098bf61956cf764a7064bcbb67f97643f622d14adf227: +B49aeda46b32648aa684478e3d623aee9c258765fdc0aa6b98f4335cb4d636882:0H$@9b3fb8c5ab53b3cd784862b6ba3e7cc1e711d74b03ade43935fa4a775bf56eb6: Bf0501a0fc6120fd4b812ae57bfd88aa431d8abc6dda4b872a885ebfe78128f0d:0F#@1a792e0057756c994df302c0285d7a55f984df8ec4fbe424d08f596feab24f75: B9338e6ec6e14d278acd02aea8efffdcde33e3fcc1d174e5c05067a2778993793:0F$@8404073271f9f2685ea70c431b0c3f9e4af38198978cbf0aace97493f5ac4312: B1d2a4b8d949f58328b9de833b1ace560542d9f36e35ac46e91078de83e0b9311:0F$@cb968cb7781a42aa6598f5f32fc82c6a36ebc6e6ada87361321b5dd0156bdff1: @@ -100863,14 +108422,17 @@ Bdf3fc8d74d8d4992f6f0ab6deb150eb00f80d044b87550ecc3f0add34bd5f8e7:1F Bdf3fc8d74d8d4992f6f0ab6deb150eb00f80d044b87550ecc3f0add34bd5f8e7:0F"@63212fbec01954b735c546a71144dfbdb98c7191fe219d88b5e0b490d251ec67: B82e5471c79978883ba5427bb355ffb024f7260c9817b338a6ec85d3ddf14400d:0F#@99f7724cc9550faa1cb9a8605336ae02c6c150deef52650bf1cbb08a68a5783c: Bffd9a73cab0cdea59ec9868007ac629682f437994f29a353d55013a6029449ea:0F#@43e1e09cd697e9493545138143989c8789935f26700992115077141fb2abe0af: +Befd972f4b9a377e23d3da4ae488c6e917024a9ff5e855eb5cdf134087b524bde:0F$@2835407ffc64419bc20f7ce7a2d7d56d9e6cb8c721782eb449879a51cc408002: Bca6216b270d685012ebecb379c8861d595cf36b267e6208e7d41231df937bcb8:0F#@694194bdaf818d3eab33908c2ef299f4b999488ee94ec29a9d2553792acc6cbc: -B30569295e77ce181c285d2912e33a2882a0416f0dd089d4f8be5ce7f9748715f:0F•#@18cf19fe89343fee37f9993247b34399ba681dc9ff4813ec88d97f81bad091af: +B30569295e77ce181c285d2912e33a2882a0416f0dd089d4f8be5ce7f9748715f:0F•#@18cf19fe89343fee37f9993247b34399ba681dc9ff4813ec88d97f81bad091af: +Bce01801ad24ff4d4720b801440c5370d796958bac8e7117aa78c764f98c5dbb0:0F$@3eb0f268c5a47da62fc0e68225c172c2425b5fabd26d64049e8c2ec73f629cca: B479d701940d542c795e864415db036c6ac1ca54ad32657b698841c9a664afc7f:0H$@e46e998513cb0a072d485868b1f9a31bfb00cf23e0d0b84602638339fe494a9c: B4f0f3d1313ebee45025df9850da3305e4f4392f9da1f5a3bb9adf1af32270b44:0H#@822f5b65ee82105e44721a2726991749596127d7de03e95b6ef4cf0011593a47: B479d701940d542c795e864415db036c6ac1ca54ad32657b698841c9a664afc7f:1H$@e46e998513cb0a072d485868b1f9a31bfb00cf23e0d0b84602638339fe494a9c: Bb013f9ae9dfa5cb1e7d9cd8efe570405fccaed95bdf12d33f6067b7133f130d5:0F#@aeae82c66cd5618e842f3d202f8a894af1ac694801afbb0700684631c3a5afca: Bf9c92487e52159ab42e96b50b6f8c73371c25ecc58d8319267cec7bb11a8e6c6:0F"@ed83b7b9ed54633413ba283cf3ab4bc84375a1d1c9008c0647e6acdaf7604663: B1bdab12f29445445997b9973be859b9c551ef11e85ac05b9fdd0846fd9d4fae2:0F#@aa0a966a6de898a9cefd2ab21e98870322174ddff954bd30aa2fe6bae10db539: +Ba5203d90db2c05dcb72edd670501eb7a1a92236bd05b6d94bdef8b371c130306:0F$@d30e00ae42ae4c005020ae3d26b31fecd2f6296b6a7f32ce1b4d6ef39d9453ec: B6a58ca1944935dc49a51afd1049eb6328fbe7512b7d4ef3c978532814e1cdccd:0F#@11590990ce94488c8141760c89313979d79f74c72ec28ef6ae35ae206783fbe5: B04c3ed3b362522b69ea1120049a6e71e08ea563fb0bb2f6a45ba5bff8a77b547:0F#@55b15d6d300fa646431d60c53fb324e5faabc427cfb31f6f1d0208b9213e7451: B863fb3ff34b53e0c38b555c61f0bd33089cab2f03392e385431a4e7a6a0ac7fa:0F#@8287595b1880f60fc2c22ab87376ebe6da2a453b6e3675dc6bfc14945c184861: @@ -100908,7 +108470,9 @@ B501db752c04e924006c405d963dbe59803af5705f4b10cd3b8da02d3220f943f:0F Bd0f540b1d118b7f2104a5a6257cb2cc175718c5022044cc27b34b776d355d1be:0Fӟ#@7501f74087fecef7980bfed4bb41db45c953bd25e69d4dc6a711808166a7ca13: Be951fa3a4a00a60a0f8fe337e3adecc1854cd4cfdb8c56f6c4f9fa44774dc2e9:0F#@116782a3b0d525d28c07634dc5d1f67841c1009755189a666a43d44a9bd45674: Ba984b5d736c5777e098aebe8065a63ec3dcee480bdb4782ddc1afa380448fd00:0F#@4bbc125ffab5959f51496d0ca62fba162ed56f40b7b786928ebe1863c53e843c: +Bb40e2067b6793ef64d48009d237e1f55d3141c778f000ef6954dca73a5a72104:0F$@95c2902a6687ef91b4592df45fadb08960c16ef3711eb97287842b9dbc3e73a0: B44f77a021c90329509244588e996e100628f9d842aa1e285811a54d9fc960c17:0F#@9fd9007c7086f0f1913d1c0de0bc26e037b2635a15663ff25477f613d2ec68c7: +B6c6fca12ec6c3dbb0b183e8ad09896b8a24aa56586f559898c78b8fbf7211917:0Fʜ$@274a244027a3134b14d372433235f9d25dedc4e7adc4e4abd7c57e92346515c7: Bc113e61b5ca4b306b8ac8098ce62982bf03d34543c192244e71bf6007900937c:1F#@164eb94047c61ae9044fd9bf734b30eaede876a212c3686cb71f6009786259f7: B57a9daa743621d0da2eb648a1620b4a8fc69a730e8eda40e970394dfbc677181:0F$@cde5efe672b7c8dd6f55e3a246bdbd43761c12c21638ec79c9e4729cbe603dac: Bc113e61b5ca4b306b8ac8098ce62982bf03d34543c192244e71bf6007900937c:0F#@2071ee8c654f2cd142d7b963a550e3ab687c0acf96cabadcefa0636280ac2478: @@ -100925,6 +108489,7 @@ B85caf3e4706ceffdbb6e2b4f198703c838d2f0e44d3289cf9256a7897e7c49a9:0F B6854eeedf39647d7cdfff4d8f3ed77a4afb89c647abecc6dbc4b4ead54388eb8:0F#@12ee7b3e89bfc826b9af729ec15a925950a5ed3ce1ee2ccd93c0365a481ebcc7: B4f59c2dceaa2143cdb5b8f89061f44f1bb056028f095c7fca7492070f0d7e4f0:0F#@fab12ec3cde164904fc84707a5432b368c1f92d57c9ac6536d846b8d5b76d530: Bb83d5f8b9a2eb7585b64059817b335c9014a8a54f4fefebcf1fde0f35d82cc7a:0F#@f9fb6f05cbe3e49e847c8d2468c7f244562b0f6b935414b472a2dfe6a0853b01: +Bbaa109e45295c246f41d1ed3975075fa760efd1b6798c2050c7453625ee23479:0FΥ$@1d5057485d11e05bd399023801e2fb694f91c62da64b507c7125f719d9d8da8c: Bfff814aab46be48dc4d5a677f693c242c93162340d337eaa2af8646f1d936d2f:0F#@affc57d797fa1fd62241ad50a7de5c759ff873cc2354888a870a8a8edb26d1d0: B1092a3543268e12ffc0d7679fa14dfb5dbc42d40e3da01b8bfa17c8932af2f11:0H#@d884a27fd42fb499ae7df7d2b189390108766538a1afd65e6a4a1b4ebb52d834: B2eae34ca6d81bace029e87df31deeb8281dcfb3e787e010e396b014ec1ff9b6a:0F#@49b8864bd42d414add2725ff20886decf611bcabb6c20b442f5807d27260e892: @@ -100932,6 +108497,7 @@ Bc04fb54603d0de4acbb0eb813694df45f8adea917e29cd594f4a0fd54557feb8:0F B954cc5b1aa80a89ea8b9d1fbd69a564f704e8538ccb8575497d952afc0c7b0ed:0F#@49202593458cecd6f47c7db14af1c829ba651799be05753cd8a18596eb4542ce: B0b22366f6a31453a84840dae807c69d6a1ea349c40cde335af8d29b913023cba:0F$@c5f6e596ada0bdadf4431a7cbb229d309ac8c3458b5c0af84269945005153c1e: B1d755f1348bc50def50836245c034dee606e52eaf4b9f387af16f8b8d5dec8d7:1F"@a79777c5639b93a77a4a2e9880c64a666c1f88ea9a38e2f6cf714b9fbddd71e7: +B25fa539c525cbc9d6d75d435cd6955bdfbb20f202a95d39693759a2b4a9f322d:0F$@58fec4a093fcaf789d138cbebc0d5aedd6fad32e992844c85b6bf745ad0e3d4d: B43372c036e836a863f6c820974800509b63bfb47a35e51481b5c5be0a2546233:0F#@c47320db3158c6a1ac6255d1238c60b617911a32fd2aa5e0f5e9f08ea723e59e: B747a39168e6ec5afe56682c1e9a727e9ff4a3f34865fe1fc6c0d5afae21bebe5:0F#@cd1efbe70cb70f850b12e30e689b20240e133ed4edf99de23dad0fca1a7e0aa3: B6238b7e9d02d2de07be861c86865f51fb09a97656f18871ffcbd69c9b1eface4:0F"@4b73ba2be6d4a59d97e8e2ff47bb16daf23ff6579a28f735e70a897d578ef37e: @@ -100940,6 +108506,7 @@ Bffdeb236144569159f05dfedc236093adbb41acb0b6e830b94517a7f405af0c0:0F Bc1869ece97dd0c6f5f443a3611a89ae10c8894a8a10cd59e589df6fd5690544c:0F$@f2b0b2c852f0630ff682df7a8237eb3b92911d9a85bae29a74eea9037eaf977f: B55910969629856a48ee94f9294d97e82c2acceb086bc166a52d1b65501626af7:0F#@0dba3b4249c2ada66ebb22fa1fd9e53d613ec32b57fa6808415e60b799f8d164: Bb7b5351e45419dcd15124cd3f5bf324588bf5b626f69305f70bfea950eae0fb8:0F#@3b8853f2bd39ee1ae5e0e0eb4d083eb1fa0a78a24eee77b8086e63fbda51469a: +B5be468264234a9aeea07613e60947e204465bf16fa2e3eb64964b9c5c38d405d:0F$@b002c1c0486344daedcb946feb498ef881bff24f82a94139ee1d110a803b9a0e: B3f40ac8a1fe42075b7054f4976946a966c480c9da78d07d8dfd754636e398ef0:0Fɽ#@ecbbf7f771cc09a1d6ca81f48eca146a882586d9c4dda32ba0e38a056959ac2a: B389f173f04eeed05e22f5bd7de5b383eec138e48860990960c30369877f2e7f3:0Fҽ#@b7b440f3df54f230c5012914751f1ddbbc0a63f52f273bac7b108b14b28890b4: B22244f631fd373a71404cd806e615c348efd5e58eb27890a4abce42fcee7dcc9:0F#@350b1b1c461db017c62f0f8bd2fa08253c455907a8b9299fd2816a4e24420c11: @@ -100974,6 +108541,7 @@ B1c533733394f5ee6759cc4f74c8af5cc2ca04ad489b35c545d694e3a7eeb9947:0F B19562e304f7b02ce06d6887f4e9ef8e52af6ef27e843170c933f9d026d5bbb15:0F#@4e093c3c64cb7eaf4e9df301b40bac7a7d1b2ca9d8c196a0550330818b0928ca: Bd852e7ae1f7797a3c5860a8951151682614d8a9a0cca62c54b6ca9f8eb700e27:0F$@0c48ec1b6c3470b4a20ef8de178fe0247fce1eb436c875ff373811b12dd2d147: B354c70536e06ada830279b3b8dd5b43cae3448f2ae5e7bac5992a7e357fb495f:0F#@a7af745bdd4e51a4b856d4cc89a97d4a199da6e2c67c651a60377cf54e905c7e: +Bed1eea7692872746fa51568573cbe87b4bfb21912a400472483cd69fa99b9659:0F$@af048eff07c83bb2bbe1d8a898426ff04b32fce7471982c4dbc3d18f3605e684: B53836e3d3e7adf0d574149703b0cfa23f01d36929769db57c52f44e9336da725:0F#@07d0dd8dec48d58408db7e708b0cf7012c07b2d95038f9ad43978d14fe310928: B7a32bab2238d3eed0057a1aa374fe3ecb74dd3a343e69411a04b041961b40ced:0F#@25ba90ec32dcf6b55e95d0df63c218c63cd59c043b437f31c66b094112a027a2: Badc51cfc3f5086e99e803e3808b78f1cde661d0c14167b604736ad0a7d250f46:0F͏#@6eaaa71bf1f45678deceddcca0b5032c0f40d5da1095e876078ccd7fd2b237fd: @@ -101004,6 +108572,7 @@ B7293dcf6444fd8cd253adb9abcaf0d246314a7b24fddd99270c642fbd63375ad:0F B5095ee18b7ad637b90c9067764e63d64fc6e6e88e2d35544dcfb6d22a7a5ddd1:0F#@94db11e01d02040192e5408f697c52dbed7584f002da243b77d260bc10d5f11d: Bf71ac15e7bc41b7ca69a4eae221d50eff994c74b8e42d97891a34714501ae138:0F#@19b7306ffa38b6c3397819b67c39419a452896bc117b95699d7caa6fffe4624c: B6ba375618eb1045a448a0d45c0b3970d24e4851fc3760f2fd82952e378232878:0F#@9e7f24fbc061779f679311bfc73ca37f3b807d5baa3ab072d6288227cf7a5e8d: +B3068e6071b9bca78c81fef1d88e04a44ea117fb92d25e49a493de57bf13b5950:0F$@6f95117ea20544ed040ec7a2877f7025e9020cc642ae1aacad51fa1fe7ccad91: B99d965a15954b7e35312234b71688c14bb78d2c16a8c4eeeda576bdb611392b1:1F"@fec9008d697323b8c505a5d76c1f62e07df9e98b1c638555cee96b644a82568a: B5105112636ff2a8ab4cb92f37e957428d86c22aa67f5352f519df183cc91b4b4:0H#@5ad74c3bf8a2107b45738cf51ca434d4d75eeda57ef4f3fbb2da4827c59022d1: B99d965a15954b7e35312234b71688c14bb78d2c16a8c4eeeda576bdb611392b1:0F#@2f9b12b0cfa4d342b9a5caa485c2cba28d126725358ed7afd299ccc9a3adc97f: @@ -101024,6 +108593,7 @@ B76fb952b8d49649abcef0b7fd8a005db090d8b661198e86608add87ee34d116a:1F B117de27862a75fd56ddc90d0e3ef85666bd33f647f77a6a881ca628ae41ebad0:0F#@ac42c3b58c7753ebf6597fd51b5713c8f919d20bf1a411c9e61dd8ef733717e9: B85fc8dcfc8810d163456223827fd12f0c616e5c2fc861ed88dd6e3d63e7accee:0F#@d2b9aafed34858ecfe1cdccec34e7f25d3f400b6d611b6a0c9ea0d577919f68b: Bb7c3be8803fdb3ef2c005ea9659191c6b0b1f9d7eba31c1174940ebc0a36c2ff:0F#@0f96737f60cfdcf4fd640ab1cabd03a6b84be77a4c46aeacec4243fbafbe95eb: +B9c6901a251e426d47979314a8b8a9769b6c88c480f4f7ef96c32e911138084b9:0FΡ$@f830f4bb92bd99f7b3b49f7a4713f50ff3d6fc944824d56b3680d40c080db5ea: Bb7c3be8803fdb3ef2c005ea9659191c6b0b1f9d7eba31c1174940ebc0a36c2ff:1F#@c98d33382705a417d15f92efa59000ae7eb54392c5130c52de7fa3149159d2d9: B806290b4827f3de7bbdf822ee763b731d01ea1fb9c340311ec15490256cce974:0F#@f72061b66d2f5c32d9e2716a37e3d9dbabdbf9dcb35973be4984345a658efe41: B70536e0e386f98267b48ae904d1ff48f2003902de564277b242a118018a91b11:0F#@c0d199f5dda66edcfbf25a51b7a49bd759a5c122b548676cf099b5e03b3d83a0: @@ -101058,6 +108628,7 @@ B0c50148b25f5dccfad7baa405f749aa5da422a745bcb2022a7cba3a7064c26ee:0Fڰ#@2ed17 B7177eb10e69787b3c6b6dae6a5c201516a5f9c9543d7eef28f5de6f2f9988c6f:0F"@c0dae019df5746861de6eda5dc8ae12720d7717b85630e494d8ec0ac9094df09: B3d252c40a9915d172a596395a75336f91f4c8db6b1d61b69d5a6a94f76f2e0aa:0FȄ$@5bfb9fd2bcf4d87fab4b4e11d5f64d0251bb86a1b31dba200567ca66d8d8b435: B1dfff6459deffee1907b167fbd95e47872887a02118a38aa3ffce277c0130207:0F•#@c5716afb7bf95e52e1532f1df05654f9e95a49f7de8258e7035675d02c3cd837: +Beb47e3f655a0e9f00ec87e60380acfe69349c7187785c0cd517932b5c2eb592d:0F$@601ce673b2602c14630ef9046cf26bd742dc6f20e2f2deb4505f69aa7b7779fa: B3095f8ccddcacce21bff30a6d00690a937c0181df87065fcf45a7709a03a14e7:0F$@70aa4804019154431f2f3d6f1d73c0eeabae1eb5a968d0c67b2c01598f8be343: Bf0230089100aedf8dfe47a9b9eb6a57a772ccbc3788caa8ee1abd280e085910f:0F#@89097c2bd4817df39d0a0741aadce0e69561d6719bfd37d452a9ff870ba2dd42: B2a0daebfb76c8bc02c269a73c989521bacfcbb3ff17fc6131418e83531217aaf:0F#@ffd9a73cab0cdea59ec9868007ac629682f437994f29a353d55013a6029449ea: @@ -101066,9 +108637,11 @@ B42b23da2f4a8074b95866abf286166bd3ca00652ea2ac498beb735c3f4f4bf96:0F Bffc33069baafc36c2c5f8fe82e26740d582101ad7ad187fcbdbd23c144be9533:0H#@38253281c52d4db0028cd341d9789db1163396fb1537a4a3c0787b2a4fbfc606: B42b23da2f4a8074b95866abf286166bd3ca00652ea2ac498beb735c3f4f4bf96:1F$@9eeb2e6d3b0909e6081cb6ce775981ff9d1ef14a291d3277a510dd7a238435eb: B88f8e70152d8d1ccf9f4f8170882f432c4620ee7b66bf8fb4625e6661d50e772:0F"@d4d62af237b9cd4add3de3a1b0179db65659483fc46ee3a362e4a153bf14fb32: +B3f9259d57b8aea5ee391423da2ee49295bd78eb691a682d4ee8961586b5ed28a:1F$@6fb176841f508b44295fbb4d13128c6da9de006c692237f930cf3d0299afeee3: B9566b049d20e82a4f1d1caad55ba8abad765c68a0ef1c115497e24cfb8173fcf:0F#@1e78c136f006dc53a849d0a29c2e65891c003bbdbd6129785ef51b69b050a2d5: Bb09efeecb23a7e98f4de797168a69cc53cadb379687dc66302e2ee48224f5526:0FΝ#@1e2ddbd07be200dffd9e5fb77a8b55a357374ccab3cbddd586549a7eb22292ed: Bfaa58054eceb516787c5902c854cc7d3bf268eeb713455356b38103efb8cdfa9:0F#@a974ad398c51eb2964a27bfa881d5f3eec5f8ded3b6b95a443570b5c66f256ea: +B3f9259d57b8aea5ee391423da2ee49295bd78eb691a682d4ee8961586b5ed28a:0F$@e355ccecc3998932fcff0f1e6cebd8262c43e328a38418854933879adf63c41c: B11970ecae3a2d2672ea909769571dba321a26cf2dfe15756549bddb0dfbd4a68:0F$@37942128c38d73bf6da76fd3db22b06862b918ccd33a9d4efd1aad3bd83c4cf0: Be352c6a0ccebc52aaa9ee631db3a6cdcbc84233fb0a043fd115e6f26f0b9961c:0F$@7c6bbb9a25e9eebe73df4978a1408e43d86e895b862dd2781da90ed60ef09d74: Bf606bb42971a6d0fa11e5e90ac02af1cdf0f55f6ebda7c449e89c3b85ef00205:0F#@3f0c81bea2115406f902ff9b91ea8632f1a917182f063d52b3076befe5b1d72d: @@ -101095,6 +108668,7 @@ B4a8bef5b7f9d22ce47095ea35a4aa550c092c11244ab4eac15c162f8a95b43f1:0Fφ#@50ff3 B06d128b5df2c76933255eb32435cc5fe5beab5d883bc9e4b9e54b76ae46d394f:0F#@f08b100815118cddc526b324b9d390dedb7ad8223c392a8149baee405521a086: B79a11a6923a48f134b64869364fbc27d9e2e357a7ffaf11fd1e23f0ce1f755c8:0Fғ$@0160fc7f29a2c4de404825b7079d9cb5f7bf016b65e9ebf83c28fd9641c6edae: B06d128b5df2c76933255eb32435cc5fe5beab5d883bc9e4b9e54b76ae46d394f:1F#@1793c4cfa379ab742b9d9217b37ccf79a96ef72b9f2404660c79c510132d0403: +B4471c1180df37983720cd46b49646591d14dd8846871c4b9f08ffef3d58c0901:0F$@60c2c86fa6431eb434953c360bbfc57938174bddcdfe143d8e510756f54f54db: Bd3f919ef3deadbf1a246999263e6d27bdd63ab40a620695a95537eb03eb20fc2:0F#@dddcf9a4cc51e715d3b13eb6a7f1d24a2ae7b49274b493fad73590ea35cd6960: Bf638d65f7e2a342ca5ee1cd032ca0f2232617dba4a10b31ffd30aef6b0019e38:0F$@e0462eb4c3aa1b4fbcbe86625d5bc21ed797d9be3973637e3bcad545a42fd3c3: B4ec5f7cd1025684c6cc52971757b7089bf785dcd4c31e89f5b5401d20fb6c19f:0F݂#@7cc9a81aca842e247e48b56044eb8de8a34edf7b56b784a87970c3e8f0096a73: @@ -101129,6 +108703,7 @@ B10384cf9eeeeab9ba2645c21ebe4e5be7c20eb5cd782fcf27b856716b643c95a:1F B4a574058fd6d1dabc84a81a656ecbc49021de1a04684c185ef1db3f92c6b13ce:0F$@7e4ae3b12c8f3d5fe909772441b56f640c2831020615709a39527cff70d709da: B9fe1c5822787d1b67da7e3d4cc0e7f19d00494faa1db6e385a8b678929d4b564:0H"@cb3b5d1b92d6720fbb3e087335a9ef5a4c9922ac7ee34ff5f503abf57faa8285: Bc6b9ad8ea4088ea198b195fa8217e35090dfd64c3ab4ddd8a93c7988127bbd4d:0F$@71d6c26d29e3709c15a219b5f8eaf86699c2e2b6f96123395649862746a6e08c: +Bc6b9ad8ea4088ea198b195fa8217e35090dfd64c3ab4ddd8a93c7988127bbd4d:1F$@aa9def55b42f010ceaa8f6a65f80cb8900ac89e0c56d7e3eb1cb1351ea673fe4: Bcbcfc3748bce2a904ecc75f73678900123d40f3cc8ed67262a4f4730fa8d0646:0F#@d92363a394be44160d1da6df9f2008261a184b361648ff20ce32ed34bbb101ab: B7c2d90dd0918f1a1806a1a4c6a07d4abde936f55a5f1fed6c216d7661d0461b9:0F#@10122fa6823573acfab34c79860ba76e270f84f53d2088172f3f8b7e2f756c85: Be247dd4058e40435ec2fb16ca34d704b88d3209f52bc28db86fda76cb60d3e30:0Hķ#@6cf8b73d0e6a09c8575be5d8902fa747e47ea4d26d562ad26ca70b448294a11d: @@ -101140,7 +108715,8 @@ B821b4542e0f60dbbca9f2b960d4797ef2838a7fe4a4991036b9147f23eba6479:0F B98cc66fdf27175dcd30ced50892ea3068191c1377697454ef637e5c3ee050030:0F#@1ad1516985596b2e997ba1dc0c4d7d2e5c4b56e44b93beee7e1e0fc3ac007b05: B89097c2bd4817df39d0a0741aadce0e69561d6719bfd37d452a9ff870ba2dd42:0F#@70a6d049ac8606d1c39da950049e82283fe171306a12db6a44daafe98025b0e4: Be247dd4058e40435ec2fb16ca34d704b88d3209f52bc28db86fda76cb60d3e30:1F#@bb02c9ce1aa77e0af9bb42dc326398e5ee1cae452944176e5a1e6e4c9504a4b0: -Ba5d4112ec438e884dec8fbd851bcab787661f08bbaf3d3f16b9f84656629f10e:0F#@7d6877219c8bf3946b698c5dbd44186534f15646231a5db0acef8a0fb674944d: +Ba5d4112ec438e884dec8fbd851bcab787661f08bbaf3d3f16b9f84656629f10e:0F#@7d6877219c8bf3946b698c5dbd44186534f15646231a5db0acef8a0fb674944d: +Bbbba0cb9fd5332cb27fd87aae90e8dd39137257a814ecb6dbf3ad87bd83bbe0a:0F$@916dd166eb6b64a12153989385450f99f179de2661efba2773f8f86aede03cb0: B6fd73c0d4580e8bca93f9f37c2e280f40e67bef9417bc3769caf80f3a25e7b14:0H#@eb1e2b72cfa0b3fb97167f06cb2512089f5ba8ecf869ba01d9c9c2efc42fc101: Bce1b7b625d2d1f42c306ba3293f9c39cbdf5947588f5aa4a236b3a087be7c916:0F˰#@a20579bee2e052f953007ef7ac15ec053af6d4b18e95b2e2531ecdffa2471736: Bce1b7b625d2d1f42c306ba3293f9c39cbdf5947588f5aa4a236b3a087be7c916:1F#@f66a2a87bed95551e913b86757c9d9f4a284e1231351562c81fb8dc2866fb330: @@ -101152,6 +108728,7 @@ Bc77bd4e1395eb79891e4e2fdc8c4f8155560f6454f1ea9c993f04a47cf91d697:0F B5c29d26aa56e8acb38b7dd9b819053ae6ef6ddbfc5603fbf44f9ed155e57fed7:0F"@e91ec7a06fbec721c67c0c50df4bffad9856f26b53ed59aa7b2b3204c6b437be: Be1649176a6668676e1bb2dfc9f69a387c518c344ce9c48512b05ea3c06fe2e8e:0F#@be96584979d4532198fbccd17f53496f16464f654d59b51140be22af057971e9: B524c338bc9346a78e8d98060728c543f5d3482a89a0601eaa552f530a0c59082:0F#@e223de346114bffd7441e7a4bfe996835867a497a8ba162ceaaca210422ce590: +B30d9c1ef368f5229a8f12a7454ff4bd69dfdad442648bc536a40f78467d723e9:0F$@4bcb0a4ce5fd2a874160f7101e6bd4131f07bf8a8f4c1c04cf2705fb6221c192: Bab5d94338ddaa5ee2ca7d6b8cd1177f5601067556ea1ebf096d3b1ab96e17049:0F#@41c15ab58e7f0e9b7029dcbda98a05754b4f186904cd61c86c6a4ee8d15579a4: Bf38d3dd0ff192c8be8647ff66706e4ccce0c6506ccc8ae6ce1f1b0e2aa6e1243:0F#@f8bd7d18b989f0ab926d73e01c907bbfaff4a35f0cd0c9ed3c1f3b2e5771137b: B0fe517945d7e2f62e75af6bcb1e47cf3d0d1cc16bf01cfa41611abe1d49df62a:0FҔ#@72556eea654ec250e1d7366d3d55caa35b1bde7bba580cc3255da992c2341ce0: @@ -101169,7 +108746,9 @@ B2afc5efe521cfc8386437fadefc8d9806e0175262bb54c34a559ce85b95405f9:0F Baab23ae8513ae5089802fac9fdc674c33760f84ed4aa1c34488706ee071babdb:0F"@acdaed41952e17e728469e0a83527aaa11329cd11d78911a996802d011b2539f: Bca04728049892b899f61da2f5540b12795bdc29984af80d25f9841053d972f94:0F$@66c653c7d3cbe5871811702779caa41ebb30398e269baedd05797c93c37f6512: B37b9bdc0ec3b85d2c1f32be793b21eb6b9b89e1c7815a19813953b082b4789fd:0F$@c3f36cfb225c6e59327bf46c9ba4e66c26936195ac85ee631c8cb301b1dfd3b8: +B2835407ffc64419bc20f7ce7a2d7d56d9e6cb8c721782eb449879a51cc408002:0F$@01dac32957c0505a7b690a66df07f2f4017864d3b99241c0de4ce7cc1d920f58: Ba714507644e51966644919fcab580d8a0f1ab576cd19512c5973e8d0d1e85b2f:1F#@cec893bc078d409aafc958fcdb04eff50f76c11cc384be4e472178cae537c7aa: +B2835407ffc64419bc20f7ce7a2d7d56d9e6cb8c721782eb449879a51cc408002:1F$@2b52bd696d9ba1208bad7ded345a60e3d277d4177e041826b83b31ca2602db4d: Bb8ad3e3180313d589e5ff54cca039f09df399d75d409074ee0738af76ffb8494:0Fك$@5e8f5267db4a749ffdc5a60ff428dbd5964fd807a7d90435b93df027561c3f93: Ba5a94b58b7a72732b3b0e0d4fd7fa5b83de3f4d398d94104a2f187df18c3aa03:0F#@b0a6b435fa1cc8499212d52b7055dc8bb9db7de644512ab20ba2977bf0bfc3f9: Bc31cbf04781b0025dfe56beeed12566745d77cedbb53b8fd9caec74e0a6bf97b:0F#@5e6c238be4aa4a974e3c2728d809a212a0323958cfae09ee99c5f37b91b632e1: @@ -101179,18 +108758,22 @@ B429db009ea6fc8a9d3c1b1b57f6872ddb994c688edada6e37c39a6939d1298d6:0F B62b947269efa574644487a9bd1cf6b926bd279f4c07a863093d467b29a7616ef:0Hҿ#@1c35831b1814e9646b65247a9fe9f3070e23a5208e476bb2e455c7c10afaea7a: Bd131bac8327a6fca4d2f800a24598571563da4d59b7da5d07b27bf0486176c87:0F#@6d74bb7893a81517462774480024b6b3ed0250fe1c569b14df73f63142a8823f: B64e77ae99d76448c738f597c2259e5fdb24d45e86560e4d02d841ebb02878620:0F#@56ccb316fbc7ac7ac6fee79aa54eb6528e64abf35f75621b494fd53856e16d73: +Bb2ac0eebafabf78962cc1edf2f29af9885771baeaf76f58fe170ab8ddb84e31b:0F$@5bd85f37fbde7f3bc3d6626dd55a864fcd085ad66984bdc4491eb24f6a9652fc: B7e37a5e83404dc96b7d1f91498b296047ec6858408757cc6965e26d720b96ee0:0Fɛ#@39ac2908e65c41e040c1c8d5426e12ed55513e75023a3a5ad15c1a30f984e131: B4de454f3da12bcfed4a193ee97e301a97c1c942728562ac9d8644093c8664f52:0F#@1f7601062f9c4c86ff273d2ecba00d2b16feae352bf02f65b8f35b2289e448c4: Ba9d296a5adf215eba7c0070e181f13523f5d17a6a127a5e6ef417bf379a0ea6a:0F"@18b3600cd8ed1d2f6a061e5fffa6ed0e56c4c80b8da33ebf370da1e6dadb4d69: +B2e32a8c955aedcaabf35b05283c7b55f7ab5047e3f5bba389d75cb36c0c3b351:0F$@ee4fbafbae3cfcd08ee8ae3b8c92f4bf9be72573ab6ef83ce845bb17effb9fb0: Baa1fab92afd902f7f5afee762df865a9c211865d00ea328ac468ae445d2325ff:0F#@9bae9a6bd062fb744bbb83904e32aceeab29519bb503f165a97abe3fe040d5e6: B76df407e714b877bb92ff6f27a0206f1263fbca7d0c613af6fcf5dbc77569ec9:0F#@82a8d44e53fcffaccc3fb1540e404a5a3a653431e3ec34eb369919842868d861: Ba0ccc96e08dcd4f7aa3c2b9b0d99027f25991e5870ba7d4c1903d74a85cc9b58:0F#@9673ee7978c62c363818a877d86ac83ad18ea9fb251e4ca9ed6dffb3cd80400d: Bb95b2625ef91a283b8d7490b01898a000e6faa4821baf8e11e583ad030659beb:0F#@f1277756064131a68897be7e1b471a22142a88b71dfa021f16f3a2fd566ac6d6: Bde77fe0a9a6bf7d403cce31a57acfcd116988b48298c70ae73ab3fdc3b8ce6aa:0F#@f1fe50bd1fff70392c1fe2dd76f11f27b8fe578d6736626e96554998806d9304: +B8bba1832f0f6d09b2228f219ed8ef9f9bc07f3f19cb5858ea046c21654b4bbf4:1Fɠ$@d7fd7e5de714e44214f0a01024d0984e959b4ce7180ba6329e587ff3c74fc5ad: B9913799511cf4d4239f93c53d06f0b5f62527f3486ec542ec4a465de4fc2bca3:0F#@2c36ac1af5556b793aca31ad5ce38008253a73036854aa384fad9158de7439bb: B8bba1832f0f6d09b2228f219ed8ef9f9bc07f3f19cb5858ea046c21654b4bbf4:0H$@d55c34cd18a7980809cac410871153b72b2b245055388f16676b951db44bc74d: B8e5c2a8f34b74dceecd1e836b2279a10492c7d2ccf1143dd383107fba14c26f0:0F#@c4a08d055086b1c9c542d37593034e6467c102c77dacfcab0b56176eb31b9504: B4aba4adf37fdf8de6658bf8b9b63cd826bcf80242172e46768605628d695def3:0F#@a7677567d737c282bb0d9c2a91c8931011bc527d8f5c3a24b784fc8b7daa7beb: +Ba2226d82c350d9989babe3cac24982321031c0549655678d0c342357ef69351a:0F$@dd619a69a9ab1a59608d2a76574d287c35119507b4a760a45159eccec6e22906: B0350aa02338735c254b2a50a25daeebec56be07da8eaebac04724eeb19adef78:0F$@1a01be83799d1880a977b2a5b8a47830eeae7b76560940658fe1530a952fd997: Ba5501a61358bcdbf30222fa57908c1c6e56716406b3098e0560f98473439085a:0F"@f37625f0d9a558bf244886732a2181a22ed14133d83c2a42e3325b9a98d32d0e: Bb99f07c37c9fa7ebb403989434ff8abd74543ce5b77abe72cde1f5ee945b81d8:0F#@7d80aae6835b22b3388becc260fe95b81311d4dfd587f6ad68f2f0637cd614b3: @@ -101222,6 +108805,7 @@ Bafb6e90e58d7a227e8b41047cf747fadb618bcd4221fe894566db0462fc43bf6:0F Bc6868cfa7d7f2c53b3afda95d885effb198e0ed833c244a1d8f3b63e11be96c7:0F#@9ab2514d917eff4bebca82aa2f4b5a66b6fb205a0c592af44f7301006c406495: B2b67c19295b38e0920dae04438397c13f7a214e70e1ec12e584b0b9ca8f7045e:0H$@39bc6e5c8466097e0d9ce66ae7daea17f2404d86debf747a0be8aa641f5b9822: Bf5c2a571872ce65e1ade3cd20dd9529d1020b9d2d2b31917446c264899aa376b:0F"@4e07dc1847892c6063b54f8916384a54514b9d70753f876b3221992cff5a1ba3: +B5df15eec40a380885c2bb35e105096824e6d185b91ecaf4a04df72090a5c6c34:0FȢ$@e421ba5d0c98b114d1a43013d5806360e65970df5ee35054043bba6f4111e411: Bf025e33f9d162c4e1bab6458d20b2ab413a24f44d08c81b32a2e98a2d199c9b8:0F#@e69118874df2bed350c792a6a1041cb3f2bd2ddcd64979d45f684f60cc556fe0: Bb299f637b0d18002cd79c01056181756a9df07a5e6e77ca623682464a6965b2b:0F#@fb8d824a0d9b6ffd7bef59c2c73747de7210426769ab3d468c839c2eb341607e: Ba788f27717edd151886be96b091950ef09204d49eeee167703a23f52af4c53d1:0F#@980bf63356f14e2afbc061fad46f4d452308308542d25e9d38a2e5e18381239e: @@ -101246,6 +108830,7 @@ B6920f8f44f942f1b492f58d533278d3ce19e370fb07a8b5c90ed5df21b9dfda3:0F Bc65f8bc3b3dfe9fb927b9ecd5ca775f7fdc4a78a0f91d277b9fb4adda49c6d6a:0F#@63a1da95ac8b9d36f21110f7c575a707e6e4a2cae72d7f91cdc5c6b541898a20: Bc6f9c331ba4502bc75816c2b54c99be7ea006b82cfab2dac9808393fc7a8e0bf:0F#@4d93d04014dce12778ed71b064360b4d1c94480fcdd3e634530e7492f347c608: B97e2be6f861513da8da917ef79c961a5b53604f591f2a47b3ff64634b84d60a5:0F#@6842f924d59261a7b57cab38a9f247ecafe55e69324ee251430e3c8df7a27246: +Bd4cf7a17103a7aeb2190a49e92235430f65cf4708ba056adb96d05af7a22ba7e:0FС$@e332206c5be47eaf03ecd322985be1d75850e5480153c00847a3709a55a9ac75: B00d0717184fd6bd548e7a56a07351d7acb7d0a56d241bea38aed69bc233c9c23:0F#@dd43b13d6f0efea4a8c91d23533f64ff60256f1876f49ec386f20ef49944d68d: B17cda115b57f0bfddd32411bdc8f33f24f14ce742653ccafc2dfa72ab33438cf:0F$@522ed7b8528d84ad8b6dd76d22169031c29cecf05a14d557597387d4937dd972: B821b99f3fd98bf623085154c5b0ff5c08755965058c58c8b4f34f46a794c0c93:0F$@2a5702724b2de9f37f8af52b2b9d07d91ff8d9ada5c51d072eb182ac58db4dbb: @@ -101263,13 +108848,16 @@ B8c1c0715ebd88a05f6dd8e0ab349e90b948a676111ed8bf8ff8677ec22bfe722:0F B79ab2908ad3590d417a1f7f3acf47a5abb4e5cf7f6a865abd02b7461b83eba68:0Fܵ#@2eba130080fcb58a48074c1fa311113a2a548aa44289418ec14905b7308f5e6b: B3fec022e0ea23afe918cf32178e4cb7dfd210c70202456789089080410f16f41:0F#@4c8f36fe7b28525edd2f87a0504f59d544c94965ffe6c02eeafd99506941a29b: B2636a1f9f957c65e45a34cf56f7af44c8bc842e2deb5f282b8aced86b0392e75:0F"@ef3783c699337c31e4e2ab467096294607e986859c9c5f11ab547d64f792c6cf: +Bd0091643c787517f7c83b8078d9c72a8ab54132ab13669c37aca3672d044c641:0F$@4f8938bc84cd188dc960fa9ec6d709cc4b5fb854f8093d6df841776c62456ba3: B58fbb49f7a75578590abe757c718b9c7aacd2476205fa9e67f1d39413134a3c8:0F$@0accd7ee343db2e4aa21ce7041f8000e6b25315d6f954d46caaf10551b680a67: B8f252a518d97a5af17428aedcc8e5bb7c67fbadc4e04c784323f3aa10f54ed13:0F#@fe5e8673dba118bd1796ebb5d9026df72493cbb532f7023c16cc900066a3c1a1: B11bd33265a121c311784a9b59829334de8b3ca88275b139b7c8fd8e36503261f:0F$@2bee9087aec545d1b150f17d2adccbc8c8dd7b3ef5481384bea2d8bcf5b4ba93: B56ceac20afc86456a646a10de12db116bb8fa5c2836c2f77eb49975a36b3df24:0F#@76bf014c2f1fb719a0bae9bf005a80575b5e959b5c70389869e160a994fa0ed7: +B7d5af6e03c8043884d1d04d67fab7458155aca885c1fc60d253a3fdf053d8b04:0F$@54c58f4178d224ccffa906666a5541b76991623bec6c814ad0ceb8deea36a5ab: B8cc5ad5ab7d0fcec9c96bdbdd037ca1fe18d9083620bf77fa6084cacdc714c0d:0F#@c60df834df5c47dd89f227486fffb593d92c1980cd208ae53d505fcab9758451: Bd30d2d476bc81d1e1060575a9d538f097533b7f0aa96363f3c0177f1bc620e88:0FԨ#@51c1347a18a3d9d0cf0d8b62c3595afa6349e8c5bc1b086740e58f3c02186f11: B39a17ed49964de89958343eaeb2e5e1bfcc96c5c39ae43639abbcd9d2757c4e7:0H$@b5de12cd42959f540fe9ffc91376c594a700fdb4ec7526c1afa98b2e67b50910: +B04a17e030a0382fba3d37cd558205923a8d6bba358b0ed894590dd4ae22bcf42:0F$@4ceb96d3f0faac6054ecf9145399f641c6856acba4fa84c92e63fdc02e3cccf2: Ba6e685ef575bd7ec8f4854f1c495db75644adb5151dbc20f044d7d7288d7ef7a:0F#@8ab78ebde11964c8a920b8df55c482a99c14848ace614759426e01af8b45a71e: Bd48804f1909041ad7123c1765836e9ccda421cf518dcd50cc1af52b5ee4a2572:0F#@5bbd7b4d9ffa017b57aeca588853552469ceaba85b53923ec0d1736f22c54de4: B73843ef647180a19da4fa5b3ea6b6de8766240d049c0acd9f1b36561f8fb9eec:0F#@c6df70db956d5f7ad1550230cefb860add0cddf3738ba98ba6b6826ae40b10c1: @@ -101288,8 +108876,10 @@ Bdda400d1ab26b819a59b3ed5ee9101473ef172023adda2930f5d182247655b93:0F B3129ec1a680ec3af9d618696fa97fd8ebfd52391960864b79db0d1241142f1ca:0F#@62115dfa9315398d9916dd6a0fb5a68aac012775f337fab090b8f6bad42c2ed8: Bdd3c65c682dfd7d16df85cb94ebf1e08eab5296ee23c0bff1d90d50abe6f8a0c:0F$@c26a21dc03b6afcd3bdaa89e5f3a5e271864e9393fb4c43c14db13081bee9e9b: B67ed24bd31340edac3e53a6454d036f373da75e390b1a1f00a9e560e6067a77b:0F#@b89799955fe977244e6062dd60b21b26a28db76b7258fa733c4925d08c80e607: +B081ab28611be9630608158d415f0baabb07f7a78fbe9de84ae6fbe48eb169ee3:0Fܛ$@7ef9d6d3dd901b9b9a8d62dd3c44f6b4d9afba8df40144e10295ff1d81333b14: B9559af273f9fec60f1d6e1c169653fe3c52fb3a57ada43a163c6c4c61032ee8f:0F$@57d743b852e987cb7b51b34d37e21d1103df66355e448b19076d2e188f77ce74: -B8371cafde7434e9da11652194a66c2090a63045518c474af34d5f74db722bc75:0F#@78624b97fa7a8be64eba8f59b13ebf2a675b600f7c0cdd2d90aef769f3d57e13: +B8371cafde7434e9da11652194a66c2090a63045518c474af34d5f74db722bc75:0F#@78624b97fa7a8be64eba8f59b13ebf2a675b600f7c0cdd2d90aef769f3d57e13: +B03366bcad15e9cd0049c36ca62449d6b454573f030ee87980266e208fdda77ce:0F$@d00f33b36f7909d91579a6d13e540e24552a16a34753a7a715166ba78c1d63b4: Bbd7c73ea9bbeba9005c012cbcd6e84067f28a28012bbca2869227f326f724c15:0H#@46b203d3df335ec013556214156d53ee0b34be673b4e32fde73390443ef81e7e: Bcf65040bc14e7b041e65d2e7bf4c9011c744af5479c0eb29b87ae1969ecf94f8:0F#@680c7fb740da6232566919abbe579bee1cdbec03cb22cc8f965cb72f69a26778: B452047778f244392718b38b112c836b98d5401e01f5f6e4640eba1b198601b0c:0Fש#@0afd2e31368c89563cd9c23f6c8b5714b3ee2c9664e926286ca6dfbb31caadf0: @@ -101307,11 +108897,15 @@ B8b3b7f6559df24fe1f11cedc1f39fe0ea2f3859234be46ead672c71217db77e7:0F Bc81a979bca831d4e497f58824229f9d14f7bd7a11d8dd7e490da5d8b3634e944:0F#@4a17d3c7262ad5e52464308b1a01c0439c034b277b7e5ba5adf84f437d7a2786: Bc937fb706eafb5e09feeabc29035abd5ba5e88d71da14ef0af64ff3f5c293bd0:0F#@3055e5cfe121351faac1bb5e96cb3909b694cfcc4a53bf43377bf3efc93a28b7: B1ef7b4103101bd2b5a91e52b3401d8531794736cd28e6699e0e4cf87de99ffa3:0F#@3d4a4c6299129e21ce0d1ffaf56bcd027e46f604d33e36c29550d4a1b7aa1191: +B4ec0f09b715bfa7fdf8a66b5f654a3c4d84bd456bdd8db97a54d525f3528fd4b:0F$@32dd74482971a6e1b27cb7e7351b13b75229391595f96a1bff0d72807e10b429: Bca019945e0d2ecc2b648681b24c255c4eb2003a6bd282db58cb0c685bf547c6c:0F#@682758a361a09c9a138a8731257d757dd0eb3d1929530a58477a21ac17c203cc: Bcf28ff8d53b91787a283dc2feaea2deac841df6bf25ae27c74ac2811c0b88a75:0F#@aea3f85f9bee0290ba3c3676064bc28686f52d710fea46fa8f8562bfedb7e094: Bd76029f2b091321186b7266b9e076166cd40e98de73ca1bce5f9df033a7be017:0F#@c21d8849c1be5a83a24690b5930e7db35418a6a2b216d9d18146323fa5781db5: B73afbc87bfadba9bde3e5e8341450425cc3052a16d4e37d942471ec0553b21f0:0F#@4ffc9d2654d514012c2bdf6b8a0e92ddc4173f44f5fb00b66c46046f96c70021: Bed7db7acd9512a7ee82dd380abd5d2596e3a763b0660ce4ff395b689a084ea83:1HÔ$@7a10f1fcf2b0738c6da36f00d2c94ea146349a7d99cd4cea767429140dae473b: +Ba0778641c2e6cea4bbf818b2e5762e31af5fba767b5aa71c6f82e7f4ee70f553:0F$@77e5d1512efef50c686e57b768b93be7883897c902883e0973fb1548d3133cd3: +B5dad67f34f351262c2f2efb8f2349a0b9ddf1e63e63aba07e0bbe91c6e03f3cc:0Fǟ$@9c4ef444a08d23dfc1791e631fe56c21cf7a0d82e48f7764f83732f2cdfc7cbd: +B1f8e8ecb70cce69d041cb126df84958f0b63b232123f92de7b7d6860a42e1b78:0F$@a0dc9f4a56314c911fba1de4e80c774c5cdd2aa27d83677696f8b9746f3eb83f: B36c65b6d465dc71b2fb76922bb9e643e66f83c824c055b1d14a98e5bedbfb3dd:0F#@a778c26f2ab244a3095f76c879e8f8da9034b993ee355160aef73a891b177009: Bd94faf04557baecc1c4b7984853f22bbedf10e4497829ebf4a1cd56450175a1f:0F#@57238d21df686d6294c70ab6045d7058e9e36ba585b465a8c434caf52d5534a2: B1f6ad3d36dcbd90bafa0714ae927eb1f842684f7f229b4e0274abe81ca280e12:0F#@5fafea467e1753231226d1f421c7ed1b2203878855a0588f3b5e795cdf413316: @@ -101331,7 +108925,8 @@ B939088d30d4bcefc14c94a2dec87aced0d612400357b7c714f1122c4e33e6406:0F Bc99bdc4d09ec5f80be97e89cba06aad8b168ca20e49d39f4d3e1401441b990f5:0F"@4b3662a8674eb2f304e65874cfd3f30aad5bef98de97390bf8e39f0c8f789887: B22388bb938d76197b9930c7a510f3503eb4dc102fcb39cbdfc6da99f9fdf3107:0F"@c88408393dc4f196005107a90fe679e6bf6de11f1c767abc203516661f216d64: B5af641fb2007c713ffbb0369a6411f97c34801445e2e7a27273d64046250c5ea:0F#@42aa342fbb2bd2fb82b57b375418c9392830fd4c167f0bda16dbe70c69bff307: -B68e94dcce1e6df7861d7dbe8ede9618386b5d3385f8e23cf8f7f42e34a89c52f:0F#@b46ae84ffc54d7ec410f2c71488df3ac1d35b25859d85a6683e60dd140b0459f: +B68e94dcce1e6df7861d7dbe8ede9618386b5d3385f8e23cf8f7f42e34a89c52f:0F#@b46ae84ffc54d7ec410f2c71488df3ac1d35b25859d85a6683e60dd140b0459f: +Baa327987d847f8b61eb7940174a17e9085d1d52c2787c0eb1b2d9c12b05cfa84:0H$@5808ec999d7b71b806342971cee953fc17e52b60c2c8507fae145aee6c56e6cb: B94f360bb970592aa78d26191da24cf08ed22162b78229350d3d984bb091e26aa:0F#@1c75d6d9df4f81ae072268b4dd749fc5d55ff3c9e46aa0435928673e5ca76750: Bbf027815273756dcdfb5fbb3f609e12eb6d1099cf83732a6d9ad0b36a50107a5:0F$@d0de21cc8dff1a23951f34daa2c95fc255b9792e7a187d079bf94b449c1905ea: B9e61a16a60e6034c899bf471e397c80cc11b7117a44c94956593cd7cc0ba5afa:0F#@2eed0fe851d65d5998e76afe91d9347f4ee8a7c1912538b8db4e8cd00a43847a: @@ -101342,6 +108937,7 @@ B697c7af2538e2e60f560eb9f09a9465f5723ffccf1a4210efc986c4b5d370cc2:0F Bae56d7e01f3b015fd1ec77c91a106fe502f3e01a9e9a137e507b1df8ee648a1f:0Fμ#@ca8aecc676dbd4dee75d5838635bf7e366ba6664cc4795af39e603177718fcf2: B44fec91c23cbad6cdd1c28036fc1ef09957d73f2beda187ca8c375a9ba299c4d:0F#@af2057ea10b26f7a9011c9d4002210c881590888bff4947ff8da48f10a0c9eea: B58761178857c20e74f8b733cc69140609a1d1ebff2552f2f6de0a0bde31612a0:0FɄ$@4407a6ebcef5604f8642407b6786612c86d8e28669391344761bc5403edc5529: +Bb58eae0c23b4d46fd4f369c31c51fdb464f8dc5fc852b6d96450d1f37b28516d:0FÛ$@2e3b10b80ffec24d54a9d6c48fbe5912251920c740cbe39136e0f9c2ef6e1297: B2bdf8e401a201688189a8c0965c0d1ddcea49da14f7b18b2b98483663f9ded33:0F$@ab8425bc4edbd71ed8cee54a62a445b03bb39fc53c6f5ce39291c2523ee95d61: B32359c5abc1438b371a9be04cded86fc39436d591f6c8bef45c49cd2b89cecda:0F#@fa795def42272b9740a395bea693aae0c3adf061eae0d00ad0da456d8d232c1a: B3108e82b66d0f457b178e87825dd9a005097662771ab6ab653134c9666985435:0F$@55c601cff983deeafc9f627ca6b3b0adf2693dbdb75a882ebbaf725a5496d197: @@ -101387,6 +108983,7 @@ B534a702df03489b2ffd3e904ec840af1abc9fb4968b3199d64aa02e5029af8e6:0H Bebe8da72fb268077e4757775376d5f0d8820c91699106af65e813739911dd59e:0F#@e95f8686779cb82d404243497f64896aa2a3189627eb6a9570ef25fdba774055: B50e300ab0b1f22f8a2fc84c67429d05f19d02c3352aa4ccc83514ca099188d9d:0F#@a3b2452a1e15177d3b004969f7929dba2aadcf4336af136c226701fb05c1dcc2: Bd61e1ed140d3af1277b27886a47ee8c6dc5a8f9f53c655940c2e16bc0bdf829c:0F#@3454a803a10a9407ec15fe298142ce6cc617b2990c8fe8a0420c5dd966241b6b: +Be331dda24ebe68da33953fb687dcdaba3fe984f849c555d6c11f2b9a56f11390:0F$@d7ea7aaeb4788604bb7debac9bef3df9d50e10dc2aac20c59cc1e359c664dbd4: B5daf81bb31658bcc5024dda0cfe1b190243eed5e8d1611c6fde54bdfe776bb67:0Fž#@c8880f1df762d223c8defca7d65603505f73f364db4360918d9ca661fa801a0d: B307d581b06bb7d0f37968b40ff204268049a8d2b11939928820c00bd503fee36:0F$@38b499f1e9000df556e762267a72c0f1293db53da25a71ee99701f28fe767c3f: B52481eb84a1a81a99112b580d6816679736b4aeb99cd1a7b9c659f97fb8f9e7c:0F#@571d53b72e4251e3796c9303b6bf71175348c11c905e1d4340a44646185bb681: @@ -101423,13 +109020,16 @@ B91c3b232e85626a383ff23136951b06c7d6d761e0bcda92b105820246d5767e2:0F B1acb4a8cafd99b6386dcd8c5855bf7ad2d9417703838aa63981b31b6c59aa674:0F#@bdda1c191cddd9653d879fde1579d769086dd8d6568178a27f66fad927a22999: B6bd7e853cc7588e9e39856d590b16be796cd3eb049d7010f1986e6d27d5857bf:0F#@a8da20b087ccf7b4f306e88b3a2bbbb6edb9c846d601213f9bebeb734a88d4a6: B03c8a056137662e43c0a02da66134bb8a7f9d12c0cdc5ae95a1e86eee6bcc2ec:0F#@a41140967bf3184f1dc9996852e314f6fe11cfd443e86ba44626c89267db94ca: +Bb002c1c0486344daedcb946feb498ef881bff24f82a94139ee1d110a803b9a0e:0F$@fdb92bbb9a89a37bfd112df2a5eb25e20b96e87c7b6503cc95d2a0ea933c6256: Bfd21040bcbc1346aa75a08e85fa3111113d315568130d8a73c467f4c6ddfcc84:0F#@ec8276a17badce7e83c25b1ac83d4b4155d3041520a1c6524983e077e04fbd2a: +B7d84fa52b91bd91c82602bdcb2a6bada2b689436fa71b10e8289a9c9de5ef96f:0F$@44299390c064c180a0a8b67914dfc95509dc8185a58ff7cc68e29dcff642605b: B947ff6c062db959ba6b651664eabb0d235efccbe23171fb3ddb4df9ce4ed44e2:0F#@adac0d2124e72e2feeb1ae98c730968777c433b0281b06fe3062933cd23ea142: Bdc98774a693c61fef93b00e5f5b42e75b9e480a93ca5b76e344ff080952ddc30:0F#@e59f34a88debed79bc97286f9911566dd232f0af6b23b74ccdd924fa908cbcf2: B4d9ab662cf87cd48d7cb214a2bbcb32a073dd5b9846eb9dab75c1243ae97e2c3:0F#@39f62721b60bfbb65e7a1515767a1dd87b6ef1b7b6d62ffe178c3785c75be2f9: B668b7d11b5a2debc645d928b9bafe76eaf90131c291bdde559bd5d3fa20d6af4:0F#@ab9086d6b2799989b295d2105cff33cb2365a56cdaa100263ef714ebea3e3024: B8ab2d9165e0d8fb832d0623604d242c3bfe609fa6b764236097d0527b8b90972:0F#@b86a01cda42ae9e68e66080805bb46121843f73f2acc1d28d95be383c93b22b0: Bf7dac4c3d83f625953ceab8141240ec059df68a35d3ed00e606b52e3285980df:1F#@d9e71ce462bc41e0ca9eb17c968cb90d096a9f92a3b800543e0a30d553404443: +Bb1fcc3fe52def0794a4bafec6cba96ec5418bd23d5e0d3920fb0876c60e658d0:0Fߠ$@fb84aa275790e572c33575a4a3c242a0219e58dca578939bed4e5aeeb7db8544: Bf7dac4c3d83f625953ceab8141240ec059df68a35d3ed00e606b52e3285980df:0F#@6bee629618f7aed73a701c06da32d8f400d62c1e3b4720fd16548d2ea95b5882: B0e5095fee08d81fd36f4dc3da8ca2e2be608029f5724dc1c711704fcc8258784:0F#@0aa7afd772b12c28422fb133e969373492834115e7a57c71e3609a30e8fd544d: B7fb393d5095137fc599cb00dace6e8b647f742b834068362315342c691a09e7d:0F#@6a09d9867ca5470b9e03a62c4e34d8a66cfdfa8a625c112a3b06ff9612a0d6d3: @@ -101454,6 +109054,7 @@ B7496fddb311f74abf5c77b1af4c85f95514e9b067efb4e90a394bd624f2086e6:0F B4cb5da03d2181df9c71efae89e7495ff7ef2e5c0892ad0d767cec2434867756e:0F#@9667a747257a9dd59294fd210f25f760abe9cb944813b11cf4a14c34fdd2c1a8: Bb7c10e6bedb63316e34e0a5bcb0821505e2d331a0a57d733c9dd7ebf2859ce38:0F$@46cf43b9e8f50cee13438b8623d5bb1b19449b9c9679f027fcdc8c67c00c89fb: B039d5e2d49e127de1f598a1ce5516f84f0bea06b630856b813446899bac79fec:0F#@d0f540b1d118b7f2104a5a6257cb2cc175718c5022044cc27b34b776d355d1be: +Bfc182dcb2acf95e3eb8655e5f82fba5f7e62ac7ee72fb355f322edaacacb8943:0Fܛ$@a5581f181eb80d35ab1defd3aec74d8ac65d1c769aa754987fd4465ce84bf919: B0ddef87969ec41469f5f01e05ca4e22cf516b40a96b674eb58e833fbedd7c3d7:0F#@6bf27d5d10a659db7727a7045034fce36b8c6ef1d3c191b0949e8a0d402fcb0f: B61540af962cb86dc8a2dd08935e475ac4344b94e0601dd1c339b5efc5f430a48:0Fѽ#@268b5b39a03e86b92c99f2314aac6e794bc10e33f9abdd83e47c711f8da971f1: Bc4ffaef550e7ec6c00b54929920806ac90f24bdde8a8daec873b850f601f6659:0F#@bd9e029a93fcb79daaa6118d026f118654c381136c3adf964491adda8b22deaa: @@ -101466,10 +109067,13 @@ B797f282962436965b504afb24d151f2845126e1e8baa38c7acd48028c6e9f5a5:0F B7c3b6b29ce628a0ef0e3e833a7a628fcaeb13861f025ebe4f9d99340036477c6:0F#@4b167d8d572088e1234cb24e40a0e37bac9e7b38f577cba2e26b64454179c9f0: Bab603c52c9756f099416e6cfed4e9ab012b0cda1e04373e31f2daf7fb99dc68c:0F$@148c76ef48982fd7e7fa80500fa5c25fbee4579ddf5091f9583db197a8cbff7b: B40fd45eb2e0df6831b8cda30e340afdcbe58a999f2684af711c29bb2bf4fe3c9:0F$@84171e62ce07c3af22419dcd83767d5c5b36af06102d89dc48f543999759bc19: +Bda97cea9060acf8a2ce075e0471a902a279e4ad08ef3f8cabcfd9d7e3af91e4b:0F$@c66c8fb3e1a261b0fecef901950fe466431318a9c28ab4f5b1577473823ca460: B5b8584c96072938d0fffa515c2001888308ee5511652d92b49bbb3c73935b1b3:0F$@520805edf40d7e910ec791d1e05d51a3bf852f211523b5a8b7c97f936e81d158: +B01947a31521b4cbb762335a470499ddeb2b99d11d282b38a54da4d8b2d6cf2d1:0F$@7f3be46556d8e52de8382a5e8190082738a456c369e0a7cd2857e501ef086537: B0bfe851310875f1de634be5f3a091a6c59374044b02c7663595495ac7b57afe3:0F#@f45070e12aca211531743d8277e634b6437a92c673f4807081b42c17fabfaed5: B88eda26acc7d600f248d625f576e65ee32c4dc0e7c55f8ddfc322b8e517a7b83:0F#@6c0288b8fc619944fdf4a0022ab5355c25fe0c0e701a28738cf2972488337f5a: Bc4f88a9667bba2b4ebbc130b0afcaa155ca86a1bfc3ea19062465c1628ab4e21:0F#@c2d927ee3b660833dd968b0c31754946d811a689c34194c342665e633b3b1967: +Bf34232d8d03a0a4925cbb4431529622f0c9e6cebc77cc14ef330859e351d8005:0F$@f1e33c8a4f13d20e522495ac7d7ebb2672aadb66517baa287d7e7606e71a6b44: B6578c9db6d299378ca7b5489619db12f5cc39945300e9e00b01544c4548d3c05:0F$@50e231508251a8d9a2ddff3540b35873cba2d39af69a39d8b7efed25ae068d81: Bf0e9e5dc8faf81d319ad19c5f22c65a498b3f97846ba1c926567156dba33dcaa:0F#@b1622be08783d3e2fbf17f279b773e6ace15c4fb26e3b3131fb15532f584354f: Bb7a5eceee065994152be88bc69a28de5e44a1a1d542e8953dea600a26a08becd:0F#@bd084cdc93d4b4aa63122a7f9c20a58caee27ada600cd0057a1024d44ebb25d4: @@ -101478,6 +109082,7 @@ Be1b2e5482d0170ac81eaa698a1ee20c8a63e6e3fd00ca3715fa3df141eec8b3c:1F Be1b2e5482d0170ac81eaa698a1ee20c8a63e6e3fd00ca3715fa3df141eec8b3c:0F#@3be38e07921c6fdb8aef4345122af896e51a297f53923da074f1a676421e3595: Bfa915b26a7149e9a264b3efb235c8d31e9fe8b768be6464ada3982454756c8f8:0F#@c5b6023fc97b9081683ccdb5efc61991c50d50934375aa22048df2d2670a6d9b: B97c466d408e229209d6ecad47b21b520edcf34c227a3e415bd09de1ef23266d7:0Fԝ#@eb7a917c1665f184284de8239519d5dfb10440e414ad7655339eeea176573cdd: +B95c2902a6687ef91b4592df45fadb08960c16ef3711eb97287842b9dbc3e73a0:0F$@b079b9e7f4ef31bdad5c78a8c64e645b377579c53c3d5711a5bbb2c91dcbd54c: B2054fd96aa98900a9e33657c3e26d1464d2b26f9f8b5f19adbf234cba5c29f90:0F"@c1752f383b6552394cd1ef5d34ce7dca496ea30448f7c6789dd88eb2af42c145: Bf6801f8d207d20f263cfe34c390a0e44e43698b8515a9dfdf864c69e55593cd5:0F#@b7cfc44d97cb4ae66968fe830a1810a0fe17e74e1663ee9d298cfa9bb56df296: B5c0e76e9706aa329fbb8de26b3bbd96231b05a913f5bd10799128db48b2b79a2:0F#@792b41f9cd48f57d409a8783c8eff9883d5d686cadfcee146016c21164244151: @@ -101489,6 +109094,7 @@ B7d07808e86433ad9127749cc5383511aef91389dd762cafd22e7c2746383a895:0F Ba1a48cc4bcc87745141d89be20d2f015cbfe246bcc316d3aa5786a9a9775181a:0F#@3a3ad693cfb22e82e19b2bd0cc23830ade7c77a0281cc4613d9cdebc7be61731: Bcc7b47aac06a8674e71c79f8647a6641c3f7a863ff8cc353f1d41aab683fda2c:0F#@27815c796570d4b0cff72f57a523569a6a7167d3bd15001095973da6a8ff2df0: B0d4f7874a665d88e89726c4209e7e8f975bdce6dc6acb7b4c98f0c51ddef8cd7:1F#@505be82c278b0b883d01cf677435c39bd311cc3378faf4f79823e0a6dda42282: +B1b8f7b201b74a19782a440c1069580e7bb801da52e801cab9ba394fb55c24232:0F͜$@2eb926619110a5bee652a4834aea3dbc1b33b1fcf766f795fd03712815ff939d: B04f882d360af691fcf53f5b3f070b41b17a711860230c84779163dcc6891ea5d:0F#@78a510a70eac01b536321631866ab85761cea3007d3293bcac4935fc5f1f670a: Bbc6ce5e3b7f38c7abe1eee455582b4a9a0e4137a70c06446b9644c7d07e76b1d:0F#@c82528c742280a877ded813c802c1bd4aed38953f54c3f201e8bda9befd49833: B32512680bdc70386bce9d9b75d738207c4d844b314146a3b61aadd8abc2193c5:0F#@bdd379e73770deb3c0d8f2f10a72a861326e2c34a6dd23ac4fe24f2b40dce97e: @@ -101500,6 +109106,7 @@ B50ebb8fddced3db4fc705641e5279699fe668987d4117b158cc6f8adce007f25:0F Ba7f1851814be2a3898ce8522cecf2eec7d27db7d27d9da41d9cccbe33b3086a4:0F#@b380a8b90a9cd734087d0c7d8001d8c3504910c379cd317c89dc5d770f30d5b6: Bcbf49d0720c8e5cf1c4be248ca20eaf432faa5570821ec4262240531d0989154:0F#@e0489092167f7a897a63638d1cb12a4a1bb0a1bb389609788f19df582d491191: Be50cfae670058dabc752b2aed6381006664f1723d7e6aac582d2e85c4e5befab:0F#@613b8d22b639d74c5b61e945f8cd3afbf5e3d6b6a81bb92efec627f4c7817c46: +B4b810f8200215aaaf2950e7a99835346847aac017bf21dace06d9b5221420444:0F$@7ed2f106ced42218aef5912e96924a54f9670423347a9eaf73b9c2c0fec8cf54: B1e65b1e103e84ffd957c712a36804cdc41cb086bddcf26c426f4434627bff139:0F#@cc232e2a45a49092375ab61ee696df3bff20d6d05bb9d6e2b012826c2a66e164: Bd11102f710330d7adbf034e3b49b94d46c42ead2e904406c571b37c35b09a29f:0F#@876d3893d08e312d34c8700d3baf397303a0aac038f9da09f92f9529c40e7c08: B298c34053e556a007e2797c9d98b7dd3602bddd7851d3078a48f576bc0a2f557:0F#@5fc1a4094c8258b736c47c368224aeedae25e9f52ce3eb745990858917344be2: @@ -101526,6 +109133,7 @@ B8e428c2fd7ce91e5c94fff23f610408e77545a1b50031ee7b5a70416f5cfb79f:0F Bc21db5d5ded2c2ed216861537da3e7435815c2a6ee6c403ec9c582ce93d65f97:0Fڼ#@d7242f14edda99dafd16fbdf3a12d0337535f5377081549d46153b1b37a94a0c: Bc88408393dc4f196005107a90fe679e6bf6de11f1c767abc203516661f216d64:0F"@1858c510426429ac235b2a3aaaf691cad8157da03516ddabe875d50f932bf90f: B21e09c29c3112ee97b1c7cc47448b70fba76ab9257108e9730cc58566c831e27:0F#@a1a48cc4bcc87745141d89be20d2f015cbfe246bcc316d3aa5786a9a9775181a: +Bdf9d60a116d4a167dd77e89137a84d651bded3f48592fe814a6cf7b00642f1bd:0Fț$@ceede7b747dcbc09899a603fe5967e41f698bc10eb201df44da018a4e00fc7a5: Bfe1b1052c6e6e66126cd24eacfbf75d8c493ed4927f866e284d3cea66f72efb4:0F#@706b9c3af8dfe4d88829f22e705d8ca9d3cf07332acb0bea10ffcfa442c51eb6: B156dee2b1419775e826d9106680ba70c543aa651e4239a031fa1cdfb3ce213aa:0F#@9f83485694b4f796c06923ddc522a72899023fe5e5ef847437e1782134b33f65: B528cd96faf7684aab63646b27ac881775acecaf14f1892be9bbf0add5f2863de:0F$@0da0c55b2dc13ab73eaf67495ba2296458feaa4f59c45ecfec4c40bb519f00ce: @@ -101538,6 +109146,7 @@ B7d469e940a32b17a63c62332ccd5ad006b69fe8c1e57c981ba3133311ca722aa:0F B0068a0f067cb715b4c7545eb57bdf360c47ed07bd29b255cc9e6cc7f0db15a3a:0F#@629001bec01528e56b4e7749857517472d2d2520c3dca185ebce13aaedb65ecb: B301a9a4fb0735198f3d5c20d35c1d9ed0aa49c4ce0b449422b41495107326a55:0Fʄ#@6235798ed9fa735006fdb72991cef03584dea7440e1b23177663fc7c4bfe513a: Be5a8c3be6f7f061a251158e9319af48539995d313714ad130bacbdf29ff5b7ad:0F#@5bdaaec7bb4f87213b7e9d4737037ec97c561263f10f9e52632d67cc86b1af39: +Bf3b7660ba484c07b8ca7727013380e09574710829fffbed1addeb8faeb3f34d5:0F$@b17d3e33a8dd1bf3d4b95d942f3b91243290ab945c5e56e3c4db86021f3accf2: B415c3bb2c0d0f75947abd88621c9eef58f2b8d22cd62f15962438762b434aecb:0Fڡ#@3bd38f33bee4979a1a4f2144a2b46a3bd3f1b9fab27788badbb926f71fbe7b75: B2f72adda7d224ad02c5ff61d636418c9a367fd6adacc3e566a0e4b8b6aa421f6:0F#@025a9d8c0cccd6b739915c14b2b0018d62b5ac52aac6cbace9f95747fc239dd5: B92f1978b756bd7233ec1f1893d9e1c90f324f2a525dbe92c2c635f734e8ec008:0F‹$@b94fc6d003f59eb70329f2c346f3ce28c784e768724b0b6efcc5346bd4a8b0a0: @@ -101552,6 +109161,7 @@ Bb58a81857d551f6e0afd513acd7935b1513e1f7e79c297d656f02a9f47b82986:0F B81b3b6a5a62129b258d999f9bf80e4fa0e1d5fe0aa5b3619ef4c6520f90529ed:1F#@1dc06142e483f1872732a2f59501737ed2020dc60678795b5938cbd9ebc9e1c0: B87dd71dcda2034942a1c93b3ef359e285134c7e2c498ee216c9373c37664ca31:0Fɜ#@e8f2983211ff7d391f71cdaf72d9fa17b0013d2845ef61f01682dddea2024657: B2d3538c057abe8f96ea9b8ca6d791446599c990b8902827c0e11976ca49d2fad:0F$@4dd3474a52ae8901e27c45b30bada9d09b824f8cfb6c4698baeb299d1a552aa3: +B863af5a0bcb44eb819f7ed85cc83fe3b7d6cbe47750bbd770a6ca13d3ff14f12:0Fߙ$@aafc70893ac3d0d482ab19223a3d93dc25254470b83e729c8a95777a25a5e20f: Bab5d901715a2c67a679bd9d002d29bee5a69d1ae9c841c2d5fdfd44258393e5b:0F#@34f00ff8dbc811ef4fab6f1b1b3f11b25272917264dac6d1f676df51d92ebc8a: Bcca01774ab14681512095c1fdc4a8b345ea5354a109e2a842d30b7e64093e8fa:0F#@13ffd8d6bec495b44d73a307d007d7137aaf2b29f78aa379aa9dea97d40199ed: B3e65b880f1664b2ba46b9e00b85d433c85e22573650edd0674eb4f03d977b1b5:0F$@d429c43d229847c96fc4ccb41834ba1972a852bf1724e0c1ad766d42e11cd2aa: @@ -101571,6 +109181,8 @@ B340de9cd824a3af0374d5c7cec4a5fb05a622ecd8f0d71f98ea15ecac48319c4:0F B74483108ffe16dddc869c05f896ca675c88332d7202153552c0913d97f9825fe:0F#@39daac75f4a270fb64c83ab95971bb839d475cbe42aecac0a816facb3f7fa649: B93bf00844742bef00e848ec65fdeb050e08b3684c0512ad33c6fe5fbd6e76b83:0F#@f57ed40229e5aed7660e4a5cd80a511349e61351c9615346ba50214d595d2dfc: Ba3b8e4a12dd99446896adadc8d1d43f52d9cdf7e802bd813c329ec553fad513f:0F#@bda7aba3f0b05acc1c40658835fea47c0f875e66256b7c7fc562232210bade9c: +B30e729e473926625f2e50677b00608d5909d3e7ebc167c4be3d1e1094cd51d05:1Fߜ$@6fb5f3a96a27b836ed59ba7e59c0df7c57f2a79d577dc0ab7b08b487cb58e41e: +B30e729e473926625f2e50677b00608d5909d3e7ebc167c4be3d1e1094cd51d05:0Fۜ$@ca7ee768b90006a1eecd427546ec9ab092b9e9f28da1295c0dcf12c272e26922: B696c51be07924e317fabf7a62c75b86919c97840d0be89f20385d73753eadbe8:0F#@4b36d49164ef1e8cb835613153ce4ff05dfa5b2ccc9d3ec1f02a87c6d1b487c0: Bbde071361289e1e2bc9a76c0be0c85a6e4bf0c06415bef8ab2851947cc35d355:0F#@7675f7b4dfaa8fe96748199724f759067bc080fb74e689e238f9f23f962512ae: Be404a98ba1b1d28d2791eed863b16e839ed5a67c27466baac5f448955915a382:0F#@e9aae406e07a05b53b44d41d0e2d6012d7a075d126e8abf5e8237c0cb0d1383f: @@ -101578,6 +109190,7 @@ B21cfd9014b10f460e92e2fda28b75ddae9aae7db8f80f1b5a53bd1db65058d7a:0Fҧ#@c5203 B8c414c42db8e71a4ea61b7f9c4136da210160aa0dcdb5d4dff0378094f8f2a98:0F#@918c7b5e58087d3c565609e2c30d1d41e80848af4f29046e29003f483b4f79c7: B9b6edf6f73eb62008f0375ff5e78cfe7984d7b6699e02448a7ca94c0e97f08ee:0F#@f5a777654cca1a5de10ff23e0521346abe3dc510d7b6a53684229ca920d4aceb: Bbfbb29f72c9b15d0df74aa14ef1b4c9842d5768577117a3a1191cde19910c1ba:0H#@e27a50f6b722d92f6b6f2e8082a2ba7db87ed703aab17aeda9a4cb7366ea363a: +B5829ee5f597fa409dd8178c467c9d9eabf817f18ada73ec721321911fdf49462:0F$@b0d9828d435f0c43bf5cdead83ad7d7f05db6161ee77ce681ac8097e381e4406: Bfc6c660ed5378d61894f7a535d35c3a49f601facb2c631df9b180e626d637665:0F#@1bfea9e07f78c53a0d388b76eb1e1c972652d12f26428e099ae6c3ac9e03273c: Bd26db79ab72d1c762debc4dfc96a4e3890d041c058c8c85423ee48bf78970900:0F$@09b7a344be8ec78e6ba8afb9f2b07957287071525a1518a93af1c4b0e4556ad1: B128e4a0f8bd4ca7dcad2f582c11eecfc2fa77e4395a2b83273a148467ec4e63f:0F"@40daf48ea71bcc5edfdecbe2c75522536fc94e9250acc7571328abcee96dd018: @@ -101593,7 +109206,9 @@ B7c34590c120266da299e94d1fc47e06dc862aeafdfbeceee5c1db25f62da5798:0F B92d63bceb5f8e57f3d2228822b5c4f0b7ae6969498b7530fdc14201cc3891997:0F#@3eb56976aafa02c8621bafdd9a234cf3c17e2fdaa5a54e93d14c534902b844c2: Bb57685c90fbe05eea35426946362aa6f049b0f6c83f08d7cc6ded26684d57d41:0F#@10926b8573a2c198a458481e7822f2235ce7530efcb7bc9a2ce95bce21ca0039: Bd2d7dfa792f2e550323ceafa5ef98e4070a3914a987ec5b8369eea006628479f:0F$@4ad499617b78ebb69d99ac51d5259263e9d0aeb17b6a4ca1bf72863c9e4dbaf7: +B474310086e92c607fb60c179f45e38843b72556a9045c7eb1843fde410ea84a6:0F$@dfc7e1e22246132804d8afe0085cb0a974d1f8230a16527751ab3097d212ff63: B5425942797c4dd1b12b469b1fa715b9553036003a29f705acd51c077f322a39a:0F#@d8367ad7cb03bd8c29ac40c2d00a624ebacc87c7232fb54313b96bcbfd9fa404: +Bba892a2f1b7e68273ebb5d3816940ff2e3265f6768af1b790d64c16d4adbfc22:0FǛ$@3bc5d4fe86c9540b28b77cd09e44ba06322a55e42c132d721241a1fbdde10f70: B70ecb10e96c8dccafe937bd04913376a21e4dcdde2dc3aa448d7f20542cbd48e:0F#@9b93b3ac27619318f3117019f4626a384248f4abf665cec8eeab4e23f9552c03: B726f12f63b24990c1819b137f6e55ff24204cd32257d8ca03893d6932d071027:0F$@f1362dd87ea23a2541c47345b2e91a065449e15500882fe7b944021ef8d84234: B9f7bad0db11bea2417bdb1642f1ed12bb95f388d937668ca179e38d136c8c64b:0F#@9132aecd4304a090070aacad78011f06aac02ce1692692810d62f2dfdabaac00: @@ -101607,17 +109222,21 @@ Bf0619e7c5b2be47559d46fab60de39f62bd8cd3490b0ae675ef680c4fa497da3:0F Bc600959c79b691c34a197e8c74bef6a68c054ce8abfbf3c4ce073c2b105c45bc:0F$@40db604d75cb778cd93734aec05954c9caa48350cfd52426e570baa6a2583ef3: B05d53e832cc2ca7d385b0f35545e2da62a9fc53bf819f5f53b27a4c026766151:0Fʞ#@f1bb0232de1438b3d3bb1b49a40051ebcfa8cd76737955d4a33dba47e0333c64: B682f824a50b3e2a3cef119d47e4925e9325c6f16381a5999492af7119cfc652f:0F#@563d1adf0deeedabf5f01cd596291e29a5ad673ecfdf5ffc2e6a469fde3402d4: +Bd736b0b0eaf56fcf16cd0714ba5056485069f2c417552993436c5debf8981fa2:0F$@9bb23ade0cbef56ac4d5e16f9e076bbf0122115330f6aac3a7dd2c3a314e7b50: B57af4ab6b44526d12c9c3a03abd4700e3ade442a6984fdc917b86b07735910f9:0F#@f177eed9e8533e094dbd3ebaf516bcc6d22a345c81190daaf1f3d29f810d3085: B8184d47af063f7855b86e212d78667750bfc223f8967a7996c1a1f7495bc4070:0F#@9e9ea37004ff60a58c49edae7d92f51348b0ee95435c97a687780a4ffdd16b52: Bf3e43c33ed9e29f21b157ab747b04f9b8dd10f78515b3f4115ce7fd8fd820796:0F#@04f9a7f72d9ed89ec8a1aafbd489aaff78fdcb2223641e93b3bdf3549d086f19: B53cd3dfd77f39c8b9b8350d72447b6480ad1d8b93801e4e2fd0332d40666b760:0F#@2906d4334991940b3fade5f4406d49acbdc86bb3b40b86eb5bd7f0c3f6c86a6f: B9abac62dba4d2cdf0e6ae5a71c0d0ad34349c069d32c03c03d0629a0560edb9d:0F#@f6ec9f62c44a2d842778606f0e63082fb07895f74edd287141ef56dd7b9e3577: +B6fb5f3a96a27b836ed59ba7e59c0df7c57f2a79d577dc0ab7b08b487cb58e41e:0F$@940d6f4f5d26abf3c9f539949e6a5b4445c3c55e28699a25499df124b621f42b: B3b8837e68d07ec6e31859220cb66d2846a83acd30348a53427dcf78ddf3c47e4:0F#@1591f2ba8685145d7667049389d4fb4da930ba7a306531bf1251f5fd87e32f2d: Ba964ab67a9d825aa8811fb5127c95d0214e36e134fadc1737c580d01294edd60:0F#@00aa60f91ec848e3202cc6c3d913158174cda2e2c631de2c51463f005f659560: B8dec13f26358e4d2e61a7c88912613fd983d24ecb3198f97c0cabb5ab17fae29:0F#@418151d2c2574b0a445fed18b22f256177677a238e2b215b29ad63616062699c: B04e4ba11d40798cfdc0ad46a108b0ded97f19a174bba82a1efa508cb043c8871:0F֎#@ec29dcd5237b7352085c700bb4272a4200911a32974270788c9781476f9b4c2c: B1a9240fc55a03691d37da0cfd825ceba9c869f2fc736f8342301007cced7ea29:0H#@46017c0bb429dffed4582c4149fe55c9e5f2ab3d2046b110ea79a13c51039d85: B8dec13f26358e4d2e61a7c88912613fd983d24ecb3198f97c0cabb5ab17fae29:1F#@5e38f7f2df6365715e1c4104a819bf9617a5568895c4f80f235f6914d226db54: +Ba1af06423e7bb9e0016039982b3619e33ae5ebc00729a2538d3ce04aaa15ad8e:0F$@276efde8c8ac0fb852514f73f21b4effb61f44fc2343ac29d51bf1b43bce0428: +Bde8b127f1cc8b6e90feff18520ba93336bab02d52fc3974a101f8ff24a45664c:0F$@25e30f5e03b9ac2ae7d385010789f2fb570605d01264ebb9f754a7a7e8e5c29e: B51aa175da8945b6a5c3ad626291036bb4383a8d35e8ce1296e75f1e3a45b0ff7:0F$@d3a0c937605e7f9d8241be4c33777259cd402ff4d02b13cb6eb10dcb7a7d5cb3: B6a6b2044206823be8c1232f79e6e2964a423fac444542d9f643c41b854666d8d:0F#@a77bb7e27fba154cef37100142d4a38d369686568bb39d5c588a76fe8ea2060b: B22c9c87032941c845b426623b96793d49e1c184d4c694050070acd7f4795bcb4:0F#@27ceab90146d77c5f9a0f5cb674ded9c7c97a70cbdd24235c6fdb16724e243e3: @@ -101626,6 +109245,7 @@ B2fe481c7d29eee2e3e257c0a806324e77c12bb8b5db75e03e1023a1347c22deb:0F Bbd201c6a07789cf337a71b989cb5d2bc9a6fc0e6bca9e10e22f8d9cdbf81b99d:0F#@a951f364fae4a50a9e07c812dbe4866a735283d8a36e0c0eadff83b6950d3d6a: Bfc2a3143e8159867bc9e25759c56bcfb5c23bb0b5a57655879ae2db296537b0f:0F"@5e59bc3a2a7bbc849323866afac8b223fff306d4f813be6119fb043f0184542c: B24f3f5e4ce1f37ea1c9ade59b638e1dc08e20c8afa71c19f1988f12dc25bb221:0F#@d2b2a2d87f2293571726d0fe960933f7a9d8d81e5a529bff16b763d8ad6faed7: +Bcee54bb47486e30f7b0a6385f540e6f859494a714ee6d565a7bb37e65fda7d3c:0F$@31840597f60c7f36f7b66869758d552570529de813ddded00f65d3550fe5a64c: Bb62cddcba22d0ab11e6d72bda8cbe0120fa61bc1104d4d0709790f14a7c05cb2:0F#@2ac3e698da65af2009ab1343891ea7b782360f41f841f8bb006c1d5680673fbe: Bb62cddcba22d0ab11e6d72bda8cbe0120fa61bc1104d4d0709790f14a7c05cb2:1F#@64677033aee315cc7dc1b011ca769a20b42eeab1cd17decc2b7c147f4015badc: Bc35ea1dc7be4575a9e13c2a32afbbaa87bf2f51690cf58a127afa4f5f22e9aa5:0Fɽ#@32751deb9f8ed8fe108038acfcb700a18b2e986d237d3bdd7247752e42c5191b: @@ -101650,6 +109270,7 @@ B9bae9a6bd062fb744bbb83904e32aceeab29519bb503f165a97abe3fe040d5e6:0F Bce44062f966532b627bf4eeb151049bef361ad435ff8119567f3072cb36c43f0:0F#@647e44917253f0ef5b3afbd33b54cc1415a29838056aaf2879af62f5d724c587: Bf1b8d64da37c80cdff5c1a42fd08d1da2eed456812f85213f6bbd0541ffc9125:0F#@660b7cd9d8abc18533a8ad596168e834a9284b9cc907f83ec3d61dc75d8534f9: B8fafb80980a4748d260ca1805fdf20ae99430379e5432a44e128e54bedd89c5c:0F#@52670dba241592ce0d61e0dab70d22aed42b581f6f49f9fc86f484fa17690fcb: +Ba9034d812ad6d8acfc8e6b595b38c13e6192e8a82119b0dc6f1b0f5b1b7a0b7c:0F$@50064b821286b1b8dc5420bc9565d85295c65177e93455a3250326b8dcf90f0e: B50d048a4d1730780012072c375b5e2bd8b18e472687474284638c4db0d9d2b0d:0F#@f51edc2ceb8a83deed8b9982d4919caafea7d0cff255c1d0823439d31c9e86b0: B6672b64280f861ced3d8ba23dd7ac611c98e01dc253793330185eabc5eadcae9:1F#@72e5ae4c2e8d258b22cd2f53d581fcb1ec6e34fe63e0f51ece4cde6d37d24713: B969bd163f562cab5a5efbf5352439d98898c823eef315406d717a2053bc5c9b8:0F#@f07265164bca77317bb5b0848f3728f480ac363780fc0b157752ed61d69e65e1: @@ -101658,15 +109279,18 @@ Ba2c79f413d2808934d377d5bad9e9428de6221ebe18337deae4aa0a12c07e5d1:0F B477f92b83310ba16f56d95db1d5d2fdb9d2914b1d95a5feb132f01de356c2743:0F#@65d4e1f5362cfa4ab4f0a1aa662b9471657b0dbcbfc012f5fcd71b152a4740d2: Bb419e47ecb6a54b82f86c7f563ff7a117676448c1ac5c06c4b8b08745cd19082:0F#@04b69f91c9da0a8148e339747fa32b92a674efbd8f59216ba5072b56926962dd: Bee571e1aa547986bb6b4581b1797c280605b3a5af8bdbaf5d4f9369bb7edffd5:0F#@6a63e815fc9b158e547f31f1e7efdc3dadc7594dd31f2409dfbd8febdb38a7a4: +Beeaba57b979b1935c8f86ad26fc31567cc872ba36a533f9f18f66a8e0c770551:0Fߝ$@02776f89668b61fb61c8ff0d819211c2f3eda66a1ec15ca780b7a5fe1241ec06: B262730cab0bb9c55305311b1d9560b576d722790885f8f2c96e7ad3864547499:0F#@476ee56feccfa232d493feb8523120918964213d2436e5d08d342c5a71beb354: B586dd170206a070d3cfd66349a992e2ace7f63f0f5f64ed0c082b8c5b029cf68:0F#@1fc5d70b66ccd47a4109dcb5c15fd32f9b3460688795d40fc2b61f89996388d6: B670a395ebaebc5eb39d7291d66b8498433dba2f4c7d31fd52bb17223f18f5cbb:0F#@36b9602c33b680856f4a8066cba92ace6df9d88ec2fe959def92d6ab79e82427: +B4af482066d4a9ed5920a8d2a9ab0b76ff28b45a62d3cbcbc11afde7f8c11890f:0F$@da97cea9060acf8a2ce075e0471a902a279e4ad08ef3f8cabcfd9d7e3af91e4b: B6d670b987cd567c76b357eca936594663cec733e442f83108b329ff3f46ccc74:0F$@a914e56a84997bc2618442a3229f91788d1b386c5ea4054c20bfaa4e209cf678: B42140cc748a573331e24d7fefce94268202f730747d1b7e7dbae608573e6b8f4:0F$@ee13438b0b03132a21386c99bc6bce8238902e0ff8852e565a53b5d7b6b05faf: Baf21ef9cfd7b1e6087607b51293aee817466658067be22523464ca3f45ff6f50:0F#@785d3102dcd004786a3423ea6ef49b25594f645dcf60bb78ae30db2815a3a575: Be5cf02c4a4722c7396680fbb32bf1ac21f50a7abc03a866638da08ff18d6cedc:0F#@e62cce1f9f2d3f1ec732ae425974ba59b96d029f30d577cf44809d3dc1e561bd: Bffca8a9e3ebd0a8cc4bffa67ba80d8dae17fcc5463431f907d1b25beca832054:0F$@8455091a2b9c5deeeb23de4026ca5b4914b987e070d70f24b3d9447ec2295184: B41c15ab58e7f0e9b7029dcbda98a05754b4f186904cd61c86c6a4ee8d15579a4:0F#@b5acd0e54287aaddd0c8d2f2fb777ef5a5aea9c94b8924c9005b467ecfd01335: +B7c713cb10dc4f08ac7e7c53cc102b6f7914d8b92d2be60c849b9d6e3564deffc:0F$@df29cf7bd6cf18552c84e68b031accc7df7ab8df30f56f4d327fa002b88ebc02: Bf44b1d8b4c13c65fb30d7f51bbc03caab72c419db314a3826af81c1abd529909:0F#@c5bd646e7bc7916ad600790e44551bbcb7366920f6b3fa1a0ed5240f6a766900: B49f8f08126dab9383f8eccbcba0a6014fa9873cdaae3313ef3b17bd8d20852e1:0F#@fff814aab46be48dc4d5a677f693c242c93162340d337eaa2af8646f1d936d2f: B7798df97bf1d03aa27bf6060fdec723a2ec8937bbd8136e2bd9a80f66594eb63:0F"@e2a02e34945ec0c1cd8037cfc018f55509bc355d76b8a3e11ff1016cb35f8f9a: @@ -101684,7 +109308,9 @@ B76f4475562fcf1707f3b500c8374d49638a4f927994e4c01d3b98585630777df:0F B5ede87d2a270a393b5438b5f460717109fa789906ef3f4f721e571117e3d8be2:0F#@5fca422213cab0dfe90f4abf9f1ab0ca3e68386589ff39ff592f9ba3711d2df2: Bac4f1ac7edca079a78acef67e868866a369670a304214091c3dd32096a0d7e93:0F$@62b67a25a315dd06b0465f32ea9cb39aa20a5f28d654f1dfd721e52642bda8ff: B57ecf28e72b823ed8ba768d07c676d6e39919339214f897a4708e002dc1a6630:0F#@6ee2f191a4533597cc3404722e031c52b71b9b450bcebb68cf807d1ba5a249c6: +B34d5f9ccd57992734221c3b8ef599abdfa2431514ba67afcff282a88c4b2b38e:0F$@2bbd57802ca6c1507b0fd4e3e7dca7e1ba10721773dc68ae2096eb1d2b5733fb: B84e4de10809ae3714a7eb0e364cd86cfa1984a116a7eefb37b94fb57e7912c23:0F#@a9a3a1f3e4b056ce3b16ed405d615494e0db5992fd9b5b0832c68e8ac4fe0e40: +B6330eca75d47274514cad3b892b1859e51c762251db742ca2841c9fc7f6253e1:0Fӛ$@e0b3914f60eac001d2fc6ff61b1bac6cf942216155c2baff5d67971304f83fe3: B56b6c04cc5c5914da6b3a098ae075a6710db3716c06b96ad5def60921aede78f:0F#@8e7fc4709c5f0c00b51ca0071528debbebdb5c3aeb039a6235e1164cabb3a37d: B4f0f24101c69d288f82f2bca61677ce5b23bb5f3c46d889be06e3d4bb0dcdc39:0F"@f442a7b6643b1c0f5357ba7183bca2aa0dd22f1a0adf8641b6dafa0e1ff877e9: B4f0f24101c69d288f82f2bca61677ce5b23bb5f3c46d889be06e3d4bb0dcdc39:1F"@e3625015b55c0cf811c4a8bca133cdf86720e8bb28cf4b40af6bf0f65b7e1972: @@ -101703,6 +109329,7 @@ Bf6f892d1f82f0f1bebb1c9c87cce6c71123daa584df16362a58e50e20a7897d9:0F B418540c71a0e28d654d811d4655accb68cef22769ab4ee822f3dce0a6380cef3:0F#@ea94943511b2efab1d01d5741a8685c31fedec093f03e8c6ec381cdb3e3fa4df: B5eea841078546f591c440ac494be681c0be33cbeb4440a37c9de0d2bd6159ac4:1H#@7aefb2dbe2a76e7ce58db6109caf46083b4720faf86aa41006b90ab698eccfe9: Bca8abec500525291447c46d692d115677acb92e9227b11214e2b3babd0ff6bfc:0F"@d6dee1b58c050a77db151ae9253fbfb992bd12d504052593138f025480176fc6: +B16bd85e32d8424533829599250af31dd49e80c5e7bc1e5815414f6bd2be842d8:0F$@8e875c8c62d78396765b59442cf06dfaea887b4be91ebc391c4bc2de1fa2996a: Baf06d25252002df9cf75024de6bc2e0d0a22a387c5373dadef908f991e4a5955:0FȌ#@40593666f0350152decc0b4fe62ec5e1f43d437733c0661d7b319950d8eca8d8: Bcfea81d7f86eb5040d91d1bf24f3fc27c9a8756f51e1b8c9dda309c03dd3a846:0F#@f25308c65da1867f42aea2f4087be09c8af9feb684e8320e93730df791ebcccf: B26704d2722878306f6079f07f02bf088636be9505f02935706da3b91239fc75a:0F#@931292fa19d4058415048bd66304a6fd6fdc457ed7c7b5819af851359cc041ca: @@ -101712,6 +109339,7 @@ B5eea841078546f591c440ac494be681c0be33cbeb4440a37c9de0d2bd6159ac4:0F B8d50c16e249db64f3351e2aa50e441fe8396caa7d3775f90c2ac75114ad2fa13:0F#@b686aa4b63938c1f4c09f57380f31c9f2b9a1fbde55931bb8d097cf46762297b: B47492335b9198eff31859407adf152692e30888e7bb57210f39c8effcb2e84ea:0FƠ#@50f74ca228631632c99f2c02b1f6c97c4143118ab7c186d6afbbd99b4ae85f20: B64bc006ee8a633b876a432386e582ab88a394e7de1cd0ba6beff8a23ff4961e4:0F#@bdcda889b5f495252bee2c8b04c9b20dc02f58079531a4eb64ecda011f896f2c: +Bb53c55996855b7ea9fda260d3bbe63a2bbda0ee31df2a4b1b322c54dd881c627:1F$@0521e1a070b14f8892a859ba649849b3caa4088159a9cc304733086f75210d55: B20992fe15c509cac1e18bd91170d4fbbe60df1818b24ed63b150603b084a3820:0F#@e807f07d16770be973e654ac6aee209e05c6c323993a9f3d9a1ad166f3052486: B39df3596f3fc3263bbf7936d20b4ff8d0d6429c753544c816b48dc68b405cc74:0F#@ce65d3ad6e2006acb763f927247c5ab01251b20cb93024070ab8406d4f4ea56c: B9c7ef734187ec845d68c3c9baa90850d14d972ad31ae2d1e9a2a0f9ee2e0b6c4:0F#@ca5fc17762053ea02e4e517d775251c495a94cd21cb9c07f53036f036f1c0361: @@ -101723,6 +109351,7 @@ B1ef4eb8da3064ac685ff53c7a155f7b2366ae9c9420dc95f412954a8929eac66:0F B2739a6b2895da5bc54b27555f6245f6bd229430a9afffb71a52d6b2eeeccafac:0Fδ#@40706cab9886cd9605450d876d013e24b8b56d5ab482027e53d317c5678271a2: B6a582a5dc942e9e1c970cb8f7ab59cee13563388cb763acb7b89f8d142304088:0Fغ#@58f1d7d8e2faca8bd3bcfb9adc20729fb1f70a34cd888f5856a8a96c146a8165: Bb53c55996855b7ea9fda260d3bbe63a2bbda0ee31df2a4b1b322c54dd881c627:0F#@46e71dbf0fdf42e16764eef7644931507ecaa2712066d690795f4510c9eb58b6: +B656ca2cf92fddc7993e05b4724cd08150d7752977fa98c701ae528cad1f54bbe:0F$@92d31ce448451b15ad8ee72b5e4d514863933cef8bcbbda0b1bfd0dba47823e6: Be2da96ba4520ef21e493fa9a63b50c57c50c5b8d23624b4ae043806ba6ba7383:0F#@e2e6a1678ecac43809331da042315e50ffa6ccf42afd499d48a11d6fd5f5a7df: B0b5cd0a296feb38a676b89e314704cfcc85b6d421c008b6e5e0dc40da5538dc0:0F¬#@d6ed8f251d5ad4602ec78e39bf59227e001d21383b1c1bbd4838144294ca2dd1: B63e343e5443206b126cb97b28981a3eacbc933bd648f0488ec4ead9f6a7f772c:0F#@677e687d9d47e6ad6c31b8365cb0f5c507892e23e715bf054773ff96a6edbdf7: @@ -101734,8 +109363,10 @@ B92d93de433aa55be5df81d34c6f3d5781568f38bd3ca366851a573ddf1f95a85:1Fĉ#@b3447 B709ba05bd0991dc2a093088aaa29250059958f412bf3bca2d16352acf7b0bc25:0F$@da93e9164aef3e221880ac30be1b834fa1145049c4cb6d076a7d9cc33aec8c0d: B7e49690013c49dc029983bee00592404627e1322af1c65a704a27224458b3c83:0F#@b57d85d1175fee05f41ac1e62eb27e36ede2ddca99092426fcac7a172e399997: Bcc36643bff715d95c817b4ad3e32f259251a1b32f2d5df33ba250e512ab57e36:0F#@b0aef7ccd5bc5bde646c0c109678bfe7cc15adb8850dd50ff027fe6d2de61ef8: +Be03511299540938b7f813c74858fec2167364fce8070e38d648ba886ecfcaf4e:0Fϝ$@86a4d52ec33c2a419654a252d48383e28b6c0ff034a51a3f28632cf97e3a0680: B22a5acb55239861a186f4078c56249708b791e7d0a36678638376cb45504da06:0F$@c432498243e71f4b51f06811c6e5b59960ed3cfda6906902a4a5c56dbf79cdb1: B180f64c40f5da2745123875b14cddd8db40f07fab88f03b1ac7e8e546d8adfa5:0F#@86616ef4a24b26991644b48d46be437aadf2fc71459dcd742bf6bcfab652e68f: +B6702fd936c824698619e884cdc23bf0d9e13c06d2d6339236e237533b2aaf039:0F$@fc7b8d0ef138c97d9df0fc54e3476d03a300eb5f816ed546111114489045321b: B1d87f14b621022c550062aead0f4694f550f954d5a7ba08915cc5e184c90feaf:0F$@3354e11691b7ace5a0cceef00d4adaada0cef3fee9a3bbc5d2affc0f68c106ae: B8d499c74248bb3f4c7776566fcd0e2bef98283ff40877cf0d5c99535b416d741:0Fθ#@805125ff89ec119ad9e21fac0bc4331022d6d21d922358a7f119fe29d0908479: B0d38f120ebfe5775fb7cc2237b6944046f44c0d6e7a9d38384e3a5bdaed43131:0F#@2e665372be5d6c2bb8985ff3d038615b06c3c7c04cbdca6f50be97b2fcd8008e: @@ -101746,7 +109377,9 @@ B57ba04bb195323c840d0f3bd14ccb1b8f5ba562476f6874865b6da361d3d985a:0F B07278c96334dcfee48f0add8efe9e8716389eb40fb341c1875c5771355bd77d2:0F#@17d4f5b130eb8b75d1cb716edebbf12a24f70f36c783d63b98fa58dea195b5f4: B4263f053b215a9aca98c3794e5273e2a84b4b1c36762539552a7709a0eab4508:0F#@f2743815b4ad661803360fa1ac8e65cbc9ac9905a3facd1e0dab92d7ca6b90a8: B54b3d400c8c88e750805eb606c23640fdab9960623a4aa3513c0758436fec3fe:0F"@76e73f0661a354bcbdae08b27e5524701baa5012799236fc07fa3dd2808e8705: +Bc9241dda7e5a3458678cb8236520a1a365c699230d68c39b0ea4bd529550aacc:0F٣$@88d2fecca9bfbdc4a87011030e972d4c329a885d185200945626cf3c8dae3ecb: B1f65940705c1985e66947cefcc3d818f994666b7c56aaf45582ba4bac1910f40:0F#@0bcdba0b0fa935d6e15669ad6cade35c75e96a9f0344d304e8c8b8ebf067b921: +B02cc3d798f774f23c6bc761bb75fdbdc1a13a524aca6543c9d8b7e690fff4cbe:0FȢ$@93c3f7d67078ccb2a100eb072c530b11c1bb42ef2697d688501e39f33fcd907a: B1f6e1339620b5936d9ffd9c5cc45c2a81eb63890da1523ba70378639229efe79:0F#@614195ed5e04f047cd95a75aae10429d47013619a436406d7f2c8de9e99e5fe2: Bb59df5899669a1dbfcb4f3d1a7104204308c94c83a5d91a6d901868d554a9948:0F#@a05ac59c1348df52b3018c974e6f7e9eb9e4fba55e8c271cb42782494a2b783a: B4d41bcd4f7344025b64e208491c6d640fd552262d83f036917b9432903ebd820:0F#@e0e2503004ac217ccf9f322cea7761f404bd1f593a2ac9798acf365bdf6b6b52: @@ -101754,6 +109387,7 @@ B70a6d049ac8606d1c39da950049e82283fe171306a12db6a44daafe98025b0e4:0F B548abfe6af5267526f19ceb87ae2cbd7feda5a4bf1a98af6d771c12307adfd22:0FӐ$@d81329b05cc4c23dd0a9c842c8e1aa6f495ecce22b83a31c9e43016a91421e11: Bc8a0d0b5aad57b5e09b8618b79a7311c3ca041cf333b3aeb70b9c843103305cc:0F#@156dee2b1419775e826d9106680ba70c543aa651e4239a031fa1cdfb3ce213aa: B6c78010f944732f0d2f8845c4105c7aa38af4b46e53986c31387d8f7075165d8:0F#@349975cac501302da593ff91d9bfe3bd54308da1244523cf876bc8f18c2283ef: +B306b53b12d5f6e68d374fac216085a27338c445789b0b873da0caacfc78f403a:0Fǜ$@6c6fca12ec6c3dbb0b183e8ad09896b8a24aa56586f559898c78b8fbf7211917: B602ac661a2b52cef41237b5abce5cc1707e97dafd7436583e73ce4168568144d:0F#@fed47a8d62236de4e5cfa57ba7764a687fe7ca9afd80e25d0dc67affd181dc46: Bf5a8e016dfb3bcd6cd102b45ae24178da5a2a004960bfcb9a79349430b3b4f46:0F#@236babf0ecf73d23e8233e69983323aa33edc6ebfb53ee831da5e3c1702a1628: B3c8fceaf1f0ec8cdd867aabcfd3c32d50b725ead94e04b9d3ad5a037e38d3024:0F#@ad3c3cfbdfc1755ac4d9b03940abd3e5a47d6b15a4e50a4cbd1ee62f5020f999: @@ -101773,6 +109407,8 @@ Bf6f44b52347f2b27329669669bd28ade872fd4c4306ed98bf52f0e8f80e4fc6c:0F Bf6f44b52347f2b27329669669bd28ade872fd4c4306ed98bf52f0e8f80e4fc6c:1F"@ff215132aafb7856a8168db9dcc30cde1d4b04683eec8768607c5ed613353047: B3e174d292d3e3d98b2f1dad037b1537a163ead67dd420178e304d1827903ff5d:0F"@432966c3657867756e3912ce8a487981b4219744cffa08acbb554ed9b3b4670a: Be7a5eac1e683e49e8867fbfb9ee077356b2b2ed4c705200f3c2a3467b526676a:0F$@f5d262ccd62dbb9bdfe28b607facdbd54373cade38de605d7c927ac6e60c74ee: +Bb6c1bb1395440020868ebb113dfe584f9668e38c9f40df8f7b5d325f954902ba:0F$@3ddcbfd2d0f7ab93e9ba34655ee9da22939e5949719ebe374b306021278e1806: +B33c8080b14c1dd9873e9954babce24b003224ebd494c4af09b1d8d5e19dc2a00:0F$@ef39199e7aff2498a6e7f2a764c3d728bf5ab8c2b6c7d319afb60f789ff39b50: B9f2d038e5721862c34c72c523727a8c944c80b7c087022ef0d5cfff2030a5f92:0F#@9a2019947ff9d30c93f583a0011363acbc0a46a10dee9dd8fbe62b1e0e12d0db: Bf2ad2f9938bbab62eb3148a854b9a18d9df49ad5d39a920534905654046bc030:0F$@9f70bbbb46cbe450adc2f669bccf44f9e53250c19bb26d762fdcd845c448b970: B14ff817b67f78e540e480b314e99168ff449bdd0080ded2671755fd3f149f4d1:0F#@bc00ad43e72a8342f4fcbff645b3c6d8aec2e4a8093ab0344b8e0d2e9bcef839: @@ -101785,6 +109421,7 @@ B0e49b4d3473cf673c27530daf296cd2b79c2744c68b41a44f6052a49b1bd5ff7:0F Bc68ea6604b4453e4f1eeba0867a5ab40b24e9c7404ba6e46ad2b9014ac18722b:0Fȭ#@7fdd2649a19904587294316de35bd59a2eb96b4354820587eb1f4193b0d07162: Ba7d091b1ee4851f6f4cfbb6f8bad51a1e0f22bc9c295d3315ef2b02bda96c534:0F#@75eddf263d9a184cda739c70579ac28a9c38b95e7c9a9ff2fbfbdbb823f8fc3a: Bee13438b0b03132a21386c99bc6bce8238902e0ff8852e565a53b5d7b6b05faf:0F$@c790d1441840e98cf27a4f8d791434cf2fc6a43c41b68b929483c4d0e9310e8a: +Bd1fe75a369416af70471380e00d924c73a0ef87e10c01664de6db4b244733541:0F̤$@4ec0f09b715bfa7fdf8a66b5f654a3c4d84bd456bdd8db97a54d525f3528fd4b: B2a2190ec5e0fe0ea94dea995b11097ec602bbdf6b4500d6d9de043c50300cf27:0F#@35ef8bdf9c68e1642f61d43e2f20f7a1ada047a4f70f9cf31723291a50b63666: Bd218f1494721c001bd1f6e8b43937b3a1e845de04d2463fad8478c7351d761b2:1H#@03c369728da14e3aae724b9c2505b6f42eb3f908c3798df99bca8ae1e840c6d5: Ba834e2881034db80cd685ad160620c50a85f398b0bb70cc4cfde28c4296329f2:0F#@752eb6cb220dbddcc32a2b7aec03d06f579f266b9f8b8a5ac7a4e3fcadcbec44: @@ -101797,13 +109434,16 @@ B41a6cbe26a164726c18dccd50998b40d77f403d40f6fe373b338d85d6543fe4d:1F B78cdf77a33d145acf57cea6d591eaffb1842a3638385a266a5a30f93086aea3c:0F#@b51b3a7b0f56fb752acd6256b5254fd389c54222e3681bb874a458b227c512d1: Bcf79974235a1b3340c6b6bd5b1bb9adcb61225c56c76e0c96ea9073ebf8e5f9f:0F$@22d5a33750ac201d3d7513739a368bf4d9ef13324edf8ac057eb4c56d424f0e0: B140ff3b88aba090027db869b686c92ea11e1d022d5ea61656a62594f8f7a7a78:0F#@e493258165971aef5c35d2ecf2e693ba0ddac91f4c4131be619b5483da0aacb3: +B39e49297e7c940b4d914708704bebc6cb46e7a99f04e554d67d3d57cbfd8e09d:0FȢ$@7b81ddd7f18b8f17b1f5c4af9d6152f2dccfa6aa0eb6bf186aa976a7c0aaeae3: Bad3748034a0ee783f985678a5ee723630670a36ec8b214caa7efb4f3e7df2528:0F#@7ae42874dde40eaaf0f97d4662a1a9fd29687eff3816014ddf478380623d11f2: +Bff7666ea37cc2148a7ad8875524fa9f507676401efb37a6e811b7e177ea3e2a1:0Fǟ$@0a902bcab38db37cc93f38c9699a883e69422912e678f9c02081e5b52ccbbb78: B038d91d6c399aff763105c0174ec0bc8720d7649a12f396a9028dcddcba49a91:0FȎ$@5b0ad002248fa7f19c8a24b6a67da1ccabc16d4b2b0929c05d79090b1b1f4fa5: Bcaef939b65ddbcf9abbea499b36a0a52f252b26c9d5e43cd4705449c55789676:0F#@5aa90ce42ca7a3991bb92f5a9dd9f9e70a411b0609e62877464ecb7ae75256c5: Bf7b6a725570731cb52aa4fdd4b4c9354514be89912034ecfe4914ce6b3666663:0F#@34b51f2b64179368a62e6a023bd173cdb2b59d188ec6a4fe54a344be74c5032a: Bfedd3552675b4db4c6b216c556063fe629412216ea4af16bf422aff9aeebf850:0F#@cb473e7e9de52c12f4a21650e4638942984d65412c21250142acf35651fa5645: B80c893fb69c4eb6d7aa60454f0e20a4d1d7aac7573e09f58a9174d0401aeb7f2:0F#@8712737ced752d304e4dc283c39f76bc6fa39e53ccbd69ac457fb32692575390: B86285414197023db6a83bec036085589b0b066cf2de3a501c102ea58babea17c:0F$@f1571000e056adab4030963e835b267b7c0939d726aa18c9c2d673195bcbce66: +B8ace317f0bd05fdc35e20773bf169e01787d7f4d9d7a9e934b9effb0290a6e7c:0Fޡ$@60b8c912b4d5fa5a2da2a67ed991154360aed733de046606b21a8e0206138384: Be021b55fee7338eddfb516f0503a9daabce74e96d4939d411bc56a11527f07d5:0F#@ea072d2178b53b66018f798d38e25b6d96c45e50e3aaa903cd41022b65252479: B5f7eaaeec75f66f2abecaede783d28d13918fc95a8e06648357b2fd6bcab7788:0F#@33c155e6de7b91c27744dbfb1d9b81cb491f2baa7effabf9b86640d44106246f: B162e7da83e742b462e4fa4439fdc47be20502992d14af33a5b2f6e06cd143818:0F#@6eb823cb5097444be362af95e38fdb049bde5c62a5fe9eef9cf1c4a1cf7d3bfc: @@ -101821,6 +109461,7 @@ B95fcdb532e8aa979a1e6781cfbeeefe4e3211bdf7d7f146a614724e7d8e8eae4:0F B9e4f823cb6a491e285c66d9f38d9dce1b585811f1e1a188108fe45a2c0e09fdc:0H$@a1d90cfd88f1b32413a63fee413052fc4519b2c519e04be3873dee1e90fb5156: Bb80663bed0dfe257abe485106764e3a1ee0e8afbda7ca66b87dbd362cb5f41d1:0F#@60f61fed0e4df5ca9ff59f61e9bcdb5c916caf00f52bd134665085a546bbe0a7: Bea9525a6377dc85895c3fef099bbb263958096b3344cc5f5b4ccedabe2d3d51e:0F"@313d7df172f8ab45148d2af4577b9c1e2e02b1950610a0c6e80db33f9c9aeaa8: +B470b1fde5110c09689713b504a3a70fdac9bd3200ecc5302b0e721d136f0ce7e:0F$@a511d7a886d3281368c3fd41c3726f0d69ba7c8b056f3de459ba940d3eb13f5a: Baf74b6739d32375a38c43c43c777c1d943757f66e4774f2272f73f7fa3fd515c:0Fש#@88a51c1670bf293491572eb1c1aa4c3679377cd2b0a62c765843d9167a9493d8: B6e72d4066d1cd4bc2e709d5437bea9b755b1c498b652ab15b154fefaea5e5715:0F#@00b50ac55273466ea6d79e226dd3e8ff5eab6e251934d5f5c4a88c16f90ce4bd: Bc66d203caa54c65a37ff63d5d092b2d79ff8a15350fb9add0d8bdd09a20b3f7d:0F"@10e3abd76d49f98ed88c3580aa0d510a93cac31ffeedb0d1141d1a37eb16485e: @@ -101853,6 +109494,7 @@ B8081b58a71aac1510c090dee1de4bee99778a51fea6988b38e8a9b421836a9e6:0F B8d8b097911c93ee71a25e4b499b6f8391085a1402312d9ec7c52b52c4f628d71:1F#@6458967aecca7f97e8c059f83e83a67044ee4baa0fa16adfd12795cb0cce214a: B06b4c85ceb0824d8ba1d012780cb816c04e09fff67a4939db99b38480855f466:0Fچ#@f2246b2bcefb7c243f2d4b58c942bfada19579cd691d8f4fb35f64aad2b202da: B572f137745b179320b8afdc714d1e522b66a634f20cdf5eb02c401ce84910d5b:0F#@f2f9b0c5e8ffccc9e9372f359965346a84d329069d06fe4a2a5f87fe4c143f1c: +B0c12a021ff25e4a3c33e6b5098045c2828c9f57c875822bb77d9fec7fefc38f2:0F$@ac94ba5d4b1203c08a9ebedc261a2f0759711c620c446d82d6f47ed2fecb2e6f: B15a68dcb3660eaecc3eef0df2f8f1b60b68e92fb45d6d8ed5100b76b2f05b027:0F#@63d109c3e8524ef8656ef67533bf8813a5ec31791a0eca2a496ed2e2f04b28eb: B67cb41492e0f9d585b523c701f08e882eab05f83768bfca4a70ffe689e4d90c8:0F#@830640f1c5876034ff1e9f8e190427efc825892dcbaf2d6c4af649e4681815da: B13b44207aa6cd07f9bd39145d5074a68aa6c9391c16f7a5e239447fffa8917a6:0F#@ad995dbb1c651c481776a4a69e03f64e94b52725520c0d325d4b75ad3889b1a4: @@ -101882,6 +109524,7 @@ Bdca24d5edd9a384e35fb6aa1dc1a9a5a9cc0b116d702433089c9ca283460fa12:0F B62dabc9bb4b3d28e15e2f908c6219238c7f3ce05178dace69df804a29c12dcb1:0F#@1b49a81142878b390eeafc2602f95177c547bf28624c51e9f2a995d9e6544fb1: B4bf15b793094b7e590a9d670f864fdeb503b729d7d433487ef08a8a829925cb5:0F#@cc51cea49399a2292ee5aa7b5a814db08ae9cd3344bed860a509330646cd576c: Bb4fe8ebb92943bb53fd3b0922af5fcf31b5631219576b051cf2197bed2bf5271:0F#@6dfabae70f0157c5f48969de9ddd03423a160889862d87fda82d2d55655b38bd: +B173bd3fc97112e5f392725ae06f3bac47e70c6073b64c375137212f887eb4438:0Fɣ$@2f228c8cbe1981f96c364289a80e56d50f060cd07394e0a77977efd2ac3b9b8d: B38240a9c15c3f093903f98191d81945c35861c902379d0ecc2fc087262f7ac72:0F#@f50b01e70e481f659d1dda4dcefc0109dd6f8efcfa603f5830f752c25412c0cf: B5d45966eb8f1bbc4c8ac49c75d8942af06406c07f7538e5fddadf862800d1a69:0F#@5cc6887201b39928d2d0467d7844199cafab584b7f588dac49e59664e5a831df: B025e95257014cf6cc7605262d3b3646ec359ea79d264293d3194eb1e130572aa:0F#@e12831b4261c489d1163dbc64cf3cfb89cb0167bf9a39d115aca826a5c693e32: @@ -101903,8 +109546,11 @@ B0e771053a3c70dfe5b22e5560beac380f83e737ac560604241d31ec0ecf310f3:0F Bfd612e10ccf04beb693f01b4fc55287d565ba0ae8d91fec299005455040cb33d:0F$@fb153f82b74e08d5b5025c913ec5deb907532d4543ddf46248bab203c0debac1: B0bc9fa6da46c48b41b040f6fe4e8e82cbe5e7df5d1662472622a8894fb19fcd3:1F"@79d639d5c78948c3509d8032118c4c8277baf49458a191612a87c8be6f8a1167: B4bbb407631bac2ec88af2836a57a018706d82d0ecbc5b96489a4b9d42b9d0e66:0F"@ac0e39f4c47f5523a5d3af5ffcba995ae3a28d8d1e0ad77a347a7cffdd5a04c4: +B601ce673b2602c14630ef9046cf26bd742dc6f20e2f2deb4505f69aa7b7779fa:0F$@fd28f0f8a333fb17c76fc146056775f71c809cba4e5defd032c21f798c20ba02: +B72c59cc490e7d4d98a1436f249c409c47d602893a0532ed31bafe6d85cb8ea01:0F$@6bdd8adbb367cff5e1ca0b75947370ae9e5775ed85479a2b8e48516b0c4b6d50: B3137adb315ae15c4da553ad55b7dc92d0c0f594b83709e9585c00cc2aba401f8:0F#@c559885c98df65faf13b7b9c372e6a521041d21a7b6aadc820d79acd5dc8ce0c: Bbddffed94de49d1c29869360e1d3178fe0eef6b542d44d3538db23e14b02256a:0F#@c9b2453d3f0ea3379787e334f36edd6663a569881c196f410b8a08cfc4ada041: +Bfb84aa275790e572c33575a4a3c242a0219e58dca578939bed4e5aeeb7db8544:0F$@e2b80216a45b5cbbc24ccc20558aa4fc2cee5a25ecab8b899f5808e5713ce3da: B5f5075862703a39165c0f62c2026a5d4ce6a44047a213b7861b20d1bdb6b7b1f:0F#@0b8653e35b509697e673844e9aa2a7df01868077bd0a7d4aad2bd784b63137a6: B3cff84b3ae6701aa022c6f087e5621ce4e14eacfd141a762075b2b74f1d4c437:0F#@0e939647e307be099d9875408611aa9cfc61f722ddc2fe7ba57a38baa34781b8: Bcd12c5ed8e10f2bbfd4f1cd9f08b9bb7b052895d1931f935efadf47331bb8335:1F#@4921408fc13b8dc1a426761bed18f7236edfd2a3d0e040ecf90245315aa0fe99: @@ -101935,7 +109581,8 @@ Bf2527f703d9c44226b2ea6d33d289e080eee63f79b09120a68cf3bbcafa6c11d:0F B22b89b6cef0410f05587963d5516e55a245819486c7c2f8da7528ccffbc5ddb8:0F#@43fe6e84629e95bd6359348257c5e85cd038d0db01e677733233f70ba6be7fa5: Ba5248254894343f5f4eb9741a2d85202e6796ba6a33ce852449341171331bce7:0F#@d2be93d967e3925a9ff9d0890fdec92a7801705556aae9da23a33284c1a7a031: Bad912a7cdcb51853e8f2244a98f26cdf271707bb8aca5742157d8c338d2a2e35:0F#@4478927c9e7a2d777df3599f2ac4155455d5ce8bb28cc6975da58b760e2a7296: -Bcd271e696eab6ef755131c37674b72856d7dbf1aac638c63ecf1ede7baa2ceda:0F#@55910969629856a48ee94f9294d97e82c2acceb086bc166a52d1b65501626af7: +Bcd271e696eab6ef755131c37674b72856d7dbf1aac638c63ecf1ede7baa2ceda:0F#@55910969629856a48ee94f9294d97e82c2acceb086bc166a52d1b65501626af7: +B02776f89668b61fb61c8ff0d819211c2f3eda66a1ec15ca780b7a5fe1241ec06:0Fߝ$@c485ca8433ce8417f6fff949fe727c59bf560285758cee938615422be5e7eff7: Bcd271e696eab6ef755131c37674b72856d7dbf1aac638c63ecf1ede7baa2ceda:1H#@eb1e2b72cfa0b3fb97167f06cb2512089f5ba8ecf869ba01d9c9c2efc42fc101: B74c31ae3c5ac7a21fdc26dc2447aa17f8b78ea527cb45a56a7a4d4d3821375d1:0F#@d871e0ebe9b05e6bba7570ec870918892df62734b46323184789500201a54af3: Bbef6a8f2cada542a46b73288b3f7c05a531b10a46399268bedbe94010f11d73c:0F#@fece446821402983d84f1880b784968d8cd10d733eeed2827b3ad44c1fcfb5ba: @@ -101958,7 +109605,9 @@ B490ccaa6d25a079adf4e4269c97bdc6802d93b09fa762365b5c0c1dc72214dcd:0F B5f3df1e5ddad959ee941e72080ef70065ea7b73520f494ca2052cbb5a44a55b6:0F#@f8b06ff1cec83a39ed0f9ef253f87bbf2b3ae10d6c43743e69e7d18e8dab32d9: Bfc9fa62e772a40dc90c5014019e09fbf26a4969f4f41c487ea0646808058481f:0F#@8831a92bb686e48a177293e0643d29aeb0009ed89c8167381ee01bc0b1b9748f: B4f9b003a5581a9b63ce83b7b11fddac9b3c747d5a20c8bb2962f55b0b0b95fe4:0F#@a1daaa85a0b9b1986ff37df26c63023c6b7620abf1fdcfa8590213eb7b8dbc68: +B082cafe3617f1e0c39304c7662381cdef80218cf2885a0ef10f260a0a1f697d5:0F$@987ed088ab6eae9dd88e409d6a8fb6248e8b0c1b5e37b7c909b5b8b74728f77f: B2f28d6c7fd8ac5ca8ad70a694196de72541f191efb9def8dd002b3134724c549:0F#@356e9f77ad3601b4ea9846228e93330785641f742807aae1795d8f3aff3207b5: +Baa4763a2ef0c9220111f2cf61895271171d453996ec9971adb0731397a15a660:0F$@f8c7a1ce64c81e6107684a098d098ccd8a6c1bc9a9cda47ce2cedc426ab9d993: Bac918e2dd238486460525082d6df74cff56f527d1fdd4e4b3f71fe932a2923f9:0F#@9bd4a7c4ffaef4a8ab3c59bf2b0bf444a2dd9afd9340bc68793f44448f97807f: B02c12a444c738427ca91d0786dd24b770a20bcd34208cee1cb461f0f5fbb8cc2:0F#@77113f605d34aa16da42856c55e8d53786e501228103a2f317cefd61902b106f: Be4497a00a3fb9384790ef7e08ad0d6d5ed1ed9cb8198fc40e240a550f52834fe:0F$@0481aaf6c6b90928df2e24e7c08609bd11259fd47d8c6446e05443b5770ee53c: @@ -101969,7 +109618,8 @@ Bc0420753f7d13576f7c75518f91e4a814813a66b21ba7d690391a3f1b9ac87e0:1F׈$@b52f4 Bc0420753f7d13576f7c75518f91e4a814813a66b21ba7d690391a3f1b9ac87e0:0Fٻ#@30c8bbd5213f151525559a9018e126801e9b16947600b92faba2e7aca11a62c1: B8e8b631e034ec1e3e5e999d913df28be4156c92e7bfb0d2024fa5bd35b6be0d9:1F#@64062c8e4d9593a55e5232e606c64cb465951a05702efc9a3929db420f301a98: B2bee9087aec545d1b150f17d2adccbc8c8dd7b3ef5481384bea2d8bcf5b4ba93:0F$@785f3bfa7c90285867e89fc08ccdb6d98b0dde67a30609a5728ce9bb3bebdbaa: -B8e8b631e034ec1e3e5e999d913df28be4156c92e7bfb0d2024fa5bd35b6be0d9:0F#@d5f167c4e3bb48a7b84d6782e3e35ecb47ed080a76679c6ae043fc6f4da54be1: +B8e8b631e034ec1e3e5e999d913df28be4156c92e7bfb0d2024fa5bd35b6be0d9:0F#@d5f167c4e3bb48a7b84d6782e3e35ecb47ed080a76679c6ae043fc6f4da54be1: +B1db154fcc80970ef6e51af54a25a85d394a1674f47e03c93845324ff4851298a:0H$@ccad12bf6348e6ac67277467440124bd3e5d08b2b08cc6195ffe90030b552dc9: Bcc51cea49399a2292ee5aa7b5a814db08ae9cd3344bed860a509330646cd576c:0F#@55ab4ce4d8d234e9381056bf3f8b788f7faaf1f0cc598b45f2ad7f22a1ef3dec: Ba9c4aa0339e15847bcec19a7bc840642386dead142076d97eeb4a478e9ecae92:0F"@34884a6ac8e7429f92629b3780a2bf4ef42a5d96001700c86c960f98b1fd1591: Be782bee5f90f5c2a69fbb98d76b59c40560e366eb06b4741e3daefb35ede06aa:0F$@d2d123f56547bc1bdc755a46ccaa62a9207ffb6fb8afa9fa6cae723eaeaef33f: @@ -101982,12 +109632,15 @@ Beb3b3debd3a82001c341e655b26de4f5a3e146538118492007b76a109eae22fb:0Fԝ#@50b9f B2f630991ed1287d8a37e62513324be3ba0160acdf4117c4a47afb203d589f52c:0F#@c019dc91511e782f20483e6c353144a5c9c39c882c7f03fa73b1f9401991c0b1: B5930370a10fb52ffd10ca68d548088cad43ca2dea91e54758e15423929f8154f:1F#@56c2c85aa4ee5b27e701a6feed2265402eb9015b3960db3b100646a358f3c004: B5930370a10fb52ffd10ca68d548088cad43ca2dea91e54758e15423929f8154f:0F#@2151a136b66d3dbea5296de6a48733b0f680f81c5a1173b4203b1f24776bf5d9: +B99a29d5462f275740dc7de595f3de057d5037d0ffaf9d32f4bfc39ab512274b4:0F$@22ca374d0dffdfdb2160cc6f85a76682c7c6b1b77eefe70daf7c5a87eb930fea: Bfbf465dc3cd8a9c06f147e55f015fe67762374b8ad75b05418094e48a7269aa2:0F#@35bda036361339ca7c99899955112d07a4133b41fc9655fc0b2e9826305df836: B7296fd7187bfdb3a935bd229191e3e48fdf58ab5dbddedd9d8aa5f5bbdf045f9:0F#@f59518f457669e6b78937191f93fd71a4e3f77d659b8f1a93b44d6e86cf51ecd: +B7741f071ee9dcabdefe29695cb66e742b0e566b7777b1185aeb107c47770dac9:0F$@6477c2b2dbbccea19d2389f6e82e154a36de82b8e3f841edf1b5353fade38e82: B464d85bf4d64f5c8d0013341a1da3b1ae855657f5d377a8039ce2ec4fc2ccc02:0F#@bf69812078af77f0aa9856450d7f9d6226ea7409511297710d3140ad907db8e2: B698cb371ca660aa51eec76c8b06724568acbb0cac101608d62de0dfb315b4520:0F$@63395bb63f57881ae08d8847a12c788349c3a4541262499a4519b1c28315302c: Bb380a8b90a9cd734087d0c7d8001d8c3504910c379cd317c89dc5d770f30d5b6:0F#@d2555de0e63c3a6d59b45d33261f6ce891ee29e51848b2bb4f8c016e16706096: Bf22156fb4821babf2ec6e4d85c0c00aedee4c1452d03beb25eff758e36b12a6b:0F#@e1852666fbb9c98065beef1dfce4103cc70106f3ca9b51bea1c9a5e87f1fddb9: +B8ba4c40c6c1078c7a7418380cc39d08f3b5043db17903e20acf716a2b9769e70:0F$@b6c1bb1395440020868ebb113dfe584f9668e38c9f40df8f7b5d325f954902ba: B9d119cc5ef923f91db920f2cc4c06cd9d40db23908b771603e52849887d35ff5:0F$@a7e74017970449809bf1257d29dd93fcd40367363e3c7585e2ac5e5056a4e022: Bfd102ea25217e2ac9c94390641b8018f341e0129ca863e31569aa3bd0bb30d9b:1F#@788189a5822bd718155fdc972abbcd2cd3e30568476501f489527657e8e1f798: Bfd102ea25217e2ac9c94390641b8018f341e0129ca863e31569aa3bd0bb30d9b:0F#@8e73ea0bce00f9e675e60d8d2294331162fa0bb771067fc7a42d026ce4a8e617: @@ -102009,6 +109662,7 @@ B2bba7db86d23b07768eac783827f74f600759654547144f0cb964ee8d85248fa:0F Ba31a32d394cc8bbb4b57f4736732f64e495ed5fcffa0006ac4329317002facb9:0F#@8cc0364977172e710f730a3d947c8c3fb238fb91f3779f67e5f719da8ec1da28: B42adb607781bee0f98e5e8c061a8f806723a07e3cf5c71140383662c280e4a4b:0F#@f00b4fa82e86928f36bf467c1839ef755f3702ba30e830287945b200ead2e055: Be70398a4800a5472db626ff8912de453206281e592754446e83d392e207a9315:0F#@c10ae23589446142d933d9376d0869ba6ac7017bbd5cfcd27b89d1a6efeb190c: +Bd704339e645758c6bed3363b6eae2fa67dc8b1534148a6197a0a87b782ac8b68:1F$@9b6c5f8af065df45656231ef431150ae555b895da5a29c6e44409ed3e72859c2: B1fe788e0684ffd879a0fb5bfccb7dda0480a2569a1242ed8855ec33cc3b7dcfc:0Fǒ#@16fdbfb26f39405b12c731d2b9b4013369ec9b632fc89df6effa5f0d9a130cd2: B330944358a11bf9b694355efa3158135550ca74d204e7fa4413b20b66f8fad92:0F$@b16505a8c619ae484c01cac0f82208068dadd5cc8aad59bc6f9afbcae151eefa: B1fe788e0684ffd879a0fb5bfccb7dda0480a2569a1242ed8855ec33cc3b7dcfc:1F#@7b2a461862c6c775dbbc432428972482534564ef43f90e119c1bedca7279d440: @@ -102031,6 +109685,7 @@ B9012920bb3a58512a2532575152de0cd1d5ac365cc1a511f4380cbc79be0b818:0F Bd9b6d170d1faf63bdb6af479335d11f4f9e3256dfaac8fd93bb3157e782ee0a2:0F#@f21b653282c1ae5cb7a90bcebaf6ef0bab062f04c24736e2bf18c15d8e6bda44: B61eec91350acc31c47674ad964e6a507fa514066a8b79ddedc288f31ce95f4e1:0F$@0d8912f53b41515266504895d80148a35f14f55275cab78d9a1e4a545cd6c289: B508cee0c80aa92844b718214d576780388d3217e974a3e0256591c93fd0425d3:0F#@bf673ccc0ef8970d1d2d586fa44bc3cdd66d641e8d3b889630b492afaf2671af: +B0b3e96dd88f47c16bb9ec8d6190b091779521a1a8eb591db6e0ed3bbe7b30aa0:0F$@474310086e92c607fb60c179f45e38843b72556a9045c7eb1843fde410ea84a6: B6b137b40e014893596232f3a4526c8e9cfb6c80ee3972656276025d7e494a37f:0F"@5cd5420df0a051037175d3d733845152ee06beed53bf399e696776b73269a9b9: B25e3fc759ad5ce6342fd39a36284cbd17c5041663aef1d2c5822d18c5f210712:0F$@754d4a63db049900d8954efed921932a56892a89432cb7fa660d1f0a583bbd97: Badda0e1215a44d44fac2af84bd07c4d0d2f783b056c7dec2b0a66101a2a055b7:0F#@d2f4f3a74e2856086b2809ca4747226f55b187dbc242e88487e4d9517aa9edde: @@ -102038,6 +109693,7 @@ Bee1afedadbc7eaff274d012e609aecf2eb5d2d587e5094bb7fd0faac66888e2e:0F B0a33c6363f79830c5f035712066bba20b6d315bad5f7f2702d5e20847da1bc02:0F#@4f6770cbdf3759fb099ab24c27c48c4b6f6443df03774a1cb263537b7e1ca551: B19d1f95c7e9aa33e1fb9244dedfb23f8cbc3af8e6b185cf880203af4811b5e47:0F"@80a1e9b1f746d4235bec1bc8e353144faa175f90c143473336acf87c099ee1a7: B11272b206fedf721b46b5e515f6cbf24ed95999d9c751d1e5962e9acb617acd9:0F#@5b1679c0a532ffa554035b26dc75cfe4c1d36a664890e02f2eac43793c42e18b: +Babea48063ba9138d928d6147820c879b623e0c2ba5f42e9964f4a751d68bc69b:0Fמ$@74a056ab554006a999893f0012ca9341a9e2e9a526ab601f15f2fbc18951b8b2: B171d548877532c6deac70baa76b14c49f451799c97861f7b3b11551374562b7b:0F#@730cf002074e263a8d77513376ed63fd23c2fbab58fc683ef4745c4b7e2101a4: Bf60e498545b8c50517048ce8bd7e1f50517039f509f39f1689adbf8100b936ce:0F#@338119de074124ded3436a336e2c27a82229d37d1d785fd8a37b34cf9dd31481: B764cd14bd2e2539c8b1be35c51152200ef066c3ead93c64ea7679eb3796195d5:0F֨#@22eaa7faf79d93a5c65ad85dfc05e45855bb0b9bf2da652b2a602284a5029f3a: @@ -102061,12 +109717,14 @@ Bac7284bd48d6fb16929e51a1727d0f86ec70a7b39484b3908432257913352ed7:0F B705af915aa43bf436daccedc8019e72708e44b30edcd7be77e95843e1c97dbce:0Fݕ$@dbfabcb82140f84b706078da0ed9ffe15d7026c9cd9e1eb300f8fec72618664c: B1313590bc479d1ca05f61bac454c9f78910992051523fa67feb49bc531c48d13:0F"@a4e144cc71fa75c52ccffbd3ecc63ae86a8d3976c58e63717c324b8e2d3ffb67: B7364062083958f344898706b01dee21e50eeb227d91d13b1c2da2e1990a4e155:0Fм#@18dd7d05365a0ecd9614fd207f3e62c8bab91bce56323640d8f7ad48a6be340a: +B847b79b99088c4c76fc8b8d77a4e6f7a0a29d0d5664aca81ee67f8862f548479:0FÝ$@21c842e1314307fb9fb6c9151a5626358382f952fff1f6729f0f818cade63b61: Baa95b7d91f02063d44ef7f236d01931b3e2ab715454d2a0fa4cd93c7174f2f8c:0F#@4a256ea34a33f3d2a8dc012559eda0e02181c255cae9d03d6a1758df67d87e77: Bb7519e4a04cf1a3cf0e10d2426e646e75662c2e2e5b33c91ca323883558fc824:0F#@0e5095fee08d81fd36f4dc3da8ca2e2be608029f5724dc1c711704fcc8258784: B17592e917765afacd185789839d23e19950122c6160e5fd19e14268a01d93f1b:0F#@8bbc05a5fd82d0dd869f3d759a393f8bc75757bc467373ff5177b013b488f755: Becd6121a78106f31bb2100161c3188e11da838066af8072ff53550bbdc681af9:0F"@52590102baf90d83cdd2ad1e0add249eb677abf52ea8aa02f982850936af1e99: B3585fb4b7b3045ff53715e38af7198bb71f46beee9fe73873b72c07acee854c3:0F$@49ce6def6b4e53e2accb2df167ba796ca5fa9c15eae7c3e3ae4e6ee49c429198: Bcee5a79f8885a7609233cd75fd9414313bb5b49f1bfb21f637b2a905c64cb783:0F#@ff38b7cde4cf22403dac2ab189fc7e81cec9126eb451e7d0c78d93d367a889d0: +Be3ccaeb25fc58f4b2d3e62cddded1db5979c823fee55bbd2127066889b5de256:0FȢ$@fd36ebe0d868b0d708f2d00a4b28ec57af019abbb2ef2477d2fe24c0a02312ac: B67b21963e1cae941345787da53efbf70e65e6c01e520b1e1424b438742c7ba23:1F"@681c0eb3e308f0e5687a0804aac75f0c529763670d13d853d55a81ba815bc361: B67b21963e1cae941345787da53efbf70e65e6c01e520b1e1424b438742c7ba23:0F"@3fa385efc4dfd4de7b5e16f211b53bfdcf6077996c2c8c85eab98d0349137a72: B15d0dab58a92f8fe2073ddd47f18f7fd8e828260002246754ad1067c827f560d:0F#@e275cb97895a5f95ac6e09e77cff24ce718b669471bfa83770019fd900a6a12f: @@ -102095,9 +109753,11 @@ B8406f6534609b8d98052987ff9d8ccfd7da8a0d0af9ad165e522be74128e1c7c:0F B88b030b4b9e2921e21733fbf3ce0a1a584861ddea7c082bbcb972779d6db20b3:0H#@4e28cfec593f4c41ebaec90f7add02d93a55ffd518810954b5f0b13a7950b5b3: Bd6a72e2bf7366d89e292766ab5e99336356ac06340f61442804e1e6b7035ab8d:0F#@1181719a1db714bd753e5fd77c98c8b804be150fa37ce2e035225e2b556838fa: Bd55ba7efed5552aa59bd1e0fcdc658487a1930125b5d5bd8888ac691118afa92:0F#@ad54f62cba8c0090a2df208ba649d5d126319694e5f75d27ef215c0f7238dd9b: +Bdd619a69a9ab1a59608d2a76574d287c35119507b4a760a45159eccec6e22906:0F$@c6f2fac55b9e6338e0ae0b9116e78f7d5ea65d093f7c76a66a822c5b900c78af: B14c3116aef7a685258c91b1b3febe11dd3fb78129dff1cd3ba441a33e22b99a4:0F#@2723133561320170fc2a245641a177ea8ec61fedf206c60e6ee753fb45929db3: B4bf85401f4af077e0c4bee15737da8ed77ec2b9ad6b3cbdd7e81be20fe440e99:0F$@3ab6fb046daf07d2afd6636ea61d9846823f6557edb26f2d158167174998ec4f: B29787713264d0111fb8a52a28009b2713b1118a5dd439d9e6ea5ed1c19e5ab03:0F$@03ca6b855d2d3b01216c8716317bd423bfbb5411cbff6e79baaa47207db6e6e8: +B5d47e53db3f77d747c16b4ec276139e338abfde3346c940898c0101b03e57132:0F$@0e320c84dcaefd743d7900dc4f543cd92187b70bdd0f1598f832c90ef0767915: Be2db3ff6fc5da7016e3a71080cdbaeaa43342c03424e0f6e06923ef261cd918a:0F#@dcaee6839232507b3145d7af7a753f671c1b08c536536d7fcb61553ee802ca06: Bff2aaf11c5b40f8a6e706698b12e46838f0915a1f0b1a2a6db4d860d9635219c:0F#@dc232ff2ce431488f9401eb52f9655cb2d72bcf222267bf48c8c86e2c5a2a53d: Be332beddb23a7142717d451b14cedff63815c92c34f6f8376083eaa1d47e1f32:0F#@f202716122f40af2659a878395448731f371ab6ce09816c26e8e6b32f8f97c40: @@ -102105,7 +109765,10 @@ B59b672e51a802139df36450a810860ae547cc4490ad4aeb4099692d0dc9ecb79:0F B5ee8f63625bdcc58909f4b4d101dca4886750f1858f06e23ea58c3371572e72d:0F#@4b423899e7842d31b43a02a1a02cb36984a186bcca4aa5c1c575316bb7feed79: B1f73095b84f82268511897029feda61d77bc5ce16bd645aa22efd66e94bbd306:0F#@6d331b99bbac292444687fcd6bd1a3bd15f9b68d4c4cfd374279f9173dff112d: B53b6f9067e2f76c709f2523dbc673a48672596c38563c0f334efc9746485b8e1:0F#@59c8a12638a37d977e4457e09ecdadfd55433590417ac67df01b5f058d69721b: +B1f59e62f89a8d64f2a9acbb0dab36db22908653461d91ff572acd42fbbd737dd:0F$@61ba8c1aa80c2ffd6f1e1764ba0ba9d7c200345027b3362e9249a7b947a8d453: +B4b1323adeb2ff03736e548b07170039a5bfb476f58e5b4ec6c5ab3b01ef0f689:0F$@6c7116beff4fa08c5e4774280cbcf11337a8b6a6bd3cc451c9f860f467de6793: B91076b6b380f68ae9bfd769b4fbeb31cfb2fb85791cdd901955f14162ff00d86:1F#@954cc5b1aa80a89ea8b9d1fbd69a564f704e8538ccb8575497d952afc0c7b0ed: +B645b17a420ced878388d8b8c3c07c3c6b684167e6f715872c9afe17522ed9e04:0F$@cced0373583e2cc108c782d5be2aaf9d2d4c2ee5c87cccc3f2cc8bb46b2699a9: B91076b6b380f68ae9bfd769b4fbeb31cfb2fb85791cdd901955f14162ff00d86:0F#@e404a98ba1b1d28d2791eed863b16e839ed5a67c27466baac5f448955915a382: Bffd2a2759ee8966f7bb7615a56bca25f12dfc96b4ad2dc445cf3a57982406a22:0F#@5a28e38b8d804c384f788871bf762a56152fa385bfb7648f08bb0720bad448f9: B923aec24a535b17e8d79e6aac2cdb9f82e80e17c5729f23c23f3106e2099767d:0F#@34857d76d0aeaa4ee0c97f2428b4557d76e3edc6bd8a08b1444bdb3a838e1fd2: @@ -102141,6 +109804,7 @@ Bdf06500cb32a81b01eb4ec985094f5454cae4059f7eed1066f7a658e9773698e:0F B025e3b77d7e5b3c315c2a185016add3b9e63cb15f43e7427830b1fc0218cfff9:0F#@bd68c09ca4aa5f334393222769058deb4271b05369cfaf727d83f35c45733e72: B87852ff71e96382206bf0b17f02e68aadac15b79ac772c25b704d50c31eddfbe:0F#@d1a2b687b2f4e0cfb111184d94302e1aafef3469edeaec886ca1984fe4617e96: B9f83485694b4f796c06923ddc522a72899023fe5e5ef847437e1782134b33f65:0F#@d136789ba50bf698b411ba4c12d0c7c15dd8205a1ebb7fa00d0b5aa3d87a219f: +Ba9946c543c482aaf5a6d3f63d3213196d4c2578b977bfd49b37c13c0bde721d8:0F$@94a4575d74d33fc209c8b1a7a936142f994617b635a66cd1837a359c225262b5: B24c59a4d353f54c1cf4c533b0f85b0f99845a932f07ba9b07e49a2734e83cb3a:1F#@faeaaac6726d46d222425ee1f67592150277e4337a9d615a9560d8e44e297f12: B24c59a4d353f54c1cf4c533b0f85b0f99845a932f07ba9b07e49a2734e83cb3a:0F"@5584ce56a072360349930a520f83c920e5d1ab9ff9199fb04c5668723b3e0bd5: B0413e6c20ba597db769233b2c73b3c55e711e7988aaff90e94bbd5a9b6729e42:0F#@8ee84e929263398bfb0f7f2b45877231e874951141d485d4f44ea2dcac031672: @@ -102153,12 +109817,16 @@ Bd1b970f5e98a36a28d3fc721a2530e16ff7c38a33b61304e98bd9d72d54c7c33:0F Ba2f7957d921dd185a25d8ced608e58961b9664056f82546d029aae83d2753af5:0F#@7ed1aa7fd50915d1cadf8cf3c7f7f90dfe8963811248f0cf7287aa48e270554d: B6167fd4504e56e1db231e52623d80a279ab130cdfb2bb82e18cf7e814bba4a0e:0F$@90c9698581e245ae990b7a168dc7527e886fa75077a53dd3a1a8f7a54f72e153: Bf14ca1792def9434ee1ae009ca91fed61cb78c1b0f640a416308daf15123e908:0F#@5a6719ff7ca12b31c982b152cccc7414c80eb3cf0db2f06390451efb038e9da6: -B0117f9096d433e3b0a9f1c98e4286f88d448452e8e1f4116605101edf25109ec:0F#@c3249e61e98222366735fbe60cfa2bcdd7b708e46f3b8f901a19ef0cfd41c8ad: +B0117f9096d433e3b0a9f1c98e4286f88d448452e8e1f4116605101edf25109ec:0F#@c3249e61e98222366735fbe60cfa2bcdd7b708e46f3b8f901a19ef0cfd41c8ad: +B4abdc08e030b028a16277d87a9d915bf1b0f32b0bc2ceebb99064dfb31158828:0H$@dff59617851f13a8b35a757fc21ae47e4fe6c666ebbecbc8cefe342347766546: +B4abdc08e030b028a16277d87a9d915bf1b0f32b0bc2ceebb99064dfb31158828:1FИ$@599b7979a06de72913c04c53cf248953049d93892942b3135e67ae764ab1b7d0: Bf2e5fa5326282f5814bf0adfa09412e3f9d46f3132e38c832d53460bb841b531:0F#@228414f2b7aa6a99a16591edabaf03d09e735c21752893e5c5bb4c6b65f77b22: +B4aabb449fafbc65f4319d6f56dbdb50535bd6742d3d62b80bc86fc98e636a3f2:0F˜$@d6ab19178ef9194aa40934b4731b91563363388d82944a790f3b0ca67b2d9cdd: Baf0528ac7a4316bfdc7ce297c8ec202ee94ee4931c44f826e2ccaa4df7cce9d3:0FŢ#@0a5dc1787caab5690b917ef417d4b728e4263cc7bdb621c3e6876d0cefe6c072: B0b461b035ca8699b8ac58faf11825582fa221fdf8942be0790f4ef89c86d1810:0F#@9efd356965f3bbb4588e82c54a4c2e90e276808446e3b416878a552692f7d80d: B313ae59072b51be82115fa2d8304d471ddc27ad5a296bc1df80611fd6aacbd2a:0F#@1d91ad31c5020098624572553f765b8a386a39c707fae372c9c2ac87c6dc9e91: B7bd1f454307fdb355e4c15c5f185541739944a32e49241b70b4e47c3003202ff:0F#@41e822cdd3e7bec48e7104d89affb9e23cd4c00c0ca17beb5447c928c73f427d: +Be0cdf7775535f1fc605785140deb142b93b014a52945597d95a5354c1d80c986:0F$@3bb4f841810047b9e5cba812a6b30f5e00397b52027fd0a1fe35fad7d87a0322: Be40caeaa73cf8e9f1bf02d69496b08c29fbda6e6e45549754c1b71c40a8dae3c:0F#@bb761126fd3f807a93d4490b7b29ad28cbe358be8b74c0e664bf6d3015e08660: B77113f605d34aa16da42856c55e8d53786e501228103a2f317cefd61902b106f:0F#@d04687498e5e859c6eef71c2799814b458182d9777f6f5c273f8d6ac12da7e77: Bc25abc34beda979513c0e148d6bdb0966383473a9e99673e1f8db9566c51b6b7:0F#@f15a06295af66b43447c98fb3f912f634673e7ab1d0714c5e40844d8b0f0a59f: @@ -102185,6 +109853,7 @@ B3b32604b066ef7fbb817233d1582e78b674ad551ecc3543a6583eb4cbe2d8921:0F B1c43db2705e1a5c812f2666cb6d04c326e04e06a5da9b2d3da937e8e7461b07b:0F#@3f48d4219a7f7239678a2317f5b1fa5910d37165c2209a2282c30e1c95dccf3f: B66533c4de5025f32c06c4cf8849075ff6b58fcc6aec879c7090423b96d077d7d:0F#@b6a4887a81f234e30c9e4cece64c06db92ca982bfe562c8946a617321dfd8685: Baf8b0322a7983732d42c527aa5b65e0c5870e86d346ecb52602903d49e11ddae:0F$@3fb42e8b729b223eb4d329690366442c3da7914056015d67a81442997d89057f: +B31f6b7241bd625cce45d8e02cb5c7df015c24056b103c945b6a8977be2eb60d8:0F$@7a1cdff1a64d86ff37e24d4ead0ba7ea3644e5122790323281f842c0c722677c: B5d12576a70d278d12a5f386aa1507d254837ba689fac75796913917332a4a59f:1FѢ#@ba3c0b5ed1bc3608565de10616afbca28627366fb3a43e4aeac2220bf2f2ea27: B4b48d3f50185e9d719e1f91aeeac45b2c2ab76685f60a585dd09712945103bce:0F#@f0631e7a790c0b3b1c0cf9476e9f44f8c6f9871cb9825210010ce294527cb768: B065ca8d61d97e7ae3b6b9ccccd50cb418ee5158e0284f00635124ca92e68466b:0F#@35f8e19cfee96ceeb4838b9f503a6bf350acbf15cdaa4bd3114ba8be04e8c8d0: @@ -102204,8 +109873,10 @@ B7c03329d91d03cdfb1d5b887c5564efaa92f2c7253d1ae7771d88b8f6b029aea:0F B98a43787754efc465678a1c53b985435e5443a28335fc4787afe4dd03aa2920c:0F#@163eea31885b9893d85ce6eaec2e5a794d413a66daa1d260cb9048ce20f1f35e: Bf825d976eff4d9b1a979eb06b5ce181966a80c92a10322ba7528fae636691068:0F"@616470e7838bd5fb9a51755584d0feed150339c172680bb8a17b68ce8b785e02: B10a3f702b781941aaaa5b6fe6504566cf663c79f0d9aac77b8478e7249ecd9b9:0H#@7555ffcc3eace68ca3ec27e68e1c75c3cc27afcfbfcd8a7c715291f0d5a2ec66: +Bb58172f591c6c97bb599960fd65cbfb248ec67d65f0fa2b0a809386bb25ae4a6:0Fۢ$@356f23502b9651b28554a900a4a256bd51c7f51361227daab94a79443758324f: B08bdcf83f7687943fb59af4d00f081591baf110a3c04efa3dbd2ed2515c55aa1:0F$@b70867859246b4b39bb5e46cc942333c75a9d3a677bd6dd7d6fb0a94504ad5ec: Bb9f07afa5d1ba01e82f325acd4f92791e06a099d97b84ba2b276e3e445dc781a:0F#@377a6b02c3e85f5218ee4396600a3f658baacfc15782d5eab5c38887271a6080: +B1479feb44752f28c04575d9c3441c4a08aa758668922a4b4c9e9b04ab3163e2a:0F$@37b7ce7ab8fc71d0b5c6449d630df051e548b2f966259ae546620cfd503a55e4: Bbe45149e3bdbac5f7048ac75e63d42656c67cd86485258a5eecfb81e1870fd56:0F#@00360b5f551e34c27adbfed5d0a224d99234f9d8507b972dcce3d1dbc19ed44c: Bb72aad476c996d2dcba2c90541dd786373699ac95b61a3973326d0bf90959648:0F#@40db7c8bc6c31afbdbddfac76cb3aa274933bc414c558e7e2245797df2e08024: B6e5ca3a5709d8fa7480117cb05132e109b5addc233ae430fda8ac7e85e1ad126:0F#@afdc3a6b6f06b1f0d09d161e627a2f82067d3aaf8fe7c61acf1939e59406b783: @@ -102237,6 +109908,7 @@ Bb6bb198670c25525da0d1ff75526ac6c9c66283fe655ba9f74132fa63648c0ea:0F Bfba609ffa52961c6f7225c31621353d3c6dbabfb0e5d4143e295527def7d0d5f:0F#@3c74319f00eaf6617b13534dd64daa67efb2c3a0d948a731b5de1d33f4358657: B7c7ffb16b88125c9e0cabf6e32370c0ff5a80614d11e922f6c5a59fd6819073f:0Fˌ$@352242bfc4fc2403c324aac5e87ba76d82b980916e6dcf7343c59ea8730dc622: Bcca7c42f81036a6c6c5dff73d3847da84c0a50b99e44da3e93021a7ea13161fb:0F#@977935a392f6d0412a0b31d7e7cbfe878a55d372b47c3c497cf7df591aae93cf: +B220708452f08d6158d3e1780d28ecc2afb7f199351f65133e6f747f37c81843e:0F$@76d14e8fcbcd338ae4ab675260cf7015544326a72e8cb3fbf0562cb6543d668a: Beb6696a522a9cd4aa8c803c95aa66b07ff80e6c40d3d3660ff34aa98c1479d21:1Fل$@5de81c3b421457430d51e04ffbd121e8894c41f068d688a5ea512d06d6658ee3: Beb6696a522a9cd4aa8c803c95aa66b07ff80e6c40d3d3660ff34aa98c1479d21:0F#@5ec7ac68f4763849659cebf9263fee950c1b63d6c0cf02c1a048291b6f47672d: B1137bb75375de5b3410f37357fb620a5672ad18d8af2cc8b627c8004f1934a9d:0F̏#@5b401f2c4d7b921f4be9552b51e09e8b452db588e0f086e01e090c7848aecc18: @@ -102259,24 +109931,28 @@ Bb1d88450623781178da28219cda6c7a7dbdc6995f983ef48b8b9bb80a7912624:0F Beeedf70b4dd0c81d19a3e0f529353c93eb502cdbddfea3c3705a5cf57f0e9a22:0F#@c11e034a114740515d6ea6d8dfaefa4776b30bd835b9d9295c6930389fbf6d57: B9b9cf05c25877e223f4daa77291ba0384f478db0de4c14f59728858c1f7fb394:0F#@c070c371802d0eba769eb633a743bd2fd88380c31ab037e97c93b41ede168877: Be4449085c0de0aeab7af7471976ef075033e2d33ad81ca74d5ba12d54bdb3909:0F#@199c1d7487c23e0dd35fc2f00195a6cb492c2ad5d18cf09d76569f8de80a17c7: +B3ddcbfd2d0f7ab93e9ba34655ee9da22939e5949719ebe374b306021278e1806:0F$@f3b7660ba484c07b8ca7727013380e09574710829fffbed1addeb8faeb3f34d5: B5888f15090601cf0588731bc71184c2162d6d152108c6a17a8d887475b76b6b1:0F#@6863b80e1bb28da873df65a12344f916b2a71a68c3fae779db33ee54951dc2b6: Be4c931e6a40ae4ece8fd2690aa064146f3c2f3ebbfda5b4b99ffc775b286da01:0F#@09079ce679b327192ada064deca9be09561b96b474221c0cbdecca559bdeadc4: B4a074601f1a892070a724f0348d5e28698b7a77bacdaed78bfe6823fcbb9c5d3:0F˻#@6087d280bf5abf26dd4fd61a3735a33353f7759fd7b98053ae20618e31d73776: Bee06db82bfd456f9adfbf64990691a69f79b63011da822d155141672b6352f0a:0Hϩ#@0c3a4f6c571eddd8cfd0c8640d0494422d1d8c119e87f7e74e6dadcc935aa013: Bee06db82bfd456f9adfbf64990691a69f79b63011da822d155141672b6352f0a:1F#@ad84d80f087efa23d7a15bdcf16607749154b19c553592cfdac779c231098cdf: B683024c2273a1705af4104f2833e3e6a5fe43580c65752532345f03dd2fa3e30:0F#@7c05e4900322462da80ac44e5bce9d6398daf9abffaa42304d2046f9027d4fc0: +B9900df914e6a18345fe2d8ec07d44291d773c1b341bb25eee4da1adce7591369:0F$@6d18789369098db3374d2a895407039ad22c4010ae82815f1485e9ad10b5624d: B5ce16d590cc0a5a3a5b93ab5879c5866e037760f74fd6d47119d22a9c93c0f05:1F#@2d4d458f2a20c4e4ef9d0969ec4a059eb4fe36be6edfa0f553569cbec774ecc5: B1acaf7ccdf3b63f08f9642c66490f78750485480527e170d68384367841e28bf:0F#@defceb5aff3461ad69f5fd5725b610de532612a80321d5b0248184bc350fcb37: B5ce16d590cc0a5a3a5b93ab5879c5866e037760f74fd6d47119d22a9c93c0f05:0F#@a009c0d76b241bac309e0e6d67560c24564bc5abf86b115a268805d8117e2878: B57427129eec0f8b99d96754bea73eaa3c9dfca4e36ddac4a0d61040ffab509f0:0F#@187c9e7cefdb6ed51c7d8eaaf7b3bebd97200beb96c479d3f4ef31f1ca7eaefb: Bd87ca06d942fe4bef34ef9f0f0a15f60b54529e01a2dc40e8432b08cef955d8f:0F#@409312adb0a0192c441c6dade034a514ba416ff6d4d4ae0053ebfb82005c4f78: Bf589186b33a9bd8d1b014aab82f0088c6e578c60b2ee322064d9db4ad4144226:0F#@dfcd799b759bd5bd4dc3e668c65255de1e4fb42c28f0f6bb53af76bfd19f678e: +B3bc5d4fe86c9540b28b77cd09e44ba06322a55e42c132d721241a1fbdde10f70:0F˛$@79d8a960b48a75fad1bc2e171d1c15bd025965767675cff4f06e891a0c319617: Bf85acff7df23745f0312e2f7fefd5b891d9d87b8c9b425a185e21e52fa060d86:0F֓#@276062678b451a20bf74e923cc3054067e6516be6e9a6ff4d00c6d01a616543a: Bf6e520cf4661612372768f26dbd136ddbfc55a4da55d6565d63f1a90ed8afb1d:0F#@cf4c60cfc2b7bf25204954c94e0645e641781c3752e2dbe0444ec01d70d3f97c: Bfcbc6d884316c105c301953b5f4fd35be8064cdc4b39da4733c239906d928128:0F#@cb2a12a41f6df1e5ae7cf97eaa304e96ff518916bf7fa7c37c399ead27f94941: B6a3601b34f7201542317aff49acf948b90b8133b2bd754974e09e7cb2ed68308:0F#@cfe4ab0a63c0f90de6893835bd54f41c7cfbdde081c00ed864d3c637c566327a: B01ddd42e1f11a7495e28ecfd79287a4c14ee459885904e9f029b1a74091afdf0:0F#@503cd505cc736ad1369f7158e79ec5f3e04e6840bbe677d887466b8fcb0e9e1f: B4a5fee3d77ebe68b87db933406760bc26ee77fbad655c6523599fd91535dfcfe:0F#@7f2e2728ead38c86d17695d03fbcca8c9dbd31eead9ce4e816680c1e88e4825f: +Bdd0f3583d8d2b36b5f70ab0daa7bdcbe35feb0ba9cd4d21503d7e7e3f55bbf7e:0F$@cfd147de25a5140b0ae5d0973e6491f5a01f052f468eca4a69fb5e9290d765a7: B8fcdb5e07e55883af7f0479bd10a9e0f7bcca8f2bee655fae593f6b2a53f5a55:0F̵#@683298b63240ca74f8afc8694f2750ec6dc70c41f675cc92e61920aefc5e10ac: B0b2447612c68cfaaed77ff35df694f4bf6a092ac6d19e44ecb9b6f098485ba16:0H$@17e7f16cf25184f68a996c128058f8de3442b19a0d4fe65d9f66b801eb88b117: B746bb39b4c05dc5a74066b671dfd38c548c4edcf00a75fc46d9bb2eddc586d0e:1F#@d9f37f12685cdb37af12ea32dfaba459b2ef456070d77ec259c68d78607de927: @@ -102296,12 +109972,15 @@ B9b2afd240b5f461a1c93920f73903f84f1f83d54ae12b97f2e23781f4bc290aa:0F B0d00211f10852d6e846b13cfe3ea805be596d71b4685f7ffa3b220c266ed807e:0F#@774de9e9ecec5aa1fabcfc15ccc20c20bf0a2a46799c85e445d6c3a517e906cc: Ba8a9e6a2002e4b3bb1d0ce0717658690b056fa5c036bfb61150a54187aed67c6:0F̿#@1f22eeae831b68fb2195610a5941df1801bd3ba7e74bbdf9160baa506bd4416a: B0588f3039d5c5de1591b4991e285d4a1212da13e2c90185bd05e525e70f4b638:0H#@d1675ed3f201a2e0e902312cc4b836aba1a113e9bcf2250725ccffe63b6513f8: +B9b6c5f8af065df45656231ef431150ae555b895da5a29c6e44409ed3e72859c2:0F$@36f606161a146590703ee690c3e11ff8f8f83c863c09f6d09f103a0f41d73471: Bbfa34c897d28e56b99bc6e74ef8e264cdd828ef50a0d25102bdb51ee63d07c9e:0F#@2e0c304c10e4151832074c6787705bb4c2af8f9ab2b7d188532120436f95963c: B2d99b349bbf04ca5c540ad823cedec8911771822463edac094d7da3e2f2f9e58:0F"@55bb788a1fe9a921ddf0758c1bc42ef5148773f87527149c10baf489efbfc92d: B60555b7bedbc6455da300950c3a1bcfbc128c63eafc5a4d978f098999e4ca2c6:0F#@242543bf151db4802bdb23e13b46fa0603399e4cc27921cc3dbdc93b194c0018: B8bf3abeb1ebe44d899453394fad4e4141af3566b6fa2145d509fa5bf0cc2268c:0F#@16aa425ec78a487da60396faa8ee78d1468beb329fc3a0292b2ad9f7c4bf1b1c: Bbfa109a16440cf7a0721aeb51daa6f4fb912ce67366cad25bdd1a43fc685495c:0F"@58e8e976c72732d9246e771a7b9c1f2b2520d048375855c9dd01d5fd794f3bd0: B7d2102bc7efa5e08d3ad5ecaf48a0645cd1b0839c015fc17327bc071ba39c796:0F#@df867df9d3eff9d2fd7552747988cc697ae1e852bad2ab307ee0adf9f7ca2702: +Bf6477d6f038eff24369ba99bf605027cd0c4f31b86bb3a6626f7c7b202205c92:0F$@175ee3da0a53256490152574d185b1c7e9ab98c71a87e5641468ef0ad3edc6ba: +Bb4efa7d6ac46ec91798318d281e161e3b6c774b210945e7111271b6add53fb18:0FÝ$@57e685d8b74c4253508e8556fb218fc65c48c1561c5f100b55371e685e2d05d0: B6e0024e12d5d9c4c8d272dbe968714cbe60dce40c6af8e8ac0fa0204aed9c8d9:0F#@bea33b67557e92b454d5466c9199fd70bbc17fb2dc440fe19e4660703328b13b: Bd53e9fa2a3c2e389137bf2965528e110a12026408fd651c586b1a615a36f49c9:0F#@f94090c6741367b71a403d89db184d61257d4473aef38318afae266cd3c3f5f0: B1ad1516985596b2e997ba1dc0c4d7d2e5c4b56e44b93beee7e1e0fc3ac007b05:0F#@fc2a8510d87afd70896230280de37fc4dddc8a77dd0a7cae3dfc0e3a4360d357: @@ -102329,7 +110008,8 @@ B8453d68f1e2174d02f95b52a59ce00f4f0f8a79ad947e8ab0f86fd36983a4b60:0F Bab79b48ea01ea5c203a6427157be021a2b405087c587c708ec3f7e95af4e66a4:0F#@1c4a97895b2689a7932f6c60469be3de4cb5ec76420f7e199d57488a3b5e1143: B4ce2b26819f0af6571488212d08dad34006a62f5176e62ac52c048186955af34:0F#@728b3e5a3d757043a9d4340d389a1fa47b5a3386415e56f428831f47fa66ec43: Bb03ec31bff894dff9aeae175dffe07952f66ea68c062b62f1741a88cad285739:0F#@628353ded0ca09a4e9eadc656598ac72306cc24cd493d460f591c53561291513: -Be16c54532f5829e7a26ae209332a62aec34bd594351126afbfd54665beb38e27:0F#@845ed213c9216dbde2f578b3b29c61f275bebbb48983f3001da8621e39e8852e: +Be16c54532f5829e7a26ae209332a62aec34bd594351126afbfd54665beb38e27:0F#@845ed213c9216dbde2f578b3b29c61f275bebbb48983f3001da8621e39e8852e: +B1e3c6cfc121b6fb8a4bf2540268400b45ccc646b0ed0f2c6a5cfde5dac204d9f:0Hɤ$@bf0ecd64ee03a124bb772a015100c9ae081b2d499017866156db30d098b75b77: B9b28ed024494f447e70f739ec336de9cf0c7eec8ce846386ff6cdaee2d98b7f5:0F#@3bd71f5ba4cb54c295a8c39c920bf2de338b6beb98fb6eec3701a928b675d11c: B52590102baf90d83cdd2ad1e0add249eb677abf52ea8aa02f982850936af1e99:0H"@0303f4288ceb9c6fc79d5b5c00c1d37b20ddf9a21fe9bc47868737fe5f373d82: B2cb23ef1eeb727d42dcb57b53479db66a12e01df6c7f042e67e7aa8daec27c0f:0F#@1de7d6d86b6cfc879288ccf9a783b1ccdbb66e8578f5a47dc20176f4fb037d7e: @@ -102352,8 +110032,10 @@ Bad2450b22b449b6561ec6bd788844e0d3d4edc984bd8e6d130bf5383b7084548:0F Bb81741b38ab4ba4a27559a6621ed2301a954b0b5f15dc15331c8625d6e8c7b64:0F#@28f929dfc5fec954171346fc32b6c8d46b6398b7e7005aac49f8fa90d65b753b: B5328a0e100d698da7ecfd5e479ef2c0fb1f6b0bdcad3ac37d15d9f84a2743bd9:0F#@cf37eec8b3cbd7800cb536c4076ea6d98e695d84dcae01530b9ef7cb90efe055: B8ee5415d9975f7b95fcc56519e96ee5603274ec17f598b5f195696a514325b9a:0F#@657f172346ab3c646b5e5471c8186650f3f4a383fd0f2b5c7a903fab7c200dfc: +Ba84394f9e749443a4c83500c92c3534ace35f761d5dea0311cd18d8d6e00e88b:0F$@20343a83deed089633f71adc267c900ac57388744bd1f9529626caf3c254d5ef: Bc5e886abfac66860f09ce29dac0a76cfb23a72c077964a24ef4249b7bd78bb96:0Fĩ#@73429caa48567e503c93710a5715d68435e307ba4a1b2cf1c4108c53a08f4300: -Ba6a1674fe2b982b87c3ccb5b31e0533c42b0229053fc99131da205532b7a684c:0F$@8f86e2649ebb84b31eeaffabd7ca68242d27ee67224722e30bfe5e0af9936a52: +Ba6a1674fe2b982b87c3ccb5b31e0533c42b0229053fc99131da205532b7a684c:0F$@8f86e2649ebb84b31eeaffabd7ca68242d27ee67224722e30bfe5e0af9936a52: +B0e8c89bc7454988f0399a1d1e8e91d0a51b4c0e91814f9916198c5f80e73b7a5:0H$@e2b3f466c665570faa7be549a136414c39006aa02845c693e630157824107046: Bae479c69a27153bd05fa4b268c7726973d2f912b0836c642f8c456730f66b6c6:0F#@2d9df5f7e9f58877d69616426422edd143042dfb045aefa17fc3b7a6918c6c10: B0f7d04217240246b7b34cb47975218a0a11369afb1bd2af1c8c61d88adea9339:0F#@afdc1d16a2ce18c10547ae21f7bfd679b9049f0ff1d595b8c4b6333e04468de7: B4aa630d5e97517921737d9a3a448bf1a5f61055624d0643f9f74e4acefdacaad:0F#@a2cd701094c529e0f85d1c5c24347b4aecd58363df5ba170a1e0b0e97fedac53: @@ -102370,10 +110052,12 @@ Bfe5e8673dba118bd1796ebb5d9026df72493cbb532f7023c16cc900066a3c1a1:0F B8abf6a28d3c9edb93403d7ab017347dff748dc6cce4e5aa96cc43db11cfd91ce:0F#@278c23803712a383571b57f1f6b2ad5909c9d98731cfb88a39b5f356f083f209: B1695f6eb7e83d980e84f5de0cf6e723c530a51e6e0c44c3dcaf0e9ce2c1d5128:0F#@9913799511cf4d4239f93c53d06f0b5f62527f3486ec542ec4a465de4fc2bca3: Bf8a73a8cb7289e7c99698a7747e814cdf1f64d0572c9218e81c301072f4fecda:0F߉$@a38578e28fc651949bae2eeb41fce76d4888df8a6072f39346f38faf932b24ca: +Ba4f78ed55b0bc8d45e330e43a83abf2ec715198e290ed8a595d7abcfe74d3ef5:0F$@2a4e911d40e3c9414a13e9798ca06e76bfe68914bba590d835739d139b97a477: Bb7e971e2a99e941de3e67c880369d16de9643eb700a5e3ea374a75646a26bbd6:0F#@15404b7b71f4f4740eaeab436892fcc2f071fc5d51aa9cfc5490ed0885bf5834: Bf6a1c548c034bfd7d4e2566359dbb7a9cc90b69bfccfc744e8847ed43281df84:0FѢ#@5d12576a70d278d12a5f386aa1507d254837ba689fac75796913917332a4a59f: Ba3cf8621c5a61ed1076af974d825ad9e716b0dd3744326c8e11d4c04bed8028b:0F$@9d0256e2ea469ff6498ed5b060cf7bdfaf1c9f7d7fe93b6ba663ff6303410a51: Bd8d4ec06b6ce34812b5f06bc97af287c4483a9e930065852fe189889185a9fde:0F#@59186b64d6580c982d095bcedb7f430d2041fb1ef41db41591e1ec207351e199: +B47bde2a65ee4c88a69613234e51f0bf0f5c325fe2ab668f7dd4d970b9885168a:0F$@8afaed9a3f5a254b6216a46573b78123cc0152ce699e265d26c9b92cd54909c4: B1fff4ef6a539b159487c6453ea14abfb77a0c22787d26a6aba8a2c66a7e18209:0F#@cc99bcc6e029ebe52f50756abc1afbb062190d7af41c2687988dd3aeb965dd01: B6203b66ef52f0db05bd3a7f70cc27b0f31ebc7f1edce70a1429f60ae11322ad9:0F$@76b456b0868c2dd0d0d5fecb43646a5bbb686e855b6ff981f1321c58bf1120f9: B858ce6851a942ff1d313cf65aaa7eb8c8b7c754f2ca67b4fef1242e94245ce91:0F#@76e595ce9af0280bf5b3a1df498e616ed62f960fc1674eaf85cc0d0f07a4a303: @@ -102388,6 +110072,7 @@ Bbd2c458eea23ca8f46c45981f7699fef0182150404417feb9e71630fed5c61c6:0F Bc33d26f1411afd9de42393eaec4558ab299f149affaf8d5d8aad724f8c3bf71f:0F#@f840a4dd9054147b8788584d1f99c973aff8cce271427651c7ebae1cda530fd8: B9b56114fd9a14cccd28092a673a56cfbb3ff2cb172b0c9cc641f0de942fa2e81:0F"@0b53a462ddc9c65a1371a8cd1505dd3b49be948161e75fe4ab6bba1296c91b61: B95ccd3076762b35b68aa020d8a24899dee4c5f7a4354cdf30797e9904ce24f84:0F#@c0c189d3d9f1cc912dc60952a8fbd2a893c295827f9fe29771d5af26a20a4a80: +B40476679a8c0f61874659081656639e099a96effa5711d0f02b76fff49f50525:1F$@de1b4b55a040e1b78da7213c17a242b35672c02699b016d79aa8bc362e56ad49: Bf324fece7761405898996095b57b650d25b3069ceab77bd65b17fabd704bde59:0Fڻ#@17449171a160ac115ca443445560708333b12b9ba2410c41476e0961c5bdd259: B49c393f3fa3b0b8d1bb4660235eac5e65c1bd2f4975ebb1dbcf1fcaf1106a366:0F#@53d53fd626d45195cd7553745d504454349678930b033f933e2a793653fec3e4: B5a34fc34cd72d0f7248b21f5892e8cba7b5db04b1eb671a15641cfd3a95a3c3d:0F$@a9d21a86854e2e842d67afdd02d2bc5d2a650e9a5a2f46d886be249fe7fe9dab: @@ -102395,6 +110080,7 @@ Ba8050e8ba79a7e9e30293ae3aec1e45319706738c9d451b8edc82c42d408b28b:0F B050a01814b92914167b8e9d2e5e1f2e7850927957717cf74efb34ae7294bbb07:0F#@4ed6179059a41169e49b3a13accdbd56009048f199b3f5f4726fe84251ec5b7e: B18a01a0ed94d1188054b057844a63953f62e5451e6469fc659fcc977d2d6d6c3:0Fδ#@0585d2a1766bb39758fa8e312e4247a34beb1d9b65c0c2709825aa5e0f16dc6f: Be73f2a27485aa864083ffef151597d00080c0e97a4d5cc62621e5e4890f4a830:0F#@9f4cf35b468f0d9cb6d432b6e161acb4b75f2e33e783a6474ff123a8d2048b63: +B252da3423c7cda874355c3e71773def18187e3aca881262bdfd1182671b0224c:0Fמ$@996a92b6b1e3ae61d604acb36fb34837013241e62a6e3d0580c9c779fa6a86e2: B4e07dc1847892c6063b54f8916384a54514b9d70753f876b3221992cff5a1ba3:0F"@ffd544b7e44b72d360dba7d2deb9a9f0391f78e0a1b67b68ffbd234704d149f7: B050a01814b92914167b8e9d2e5e1f2e7850927957717cf74efb34ae7294bbb07:1F#@0f7d04217240246b7b34cb47975218a0a11369afb1bd2af1c8c61d88adea9339: B3a65b06f641c71d95666a0323d02549cd307d4cf9cfa220127cde100d8d16c4f:0F#@f32203b0d99f47e8a2ec1a79e075d1e34143fd4e0a8efcba8acb38e8e324fdf2: @@ -102402,6 +110088,7 @@ B5a34fc34cd72d0f7248b21f5892e8cba7b5db04b1eb671a15641cfd3a95a3c3d:1F B40476679a8c0f61874659081656639e099a96effa5711d0f02b76fff49f50525:0F$@35f1f24634257edab57bfe34fe71172c8be48cde3d7c74f2395bb2534ec293f2: Befb5dece48bb2d5e5083ab08e344cc6f910b79a6e4e6407174cb27ab5269d0f8:0F#@8ed2283661b35a492405783d695c4755fcec649c0bcea4e1c8f6f8c7096122b7: B6243dea5a262086041c559d3b901f9943e996d4dfecae9e1ecaaa3b7a74c65e4:0F$@c585677d95eb51e9048c199c944a3db9ecc3bc64573bb8ec5d9ea6e8e40ee672: +B528f53de0e2565f176a0f625c97f22640c9f610a9c481a2cdebcd60120f5b072:0F$@7c646fab646890060f33c823090b3fdfe2de60318e48bfb7b202a4bab6bde2f9: B760a3eb3edaaa9e0018d6e36e1d8c9b769a6a862dfde189fbdf61d3b3265410f:0F#@c392a754003558de2faa604002aa0a406206b76ef32b2e254e59002aa9a89c54: Be7bdc20667b04b9cc0653c28de5e2c29c74ce9748f36c4f56bfc43d1be525386:0F#@4362e0145b2f461141890e5b6ae6cda58a478c8406a1267aa25825a2d4587ba5: B15404b7b71f4f4740eaeab436892fcc2f071fc5d51aa9cfc5490ed0885bf5834:0F#@64d18f4793915616d2d2eff9a2011760ac4fc5d3e7b58aca93a829665119592e: @@ -102422,8 +110109,10 @@ Bb0803aff1c599dada1aee50f7418583c6351dd43c73c1303c1caceb2e1ed9e5d:0F B68f4d20d3662ae735538db605ea9ae80207f0fce948e9b42a75bb2c9dc258029:0F#@6087036f61a1453f243ddb3ce0ee5d28d560fad1bff5e0596df042611ca34597: Bd4a95a8669f798772f7f8d0e1a94bb04b4ea99bd6dd927d38a867a2d0089649e:0F#@f39da05ef3804c13b00c8c991efeeb9ab99aa88dcb2f271f98e15c7895a4b6d2: Be48f9b22aa6ec86582fd4fd2935dc555869f931a8aa6b4d08e72e2ce823ea0cd:0F#@a9c6f1f1d52f9b78566df067759ac1f9ededb890009669edc5def48e3f3774ff: +Bda527b246e57dfc9863d5fba44254360ffecb823ca836f6dc5887d86501f0474:0F$@5c8acce2c5d47d14abb7de38549cb754ef816d8792aad6a26dd9e38d5848999c: Be056902f07f3960acee5adefd229468890095b61bb14a7a8cda8e627e67580d9:0F#@75f37c30fa1dda097ea468785e6dda83eede37e93ea8396884fca3c08752c415: B5cc8f6365b09c1a8961336ce4164fe158c12d9aa2dffc11fcba420e870f90881:1F#@19da4a670b52c8415e55e95c9b9f5f07bd99d30ee79fc89d8c66381850ea4e50: +B64adcbd74ff745173393d99452ffe5024df5c76d67566c8504cbbd4049e87313:0F$@14e3bc9d60afa8271030563e9644f9328f3def768c9b87977162e1214f4de509: B93a3eee1ed6adee94f7047cc8c055884af7a6622415b333a1af80a0d6641c101:0F$@59570a7a992946a88fffe1b08b8af1953f9a07b48242f5a7610cf732d672af76: B125feab883cd0be1d71036ce0aedb835af755ac00cdccebd74904b3a8b037622:1F#@c903ed7227b86d67662580200c14b5c9b1f8774c3feaecb0782154f8f79ca6f1: Ba6428f38883e60b7eba2ecba5f3c52b6bc481e663509a34010cf2e37bfe81234:0F#@77f78044f7cb7ded3ae1ca572efe55bb9132e7b9d97a769535fe721182f3d0e5: @@ -102446,6 +110135,8 @@ B9ac220bf0ee3664530a50747ee79f5a3c715b811d7265e90e2333725d3a8388f:0F B2d43273f4d43ec12f1ef0273c5097c5846425972a006cf8ab5f33d8817635213:0F$@3acb7dcda65eb08a447c4a5b03220f84808a92e9dec82a4c606bc334b015e469: Bf77af22837d5444488348572052cace76f474d5a436e305bf4fd3eec8d21eb06:0F#@d42eb087950437b30155d1db36157b4dbb1d6e47595a63a87b5657798d2ef805: B4345625bffddf9ee91c981a6979e9ba3c9ff491c6db226d9592bc48e3d5a8943:0F#@6a9ac194db074f96ea05a254c58f10c39038ce2529f5de648f93d2bfe4a964c4: +B74b1327384f2182c0d70811bbedede41aa8beaaf99f7c49e2c117cbd4b1f6278:0F$@dd0f3583d8d2b36b5f70ab0daa7bdcbe35feb0ba9cd4d21503d7e7e3f55bbf7e: +B42da0ddfd096ce1591816cfcf6eca624f3bca54d197be0bfcf11e1442d4e86a2:0F$@269a517a5de767fb1a5d6535efa5f5a46c315f1c1000df4e7ad5509857a2dadc: B8bcb984cb117197074287da37c9d68226ff7a31d226e325d99d049287fe7947c:0F#@91e1025ca263e039e6b90f051fc045a64a1d308004c939b66d1102dea58a75fa: B4031e578d53a62bc7cfc0db65a104441556c36d374b86b1ceb1c38836a1a8082:0F#@b7560cfc2dc97bca29c997243be2b5a3d385ba0cf7a635e98580ae73e93eca33: B8b5da53cedee3aecf30dd547e349ffab094c16b7c76a3e47499d40827bdd9583:0F#@b82658af512fb691f1b9e177078be04ccc055e454bf698c6a523c667cf6179ef: @@ -102456,6 +110147,7 @@ Bce9c569df8821efce8c9b4ae122f78c51f1094cb89ed38933e20d8a043a755e3:0F Bcf247e81ffab381d1521cb1e98b67b7be743ccc2acdc8046f6b0eff07fc37370:0H΄$@4e478e8a8a9fe7ec0525fa7bf9e471aa5adc0dcab5e4cf9e6a2edfa290c940c7: B7b69e341c5f8e070abcbf6649bb8246955003d0112dcf11468b34434d1ce2b93:0F$@90779a68247096cd98a9430b9f7def85d5c4f6618a0173fc541a6f16714bed67: B05186bcce8a378f88495651d4b1683452aa94e70993b70c7408bf76545c802ad:1F͇$@2ec1934b7ca042deb6cea1e75108d87adcc252c78d66f2dfd4974a8a5030fc28: +B7c42d0da1f26a2b014e87f65673fcede6408d14a4e93fdce8f2cfeb0d39e8ff3:0F$@43d6522370311dba0d4be3bae143e5a3be2819e13659c397de46f74377ab0a2e: B531a720971d4d45874d555b4bfb1c858a438ec62cdf46d0631c9226799e417f7:0F#@cf680a0ed85cd2649286d38ba4a8154c0cf789b32de53895ab6906417c348123: B559795c31eacc06ccca7809d9d955594eff46b6698b6a88fa1bd10d4c65f7a12:0F#@eebc66f942d0dce12e8849a5f0efbc45cba7832cf0904d80cc12cd87c2e076f6: B5e8ff517b155c3f04c340b3569c6f212216b8cf6dc963043837b9bdffc389706:0F"@b865416419ab4943107c96ceaf93057d2af67425973b3d0c801a84bfad7818ab: @@ -102465,6 +110157,7 @@ Bffa1c4a4d612d41f7514bac44b2046c1d3968bb3da7a84de8e69fd113300d1cf:0F B1c86a2ba31d9169a8304ff9ada0094f5c9522a01c09dcc685b550984e71a8e9d:0F#@8cd6c14532e317628702ae522e5a44f468ee81dfdff09d1e9a37eb676dab825b: B34ab6f7b7299b8edc9fe7b636b3e1619b07497a58771839cc745a1ede84f40ad:0F#@0e6b03c43702ddae866df3154f4c48b9a5b8b171c53965033d360228552ae4af: Be8aebe7cf041e7acdb11778b2f2cd23bfe7b18605a00a580372f555c3ac3e7c6:1F#@c22d0e6fb78a208b735b24cfd2e0021b396a1c5024b48b9d4d4e7520d8d1772f: +Bbb06452b2419e326b31b6f42a2f5f99f570742fd5e94b842f5592783204a6671:0F$@645b17a420ced878388d8b8c3c07c3c6b684167e6f715872c9afe17522ed9e04: B537069fc98d206260c1c91b8ba8bfaee13287c8d5a544baa26ae70bdbd27e7f5:0F#@4c71a30dabf25a2792d0e38ddd79965db4c971b55b28bc4e5002ab782e7ff5bc: Bda2131f60b5ba930ec8feb12cf600b7eaa0d26fb594b4c7986a8cde674c255e9:0F#@ef59c5a380c4d4c5fcb203f265cb308d2f9d9b4ae37f41bc4057af29937f4e6d: Bdf867df9d3eff9d2fd7552747988cc697ae1e852bad2ab307ee0adf9f7ca2702:0H#@5ad74c3bf8a2107b45738cf51ca434d4d75eeda57ef4f3fbb2da4827c59022d1: @@ -102490,6 +110183,8 @@ Be2bb736410149f63297a8b0eacb2b8154562e209e9cc79343429fb934415c121:0F B5fd55e2e56fed8316ebd3986fd05d9fb9ce6da5befad4dd44095a51788a8fabd:0Hݽ#@660df642c1b54506886f4544dc7155aef835c518fd8978e22605c74112554c7f: B656b41713542749b6b7017ccd80cf211c1794a96a1a62ce77f934dcde3c16c90:0Fˉ#@1fe788e0684ffd879a0fb5bfccb7dda0480a2569a1242ed8855ec33cc3b7dcfc: Bcd01cae0c70ab3b1b8f00c3fa4d21d4e532d0694de1e04721ba62484f18968f4:0F#@12f1ae45fc4800f9f27b2a0e3cb2533ad3eb75989e3b009dbbb524bb1353d7ac: +Bdb069e1b32993a1e0eede0c4617fb55b29c37ced089c0effd43f132a385c054e:0F$@dde29226a6217894784f487176ce4c3c1eed5cfdd7403c79ddf5e231faae3cbe: +B242d571083f4097d1321989048917e73976bca7317d8fef156f08d8c678aafeb:0F$@25fa539c525cbc9d6d75d435cd6955bdfbb20f202a95d39693759a2b4a9f322d: Bc8d7bc19ebd6f39ab46163b666457549d03af5cd46266fb1dcda3f568794fd51:0F#@ee040a98344859f63b1f2ab5b9a7b33330554ad5285384957f99e1e435eb6f99: B6adaa9dfc1041e5f03c9d6a6bd1cca7d0152ea9be44e1b103436b8d44fcd48ce:0F$@5aaa550a15b09bc0e84e744e1bf0e59a9dc64524b13644c514857248bb31fe72: Bc2d927ee3b660833dd968b0c31754946d811a689c34194c342665e633b3b1967:0F#@347470ec73c4e4f81f1d9d542f76deb70b63c29c978e4d4df69974ecd1ae9567: @@ -102497,6 +110192,7 @@ B0a60e1aa89d56d6198a38bfd907f65a1c1fe1ab9d84221b44cf3858e11f8c31a:0FŻ#@c8967 Bdcbc4d2881840842ae53586a66c223af0b46685f62cd1d8e48d33cff58d9a3e9:0F$@17e7f16cf25184f68a996c128058f8de3442b19a0d4fe65d9f66b801eb88b117: B377a3c2d9f904a911c3a9406d510547da7313ba6f9d24f511c5f3425d28abad5:0F#@56dd18672f3ee13615b8e7ef8587af0bb43ce5069df83a66a5b82ed3c20efffe: Bd44ebd366330833d743f4584548f87de37f94169fd65359df5450e630ab307de:0F#@c5452dab2763efab37c48cb42ccab66a598ca7d6c7a44e5c1cf917ca1f7924ab: +Bd6ab19178ef9194aa40934b4731b91563363388d82944a790f3b0ca67b2d9cdd:0F$@ff32e7c27cf31aa6d6da6a82c5bacd298fbc5b105b839ed1b7c79785d2d09600: Bdb546bcb6f3fb538fe3933a233ed1b3816e415b94175d7e4616ae8139158f8fa:0F#@7aa3690caebc7efc64b14f0a5a61f685a95d6ed3f24f36edb7e722da467643b6: Bef5398867b54786dcdf6f910fafb67ed9aacb977a8ec41fd3619567289b38fa5:0F#@98aeb2572b55b33660d21d0ca066b50391aa2fa599120d6ff13c88426c1b1030: B2d7e83e543684453e28c4a06151cfeb89a47c7784b47a45df5b11b136edca752:0F#@7448c7aca70a753e619e866f7db7cf915bf9c05a3cbb44169f533b66d0601574: @@ -102520,6 +110216,7 @@ B853649e4534e5a18fd0efa63704a9e6ea78484dfc8cb7d54a918484a26d60cbb:0Fõ#@d636c B853649e4534e5a18fd0efa63704a9e6ea78484dfc8cb7d54a918484a26d60cbb:1F"@6d188c4783d74a32542278fed0e2677db2bc557bc94795f62a062566440eef60: Ba4df163ab0e87b3ead32d3b22d0de0296be71edd9651239d3bf3d2d2d023ac35:0F#@f810089e6dd9c3e149ea051cf252093e725f4ed7ce51f004354a4e3e24727097: Bf54b66a22e9222b794d19449b3b98df3eb9a76ab4af62c1b9cbfe20ff46184fd:0F#@9de92b9eba894c8e805f660f4f0d6d59f4639696a0782fcd07ef46038fe9bdd4: +Baea7cf564755369dc94a3b68b0addf5db9858c5a3be64dc3b8374938f5315665:0F$@633d749369eb3f06202a154c46bb3cadc600f49d8a0bf6f70b0427f262dbdeca: Bb02a3f6f2e68c2450da50a8d60226766b70d92ebefe9a14b8b04bda36d0a0f5f:0F#@710c4e5c87e6e606737754e5d02c0f4d9b8310050cf216ccff464a1353d6e4c2: B9bc5ecab47eaff11afaeacaeec902d18a5b87d24b7bb3c111d301311b79e91e4:0Fȼ#@7c2289bf62fbfe92f1efdfc26788788022b5291eacdd53cdca090a5db298cdd6: B05afa838411a05f72ae173c106744fc577ed6151706cb2aaeb9d45107a1e6fb1:0F#@4c43f1e6ffd0a7d454212e96a151260e04ee0fd723e801ef1af6db369cb39190: @@ -102554,7 +110251,8 @@ B5b09e653b07e0c810874321e23e972ac448d4b230564ec9aaec2f9443b254c54:0F Bc23d3243202c4706ea1e2e599d503343c0f26b26399416f955f875bc80c17580:0F#@4924d35dbbc5d9a0cec32ad2a93fa47e5260513d722b7e440b0f8ad54f052568: Bd2d123f56547bc1bdc755a46ccaa62a9207ffb6fb8afa9fa6cae723eaeaef33f:0F˓$@33fc357dd4a68f7e0861bd2184723058a6862e0d6de84cb7007add4427172c3d: Be72e4bba4705de1f3249a0707a69d971232826779485b4661c25e543c77db2b6:0F$@4018349645052ed7e599e66c7e1f7d8198a4ae9e3cd6a7553ef201050fb265ac: -B8cd0b56a59724b60d775a076abce04adeb475e5e74049156e897afa1a8b11774:0F#@e2dd37b0d1f12e44f1acd53798a3dfdfa44ea3d2b430f235c7ab5af890ccbc72: +B8cd0b56a59724b60d775a076abce04adeb475e5e74049156e897afa1a8b11774:0F#@e2dd37b0d1f12e44f1acd53798a3dfdfa44ea3d2b430f235c7ab5af890ccbc72: +B5808ec999d7b71b806342971cee953fc17e52b60c2c8507fae145aee6c56e6cb:0F$@c24788d07f73111d42b1c06dd3ab27f2a3bd0ac9749b36ef438b702f0550386d: B7e7b99a3185e825f0214d384c035bfe94cab2b6e062f9b35bc2d8f76a83bcfc4:0H$@a3fde5dd7f31dc5a33bc041a07d507f39931cd25c94b9c77c7f42922d7ee839b: Bdf5d93b4fd0e5cd52344cda901d32a7ad97ee0c44c3f3774d10d246a05de3431:0F#@3ce3800e53997f4c731390eaebcfaeb21499bdf858b5435e89071c526812ae8e: Be6c78454923d653355dad35f7051f43355d8a74304f0a415722cbb020c476815:0F#@610d8f0633453620e171bc87b87bd46bc8ca5657e7483ba1c4a318ba8fb06f31: @@ -102568,8 +110266,10 @@ B3f0f21a4b8fd2978b3b275c39397c30ddef67b3e280f955b8ae51d47ac541805:0F B73429caa48567e503c93710a5715d68435e307ba4a1b2cf1c4108c53a08f4300:0FƩ#@70087f016ebb7ccf82139a69d8d8dda1c644f97d642a80e310832eded3cf5403: Bb5d55c3090238fde4dd59914395c22e6d4ce8b8277dd2cd29a69397556e018ba:0F#@8d26b223cb6caca394ea0dc23f4358af5ed13eb52506109da9aaaaa1e5be1233: B8b5513ad9516cb07689f9ee01b5b000e11293116ae1d0a81486b9ddf0815dc16:0F"@b8c4a4dc21b365a3b9b34b821d78a508935e5c26efe91c81604300784681217c: +B18a87c7756fdcdf53d92a4cf4e002cef820d81e7b63471fc9d117e8a7aa2a103:0F$@252da3423c7cda874355c3e71773def18187e3aca881262bdfd1182671b0224c: Bbba994a1e64af043f1c1d7333e0d278024ee3e3e47f7202c2ad2f55578a0a641:0F#@dbf1c6d73208ab508e1acf00c44ff8968b649c4d211957a63232c126bf90f449: B225322302f138c14cbf61ac249ccace833a983b907723d99c202584e46f91a04:0F#@cf0127878bf057d640d6fa18195e853fb8e8bc8be8bdef4323a1dd3accb4a8c1: +B3036a2d0d62e8536a112730bcf73700d45703a1b65cc0ab82c70793e4f41c8d8:0F$@30d9c1ef368f5229a8f12a7454ff4bd69dfdad442648bc536a40f78467d723e9: B469784cfba31576c3d49487b9cd6bf16d49f8020db9cd2abbcb04180d21dd46c:0F#@65b01d8ef675a34d62c63b0433a0184778955273aff6d11d8154e6563fbbe94c: B6959a08d487eae8c86cf05a9038c0c9094da055eb5da72df95b8d5a79e11d130:0F"@f32ef17b3ad0b5245e897850ba67c35bfb851fc2548786bec84a0c2d4e45e4a7: B2f40276098f3d6c0c5f1b566174fc019bdd502213cd87c34e52ee7a5c5598545:0F#@53bc65b589557f4d55b164c511ff1d88829bc060146c6d84b770271fdd56d595: @@ -102578,6 +110278,7 @@ B3c7e94466af5a04401a240c62a2956813eceae0da69fd48728d6a641e114530c:0F B713ddd1722d0098e63acb1c4ce75756d9d3d83308a67a48997e1580d965999c2:0Fڠ#@16d1048008a9837fc44a9237383a5f024d48d5d39087d57722ad06e53a93c78a: B513a51ad9c66ac94fd350840d284a8c88ffd185ab3b55af60ecc4991cf178daf:0F܁$@b8806026a2853b1e90a98529fe5c42ea882c29ef7c34f57f71f2514d775a8f59: B0c975f56a71bccd67b130d53da4f2786f6620b25ef834970ced344a68eacd474:0F"@7014c06fff4bdcc9764c64d8b2ca1242c0ca12fdf968e74a786ed3aaab578734: +B5c8acce2c5d47d14abb7de38549cb754ef816d8792aad6a26dd9e38d5848999c:1F$@98589a9055ed8eb781c0b0acbb2d546c77224b2f07b5532ba0ba1a6e19a7bdd1: B5da17d1cabc02c7983cffd8706795b8e99a47644cafa164750dcf4eb84cda2c3:0F#@2e34c699553bab43d628d193d55e53b9f8127b8c81b1e4ef994423f86c933e7a: B1a347b550094dd78ec302c0406d0517767831e960134b245cfc2f9be9949cd68:0F$@081ab28611be9630608158d415f0baabb07f7a78fbe9de84ae6fbe48eb169ee3: B11e0361f802afd7f525ce594d9c676a93e6a3b20ac7754ec4f846cb0fd477728:0F#@3c9a2d6ce88713f4d0c163a60f100b3bd3a714234844aaf75c31fe384f5cf610: @@ -102601,6 +110302,7 @@ B4b54b7d18e84fdc82e969f28a2cb275b6ba70b2080c3558950ba069c53f60fb2:0F B7a90ad154d293ba816f996a4a56ab7645f1352a4ea71976c1ce225c46bdc6f3c:0F̏$@b229c0cd180a19dd40a2de790eb449751ab171dccf63ec5214e1684641343fa9: Bacbdcd6070b5579b889cfadd2bbdd716ca24dfb0c507c137226c4a2a572f48bc:0F#@53ee713a3407a178959b51e675313b535915742fbc6a7ec1183482380d71808d: Bfcb7c9cc37d0bd5e8fb247b878d55b2a78a16a772b9758ae88e34adb494726d9:0F#@04249b8ebba14c86115264cf06fb9b5a50e9ccba6baf6f6886cf096a208fbdcb: +Bc119212be647c2122e8a1943b99487cdb9ad12cbf837c8b61aa8650b4309e3eb:0F$@cee54bb47486e30f7b0a6385f540e6f859494a714ee6d565a7bb37e65fda7d3c: B4b09b19a9c87f023798e06728dfb060314a3bddb7bad39f753d32a5c26c26989:0FΥ#@e71ab92b1e8f3dfc24a46b32248ac3b5c04a031d6d348e4950c92e4a4cce9ff2: B79f0b8a021bfe96a03acae01b04911748342be6390a31f55ab81f872140494dc:0F"@797f282962436965b504afb24d151f2845126e1e8baa38c7acd48028c6e9f5a5: Bd3ddd9f05465eae554c4b26671f34fc8c468fb25dc92cd21a9967e1ba5b54f14:0F#@3364fcb769fe69d41da022a0d26bd0cc1dd0bb58325eb8e92864094ab41dbae2: @@ -102616,7 +110318,8 @@ Bd63a58b0ca8b0a9fe255f7575bae17e2f60eb60e37fb3589dbaa9e26052de22b:0F B5ad74c3bf8a2107b45738cf51ca434d4d75eeda57ef4f3fbb2da4827c59022d1:1F$@4d517cfdffcf0a8693ab86a03f35ca3e873700fe8bf11c4afabd1a60daf22fe9: Bea8d6f61f46fda96693db438ff8712d35c213b23a0e0ba562d1cdb3411839e8e:0F#@596db0a1591d703063e7ed60f96c8306d3798dd86a70b358452f0e15a61bbe60: B1f7ab261532c96cb3f4bc9f5de8f493ec095f421901e4d563d00f70334107036:0F#@54882ae0edc63122d155449e92060415fd48e5b4a8ccb208da60a4d10347a52b: -B5ad74c3bf8a2107b45738cf51ca434d4d75eeda57ef4f3fbb2da4827c59022d1:0F#@7c8fc076e69af35255e7a36e516f1584ae25866c71423cb60f17fc615116b600: +B5ad74c3bf8a2107b45738cf51ca434d4d75eeda57ef4f3fbb2da4827c59022d1:0F#@7c8fc076e69af35255e7a36e516f1584ae25866c71423cb60f17fc615116b600: +B392dbf898bc1956033c21c2a19816a30183a110668e6e0458f8dd526da83c994:0H$@cced0373583e2cc108c782d5be2aaf9d2d4c2ee5c87cccc3f2cc8bb46b2699a9: Be0e2503004ac217ccf9f322cea7761f404bd1f593a2ac9798acf365bdf6b6b52:0F#@583cd0e8116a8efa70edce75b396ec477976f4480be663a61543d1ba16a9d7ff: Bf904eb5ea51f0f73505cc037d0004a2ee46b757a1f8d82fcf2d070abd663bcba:0F#@2584ca491601f8866e14195c7dffac7310d67b1b5a56043e5f12a9d07b43a56a: B364c10975102195ef703f6108fe7b07eab46a87ff88fa7162742c2c90904b4e2:0F#@c5951c576efffeefea93b47bbd9bd794285d88b6707ce38969c7479d419c9b21: @@ -102632,6 +110335,7 @@ B666534ae69b76cf2c352c5b45c0fa4bbfd9ec2fdd346a7ab21e5f43eff3038fb:0F B0a642ba52357a0f2c4be0b7f6dc4c888a36ed4ee55161014c6c046cdf70c3b26:0FӋ#@241c66b129b668e516ff46d36b158c8bedfab9e0e6db2ae0dba730267a03d6d6: Bfbb65852f94d7e118adf414170abb71290da3547836e592c38d5663b10cf6760:0F#@5bff36f2ffa8a39de11850557ebd6bdc927c137505fd9f02f3f3665ba29957f0: B935f2d480a8b923820b22b63f6286951e470ebb3167fe2202decdf0bc96eb2d4:0F#@d434f8dfdabe98e2ca491476be1d3c890d42e28674681e67aea5601e9e11cd2a: +B61ba8c1aa80c2ffd6f1e1764ba0ba9d7c200345027b3362e9249a7b947a8d453:0F$@d4d56a1c18ccdbfb7690167b133a9f2cab954e944cbe051f81c3da2cd80a1ff9: B7cbeb3cfecbbc1f2dcff4a912ef1840f8f24362c513015de0bc5d9f135bed1b6:0F#@fb8597fc10d7b82a1c4dddda0a8909accda25640e245425315f782b7836d9711: Bd3a8122f8c37c940bab52538d65262e3d64ab1ee3e43e5ee342ab1a45f87ac9e:0F͡#@4d93205bcb7f53470bceaf8b462e42814e9f1f94cfb29d2617e228c36fdb801e: Ba9242a001c37d9448ee31395317a7338186429761f44178c1e9ff7c8007073f7:0F#@b6fe46a534040cd1a25f56978d55e0ca69675c584b30686db049385fc1fba14f: @@ -102648,6 +110352,7 @@ Beed8bb652ddae563d70da63df90b5a9b0081973e8c48f30a19d92875021ccd25:0F B1d9a9c22f0be40397ee2fe25d43cf58629fade4b448df631f53fe343bdaca363:0F#@182a8c07947608d246b2f3c3f861bfe10319ec1bd7f1687ade44c9accddcb705: B9651983bcfe6e7dc900c18c786c9c5fb8a4558908ac1faa6694a7ac4289a9cc2:0F#@6f3b107f19e640c19a7bf117481a4479c97640cd936b6211246037b578d77491: Babc1a603e09f05e3eb0175756cc1dee40d316db794b0dd63cdcba8b9b95d5be9:0F#@c4d475bbaa14e1ce3dd83cb00e1875e2582ad3661ef2df398073bdff9e1f38de: +B7b121c7741190c73a91d109267c31079fae70fe37ee45daa6030d380c2406c18:0F$@6ff7e97ee0930d5e9af81ea99b07acd1d4d7b27a65771103d31beb3696d8ca93: Bc3a0239d91bcbf0a29dcefcaf1f4d949749d68029d078566bebaf75f0e633fa3:0F"@e6cdce51c34567fee3e5cca0504da66e4d406e9e11023bd9a65e7dc59e558c0e: Bb4785ecc2f8ddb500f51dd22e8b2f1d1997af2ed934bd54d945c87f4f986cd39:0FȞ#@317441f8fba3d98dc8946c661985f5dd47c37b688a54d322cf0ffafdb57bbbb6: Bdd84cc6afa006c574cbe32f63ef322352b397ddeffe57938c9a60f705be8e3bd:0F#@c8a0d0b5aad57b5e09b8618b79a7311c3ca041cf333b3aeb70b9c843103305cc: @@ -102671,6 +110376,7 @@ Bcd7c9cbbd9436e521a72ea0ae4033c95d362ac74d6238ac0ff1314a2badea8a6:0F B208b50319d5fd69a568c2b59d1ae1e6a55819dcf4085eeb7a47f56dc3fd25c56:0F#@ce9cb98e2140cdfedfcd7f6d4c8027cb462b7fad71cf8e94865b48297153d9cb: B36b8dfd0f7e0f10867792e16b2aa5b84c93652dcbdc1ef775dbaf23c0fe1e792:0F$@d26db79ab72d1c762debc4dfc96a4e3890d041c058c8c85423ee48bf78970900: B146083229be26734f920e23edb532343205edfec320acac9d5e0ddb5c5c3da24:0F#@f03dd1059c201a951cf169aa21953365368cb5744291fd4fc801467891f4466f: +Be90f6b55530dcb86ea64377fee1660e731fd8081da8302dab1720b971975d127:0F$@ed1eea7692872746fa51568573cbe87b4bfb21912a400472483cd69fa99b9659: Bb1ddeb614d13964e440808c543cbb2378fd8f125f0fdd79db0e9b29c212c4276:0F#@7e15067bc82d7ffe13258f7f947dfc723d3408361533253de55c416181691d93: B0db00047fed195fdfaf28b5acd9259640429c9ac3112c342e200919514dd8151:0F#@3ceffe3e2236a26078a4e3845a477eaf135fd28dd84929915e438ab3221b144d: B603e606bcc84bed8b05420a8b75299a0bd85aa7b2ebd267a57f223caeca16860:0Fظ#@13bfa9b5cd88412e831ce93579151ece9fbe535148e1974cf75a436c6f7e2da0: @@ -102705,13 +110411,16 @@ B4d8a9680ccd33dbd242c76bcaca1b19b96cc265e7bf5fcfbd7180c1174b69631:0F B2b99184f481f2c9a45d454dbbc8ab4fe6fce1af4458724c9b267a29857e97141:0F#@33933e322a6335073898613780f9f311dad6f82eb555835a3eb98ec8016dbb39: Ba89ce1e58328f12502ae84cb37d4aaa3f85fca4ea06063b4162fc125dd8c3e76:0F#@20b9ed9580087e801eb1185d4962305d848e5f0dd83fc07c658813e5b9457119: B293b0edf95e2be4af58496b0f9e13e2f8051228b510129b832f0959e30886c3a:0F#@c6876e0c203ba9e5d0d251c18e01a2ca1b2131e25d088b98ffe45ba747614c0f: -B5d1d1d41e39048e9cce6c744dda143add15c756004818e3a76154fa8e6457667:0F#@a9978996b13d61f5a97803592d7143c2820b47fd9047f0c882d9074f52965a18: +B5d1d1d41e39048e9cce6c744dda143add15c756004818e3a76154fa8e6457667:0F#@a9978996b13d61f5a97803592d7143c2820b47fd9047f0c882d9074f52965a18: +B7c5f927c1a924493a7ae86c491eb18634c14cfa65a828713f31bdba96a562ff5:0Fۢ$@b58172f591c6c97bb599960fd65cbfb248ec67d65f0fa2b0a809386bb25ae4a6: B50f7be615e684a943232b06ad904afc7d1829e4d32910a8d100c5c3ad39b5748:0H$@bc5c2101f4afb8cfdc25e1a3e1ffdb1a94a4b5843b81fee353e6016b8cb9b418: B8ee274926c2b9e83b313448ac7cdf5ad48dfcb4757038a8dc850b17284601177:0F"@9bad2016f51d8fa2b611def9a44ba587fd24707d3125486b614ec080163e93dc: Bb91a262309e4435365b9915f449b14268c690120f5cfc8f422cbd91b176c8eec:0F$@a44ee108dc4e0ce92fbb950cde51f7a77c3cc0a74d1172d971c0c574cb545f64: +B70a583abd81264f0019c809137e45861674de5615eb3f90ffe1c29301ff6e891:0F$@1df1a805faf92d86401b7b23b9d55155313f0b7e470382cd21b3c0c7653592b0: B20b4c3492eb990cf2611836c00e576789d8b08516a58e66f71db73511de8e92c:0F#@be4ecbaf873baaad9bccb7604a5495e3d28c0c347afe8719d8fb6c9fefa241c0: B31642abe8c6dbfa9a6188f1778185ed1c343a9d8b4b759fa473a7e5ccaea7607:0F#@a0ecf83f9d15bca35a6c08755e4b2cc870bda83a8efe6f0a109ceeb331c77d19: B3b9a1594a2264f70338fd02f71bf82d87e55b5d12670a3e0b991823f22152bdc:0F#@309be40c1dd1633ec3cf48f89e990626f46e845f47e9c037bf499f2915fef1c2: +B759f40209ceadfbce6bc9800c66ec10070cbad19e625c3f7c0128dc72bcc8fae:0F$@c5855465724e696e1f2f959c2afd72b13fdd6fd7627cde7322c046e001f374c3: B4fd91a94f51d9d2535c5d86fc151488c0efc48cb9bc2203f1e2255f20dc2d552:0F#@4f4d05ca8181b87bb8aa7cc72618cb1d7b1291c661c5748b81057d32c1d1c541: Bb9ffedfff81775c4b66b9940e32829d649f09a8164c50cf256439b4f52d9d36e:0F#@157cda8c503b78a7b37206e6dc29ee863c8587c48c395f976795667a13032cef: B4fd91a94f51d9d2535c5d86fc151488c0efc48cb9bc2203f1e2255f20dc2d552:1F#@cb1b23a2d74df3eb1b2c55ad626c96ba9948c1e3fd5487c9b2d136c535109b0b: @@ -102754,6 +110463,7 @@ Bf84858f9ad97c9344e750ecd9faf6614d09b1c19ab07723984f423ec7457ed42:0F Be7a3ab07f590904780effb448c0207c9669d782f366c5095c79345df5f871e95:0F#@4e722953864fcb5f906b1f6f5e73d1308a1e93c01967b9270af3583160c19cfb: B68d9eb265a5931c9f9ad006642502bfff016fe44a975da0491ad51a26190a1d9:0F"@6238b7e9d02d2de07be861c86865f51fb09a97656f18871ffcbd69c9b1eface4: Beebc66f942d0dce12e8849a5f0efbc45cba7832cf0904d80cc12cd87c2e076f6:0F#@a18196ef9ae968e7948c0c7173127109ed7c91af3df82dfcdde91ae547100809: +B7f66e4ae65b791e645b418ab7bec3594b4e51895fb199b64d80fef3d75f7b2b8:0F$@f63f1e74168d937aa9e975a294051044a1720acdec6271be2146e08191ffa945: Bf1bf134bb59c31facaab2921810c12897dc7a09136521328829ae69e4510b530:0F#@90dcfa64c4c4bbac27bb263d818b3fbc058efcd33f10d8a472a58346b06447f7: Be89fff36ad6dfab4d71930fd5fc7647858b96ac58d05279a7cb1e2ba19692490:0F#@11e6b0adcd96779bec7c14be5c4af486b34fae17519e20fdd0709f98bb830e6a: B6118d32189bbe57f4a782bf8210553a90e23d95f7e43202fbbc466479b8875bc:0F#@304181686b6a8ac1b29ea227615c3ee41fefb823eba59ef10e1c6eb8781cef94: @@ -102767,10 +110477,13 @@ Bde35edcbba31a8f3f980ba650645fd9b85d4562eeb950f68d4d7b27d3a586eca:0FԴ#@fb606 B588ad757d77281e115470d61986d82d00e0b03117754b6c35192332828819f3e:0F#@18b3b5ea0459080617ef8c723c8f485834bcebdcc4f9b9694a03a74fec5e8095: B1cc9e3dd967b2681872b77befffda0629ec0f1790920d0d1293938b165da8d50:1F$@84a36275ce91c8d51651a649a57ad1e56386e4e29f275280a9f390a6261b1bff: B0ccb2ad693577af183674350cd94dd0e35a81f05166dfa2a2d5a9878d5210088:0F#@464e24d68706c96d96b9764888df44ca81ae8ed43bc181cea13f57b618c2f705: +B1cc9e3dd967b2681872b77befffda0629ec0f1790920d0d1293938b165da8d50:0F$@afdbf47131095891df8158a22c5a1526d43188450be5cbd909fb805bdaf37823: Bd77e6c6d03d44941e1c28a1946c695c533de226467b0954d9caf19594c3aed04:0F#@6917187cec1b4731d1a447446b3bf02950b69f81b392126ec1040ade6eb4a117: B53f4b20ef74221592b5d97c4addfb44d8c3ca291886bce900a58742f35492971:0Fȓ$@2da0e347b7f7699627140beedb21264f8f6b08a6ba074b27ca1ac7d036418858: B8f2c68d5ad9a7854c78ed0f13f75d93f64b3492366b0cc1d2c7cd0b00949cc9a:0F#@5cc8f6365b09c1a8961336ce4164fe158c12d9aa2dffc11fcba420e870f90881: -B1a44e941ba26a7e3ee686438eee4ad6f020f282fe4fe14742fb5e6c010595ed9:0F#@fd1c2a4979272ed45d25eaf88237bd9e3d0995edf135352fcb42ea67dc0c04bf: +B97cd24fba9964dfed3ed0a9c1093e92ae22be5c69d3d6573113ccc427d97f2f3:0FΝ$@57975865c1f4177404ab3579677938eff755fdb3c2db0538af20fd7584f4892e: +B1a44e941ba26a7e3ee686438eee4ad6f020f282fe4fe14742fb5e6c010595ed9:0F#@fd1c2a4979272ed45d25eaf88237bd9e3d0995edf135352fcb42ea67dc0c04bf: +B20343a83deed089633f71adc267c900ac57388744bd1f9529626caf3c254d5ef:0F$@6ae0147c424ce5b60688dd2fe0c4702325b91b3b4efd6244e0527f1804e57532: Bb717f2654984f8ff692b74db9c3e131cf56b85da7cb90d6ba6c94ceaaeb7c76e:1H$@e46e998513cb0a072d485868b1f9a31bfb00cf23e0d0b84602638339fe494a9c: Bc37adde0f2c88bbc1fd99d3bc61931fc4c507920779e2a0e52f917f706c3a62d:0Fۏ$@eed1ceec3c877babb1d6f54e368eab1dbcad6d8f75757d03269afdfe71f2b340: B2838044789b2fe8e880944c83cf427cf0a7936e344229d282e69787d438fcbc5:0F#@597bfd94b70c716d386469598e192dee0d3fed284d86dbc796d79a71e41b672d: @@ -102804,6 +110517,7 @@ B72e5ae4c2e8d258b22cd2f53d581fcb1ec6e34fe63e0f51ece4cde6d37d24713:0F B9242b12bd099add9137600e706c77b380d9788c3a35002dc0c6e66303cb86fa8:0F#@6d81721fbac28a625055e99c34effd611a974830f4bbb8998741140e1ec960a4: B8dfe86da6d97ee349d510d2cd2a60b222e1996fc11c166698524c542c83abacd:0F#@359d04884c275bdd9007cea8e4855c722bd7a5f3f426311abfb78e0204604bdc: B4062a81b9502f249eaca39e15464164a2583a0828d4e38927fef1e898376fda9:0F#@d63f067486ecd48301dd87d293dfeb17a868ba1771ee246d615755ecc0523a9e: +B8c283b3aa2cbe8c95dc8bd2bc7200083eb2da834b55db01b390d6fb891d3a2e1:0F$@f8ab8abba3a55a14e695f81f4d62a69bd3a1ee84d6f89fa02681704083119e6a: Ba4a4c07237c686d4c3678049c1970849ef5f6178f204e6213fa0506b069cd1a6:1F#@d1675ed3f201a2e0e902312cc4b836aba1a113e9bcf2250725ccffe63b6513f8: Bcd4323cd16f4ef8c20226e40d5871fd27b2c6cd7876876ebed9bc351518e80a9:0F"@d210cf2f4bbdab02d37f65893a2dd57814144a2c6af522715e85be58e5161768: Bea1f5ea5d60c1fc265921eef333bf91f330441a261afe607f38720f048717c1a:0F#@2e0240b4dcf713f2ffe3f4ed51d551a67ece2a650e4b7bc77e3324ae3f39327c: @@ -102815,6 +110529,7 @@ Bdfe4c6f35024818a13ffcc74c7eb4fed95c24216bf5a00f6f032de6ecc5e6aeb:0F Be3105b67cfc43a927e058312d2dd14de06aa4055aebeb8575d5f1d76efb79253:0F$@10f4a7ed2bc39803253494c24c0fa7e1c3a3a27c0dc9b1e86c5092ebf9c8312d: B24565349815b0bc0bfd9989a6e0d209ab7312bc9e6b5f6e9d2674961ffe1c651:0F#@30aa62f59471a68b3557039921ab275780cddc058506818e244ae6e2238433df: B705a48d3eeea98be1bac36a1290456fa031d6703324621bf3d3ff71a620a394a:0H$@171f49c5aaf95ce25f80ae121a6c1860c9fda86b096076c8fa017b2db06e15be: +B78a4bd282d62ddddf3c977a66a6b638e13e9b64f06f59d92251b9b695916d9f9:0Fܛ$@57f1bee9a47a5e4a4ed766db8d34bb6f4f250ca49e0bc29d2e3cef3816983728: B2b325cde9a1eac43ffc5743920331386ed5e782a2def9ee7b91a7f13dc064ba8:0F#@b7e971e2a99e941de3e67c880369d16de9643eb700a5e3ea374a75646a26bbd6: B58f1d7d8e2faca8bd3bcfb9adc20729fb1f70a34cd888f5856a8a96c146a8165:0F#@95ccd3076762b35b68aa020d8a24899dee4c5f7a4354cdf30797e9904ce24f84: B7574fe90f726c8dd3790ce54f341ab1f8c31886b302dd21f6b2e0f23ea2d9000:0Fچ$@1606deca62a67b533ee7d2449ea3082cde3ce3757cbf94b8a972114d964da0cc: @@ -102865,6 +110580,7 @@ B05d76ab7fd21ee41bf6a7e740e12f85641ce535f9b2eebfa20e29302b148607b:0Fа#@a60c7 B6120d3593a183d947fdc69f1e3fa201f88599e6fb40dc0a5a640ae05722be761:0F#@609da5cae5bf65efd43069a47a1f32d11d30d6719db914377b152b8273967763: Bf1603d84bb81ce8c8facc95d04703acc3af6ae12aeb0a259de0e73ff2052d14d:0F$@eaee05212121713cb21f825db30de15752f677a62e1ab76b3525a435017040e7: B354ee7abd68c6a2c5ffe021a6e2b446239a0b53f377a70e6cb0ce1d7a7996d3b:0F#@351cfccdbe0a2e787ea3d03e73cb706512a36f636998af03cabfa023832f5da5: +B481bd5f5b5a8c6bf25d90d6b401c892ee6ad3b529b1a0ed3fb83a4ba05c6326d:0F$@2c9061faeb345617e0beaf2ca893248c09a7fc087e8b9ca89377507bcfcea7ae: B02fff8ecf22e9aee9dc956c946b31e2905784899de250e6ac0c5dc05ca273959:0F#@4218866051a5900bebdb16bfac52e72632e0bdac7254ecf1827f2e9f40ed71ee: B05dce916674e36a05fcc775e759ef1a2bd48f5f8c8510d6ebbf5b9464a03e13a:0F#@ddc4c0cd25155164e91285ffda9e1816731f9afd0b9d3a922e9e2e4ccd8ea87f: B26abe207be13878b956409858a872a7cf64d40723f95b605e99b16065063abe4:0F#@b9f8807f63925c6fbf247509922f35960089b397d2991f712aff923af561d484: @@ -102883,11 +110599,13 @@ Bc6d2fce350388bef8627596d350b86f38c8d798d4cde32e5ad7888810438910b:0F B9a3cf78169bcb1d99ce6452b6a386dc66c4c7aaf7d256a2a56bac668dda802e8:0F#@3ff8395e3aedf32fbe03d395cb3c18a37dc3d350b1e9864fbbc0551e13b200b8: B17353049eda538be1dad198608379e6a1a65984d403a2906852a232ea3811239:0F#@61f3fac17de39ed3d0bb342f5b5265bd2afad5edbecc37fa1fc6315bb59f8614: B393bb1f3ba924ecc888e32e2bc63047cbe7ba7232fb99daf501411453764c0ca:0FČ$@9da13e26a61c11bb778f2656e3d50966a0e2586423d6ae3c3a36ddbd11db60ee: +B3df6d4123f4105b503076b5ebbd227356e7cd28ec45a81b39154787bdf988a5b:0F$@f301d964aeb1d18eb80499b04557cd378926ae2ae330505057d987d30201977f: B00de440fa136d356056141225c96a9c7624cef46b079e7cafa471675c4fc8463:0F#@0ccb2ad693577af183674350cd94dd0e35a81f05166dfa2a2d5a9878d5210088: B286f13106e1f11875e11b11295ef9d4413e6f9ce7f504a95c7ad76a48cc1ec9a:0F#@acfd48c3243e497539d80bc08c791b7456f41a9956afb71b2575d55a69c140b2: B35d8c53de8f479efb1adc7c99edc5a79e94dce57370c07046f436052d7a8b4c6:1F#@afcfe735818698d84d5852a3ab4fbb38e115b94acb87896d9b67001f66a058f1: B2acdfbbcc50e0d0727181d5c33505b9f51e852ddf0581764f3acf32b1bfffcff:1F#@ee2ae98f8373e1b14a1de855a3f173631000507e780fc48b9cccce1af116e86a: B2acdfbbcc50e0d0727181d5c33505b9f51e852ddf0581764f3acf32b1bfffcff:0F#@286d170c3514cd88877cd56365781a96feddb37e950d4f77fac22323b68509af: +Bf510e21a776e37698363e0155f9bed39b8be7c584c241ac0f2dabb808a80bc81:1F$@482c78dd7d7e005a14a5b60b96b48473b5b5cd07cc6c950a863b73846e214e38: Bf1e729028baa1fc6b93cb3120911dd9e842d95889be5960ee3cf6dd43579d546:0F#@4df90e7a4b13f2048469a4117d5b0636755707bd53cffc75c20373bdaf46aeca: B43225d6b3b3ca875b702ba8aa44c6e365d251fb1888721216f03124eddceca8d:0F"@875009655e6b2d81360f4e2b94cee9d611240375765c682ebc627e3fdb6006e3: Bd9cead5632318f6c776a9b12fedcb9bae7c26ef453e8847790e0bdeb036d8162:0H#@6a3da3e29cff47faa81174ccf6cd858d9ba09305f36f1bf8b733abcf8e3dd547: @@ -102903,11 +110621,14 @@ B3c26955feac99afad3bab00f42e47c36a2afff26adc2dc15e047e0164739bfab:0H Bdad3c30c2df06b80a7b4c2056e15227be6ff3b62465c172b8f42c86d307b6dc5:0F#@55e8cd9f0747cf10ec15b32ba76a18a3457fcae2d79904d1168b0e5730cb32e6: B8404073271f9f2685ea70c431b0c3f9e4af38198978cbf0aace97493f5ac4312:0F$@d09a16d9feb04b8b31e3363f0c42d64f5823aadffcd217607581c383b870da92: Bd3bc3aaf08a90aac7aa82dd298f078dd139674def5ab503b2aa7d6024a0c1535:0F#@2afc5efe521cfc8386437fadefc8d9806e0175262bb54c34a559ce85b95405f9: +Bd1a342ecd9712ff3f323acd3200a8dd49bb9af0dddab8b102280485b2950112d:0F$@84a260d41cdb1a004bd041b92605442a476c76dda9273e2a5daafa04c58aea02: Bbd0f881205fa31d5edb2f0031878d70c00415e610de44bd1e3713850e25a4aae:0F#@c44caedcbc0a7b492178f76c57b8bf1b6d31331d30d9f808cd950ecf93ba07cb: Bd574b812b659676f380556da8b8f8961b012dc871b8c14579bf8439916acf417:0F˴#@22301d10edc415ea082b12d61c7e3bfae4a519a1908af79292dbce835a3e19cc: B1d91ad31c5020098624572553f765b8a386a39c707fae372c9c2ac87c6dc9e91:0F#@9f2ed0dd6ea3c91db143a9e7f34248c05e097605f13513f879d6a374c48bd41a: +B4e6e7771c4e8fce5f89e0b1b45f79988cc8607ad62639fcdd3295b4a24ee27bd:0F$@7d4564f67984d409456271d0177eaa9ebd9412b4c880eeef06b8f36010d73728: Bbd6d64427622bdbf6ddf0ebcfb2c6a3a5fdf59b304666a8febf84facc646ef5c:0Fߓ#@42a319798701cbbeef1198ce5ccd1ae5c89de5613fb544658b64afa960513da0: B75f37c30fa1dda097ea468785e6dda83eede37e93ea8396884fca3c08752c415:0F#@131a36bb536fd7223423e4bc0ea511b82b98517d70eb2fb01310292ec88b50cf: +Bff2540489aeaf34da5521ef117bdf9eb39decb4fa47fa62298b6b91a5c03ad04:0F$@3f42b02ff3e3bc3c2763d4cdb25f43f8274f58570d25fd39ad36f0098550f8aa: B56fa710537d32cd63c9176548b690bc10a0a9dd8a20264eddf88ecbd9430daf0:0F#@272b31d872a1c74256064b6a059980bea3aa2db4def21d57032cb8a5566cdc61: Bb9a10783491f1ef8873ed7b29fd396f8ac921c95cbeae37d4d6a49de83f0e01c:0Fك$@936ab90ca6122da1797d95900497d57fdb924812cdf2f5240255088ffe6f02fe: B11e7dcacb0afaa7b3f82599536c532315c7243908c26f09604268ccf006ecc48:0F$@7ba84cdac5d905e2e9c1593da058d1bc7fe81e1614e485c3bfa27f288dbe73ca: @@ -102920,6 +110641,7 @@ B0fb30431fef1e74d0099f143e89163f23f3687c8ea086b28f8858fdc43e03318:0F Be5867e336bf8dcd932af40565fca000bfd597b9b5cb4c3db5d03d06cc53694bb:0F#@17a017d765c600b93fa0e6da2b064510b16953f9c6b83c24c932141b0553a386: Bbd6d64427622bdbf6ddf0ebcfb2c6a3a5fdf59b304666a8febf84facc646ef5c:1F#@0c21070ee7c56470fde064742b2204d0e636817573f468db00acfd4144a77d6f: B5e63a7bed87e7c77865a13f00f619eec7ccc82d37d900e4bdaaa24a7b5f604bd:0F#@cd03f4b1e18a29a477718973a2ede9bd6eeac5ff508790ea71c932de1efba5e3: +B039ac19914bac4ad75eaa7848d35e310330d6930c38251b2bad19fe105b9f24d:0F$@6513b40b2185c6b8f4ae6de5285b8441616a06e5d92cd6337321edd234df9d29: Baa7f8e3cea25771479500c6134739cd4463307cf70d8e7db050b90dbc2ed8bf5:0FҖ#@f6d3fd2b9b4944a13ab388f939555117909883586ded46045890cdb37fa05a4b: Be5a5ff6c7788870dea9218b18dbc558a2306d0404fb76844e4fe93c002eb00cf:0F#@cc6aea04009f339356fdcc0695cf97fb80f40afcf2c0f3e820da4c2a4e4eb292: Bec29dcd5237b7352085c700bb4272a4200911a32974270788c9781476f9b4c2c:0F#@51605648f95bcc57b421128bbb57ca425c9b83a0727a41a2188fc31b4c79eeb1: @@ -102927,6 +110649,7 @@ B7f76d67ca4b29bee2cb6c84eea293f9d79db0d3d82204b56d2a29b84506c4b15:0F B3c2f8ede436f8be4797e1e2027d18975f39e1a4eed8513d0fe189acb1d9c4a57:0F#@d679f538f8ccd7d273e6ce829390ba45d42099b7a896cc1d5673bed789056f25: B67576b6d58616c269ed8e3dfa465b9a072d53dd7a0b2688a7b8ae7e57a70c146:0F#@fda2d98f5e4a987e15e1f864198c949ec96f6fb7c57a64dd547d42153a81c924: Bf7bf5cc7157d38e275a0afff21f9e502a811b4738e476a00b7f3cbf92192aa5d:0F$@e94af11b0d694e8227d1319355650eaa4e4deaa6d4eb695592569a580e99639d: +B8bbcfba8b98222ab4b37010b1be684c9ea8b93060b2db71d2f13f48ed9e54c09:0Fɣ$@6d41e0a05f0f44753e3bc9af0b868c7dadfd084704f1840eeebb5e8259aa5fb0: B5574fc28bc09751307a47b22ffd131e583fe40cf41eb39af38c42816e5a2971b:0F#@6800957752d39cfa1aea0078f907233669b1d3172be8a8e38bb1720d90f7b39c: B94cfa3ddcc59400753d59d7d6a4c31b11896af3245c2c67a1f6e802688c49258:0F‘#@1e8a615ad5b512e88cf32a93ca9e79b632d5e475bcdaa83586c73707cd1fdc20: Bf763f57f514abff2b1fd45ee6449d3bb33ef02a75836f8465cb202719f50c9af:0F#@3e288a2076e9d6983c1a49205561a6deee0203c64c154a8e0cef1ea604de7cb1: @@ -102963,6 +110686,7 @@ B8d3bfacddc08ba4c148f4e12c5251ce6276b35b06e880f8836523f99ef65ffd0:0F B34ecabeb66ff854d758ae9e6428e5ef183c6dff5b3067f835322de3491fda1cc:0Fљ#@3e6c9df4613c5b46990ad2e819a660fe191150d182746e4d9f4b363981ff99f6: B3ced84d44850018b7c19d8a5627896a7adecf1fda20c91206112ab5760842116:0F#@846aaa23d55664b17b331304634a1de0524feeb2fc748e47b17d66bf8d314544: B5a6719ff7ca12b31c982b152cccc7414c80eb3cf0db2f06390451efb038e9da6:0F#@341dff730f0f050abf3d82db16016c4ce05691530c9e8f05ee77fcc1773a54b3: +Bc118893a7cf6c5913b8b888ca30dc730f8bcb0a1ae2ad5c71d17f2cdcf25b73d:0F$@45b47b33b3518b6ac0f0eec1e1075607f59f66c12153b663cb60433428072daa: Bd636cc48b7f3569318c15cf8e8eeac496e7b614863f887a3aa3b480faed0fa26:0F#@dfde66b3091ab07bed66f4a34b8cd47dc0bd7b70fc2e4bf76a91814d42bb24fe: B8d201b5edbbd4341bbb6bf58efafb9beea35750ef6c113b695c056c6563875fd:0F̗#@a5d4112ec438e884dec8fbd851bcab787661f08bbaf3d3f16b9f84656629f10e: Badb743ca6136887c51df8e6613c6fe479826a5d872fb5b6bc1de50fe41652be9:0H#@670dfa6f4463505ec8a9369f281ac45016c3ba381bc2473eb8455e5bd45b29eb: @@ -102984,6 +110708,7 @@ B6862644ad4a86832ae543728baad649ff69f3798c580c57510550a5e550df068:0F B407f25afa7434cf0726f3652358445b7c63e0937898d187136f8b8d6993d9ac3:0F$@40fd45eb2e0df6831b8cda30e340afdcbe58a999f2684af711c29bb2bf4fe3c9: B55f1393d946d37f88c7802e0480aed747a2ba9110f05ded989c926ac35b2041a:0F#@84da6545cd85141b251a66295a3c50ea212d37c99cbe8a15aaba7daf74edcdf2: Bc91f08632a1ff29f51baead8eb9910fa4f027277e8de3792c7e7af9e935debd1:0F#@4fcea5293ca9335a3f26b88b9da7beffc2c5edceaf32f43ab4dabb8ddf4db6c4: +Ba286b7df832d328c84e2a7ad68d1efdbd911eafe61a6e3a24ea0e1933faf0f31:1FΠ$@29c673a67a62e346dd45be769e0a7c0924e75f400d817f1c688b8b8b1e112e09: Bb894cb7068994a733a680aabe73180c81ec5ea47473058da4e7e804cf09537a1:0F#@4979d1cab5c5714e79b0ddd7a17093984cbffdbb7f993e93b1c60c68e7f62c7b: Ba286b7df832d328c84e2a7ad68d1efdbd911eafe61a6e3a24ea0e1933faf0f31:0Fč$@204be4e758962f5cc3ecd4e2a7bf398d3a6fbe6bc0b65b7900cc71eb96495061: Bc1f9fea6365658a099ff2cfb25ecb8c49d241943710325d08ad01e805a83b049:0F$@e3c64000258e5e78300f27482d632461b9f86b06fa767a2b70f3e9a7d48b16c2: @@ -102999,7 +110724,8 @@ B69683a2236214c44e72fc9403802df513d87a4113509bde1ecf4fbf60b9218a9:0F B317441f8fba3d98dc8946c661985f5dd47c37b688a54d322cf0ffafdb57bbbb6:0Fʞ#@05d53e832cc2ca7d385b0f35545e2da62a9fc53bf819f5f53b27a4c026766151: D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:171F͉#@8baaa3fea15676e485781c3557ef99c62c942ec8f5f951bb0714422df5e26bf9: D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:174F#@034874c52b051bbd8f63fd1f241391b3606059c461031f8b7f752a39723ad106: -D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:176H#@737dcbe0a5767109deecca458c20a5c7226fe438291b75324696b08430992ca6: +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:176H#@737dcbe0a5767109deecca458c20a5c7226fe438291b75324696b08430992ca6: +D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:175F$@b51b72d0b65d7852d8f8ac89ae76af0bc67471f9cc8e80bacda6a02677587910: Bb4f59b37b35fa2e971c516b22cbd8cb7bd68d10b681cf731a1987bff72c6bdfe:0F#@151ce4c5164b01135f583419c202481ff74376dd6d822edf1678bbe7b8c69d62: B032409d8904f019a7cbff23921fd680e78e3c10c61ada0f361bf6cb46ad58957:0F$@dd702e935a2bd879168c873674949596d345464598c1896ac333ea83ffba4292: B10566dc364d613831f1f1b0ea5af5a34baaee045c64ff7c3aec32c40c09d6c6a:0F#@d3bc3aaf08a90aac7aa82dd298f078dd139674def5ab503b2aa7d6024a0c1535: @@ -103021,7 +110747,8 @@ B7f028f00d097aef911ab1510aae6df1b8064526ba40da5c7fa91a5cadcdd8084:0F B115678e8647e53cb38bce261ec615401cbf2fedb227f686e0071ce8b0b797af2:0Fˣ#@8efa23dfce1375185b8a18bee24b6ef623b1868569493469faf6a6f2d57dddaf: B6b9618d431ddeb118525682ccc16cd5a3eff2f421969c8e28c2ba5d9bcda1fe3:0F#@5e63a7bed87e7c77865a13f00f619eec7ccc82d37d900e4bdaaa24a7b5f604bd: B94b192dcd0f7f4bcab1d75aedd98d1a32f23ad6313c0c0f215f4752e201e6383:0F"@cb3b5d1b92d6720fbb3e087335a9ef5a4c9922ac7ee34ff5f503abf57faa8285: -Bae0233d031cf004f6cf11049b7e19141dc8e08ed8fa0330fda609805acc46fbf:0F#@f71ac15e7bc41b7ca69a4eae221d50eff994c74b8e42d97891a34714501ae138: +Bae0233d031cf004f6cf11049b7e19141dc8e08ed8fa0330fda609805acc46fbf:0F#@f71ac15e7bc41b7ca69a4eae221d50eff994c74b8e42d97891a34714501ae138: +B33fc357dd4a68f7e0861bd2184723058a6862e0d6de84cb7007add4427172c3d:0F$@aa327987d847f8b61eb7940174a17e9085d1d52c2787c0eb1b2d9c12b05cfa84: D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:163H#@e7053464ae476abe7764c61af0bdec09da2d5c0711cebcf3eeaf0cab0950e6b7: B7d023db24a23b9fcee852eb34d827bd9c2041f5107abf54a7747bfa656ad7f35:0F؝#@0918f80b71f691a3fcc320c5dba8900a6fd95bd657585d3c15027d4c54bfc2b3: Bf711878cb709912c577bbce9a7d6f7279acb3f0c48f9113987d5444c1855bb4d:0F#@f36278e7571d54b502387968d4a5c77816c641aa331846c245415fb38a2cb61a: @@ -103036,6 +110763,7 @@ B9a99d1b4d9086d5bcaa846e6fb594be8bb0c6bcd9a2dfa3138fb70fe57b716d7:0F Bc816c40603e3aa78da304dc0900771bccae84ad7ece2f7198e4de0c3e6d25555:0F#@056fcd04344ce630dc60270064cc1bad388b52f4e97ac785529a1cba60880be7: B1702de3da2646bbfb62a2bd8173d055551e970640ff73c88385841249296ecb1:0F$@e30c6e0510c92ca3dad07cea11aa640e684428988874fa0f9f52288687f11b1d: B78461ac7af07c7a472c4558949d98d542ec3b132685204714d1050ad19ee3910:0F#@ff2aaf11c5b40f8a6e706698b12e46838f0915a1f0b1a2a6db4d860d9635219c: +Ba511d7a886d3281368c3fd41c3726f0d69ba7c8b056f3de459ba940d3eb13f5a:0F$@fc97fdaa6a8ab5cbc4d662f14e960eaa9de305b4506751116883bd44c0d5b4ee: Bc15882e5903f442113a1037cf8264373e37e8102c3c0f2369c45f2b5b2c6c6d2:0F#@ce7d292ac57a0264f9193ffb3711fc10d06c8979b1f3a60d35d7e001c936c50c: B6a4633022ed802226ddc115103300cfe8018c9d01908915c7abf16f46d1bbef3:0F#@6685880cdd68ab6e71b777cb42f78961add07e3b9fc3a420e811daf88960ba3e: B0062d4ab767096d267e0025f69f466c05353d422c91ef97277cee272617cc8d5:0F#@bb42d3d51f32a3a5e98bac1343634fc5fe66733e9620198ee705b2eb071d42d9: @@ -103048,9 +110776,13 @@ Bafa9cccd6e50fa6e3628419e6a86b5bb778168a0bd88aede47108749699b71fd:0F D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:159F"@16bf16267a8abb572ee8c8be4fbd7c81622dda0823a5d60b46e6c1b5e7e34637: Ba7f519651e8367e8a3683eddf00d8d262164dd1a45366c503292055da6f6c93b:0F#@53903e331ee4eee1344e25eea03cffeb6ef856da4a30e3516694fc171276930f: Bd03477ee0bd04e0a3c4a9a74226ec9cabcb81bad586bdaa00839fcc74036df0d:0F#@90c976983230ab1166f4b830d1379a9b09547323d5e511d89c0b1cbd9882ce5c: +B7b81ddd7f18b8f17b1f5c4af9d6152f2dccfa6aa0eb6bf186aa976a7c0aaeae3:0FȢ$@c7b67abce88f9656979f0f1fada08e33f5fae95f3df6899208207a1011b2002c: B9495eb02665cc13d4f9ef26da006d7e4758c1b4401babcac667604095a5fedf4:0F#@87a11613a32bdefddcb1e88c9477b2a79ea10ebcac80bd378a9df07061eba1ad: Ba299c6cd8c114ee01c86c89196a7981197858183c12dec21f5e02e57428bf712:0F#@4301741c2fead29a7115d50e1c8a6ed9f6180dd2cfeeb0960a35eae2b2a7f769: +B6477c2b2dbbccea19d2389f6e82e154a36de82b8e3f841edf1b5353fade38e82:0F$@895de4fca00e8ed9330feab7bb92034198e6fb59c78846cf43877c5e6b57d365: B2448e0fc2cb0c11b5868b0001584fbdbc1662e972d60d300ed0c07924ac8eceb:0F#@fe2b238a2054f54960eab8f493d2407e92895dfc24e26396116b2cf450732b5e: +Ba344f7e52701d1d1c5fb8a174e7ce891f974eda6692082afd8e745dc045ab9e8:0F$@17c6413b1347595a3d1be5923030cacb1b733691132e4992208902013da0b8a6: +Ba344f7e52701d1d1c5fb8a174e7ce891f974eda6692082afd8e745dc045ab9e8:1F$@f510e21a776e37698363e0155f9bed39b8be7c584c241ac0f2dabb808a80bc81: Be5cc4a1b604f2b9a7dbea5865a2b86ed82886a1d98a4aeea79915278d849fd00:0F$@1f7f0220fec33b63d9370165a20edbb5c39d524cb3749a68db2204dc6ef8cd70: B662d24f8f455c75627279331d3444a4439f12185e3d6cd0ebabedca1d009590c:0F"@768cde63583153952f84f68dcfed9051fcb84fa5eaff0d959994416fb2a24610: B750c114fb6475dd1daf228c8900c777b417c3cd834171ac5e2ccd50344b642af:0F$@8c708bd7b572bc6cc742b8607665e17aeeb854e94da42f44b74569038d7328fe: @@ -103081,29 +110813,36 @@ B95b1dc24645efab411fa5c500d7fb4c65421e63cf01f84b3f3786d215c5e25ca:0F Bf950c6ce950309266385d020b9a73a66c31d559e03bf75a7046b2ffffe953117:0F#@293b0edf95e2be4af58496b0f9e13e2f8051228b510129b832f0959e30886c3a: D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:142H"@9a76629764eb2bb3672e06bc1a9b25db86dd746cc4082f094eeafb1a71458f52: B514eb0ce9d5ab8b8daf0081e34572966073c17bdc9fbe08f938b859912227478:1F#@13555d845cffc9c69e007d58350efc5513a6e4709bbe0ce7df6df302ca497d4b: -B514eb0ce9d5ab8b8daf0081e34572966073c17bdc9fbe08f938b859912227478:0F#@13d3e67357e16959335392a87ea6d71abcb4cee865ace1f9e4bfd2e3bd8fb8e9: +B514eb0ce9d5ab8b8daf0081e34572966073c17bdc9fbe08f938b859912227478:0F#@13d3e67357e16959335392a87ea6d71abcb4cee865ace1f9e4bfd2e3bd8fb8e9: +Bf3179b2e49604ba29c555ae02aeac0dcc872a514b6227226eca573308ef08694:0F$@cd6998ea9cd55ee08afe7b4ce51590985c4ae8f378220c614d23638d80a45848: D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:144H#@034874c52b051bbd8f63fd1f241391b3606059c461031f8b7f752a39723ad106: B06464ed238ee0a7fb944a740857822b5062da21a3bd9aaa9f0f5c23d698c1879:0F#@3b41ff856eb244d56d97c55092c0b3ba5f6f7c13ca31ced47f921f9da1d7f202: Bc5980f4a97a22813a4423f032d178bebca0bf4ffee397e86ed7bc497fc308b1b:0Fт$@3d8017ad27697e3b9e5583be05afd125a3d937d589de49a9f59d8ab3bdb0dcf2: B2e0f5e506696dff47c1daeb2ba89a7c8af94a3c246ad4ae9dd6b6984a1289806:0Fͩ#@af74b6739d32375a38c43c43c777c1d943757f66e4774f2272f73f7fa3fd515c: Bbe4c6370a16bc0cae09c5f79e64ac6c92632b0734f4079a5f8fed640acbd96d0:0F#@a74ffcb2a49fd0c51931a28e70535c03b2ead9d55be71966532b265ed1766db8: +Bdf740039062a90d632af36ff2e007ba913f059200f29c2e122126f27d387ed02:1F$@1684a8045f1b8ee72b290addb4fdd58f8ac8c6657ba222b8598a6825e4e62e8d: B992105411705f546ebc630164f85fe9d0b97d4ebdf2dc6126fad94aa3c3e15ff:0F#@d690d3bd0f2f55615d196068b780264eae59f3497a9e2ddcdc4cef7de975df26: Bd2616fae4c4b756dfc7af8978e9346ff615005d9edad0cde5eefeda5d4aefc40:0F#@827e7778a11a769955697e4dc33813a4ffafa007982371321ae52ecc404fb83a: +Bdf740039062a90d632af36ff2e007ba913f059200f29c2e122126f27d387ed02:0Fڛ$@4e305d3fb35af9c8d727bb0f7adff6b2882adbdd7007c99a805832fefd8fa87e: Bb9b41bd528f52bd7e7a1ae1966bf3f6442f74bb77157c9e58668c16cf619206f:0F$@8598563ec3c0db30f73eea402cf55cf7e1f4c2dc76ac1a2256aa5414bc9d3573: Bdfc5478f0b89d802d8c5e2002bbb09a31d1097cb9af433df46a273f983a2e7f7:0F#@fab5da57885910ffe42f2af99fad0f3804b36cc0df5568f69e32b14822769803: Be3a3f951df3122a08bb9df9c6a3ba974d7d717b5153de8e23781f712776faa26:0F#@c68ea6604b4453e4f1eeba0867a5ab40b24e9c7404ba6e46ad2b9014ac18722b: Ba3d47326c98d7cf9c3230775d0c9021c2e831c232ebe6748f5770939c7efac7b:0F#@10adfb9acf3f600f9777358736364be5e583bc9bf7fe0d3da9039e1d496a1ffe: B4abc13c94afc3d6a39477bbef32763e884cf81342d5fc5134286da8a05a18a51:0F"@9fc5cae7a20818c140109128f8c9414ef22c21464cb5c75d456846819a2297b6: B973cb39c6357e7619c740fadcb2da15e69359c8acb504cfdc81f003e351014bd:0Fϐ#@f7d61f911131a9f590f128314252503260a2ebe7e5825c839743f640405f9466: +B51285118341dba61db39e3ba27ac2250e71b9ac48c37c4bd66aea7da00f48c16:1F$@c558f56427a55040e8b3e212c1829aa6865180e7f84c3cca2a1ffa1d7c310316: B738916aef48a562b59c60c446a8af53f580508d536f9e090c02acc9fe99c635e:0F#@83d3744a5dea00d94850d7e8b9f4963ba200e2e9a1839c832c3bee27690c721f: Bd99932381f165dbe85cb93c5b6ea5e7538db83e9be1124e6e22f96ecbfa3f715:0F#@1794ef611e54f8b2386f1a7f51700e350a0d81c8306a8941581c65dc1da9726a: -B41353af3f8b729fbe4d12f5a2e765c1046f706a3db456e7ca66db3dcde926c0d:0F#@775172d342c461f870ee6c38de0c37e0df971d36608fe4fb97b2db59592e7ca5: +Bf51801a2c5011b9b2b5032808116c6fae9e0a2d1f6d26314fafcf20e93080df5:0F˛$@fc182dcb2acf95e3eb8655e5f82fba5f7e62ac7ee72fb355f322edaacacb8943: +B41353af3f8b729fbe4d12f5a2e765c1046f706a3db456e7ca66db3dcde926c0d:0F#@775172d342c461f870ee6c38de0c37e0df971d36608fe4fb97b2db59592e7ca5: +B51285118341dba61db39e3ba27ac2250e71b9ac48c37c4bd66aea7da00f48c16:0F$@d9cfe62203ca32c9bce97552c7ec59d0b8c976a87e0bb2dcd84b027f06137cb7: D4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5:130F"@81a4a8deb8ea5b30ac89da5d8a6f6a578d3f399598de7d92f886997f3ddd5cbe: B9480c1f0445c3b40c24abf3548b82410ef48371c98c2c5c076ebcee5717f8bc6:0F#@998acdc4fcf1cfd069b26c7405a32028cb44b73b5d3499651ce90f227af1610f: Bed8bf08394f2f7abdd402e7bbcd04912872f2246553060fa3ea721b29bc6dc18:0F$@068642220a7715e89b516e28c96612e11d04051ea291b210850f3bddb9a92a2a: B299a0494552ebbdc2fcd67b6904c165733e3c965396e607f230171a21182f0be:0F"@055fca5f9ee6152b0cd877734eb92c1b2a0381cc7c94702b06838a58c4d3b345: B8fbae6ad09ab9fb520c12d03648b71b6d01c379f1d64609a640fab72218456b2:0F׈$@9586b6cdbf5c52a18e81d112a290ce167197da5dac5bba3949961f381c6cd69d: B0cb81fb022296848d1ef866d7302f74b22e33c86a515f03073d32ca1674db354:0F#@5eb8f65aeec1508117cf80c49e012822b79feae5319fc084db69635fda342fec: +B274a244027a3134b14d372433235f9d25dedc4e7adc4e4abd7c57e92346515c7:0F̜$@1b8f7b201b74a19782a440c1069580e7bb801da52e801cab9ba394fb55c24232: B8ea4bbb908ec53f281e60dc36535b441abf1d1db4e714ca4079cc9994a9f1199:0F"@144d1cc87f61d3e92f10fb6d5af00e13aeb0523fb98fd6b623333a8771e58980: B40daf48ea71bcc5edfdecbe2c75522536fc94e9250acc7571328abcee96dd018:0F"@a7dc4797176ac1631d0f0d45b490736973a130d17b7cab1a8cbec2ac386cd245: B5ef55237f18d8696392ff234b8dcc0a910bfb38731b2264a13694de8f6cb8947:0F$@e6912371f4135434c9bc49479dd6b6e59dc2d88bb0eaaa478b3f64dff25aad46: @@ -103128,6 +110867,7 @@ B98299a7019eb908bb332758623bb877e726deb3ad3d5dfd00b0413cd075e99ed:0F B7e829ec2e4284aa07493613e077f65d9ef2f2b00c9e5e222309ab27cce0380a7:0F$@1d1ee5bfa3bc89927923e67b3f704fb90ac99787cbbb109586eabfe328c8cafd: Baf8e62d5bc9cd004ad7c5329225c55ccafb07abac4088509526b59d0d3e52038:0F#@e4b7390bc7fdd7f4e32ac73061b659b6352ce3fdaa62c3196a502a64dc93dee2: Bca9f9c94e1b8dac38710ccb994c431d9ae91a8b8d8f22bc2919aca45ff32c32b:0Fڄ$@a86d583921355f84f032ded89a0ba77eca215d532eb85d8c76c40edd1b750c17: +Bdf29cf7bd6cf18552c84e68b031accc7df7ab8df30f56f4d327fa002b88ebc02:0F$@90a808642f7d296dfa3b8a25f406d28ce0a3722fbf440a1bedc1da095f938466: B40dcab1961ab70c3f5027aee055c3bf0e8d7a4e63761963b63cc17427a672034:0F#@e2f5a228f4ec6456fd6309bc179d2c9accaac31dd8dab88d372b220c29b94d51: Bf0eb087d11db75f1e246057b911b861b445a22c1f2a6cce435c789e3e80bc32c:0Fک#@ede8de14a6ebb39ebdb6816c11612465e21df35e288817fccc6cdbcf30fff924: B22fcf35eb0e1d45892af5fdf616b9b57bb9eac828298479c0c0e7c8228637ee6:0F#@49374632a3c9b893361abe9488a6305ae44a47a185447471c25368453a409d3b: @@ -103193,6 +110933,7 @@ Bbea4b7e510b87d03b99db66c9d561be109a7a81806c7a45d5222fd5072ed2d41:0F B0cb494aa485d8365a723c16a4f1b840c557d3ad52f650adfbb4ee461ee39cc30:0F#@66fcd539f0653c51b4ae318506eccf2b5a5e0bf8a86dc779ff0d3e55229dcf66: B03792301687c778f976bc106ceca692f80ff8146f27fd01fdffe20ee7455c579:0Fϐ$@548abfe6af5267526f19ceb87ae2cbd7feda5a4bf1a98af6d771c12307adfd22: B4152be414bbbba16870293a343c9a7f5500dc6aed5a203158f79a5b12b1bd1be:0F#@6b50652614c3259037621897b01cbaade54f7eb0aea97c8a97849f81213b3d5f: +Bcb4e21d6c886d8430cb886c040179fbe2f7b1768886b215f384bdbeb72cb7e35:0F$@92d769377cac70daf5ea504eebe2f148476163c4c99801b93fa88866a20355a2: Bb5de12cd42959f540fe9ffc91376c594a700fdb4ec7526c1afa98b2e67b50910:0F$@4aadd00e1b2d529def80e7ee845caf31350d88f67e164a189985c19283003943: B0e8a72c497f0576b30cc1f2393db73053049b9d895ff25b7729a03a5d67e179f:0F#@845955403491b45b4eccdb27faccfa053c982a4954f59e8f33e850b49406d726: B8e658784c7b82f43711035154bdcf9ebf52603a70d2b0153d62c709e841a8081:0F#@9e67bec42cd9dbdc3b6e25f6543440be01133a9939fd43c7c1ddc6066473daed: @@ -103200,6 +110941,7 @@ Be4ff93469b5876a210ac2d776d754e4075983672f92f44f0142fa1652d438081:0F B2fb2ee81406272a3d34570230e25dac4e833f8a5b001eda161d4cc0c1a8a4e49:0F#@d44ebd366330833d743f4584548f87de37f94169fd65359df5450e630ab307de: Be4ff93469b5876a210ac2d776d754e4075983672f92f44f0142fa1652d438081:1F#@75b08d4bfddf9e6fa257db1a86cde549090af98f76d15097ea968c3d8cbf2d4c: Bbd205c1440db89f264fd26a5d7ffc2aaa6d433b1db6833c0158a8305e5ca58ba:0F#@807a125067c349b2605c1353ac3c384201eda3d02704d75c5ad381f74bb7fedb: +Bf84da452ad28136e09f495b4e2d831fd1938125b07ac28e9878fa736f0aa64a7:0F$@ec81e64ce9fb5821c1748df25bfd5f70811112fd9c5dcac5345c35963ab04977: Bfa5bfa50b0be4554b5f57eee3de3bcd6c7054e1d198c7b4e7bf8e83e46282061:0F#@a98d8c5678068d4c1e26cc0d790c8b85a180041a92cc4e8ac13af039eb132e4e: B3454a803a10a9407ec15fe298142ce6cc617b2990c8fe8a0420c5dd966241b6b:0F#@7275b4d9683806a0211d29a9e4a65e5bbc4aa024bafb02a825db97f5b3818eec: B6ef822eb2cd2a7d925ea854759585ad1e29d73e2f28d4e23ca187ab5ef2600da:0F#@fbf663689459d5104ab3f2e8d01a24b52473c7e179c445a47b22c32862f65308: @@ -103215,11 +110957,13 @@ B65f0837040ff7ef3e996c6947960adc9c2ca00a597f50de1fc7913e6f33de05e:0F B93feb67c7388548e5e8c86893e71a6fe17d804ba428a94e9c331fe6b16ad3e1a:0F#@d89a3a7d202b8b48a0310b3d8d10098e6580c665026c695f3db8a77d09dbbed8: B157911b383e878d5d530cadeb4f2d52b81dfcdcffb944b0449997ddb43f30314:0F#@48f05f824b07fba76632ddbf0fb7db23fe5b89a7df360643e17d1c099d58041e: B88210cfeeb4fbe950d45945a49a64fd79714b1af588084919f3a7484a573d856:0F#@1322643b5adc49bcafcf188ea872b2ef529c7d4b2fbc2dabfe150d504d4b991e: +B98666012e22d9e3978568480b1932754979e8d7c3083f1e9b537956369e24a1a:0F$@6ca5f88b3fef90dceb5cd6d4f332d76f8c86ea607b06fec32aa48ea27744e812: B20e41a61477f2c2b5fea935feaaf0ecde1fb87eacfec37c73742b0ab47c12dbc:0F#@2cbab980f0eccad3ece765b637f9b3ce1f3ec558981f808fd39e932657b47a4d: B881e10d8f43ef7a27c532dd72a034c9c871ae694c92603da7a07db2d98581e2f:0F#@03a3f670c719719f4b0755441c97239077d6989cc7ce427054bf5307a562d9d7: B84da6545cd85141b251a66295a3c50ea212d37c99cbe8a15aaba7daf74edcdf2:0F#@1a4db0bdb66d788280fa82e6c0d9b355774a7f58fefdd6acc7a0df14cce8a97d: B20e41a61477f2c2b5fea935feaaf0ecde1fb87eacfec37c73742b0ab47c12dbc:1F#@ebb353bfcfdec33b1c718ab3613f239ee44434f9561a455921b0453426e43f55: Bc2951865fde7ae8afc5fb8bd57b767e5757d9c5bccbcb07da885a82aff868251:0F"@8ed0938d49672de26c3d79fb901aac0d91e0a0938cc54522034a42c890bb2b35: +B792c622a3d7d9161a2ea013d147fb85bedcc87bdff5842008fce350788080aa8:0F$@0aa1418b3bee5cea15d7b41a9d7d0b617d88777f2d9e60a371c0a0672896662f: B1f4c4017684504d01005e7d5650a12036cbc1e86d096dd31834ea1a5000507bc:0F#@3a6adbdd072d861fe92589c9dee72682650462ef13bf36682b6cc908c52a0302: B61bafbf7ac17516de77b65609fb79b508fb32adc5edf3dcfc3a8450f774bdd7f:0F#@08a277b2bc148ba91ff2b673e582fcb4d39e28003eb67f8debcdb28081cda55a: B4ddc7fdeb34df6c7b83e6eb2ef320e171a938af5660445a0783c5e606abfb8b7:0F#@743c1ed26460774cc8a42987e2f7f25b00131f764702b293f898946d35190d1a: @@ -103267,12 +111011,14 @@ B6d0127a28f4bb2c9bb8aa328287f0fc488003cd43d0921010b79a8219f792a9e:0F Be1852666fbb9c98065beef1dfce4103cc70106f3ca9b51bea1c9a5e87f1fddb9:0F#@c328dee1ecc76657a52765726c954669b0f35cacbda339f1d105ceeec98ec384: B3d9f3aa5858b3dff89f5f499276cc9378eadc9495d5167939b3623a5272282c9:0Fʶ#@2dbd260ffadc60222adb8ebde88ab6a4cb5bb870f5392031b8cf10c35e11d0e2: Bdacde27ece5a5f5e49fa0aed84e98788486c285d6b1976fbfe42b26b5bfd4a4d:0F#@09ef0daf9b9abca8d2d9957281f0d5297866ca8910d407bd4938e0c051f9002f: +Bea56962044998d0f0116c7dc6fea5cab924a302a24cc5d0399cd754609fe887c:0Fܛ$@e1b07493bd48fb6ecf247eb53b3aaff4def907fe3efad38f48faf0ff54465e65: B14f7becc60378acd2e1e5d0c19bc662bde8e76ebbfdf620e07be2b999531c9f2:0F#@653cc03676a5721f818c7dd0a013619edf2db2bd0e8e99660dec0e299343433d: Bf0989666a32250ce6a58453672b41d9c7d08f202bed1a82fc189e8d70c56c11c:0F"@2fa2a43ce277fb8aea1c89f3eddc09dea5ebda34ec71b321ea6cfcece1631a6f: B2d9ae9f57d0a0ae2dbc3240e1a5c447f2a156eac5e2a4f888e86a1e390d37e19:0Fˊ$@0a5b0f716a239c6fcca8834401dbff02760c14965d44e720b13a6391dc321c3f: B6f2abb46ab86b1ff2b5e4042b3675bc39d0b5bc39f8d5f549d62d3d4b7fa9508:0F"@bac46fd64e057a541530c87366a4fa4fb616bebb7a7970230d7545f6a2e0daf8: B30a8889706b63524e9c7e06be3e3ad2f9892981f3c2f213ad894389649e06d1f:0F#@1d7263aceeb8dd38e4f61da15265cfa079c379d47f83268526cae87821f90cbe: B351cfccdbe0a2e787ea3d03e73cb706512a36f636998af03cabfa023832f5da5:0F#@81a7b7eda414b8f9a259d13999a3ac01e02ac3e27cb0982d79cc5db1fc2ae803: +B682762046d31a1d021d557263ef76ee350f813aff38e22bd4fef03a756d6de31:0F$@5808ec999d7b71b806342971cee953fc17e52b60c2c8507fae145aee6c56e6cb: B8cfef7d618e5121000179bce559eceabffb6dc809fa784afe4c065d41a173e31:0F"@2dc05b68b5b6023c650015e367436185a9c9c7314d7dc668c8d057be5867c298: Ba8eba2a166f6b508edd546211c36fc34a04e044b7e0a1dc60a6510711fe3fcd4:0F#@10f9cfefbd35ff67ca08f007f66ac397a3d143df59e904846bfdcc5c600287d2: B6416991953b1e100d77a9b178a3920fcca3984e6297fc574bfaf0a10c5dd8ac6:0Fբ#@16e4ef7fe553bddc33a18aa61edd723432727e0bf297b1c00acbde0d2d6ea6c6: @@ -103312,6 +111058,8 @@ Bf8aebccec4bd4de18f4829abb36466b013c59acd90ed3bc44d6330f5eb870f67:0F Bc2f8dd08a30d7ad8b4910b295afecc847f906d39ae88aaff058ffb0722055317:0F#@0c515550ee5a54b2669d3e10e1c8f9c14fa1e38ca7776211899b6b51830e6462: Bc2f8dd08a30d7ad8b4910b295afecc847f906d39ae88aaff058ffb0722055317:1F#@4556c3efa9fbb936073bbef6f9375fe2e60e697252b29ad6b404a99bf5ec6cdb: Bd1b4af4c2ca15e9875a3e65aaac8137f5b5d9b062d6e581fcf546e56d9c4daa7:0F#@b1d88450623781178da28219cda6c7a7dbdc6995f983ef48b8b9bb80a7912624: +B928e7e6bc5a727ee8f7419b19244a5282fcb7313c17d462024002c1367849297:0F$@4b47c20abb9cf4703036248e2acd6cfb851a3057d9822ff3834e000a3400304b: +B289e92593d3b4f6537a2f4f2d05381da6d85772586f8b46984952d9d23999e7b:0F$@ce9389dd9d29ee74acc17a424e28a01c0bf6dd93c0a433dacbef8b588291d7c5: B7cfb8f6595710a8925ec2645c904396766bdf0c0e174006e6c0808bda62650dc:0F$@2c735db0514cfa2deeeb1c3c59d1a789e506310b8eeee685f55e2c6f03d92240: Bb245b8f572e86d3da3f9546957fbb0f6f111853ceaf7a151119409df2a4f2236:0Fи#@f2a7573deea984ae22acef84871878b278be9f260ab28f8ea2e538c1aace94e3: B65125ba3911720b99fcc36886fd4819158e501e525e070cadf43d9551990fffe:0F$@3b2db424a05860317a280f769a1997d4c17b81e8338b7a939135c858dceb819c: @@ -103319,6 +111067,7 @@ B011082aa263471a17a809f04a499e4cc203ec614ed9ef423ebc4cdad70352a0c:0F B34cff1ca495fc249c9339bf51bcc2627da8d1c98e945405b50e18c307cc9be11:0F#@ec4f6add3e8a001a4c116295cc90b06894e21606eb7b9f2abad51487e5ca23e6: Bb908222e8dc9ddc308679851aa515a9ef5688785f7b16a078744acd60fc6454d:0F#@53027be9bdd46ad1b41f57e139a6d4bf20f46bca1d487635538cb40e1cc20926: Bd5cdc643c37adac8d789e134cc64c453053a34f1a94796f74414c1f042aafe7a:0F#@b58a81857d551f6e0afd513acd7935b1513e1f7e79c297d656f02a9f47b82986: +B995f63c55c187d7e51c6fcb1ee616fd77eb6d4fb58764db1376469f3c53d70ea:0F$@78033858c2322c5090528efb71033fcec13088441ebdf6f4e299961ee6d178fd: Bcb7508fba14fdefda44dde4c132aa4e8910e23d5fe92c3c5f641cbc7d8347854:0F#@6b295f1be495863b24889bdaebcc03a55f1a786ebef308f24a8beff8a3bc4095: B2802fad4958e7e84f3445b1e22dd30e403170996ebf9f027c0ae68af5cd41306:0F#@fd4e0829810d2498b74bf7e574e0e7ebc9ac655a081e4cd7f6e5ddadac7e79f8: B137cb3b6168355196c3d0c438a032e8442ca9298ed87b35de12a9bcb10c86c85:0Fׁ$@01aab7d4a2b8f4405f7f4b10bfa178f8532072145779696548279816f3b0e7b8: @@ -103334,6 +111083,7 @@ B68514d3ff6bd222a6df5bc4492df083a9dc2f656672897631ee5f70d06161068:0F B758c60a799613d372e07f5f2807387533891624d03d34329ac536c18a816e829:0F#@cf98415c139066c54ffe6c50fe1685d84f41b2913346d4a02ceab395ab5bf32e: B3e2741de3ff7bc37964253cee665435339a32f49b825fd1a29001559962f5a5a:0F#@0b8228d818594abc871989f8e3a130f9ed5801cf50b59de94e7924880c9e79dd: Bcf37eec8b3cbd7800cb536c4076ea6d98e695d84dcae01530b9ef7cb90efe055:0F#@11cd679bcd4f3fb4711735470d0c4e59b6c04ec27846c1ca041b25b41e274126: +B182d702948b5d3c4a1ddcdc24ec850d8699b05003f03527eecaec319b9ffc449:0F$@f51816388631f12685bb93d7a6044121b74bb851a312a36f46a8cc75481fc8b2: B101aee6e24a2fcc7ce3c9e6470055223509cb95eaf37b5e9b48dbf71248f1e05:0F܁$@deb1514e26b8e64746b0f2c51bf06956a4515b62c0d55dda59232b9c4e4ceaff: B5f1dcee64f29a589e5b0608b318065ee0ea2490c902ed97685c84ecf86821d41:0F"@260eb6a59305e8f39eac024b04f93589540436be6be14f4165186b0cbf876289: B8eb4665e1aa484abffb4df99edc81b7b251712edc9103bd24422e68b3e873bfc:0F#@daa184615f6b2d4841ffe20c1a34d1b6d8f76309c6bf194bbe37905507bc1257: @@ -103351,11 +111101,14 @@ Bc9ec0a7ef05653f8e657484e3d583ec7aef95c14b4bfcdc074829830c75c9268:0F Bd02f7894cd6b69e6b6e7706cf644105d0fba8f51f0479b289c20ff8b3ff1a272:0F#@b0ab26287505ac1a2626ec0204660ce3fb562ce25d7047de113610cecee95670: Ba6b995aef96cbaebd749303171f6888135858b080b97168124406a97418b8741:0F#@c1e218d19c3953e63d26c81597e258eac6a9c6e3089616846673fc08fbf6b4e3: Bed6b574095563befe06323c3b11462bd29aecf86b9afb64a4bda25d6200aa0c8:0F#@38ded5e83b9121015575eb543178bd1f16d1403ce1c80a964010cd0b68eb475e: +B3299316f80501af069f9bfb002375fa529855d55c71446e3a83437efa6e5b816:0F$@1feb758b5b983d05fb7fc92bb4a48eda6b434b257f59c66f72a9ec25b542fb3e: B21a8d6b442c550dab717bca727981d17df9643fc67a01d100d7e6168593a34ce:0F$@aaca6090d646a6b3c63f922a52fcd9841ed14dbfae96cb9be2a0d1d76a1840ee: Bd2f4f3a74e2856086b2809ca4747226f55b187dbc242e88487e4d9517aa9edde:0F#@7b082807db83bb9f8a68de6314ab16aa5c26b3c953d1b24e597c03144b033077: +Bb0aace596dc985af931205a2824ec49b5c72e90d8c64338958b379934aa74758:0F$@a87aa6f874d3284061773ade82f2b9fec08da305924530dfdf341c47fe39bb42: B42918265da9aa09026fcafac5d0d9915f0894a00feef402acd7a0f76c8a8cd5b:0F"@e6272224c0938f1081326a41f4016d1140bfd835fdadb878504feb79d9717dd3: B5a5d8bf5aade49a6258a0d5ac9aa0fdef797d70b8856280739ff6cb0bcf80a19:0F#@23f009e3d632c0552f831dd27fd936f0f823ba318f8a6f8c81d2039fd43e91bd: B5e49be7563f6cf1ffca498f047de07aa55d11005b52fc1895cd0ec33dba8826e:0F#@c4ebc0e2626e97ad0a86f3587a32a4200c57037372b6020510151b1028776534: +B921819ae8aade3d7e60e5ced2840b77d4b790fa0b5d85e1b1f4cd0d4fd400bbb:0F$@61c56c68fa49dc13b70c81ebe4048515bd9119b1f00536de1749ffc69c8a5a51: B5e3dfaa9a11706de9f65ffb01b54675886dc7d9509d1e01ce817acc9f566dea1:0F#@4d52a6c4ceec81e72c56232d855d7e0be2104361b3e86f055c4bcea83fa013c0: Bc512a90fd40a939a5e64844ddf30bd9872bcb677886f778515dd2a592cc3f357:1F#@f6a1c548c034bfd7d4e2566359dbb7a9cc90b69bfccfc744e8847ed43281df84: Bc512a90fd40a939a5e64844ddf30bd9872bcb677886f778515dd2a592cc3f357:0Fԕ#@f2a4358d206a45c2cc055268ef6d5259c673b82d0cc7f08c0ea6e66253a1916d: @@ -103381,11 +111134,14 @@ B45464ca1cf1d02f452e0ea731ae5a5d62f6ac747f8637c9c000ebbb8beb41bb8:0F Bfb153f82b74e08d5b5025c913ec5deb907532d4543ddf46248bab203c0debac1:0F$@ab5dc8f166cfeb9331987fd0e7c7bebae8d263b5f9641b39cb72d0791cdf9896: Bb14b90c97e2232721a6a20934f2bf2d88580f0866f1760c9e4b2f29cc5b0f931:0Fϸ#@2ec34cefe0a5d6c5ff7a6e4a21eb5e18ec93b35fa9364d0abea0f1610b918c19: B981cdb92169a3b963e61602fd2ee19ebbd5e57a0eb5f0293a3fd476811b2dc30:0H#@356e9f77ad3601b4ea9846228e93330785641f742807aae1795d8f3aff3207b5: -B45795fe92da6b32d6513750cf7af7b185d0b6cf5fc11b62125800feabb58105d:0F#@1e63378da906b964bf0de0ac21ea7f3a52e86c537dd7c874f40caf974e1c9f87: +B45795fe92da6b32d6513750cf7af7b185d0b6cf5fc11b62125800feabb58105d:0F#@1e63378da906b964bf0de0ac21ea7f3a52e86c537dd7c874f40caf974e1c9f87: +B935fdff823e795576f481143929d9e9d889b6f0b2667f04995fedf27b94b54fc:1HƟ$@b49e05c8d44f5b5c8c5bff54ad11db096e8198c9bcb79795853037db1987f843: B935fdff823e795576f481143929d9e9d889b6f0b2667f04995fedf27b94b54fc:0F#@9d9ead727238d6695ad0a78e6f34a507883c95a7f21489dfe42a94b686a15a43: B28dbf1047bc6a7e13cf6ec5ee2f04f84008feeda0803e74378eb6a091fff8339:0F#@5812855834ef2fe324ae6742e5afb66d97c7bdb1cf9cee66560aeb5fd49c1fe2: Bd24efa0652c49d388e3833ba23098c98030764ffd2d351d95a54184e1fa14c25:0FЌ$@1827f5c03868bbd067aca2d07935b4fa485f4ed5c4b58ea78c4d7db290a67b3c: +Bf51816388631f12685bb93d7a6044121b74bb851a312a36f46a8cc75481fc8b2:0F$@b6e7acdfd7462ebcb1c5a9b7a9a685f6a7481c4138c4c235fba677167342928b: B1293f5c718ca5a4255697497aa528ea5473740eb7ccc336ea90326618c2691b0:0F#@1b5aa18b57a3efced8289c2c2d8ee54aa96531641e21fccf601e1903f808f73f: +B354b3c664050a65185f4f65debc797de9f4155e8661ef278ca754d1bfde42f59:0F̣$@59c7f68f59b575fdd39b802f4aaa4e8f7e6eb9706c5d3288ef85f311c9b7bfbb: B56bb48da93175e47ca649ebeaccc2b66f8447f38ef6a4598b65f2c8d3d6c068d:1F#@838b7d64adbbf6be4885acdb46ba7047c184e8a98e779683509c610fc476a836: B56bb48da93175e47ca649ebeaccc2b66f8447f38ef6a4598b65f2c8d3d6c068d:0F#@db99119b3a49bdab285565399ff67a684bf59e9fa039435dd9c4633248c93012: B729b9fce3a42de95939d1d68ed10bda4d21c6e0b85e258442bf05cb7a0368228:0F"@2a14109724fe8641265740bacfffa575f725a08349df6e0367e2f97e34ff254a: @@ -103394,7 +111150,9 @@ Bbe634158336f2593af1684eaae82cfb9b68a6e218fa104834dd34c529ae5b68a:0F B0074104bbe7e6d6b8b9b14146879988c83db433ebd34a598603781655d12308b:0F#@86a814f610a01dba30b9959f22ad8eb23c07d4bf904857d228786f9704cbf54a: B03f5968b6e0ee68686c0d7c3b4027449eab8011e9fc531f76933b76804e88e59:0F#@06b6f9b0a56caa779f47e951800b2176dc48fdd6f3d5c0f61255895ad81ab294: B183b98519d816391498a46b690619072b74a11df740e6a4c85c0fb16d36db04e:0F#@9a1a8a8f35f41cdfff15567851286990cef402dadb22be090de76b8668c3152d: +B2e3b10b80ffec24d54a9d6c48fbe5912251920c740cbe39136e0f9c2ef6e1297:0FǛ$@c6cf991f336064aaa2fab47cab66893b911a98a95ea9433e226d2de8130071b4: B4e76af082ecf127e9bdec8af0d4219c7450416922e1aaaba65ce66520d80bf31:0F#@92ffc2b633d07369214dcb19fba958a55ac5fbb3f731496e44de169057d3d975: +B2e3b10b80ffec24d54a9d6c48fbe5912251920c740cbe39136e0f9c2ef6e1297:1FΛ$@07975fee5c8faf1d54a5d393e1e358cfbc237054eadd9a05460bfc409b05615e: Bbe634158336f2593af1684eaae82cfb9b68a6e218fa104834dd34c529ae5b68a:1F$@84b09398aa1f114ec03c1a029a85f8fe00faf3e2d3ddc1aaf2ac2bc46153ea9f: Bc99a7fa5b17e6d35680c17458e484d99367102a1f608a7dcf1738cd2ca8586b0:0F߸#@2f1de0f7d5247c3904c82501c85404a0c0a6920f79acc24e1549ecadf14d68d2: B687795f3641d9c851fabdd4d6defd0f03917457249c81f9523c4b78b7e6d81af:0F$@4aabb449fafbc65f4319d6f56dbdb50535bd6742d3d62b80bc86fc98e636a3f2: @@ -103409,11 +111167,13 @@ Bc28053937e8f7f7960724669d743b6d191f3cf93c8881b1d1c181220a565cd0e:1F B6d3ca579c2d604c6d6e586037c7d22496dafc7ef1a8034df3fe4b48edd485b29:0F#@0413e6c20ba597db769233b2c73b3c55e711e7988aaff90e94bbd5a9b6729e42: Bc28053937e8f7f7960724669d743b6d191f3cf93c8881b1d1c181220a565cd0e:0F#@3753a60d7dedf9aa4739d4661671aa9eb58d74746e081ec196a8251bcc5a67dc: B3c74319f00eaf6617b13534dd64daa67efb2c3a0d948a731b5de1d33f4358657:0F#@eabc3a6f575f6151c24079adae97004e7f4c628233d1d11a505bfd745c41f7c8: +B4e4183f1d980b1bd25cef64f01f6a674c80734dcd08b61b839f18db97c8e1269:0F$@4af482066d4a9ed5920a8d2a9ab0b76ff28b45a62d3cbcbc11afde7f8c11890f: B6a430cff4c0c5f3b8f6309f63a480e0130f3dcea30a90e7b0b9d0d7c70667b27:0F#@9815d699667ece3bd8fe65804eb8ff2e889dbd565d712b1a515fe3ffec5693cf: B5bcc9268331ed5cc90c84eef1070ed3209b8b4e386e19b54fd426233513c6d48:0F#@ba540d5622c7bc269ae47f460982bd8ac8d30224982180a1f493d287907502f9: Bad646ec9f17b1dd6f9c8b94dd8645d9552c257f0daa7b9022136f7a3edebdc81:0Fă$@50f69bdfe5bc083e13c69f797e4c2199462450b3a435553bb31916929af6fb31: B978b612b4cf2007c1813896fe706d842e7f6072f67b2ffc170484a0aede316a2:0F#@039a37771e88412e8d62337ecbc0d232065c41858fc24af415f11d33668abff3: Ba3ce7e6d2287e6d96eb29f513b49010bd49935595a4ab4412d72c36edb3b9042:0F#@8bef014be805b76d21064c9cf17e06b7896beaf04444c0a42a3ec9b7f01a9c77: +Bcea73f072bb4834d7e7c597eaa02217a0fd0f2451db51c805b46dbc8d93b3c8a:0F$@43c79d32223dd1c26430d0508a0e851fd702f8062913b939ed77b071199c28e7: Beaf69e755a1b37146d2ecf5205cbb17464d0dac7bb433c8acad2dd339b7b2fe2:0F#@24d0197a452a93aaf5fcfc06b6bc3af7ea83390fa6c9946f5708391b839a6dad: B75d1c33c13c0ff083672dc2b83ffe1921c71770bc3a77702798bf644fb31afb6:0Fغ#@ddcc13d389f26b747e24eaacaa634f921acad5b9a979ee40f4d04f263f3bbf2d: Bac57133f1b6b8b89ecfdef8c4fe3a394c57e35fb2607b547d1b54d6709e9757e:0F#@36041438e49f32c73a41e9001957322d951079076fbb5ad2d76d2b4901104279: @@ -103426,6 +111186,7 @@ B17ecf8d3e5093dc0cc54dda2eb2b58e92b02d7ad1ffb20f8fece112e32c69170:0Fݠ#@4a163 B91852bd90b037a9058c3dca80b777ee64be622f6b58d3bd004dbf7352879570a:0F$@863af5a0bcb44eb819f7ed85cc83fe3b7d6cbe47750bbd770a6ca13d3ff14f12: Bd63def380c97dc9ec5f6135e0223a3d9575bb59a57b6676c462e9c73471bcbe5:0F#@ed059b7553e9fa72a11c76e1aeeee3e855621bb99ba990bb0ffc1a265690ccde: Bc8afcb76b6b8c4e88141070a948b1da2086816c0ac1c650425c5180ff08c9448:0Fݵ#@e7a33ff0a69deb628059ce4cdab25c47bf6a077dc7c281bb274d00e1df9fcfd2: +B761c93420e0d210a5eba4dc3126240a8a3409d4d585ef3f73a0ce7000640cde1:0FМ$@74b4c737b22c5eeea38bf2614ba16bbf599ddfc281d6117e44418448f959301e: B98da66237aa877b573399fbe227ef447336187cbfac6bc61e01e94800862841a:0F#@e7bdc20667b04b9cc0653c28de5e2c29c74ce9748f36c4f56bfc43d1be525386: B3fa385efc4dfd4de7b5e16f211b53bfdcf6077996c2c8c85eab98d0349137a72:0H"@1ece37c848d9286fa489a7a09a1695bc5393496041a697bb0c1d8c18b761132e: Bbf4bf8d9c270c859bca31b16e98802c807d8db2474c4381f2bbabff40da29732:0Fȃ#@7a5da3ca0e2aca378574b03a332f33405a1b0fda3d93bba0121a9465cf326589: @@ -103453,7 +111214,9 @@ B45beb0d359fbfc5bc2dc991d36ee0293e7bb40e6903081d8f024f2e0f3840afe:0H Be20a4c349f04a0bffdde56e5c8094dd60e26fed6572b7079db7398155272a880:0F#@ad912a7cdcb51853e8f2244a98f26cdf271707bb8aca5742157d8c338d2a2e35: B6822357bbf953cb681ed109bcf3c3ae6853e181ccf6e219748cff5820741294c:0F#@8324adc655aa0a07b4a53b6bfbaa289af034c6a456e8f350b353002ead75fbc9: Bf0c6ee7bb60d043631d1a59d2bc773749114af9765c578f392fcbba6bc5734fc:0F#@4a054fc0203bdfc2e1ff2b2eb2f550f8e06211467edb45d8bf4183df8d8d591c: +B4a41ae0ae6ed35484915fbfbd77551c96b3e985641049f21cfc6c08f4b229dbe:0F$@f6477d6f038eff24369ba99bf605027cd0c4f31b86bb3a6626f7c7b202205c92: Bed8d6a35b500744cf823928900abe779983a724963aaf04e8fab82b5eec25976:0F#@039d5e2d49e127de1f598a1ce5516f84f0bea06b630856b813446899bac79fec: +B29c673a67a62e346dd45be769e0a7c0924e75f400d817f1c688b8b8b1e112e09:0F$@c9241dda7e5a3458678cb8236520a1a365c699230d68c39b0ea4bd529550aacc: B5b0ad002248fa7f19c8a24b6a67da1ccabc16d4b2b0929c05d79090b1b1f4fa5:0Fю$@d3385f99207c95cc6661b097c50c075108437ad27d0a22acce2d1b017f50ae6d: B0c2336fc608506caf2baf6409cffc710938bdbc1589250f327b0107dc654fde7:1F$@60d889de6673be519ebb60ea8d1e707d94eb328b09ac5d73c17e90d13d377acf: Bb7101c14d393bfa1a743c4cd32a88e0527a09fa7c685aedf1fd1d069497615ea:0Fʄ$@89445914e24472cd8439358382d980ff48bdf6e9d64189ecfe315370fbc2f1e2: @@ -103462,17 +111225,20 @@ B9a20b0200e072dcb92088034e602c1cba1a2b693195f0f5273c2c505c641baf4:1FҞ#@183b9 Bc8e5e3101496e2ff2422f9b03471ef29f3bb40062567f98990c104374a3a9620:0FӐ$@11d6bad8ddaa5ca7bce1e382987e3d7622152decd0a898cd135eedc334760350: B320a8441f4efe10263be34ae17649c388716bb7e063c2ebe279f31a141a62992:0F#@8b906c8957ff383c00e4fb7523af75f85d604a323d6d32e0d0ae16850bb080d9: B9b10377381c33ea51299c8c89d452f64a2876ba40c10cd21d814be0462985ea6:0F#@7fa1419571588892773cdf1b1e53f8455609668a830b83decbb9a4c1634d061f: +Bb34a7c6795b7b2396fa9fa5f293795d8f8d5724e8a3a8865fa539e7954c9373e:0F$@6c55842be25386307b471d58b50e1db64ce6259f9bfdada83234a05f6cc03110: Ba041f86b20cd714b75354d6e1c91d496832cf8737afac129ccfd78fdec888aba:1F#@a23809260ce907c3ee31a61c4e3eaaab47d5dc80883a2e8954138592abef4929: B47fec511d82ef84cda29588b314abb79aaaf3d499b3d986780cac653cb4c1ccc:0F#@821db75927de5dc19beb1c6303f58daf357cc4321b4c561a19b68fa8804eca59: Ba041f86b20cd714b75354d6e1c91d496832cf8737afac129ccfd78fdec888aba:0F#@3767bb04f8cdbb921c7eb2d26db68278ee1abe1aea0bd38478d5f41ecf570a29: Be5bc6022a2ba31c8038284ba0cca263ccedc84843af200063de85ae56bdc2415:0F#@258ee9cb78a021375a337f725fa02396ff07fb693e7e8e075c1f1d5c1eecce13: B19b7306ffa38b6c3397819b67c39419a452896bc117b95699d7caa6fffe4624c:0FԨ#@d30d2d476bc81d1e1060575a9d538f097533b7f0aa96363f3c0177f1bc620e88: +B500295a0141fa525135eaa6c47eba48a80e58ecf9acc75ff3db52313f9ea4944:0F$@a30012faeeaa171cd819426553d0b852d7e0f054f1a2d838ad274d751365559f: B8f721b5d6c632f160ffbc60fa58cf94831d7d07b7f4eae7fbe8feb91127a8ad8:0F#@c618af37a07f64c49f0def5100d3b206b7798361a2479d0693a456495d823719: B8ab7032a14374746771a3f98ba60767d097d3e59879009d018b2af91fc6c862c:0F#@a8fe9c14dbca4d0c09849b84d4b2e7d7533a39c35cf28d8e8aca4b5561d7d7c8: B8ea0c7e84272d115e9df3a63c7f3d49e0b6aba66dd7454ce1038aed46ffa2753:0F#@78cdf77a33d145acf57cea6d591eaffb1842a3638385a266a5a30f93086aea3c: Bcb8e21690d3fe820b58d4290dae23b93b8f9a6ba31428a80ac32394ecc99fef8:1F#@7629334133a548c0b1e1739550e9137dabacadc4bd5d67e3e399fc1aceed11ac: Bcb8e21690d3fe820b58d4290dae23b93b8f9a6ba31428a80ac32394ecc99fef8:0Hϩ#@0c3a4f6c571eddd8cfd0c8640d0494422d1d8c119e87f7e74e6dadcc935aa013: Bda13aa3afeab8318fa0c856ee127c292b3c5f4710259061329a229237167815b:0F#@26a78da2e45e8548490faa4870cc961ccc0c711ac99771b40074bea967ec167d: +Bf301d964aeb1d18eb80499b04557cd378926ae2ae330505057d987d30201977f:0Fž$@abda915d1fd11ab1c2e40e143899861f861c07a6eefac15c8c1ddd97a9c25770: B44c43e063b35959386174eb024890622435b252dbf304319ff684d8ddee257b3:0F$@2db4282a842db0ce528c0894a3365eeb6029602239b533b16733ec2cd0cc6232: Bf85342bf99495413a61d39e6b2bcf688975adee00709c13894c29b1b940fa02b:0F#@e48adb5d2ffaac9d0007ef9ffa6753ec736db0b60070defbd804e97dd841d1cf: Bffd32f848d96a5c364d144e9097f38d44c2519cb6ce67bef9848e5bf76f72458:0F#@dfcdd06f2f6aea873ae602a579ce5e8f293aa749fdcd9e6fcc55b9facdeee076: @@ -103482,7 +111248,9 @@ B6dbe50ff94b9bb5a05682855a6909ca589890aeaf16cd4b418f1e56cfe09c1ef:1H Bbe1636a699777d0c7b0f2bef9c228c408e777ea38a50ca7a15ff4079c8a0fc8e:0F#@e38a4f5644818f5a2f224f53c8bac8411e8fba8696ea8935cad4eca2e86e3fd9: B134aeb7215cd282af049fb67726d2f5d108dd8f91235cea4aa5f0374f83d0c98:0F#@f96cef5477351e7b241fe3b22a338312056b19984fde3bb5d3866ff245f1f51b: B838a62255d2cd311acf321024a33d29e1b792d535446f4aa3a7d76c72a1a1899:0F#@7aef297f903e4baf5d9ae5898ae2212dbb4173c68581bf5a6ef21351ad801f68: +Bdf2814b988178866e3c566227983e021393a666847a5c4400888bd3438fdfbbd:0F$@7665ca937fb435af93babb7abc6f24af26546d1088c179b88976d4075de20549: B9770524ca465173a5e517cbe183c6134eea7f5b007c1ec9d81b2191a26114a64:0Fۅ$@1ac4e49075cf8af49c38b6d74f5735ee2c5f281806e43a74eedf646c3fc8b8ba: +B0a07c8114103c95f3f0687660247c2e0add02ae40d804d30ff11f76edddb8846:0F$@97f0a074667abc36ddb51f94c94c6c4f12ca12ae726391c4550a582dcccd4ed3: B4d6e450d33608bfb85de095f8bd7ab0f13334d9d338848499e5699a1273a4dac:0F#@8e412e66cea699d403f255b27b7f79658b6a467f3e8c8c487bc4b66d9e255adb: B94608f62c64fcd9d3145be5bad461516ea73643486a1595608ec27ca64ceac7f:0FҔ#@063ee87d3e2075f68c8c39390f7cd3e93fbdbb40c1b90d96e8f7848f66d698e3: B6f6d1c15e6ef2fe1fd0d49cfcc9a887dd79c64a7194c277a08913437ae03acd6:0F#@6c787f87835b2dd2e498887d4fdddbb07ef22252a661b700f6aa652ced81d971: @@ -103493,9 +111261,11 @@ B01af472efdc2c565ff78409b6d72fc450d7032dcea30762f6c00e77664de2c10:0F B01af472efdc2c565ff78409b6d72fc450d7032dcea30762f6c00e77664de2c10:1H$@2982c9272ebecbee9bab3cf70f69253900c968c14dff494d939818c532fbe99c: B8f5b28839105e29de47ff06a751a17026f9117af98f99fd5f1303c4f23d9d315:0H#@15c7fd53381e288055de831eca71e4c10c311f1dd37111cbbf9d68a905467463: B134aeb7215cd282af049fb67726d2f5d108dd8f91235cea4aa5f0374f83d0c98:1F#@e942e25665c8b20f23149c543b1a855b0c48ed7067b6fd7c4c3f2caffd12a314: +B60c2c86fa6431eb434953c360bbfc57938174bddcdfe143d8e510756f54f54db:0F$@492f859c7c00a60991faf6d338eefb04c43d44a11b343b7ebd6119cfbf568b5a: Bddadf3b80e18997daed7435c95df472ab4255b82f2cac23ad023242cec11502c:0F#@0a7bc440d4b27110250bdbd4b2dfa0cebc3b186955fd092b068ede265ec7651c: B8fda75e3ef0721410137686e58589898179bb08729c24ed9cbe74f2eb596ba60:0Fߟ#@7a97446a7f2156927b3ac9fa88e42deda714289e2f037124b79ae6b1cfe3912f: Bc06fa4fb28cc1457342a6a83d7d3ba6e7090f0a1436caeeb0705826b653807af:0F#@871d93260929d115ac84c686af5bc7455f62ca1a8f3bc9887c2e0a35c0e284f4: +B8e8c64d3cde4f0db0e9bc994a17c58be204d85b9a53a17423eb2137e751b47ee:0Fך$@b89909ee8e9876f0ba8cd59dc6c79d905822a070f478c4ba78e8251f823c5b08: B1e2233c434102be80eaab61df4cd7eae2899ba8de76ca85aa92c379107b6b239:0F#@c73b853a4fc462a652038818d7aec9d1f33669cd5712d0203af2617d872b6244: B3364fcb769fe69d41da022a0d26bd0cc1dd0bb58325eb8e92864094ab41dbae2:0F#@b0a8b35b5e955013e332eaa767dfc2bafd4ebac304d82b31786f709d10486878: B741f770d35a4354c93085d8a55be11f3432a5dbfde51f18b2608d36cb5a9c6be:0F$@511d0acb23374ada90c2c862d85d814741c9cbf04a78419f251923bd58462efd: @@ -103512,10 +111282,12 @@ B64ded187fd8be18933904ec6203fffd6dae923115bc4481b948b4a311dddd308:0F B6c9517d52271a17509eeea1bf58f700c8fac075f5172db259518c39047bbf34e:1F$@a4eaf6930e79d5d8f92c14d36069bca2d82199c572f6b0fd84e01f0b662073fb: B889c422c8d3d73f97a166f488b69d697aa35c01b96c4f9768a33fc8bec9d9736:0H#@00a8e31c6abfb16d3e72540b47ab4d27c5628788cb4481bd5bde1769f6847573: B52cab9dc7ede33dd94d748ef7195440b98cfdadcd39f8e33c7324169e839ba85:0F#@a6fe3174bb65dd2f52d0e06daccc1e112d1fbbf3ad9b78733e872e8714901db6: +B7e90d50532570d9ccbecda559a609c7dc262c44b9c8033c3cb02723b7ecdae39:0F$@eb47e3f655a0e9f00ec87e60380acfe69349c7187785c0cd517932b5c2eb592d: B6b63bd6814d0d234b74259245b35dd371d88b20c250e7044b41d8fffde4b2dad:0F#@ffe864381a8b7e59bc19cc44734edb79e4e703d133667d55bf0024afcd1c5a28: Bfc2a8510d87afd70896230280de37fc4dddc8a77dd0a7cae3dfc0e3a4360d357:0F#@5e2019a9d7777e617a6e834a162e498d40a9418273fb21af0382c10b20c03864: B8bb33e5fca6e8d08225dca016f01fe3be895d85c45311f6649b7964ccc2309d3:0F݆$@4be2ea5f2cb03d10693f3959b871608799efe46c22a2b2af1660671b120bf7b0: B4c3f37025c9528419188dabe7ae9d7f315121d231a67bb3e46efa4d6b6406ef9:0F#@1706fb2edeaa597788b5f30804e27ebd847ca3ad40efdb9010c912dff2017680: +Bd31f038a0e360017a5a13e6354dc556ed2d1b68db6faef85b288dcb0b1858cf4:0Fߠ$@ab4ed77c4179a112c23918e014b97ee80f4c15f524dd2a558f87bcb30a0eab2b: Ba8c35bd7df779cc1f79637ee8936dc9f90b17cff2bc02dcb63e9907489c1368a:0F#@d7a407dc3241be21b8d9995d7c2113c2a0ef6a721c5aee6052a023c21c9adc53: Bcb7e7f86bf7f4356dfd5216bc5439d8ebd7a4e6cedb84ab94f59029bea7a57cf:0F#@354ee7abd68c6a2c5ffe021a6e2b446239a0b53f377a70e6cb0ce1d7a7996d3b: Bf382add3ce07538ee1c64e9edc0150d19f1a975ede3d6fa6f25e9cb25202a86d:0F$@12685d875931d0e7763873c7e03daff64906eeff9e79cc82252f9448852df2bc: @@ -103529,6 +111301,8 @@ B6f3239242db926ecdba7f627ee7b03e3a3a563bb3fa5f83d3923dd01b2f38ffa:0F Beee9fd34dfb719ca2c702ad7a3aaf805ee17539abbdf243fc20b61d33f7c11cb:0F#@f3e43c33ed9e29f21b157ab747b04f9b8dd10f78515b3f4115ce7fd8fd820796: Bf3ec70463e9cc854c5d3ce22df0443216c96c83f05856460c16fa813754d767c:0F#@3bae0e35c64e6b5357c970c1d1b32868d07ae14954174972ec479fc1cdedfc3e: Bf6fdb3ca5cd53d2916b5c73c2779281e9a1b43bdae88979d14b664f0234043da:0F#@bed3cf97f5436de79a2fb701391ac0cffa2ebcb862a3169e229b2359f2bf5068: +B455f757dcddc6bd6c93bcba6988f81e3dbeeba499dfc76a88c2b39a68f97b7d2:0F$@823367180e77f041625150e54813a44b6568621fbb726882191ba73c3eee7e76: +B492f859c7c00a60991faf6d338eefb04c43d44a11b343b7ebd6119cfbf568b5a:0F$@18a87c7756fdcdf53d92a4cf4e002cef820d81e7b63471fc9d117e8a7aa2a103: B95b731b7a0dfc736d4c5d78ddcfe36b21528a83d2c637e03be198dcc522793b0:0F#@a49dcc02317041af3648600dbce79c861f82909c3521cafbff512f474c7428cf: B0df20ac7addd25c6b2ad86469b16a9886845d3f5a24bf2b2ec2502950b9b5782:0F"@6959a08d487eae8c86cf05a9038c0c9094da055eb5da72df95b8d5a79e11d130: B75edf8423f1e12098e1b59802263d8caa72d1da768f6b3dfc7660ce89312a2d6:0F$@443e5bf4fbfb09e28bb3291182f71215caedd8f57ae4fdbb191b13babdb6c91a: @@ -103541,15 +111315,18 @@ Be0520f6201c41318546f15fb3772995a52ba214b93ca64e7e308aa4872272c65:0F B82918e1827c3a683fef7cee3d2883de5dbabe36bcdda869389ccd29eb09e4916:0F#@a9617aedb5fc76babcef2efeffe43efbd24766b87ad8c2a4b4a171c019251e9a: Bf754d1ffc427a8130e25c0b4864d9cb61f4d78f896a4cc60c3e038cf3ca3e71f:0F#@cdb7758ea9e1e2b3a11b3bc6a26aee1907218d7b9bae1ffef37f46c10a4956e1: Bfe7e717cb2fe7a2deda88141017db2c5d00b1406ee2f4df9478412608a6bb394:0Fڠ#@bc26f758bf8d6efa6b5b204f1e31b231d7f74272e333b79699ac3ba76ba0dd58: +B4c938c68c0edb3a088d655ef03084dc7ba763f4065e63463c5f6b46b0d20d8f1:0F$@12d8f8d5c3af16c3642ad4ccee28492cc7a9339262929630f8d068ac8e960ef8: B9303f8ae83335d4a184ee3042384518d4860f961359fdd6794984347135afe74:0F#@410708a304bf1ec81d4d00bc4e2421a4481e46f59e7058453eebc664719b1a88: B56b98aafdd65d7e414af3ac0895695f99ed20bb11438f54d4704cef77a83cc14:0F#@20cc7aefe62ee524fb66805cc3df23d27afb0b464a558dc6cf14a2c235f976bb: B6add5474b3b66aedc9a4713cf73626234bd7bb7f2cfe6198e1e7c04306f89a28:0F#@c68ffec5c1cf29ac70573ea290a570fb71bfadcb52caeb4d2b1b10ecb911c91f: B3eb56976aafa02c8621bafdd9a234cf3c17e2fdaa5a54e93d14c534902b844c2:0F#@17159b0206e999a0d3775583f01d189e5c19c485308f76cce8a1fa34f4a21d77: +Bfce417803756fe5b9c9de732697ce1d59bd65a8f32457d28352900740a0b8535:0F$@5c211d5ddfb3172135d88e3c169dec3979eedd922e1e1a71d376b6c89f7be292: Bb26c3f9965c4b12ebabc850b75d8ac21bdc2d9f2931b60de70ee5dd76d67d640:0F#@a89ce1e58328f12502ae84cb37d4aaa3f85fca4ea06063b4162fc125dd8c3e76: B09079ce679b327192ada064deca9be09561b96b474221c0cbdecca559bdeadc4:0Fލ#@0867d0947540100cb9d8716976921e695ed39b76d90941fbd06ef74c15dc9780: B98b5b80053464b8d635343eefd3e7a801d947fdc0fe1d49758aa0b6f1adef1c0:0F#@8d0ad5c39ca507d006a30301dcc48e932a627e070737aa74acdc2520151e368b: Bdd246acf991462e04d4caf7d4c3a62993020f1d3cc37a7274de54c43d9c407f5:0F#@9bb6939bb3d006376ae520b518d01cfe450db91c23254e001f205194555c2d57: -B088c09012d82a1a7d40bb453d41c9c5d6aef0b071794477ea4fe2b56c76a8176:0Fȿ#@a8a9e6a2002e4b3bb1d0ce0717658690b056fa5c036bfb61150a54187aed67c6: +B088c09012d82a1a7d40bb453d41c9c5d6aef0b071794477ea4fe2b56c76a8176:0Fȿ#@a8a9e6a2002e4b3bb1d0ce0717658690b056fa5c036bfb61150a54187aed67c6: +Bbd72d8a3f43fee23d83dd86ffd3422d441edc2017dffd3bdb13bf10a87d30078:0H$@4c9c55ed80b1b5c271fb1909a3deecaec35ad1eed23b7cd036ca703738407657: B431d4e11d44a72d68dce0bb12dee75662562d0cd59c9caa09206fe5b87138cf3:0F̓#@50d29fa515cb7a0bf42d9bd7d65cc6be6b3b26c7b26b9a5b7f0ad9dfe867230e: B9abebcdb8228349fd1aa7aafdab39f8be57c62105530655dcdd9fb9afa8f3d83:0F#@3ff7bbb68e589df29b7b206e71877b8cb549d657fedfdf1878928492690f5f60B! DEFAULT_MAKER_FEE_BSQ1.60#B! @@ -110545,4 +118322,280 @@ xL Ett>ݍdH7g0ŗ$7i¼?lw2L2/YtĻc E0Ɨ$/%MU2d?!7i¼?lw20Ǘ$8,4N?xw>+Wp/%MU2d?!0ȗ$~KMhȨ`df8,4N?xw>+Wp0ɗ$ЧlSZmg~KMhȨ`df0ʗ$"]6V6)ސt|ЧlSZmg0˗$-h2U_BAz"]6V6)ސt|0̗$,xwCU_^-h2U_BAz0͗$a3iņυ ',xwCU_^0Η$y=JOFD󜩍Ja3iņυ '0ϗ$6Ot1Bhg]cy=JOFD󜩍J0З$=gENu$I6Ot1Bhg]c0ї$KCG-+$ N6V=gENu$I0җ$68J`uDY^5l e1KCG-+$ N6V0ӗ$J[}lFSm68J`uDY^5l e10ԗ$LTiX~_J[}lFSm0՗$ft?K̎?\'LTiX~_0֗$k ) F tZo6ft?K̎?\'0ח$tGOB- [6Zk ) F -tZo60ؗ$ ^ՈOi#T40wtGOB- [6Z0ٗ$1Y rY-;w ^ՈOi#T40w0ڗ$PŔש\NKs`R$N1Y rY-;w0ۗ$YL id2ȇQ_PŔש\NKs`R$N0ܗ$έEĒDOYL id2ȇQ_ \ No newline at end of file +tZo60ؗ$ ^ՈOi#T40wtGOB- [6Z0ٗ$1Y rY-;w ^ՈOi#T40w0ڗ$PŔש\NKs`R$N1Y rY-;w0ۗ$YL id2ȇQ_PŔש\NKs`R$N0ܗ$έEĒDOYL id2ȇQ_0ݗ$qLE%,n FhέEĒDO0ޗ$\Lfj=ÚZd=(S8qLE%,n Fh0ߗ$mkW3X^# 4\Lfj=ÚZd=(S80$q4l&oU)umkW3X^# 40$ϋMmmjzJt*Sq4l&oU)u0$oJladϋMmmjzJt*S0$G xRpX|oJlad0$v;m2~;G xRpX|0$pIlEt3dv;m2~;0$ގ͑+ +!%fƥ]pIlEt3d0$z M@i ##ĥMގ͑+ +!%fƥ]0$oA#C>#m96sz M@i ##ĥM0$m2#rՖoA#C>#m96s0$\9n"jB/h6IGq5m2#rՖ0$-eVΗfq\9n"jB/h6IGq50$ܻW7\kT`1-eVΗfq0$deHMn8ܻW7\kT`10$踎|rm)deHMn80$[Lƿݗ(P\ e踎|rm)0$r*fDVL^%[Lƿݗ(P\ e0$ |! H(>r*fDVL^%0$F1"la~d<_J(= |! H(>0$wb^H'9Y1F1"la~d<_J(=0$"JlH.ط(ɵuwb^H'9Y10$ZиuM݇z>U!sh6"JlH.ط(ɵu0$60G NEZиuM݇z>U!sh60$Eעxi%$I{60G NE0$WɆzL,Eעxi%$I{0$HjVKޯ ꇉWɆzL,0$NG`.qa59',]HjVKޯ ꇉ0$1M1;rZtbNG`.qa59',]0$ކXa?-[iX1M1;rZtb0$3ѣf q.tކXa?-[iX0$SEW5r:"?!3ѣf q.t0$]ogPS9eZQ8SEW5r:"?!0$?e?i8oa(el=E]ogPS9eZQ80$- )6:?e?i8oa(el=E0$I މA-sg- )6:0$QU p{!߼#I މA-sg0$b,_G~ "`ŸTQU p{!߼#0$rK:rf}2b,_G~ "`ŸT0$*}6SkɇsK +rK:rf}20$WTnt])eVI*}6SkɇsK +0$R@8t6WTnt])eVI0$;t.9!SR@8t60$>Y+NR;t.9!S0$2Zȹ7cDY>Y+NR0$ i:NRdҳK'ʟ2Zȹ7cDY0$!.Y.eSaĒwT i:NRdҳK'ʟ0$]xs=j4թAB!.Y.eSaĒwT0$qc8բxڡ?!W]xs=j4թAB0$wN uHD/mOxqc8բxڡ?!W0$DrLmک:)?רPelwN uHD/mOx0$G(X9::d.DrLmک:)?רPel0$bj2n4/G(X9::d.0$*;;TŴ0r`wDR3?)cK*x 0$43buD\,x4={ x;>D0$q}VT{Dh{43buD\,x0$Uœҍ q}VT{Dh{0$[. +a^<&/~ NUœҍ 0$g8{u\Зb_tB [. +a^<&/~ N0$bɬ"՜}r #Yn녪0_s0$Ntڜel˝֦>bɬ"՜}r #0$9pMbtNtڜel˝֦0$mj6wB +1e9pMbt0$Jz<\Qן>VZXmj6wB +1e0$(.$6 C +UY.uJz<\Qן>VZX0$M~II-b-pX(.$6 C +UY.u0$>s8Hvj)CM~II-b-pX0$9WMP3UO~mcļZ>s8Hvj)C0$hc<9 Jܰ_9WMP3UO~mcļZ0$?1H8L [xyhc<9 Jܰ_0$B'N L:)O{?1H8L [xy0$iP(#"hfLPB'N L:)O{0$Ё[~NiP(#"hfLP0$D()Ըt15 ސ]$Ё[~N0$;Bg:9tNWD()Ըt15 ސ]$0$OdvQk#C;Bg:9tNW0$% +B1"Ue^OdvQk#C0$u5YYא |% +B1"Ue^0$_:ӿؔPSnPu5YYא |0$EMͲJD _:ӿؔPSnP0$VK.v"'?.W2.EMͲJD 0$(>sme2廭gVK.v"'?.W2.0$r&K0LijOZ](>sme2廭g0$M[OYO(-Pxp5~r&K0LijOZ]0$&T5ҽ,jIߕM[OYO(-Pxp5~0$EQipb[F=I45@o&T5ҽ,jIߕ0$=cim?#lVEQipb[F=I45@o0˜$ 4K +q߷^=cim?#lV0Ø$UwH\:U0-O( 4K +q߷^0Ę$CXacWmhzarhUwH\:U0-O(0Ř$ f+j8|,CXacWmhzarh0Ƙ$:{LEF CRK f+j8|,0ǘ$jق &?ɾK:{LEF CRK0Ș$XߝErPӚ_;tjق &?ɾK0ɘ$lg͜+%I7XߝErPӚ_;t0ʘ$LS{/?fǘ҅Ӟlg͜+%I70˘$(aA +xLS{/?fǘ҅Ӟ0̘$|Ds2S+A(aA +x0͘$7j qJh-&|xY|Ds2S+A0Θ$7?nqxk+Z9;7j qJh-&|xY0Ϙ$1l̹ؕ@prS97?nqxk+Z9;0И$gay+2U1l̹ؕ@prS90ј$7bKSmV&gay+2U0Ҙ$@b;T8p:7bKSmV&0Ә$y|,}`z0n;@b;T8p:0Ԙ$몰V4̈i{o[c y|,}`z0n;0՘$I4TXTk%ǯxA몰V4̈i{o[c 0֘$J" /H$.nI4TXTk%ǯxA0ט$!_ RL]h#%nJ" /H$.n0ؘ$fdشn#\ EB!_ RL]h#%n0٘$(W!ct^fdشn#\ EB0ژ$5+T$PYb(W!ct^0ۘ$(y 5j%a5+T$PYb0ܘ$grv]TBu5~)X4u5~0$cljnO5@S#o8:!]ۆ&{hfL0$-)Z,*2 /6LcljnO5@S#o80$-{> 'S)ψ-)Z,*2 /6L0$*yLܱ(_6-{> 'S)ψ0$QYN.lO@푬*yLܱ(_60$ wqw&FQC2ѽW#A땚0$!" |_5dg>qw&FQC20$/!N(j}J,J!" |_5d0$wr!%Ys/!N(j}J,J0$N'?hFXqG3wr!%Ys0$2ڞNDoſN'?hFXqG30$ j!Wރh}$0+2ڞNDoſ0$}B,Gaн& z:0 j!Wރh}$0+0$UMQ[PoD]~z}B,Gaн& z:00$"2Z'Sv:׶VUMQ[PoD]~z0$ +A ,,F}"2Z'Sv:׶V0$O@PVgM +A ,,F}0$# hzӧM#a? #O@PVgM0$ VBh~aO'^FE# hzӧM#a? #0$< t\.b͒XG& VBh~aO'^FE0$LJ24<&d`X< t\.b͒XG&0$)ɽȣ*/E7{LJ24<&d`X0$hdp/ׇBY)ɽȣ*/E7{0$ԬD`[s2>hdp/ׇBY0$yϡR̛ ԬD`[s2>0$^ +nZ' +d4@yϡR̛ 0$ja>5CW^ +nZ' +d4@0$O`EAWKy'{Kja>5CW0$ -}a(ȶKwO`EAWKy'{K0$eyY_Ϗ<: -}a(ȶKw0$"YgSmX.eyY_Ϗ<:0$51F w"YgSmX.0$;h(fX r"<51F w0$Jg=1OǧR;h(fX r"<0$/;~2v̩nJg=1OǧR0$9*cZtyp`j$/;~2v̩n0$0qk}2'dꍰ?9*cZtyp`j$0$KJ{s!J̡sx0qk}2'dꍰ?0$αuAچ(fuD0KJ{s!J̡sx0$8J!%45\αuAچ(fuD00$/rr +C |tf8J!%45\0$!6#%.ml(`u/rr +C |tf0$RJ#Ta&2h!6#%.ml(`u0$ 4YLޡL5RJ#Ta&2h0$L%@gwaUEmhv 4YLޡL50$H%O5cL%@gwaUEmhv0$H::7fjH%O5c0$곰!%>]H::7fj0$bzD (i*곰!%>]0$IşznЮw>KbzD (i*0$}dž),=~"``vzIşznЮw>K0$xng.A|=zJ L}dž),=~"``vz0$9_rɐG +xng.A|=zJ L0$2 "T'-Qk9_rɐG +0$ى +"wq52 "T'-Qk0$bg +qDI]8ى +"wq50$4f{T\ U&&Mbg +qDI]80$6 )c|-mk24f{T\ U&&M0$wz(GV_] r6 )c|-mk20$$oymIwDRPwz(GV_] r0$"MV%&8[uZGV|a$oymIwDRP0$rDt;He'o"MV%&8[uZGV|a0$yF;0;z1/rDt;He'o0$Q@EᯧzaDyF;0;z1/0$GWc [ _Q@EᯧzaD0$a-`;c+e=GWc [ _0$uogHM7ZAhD]a-`;c+e=0$9&z6 ?7FuogHM7ZAhD]0$2wq5839&z6 ?7F0$Z z&mcFbV2wq5830$$L?ptZFJA[@;Z z&mcFbV0$F# +cDSg7Wh$L?ptZFJA[@;0$L+?HkIw-*,YmF# +cDSg7Wh0$o "EX 'Ar3kZL+?HkIw-*,Ym0$L$.~%K=ܪ o "EX 'Ar3kZ0$|||xˋL$.~%K=ܪ 0$L="u:ؽִd|||xˋ0$E#6;~4>+S4FCL="u:ؽִd0$a|EE#6;~4>+S4FC0$G"vi 6^*TgVa|E0$O(` Y +zG"vi 6^*TgV0$?<|AELFYO(` Y +z0$-ڵ f4& +?<|AELFY0$d"^D80M-ڵ f4& +0$3d_έ"=-<d"^D80M0$Tԏ\;(\kS3d_έ"=-<0™$uO?c W HTԏ\;(\kS0Ù$JKBL,1ḡuO?c W H0ę$OHF8 JKBL,1ḡ0ř$ErQ$=hW-}a^OHF8 0ƙ$=L}SJEFErQ$=hW-}a^0Ǚ$'DF͸D`!mŜ=L}SJEF0ș$zt(> /I܈'DF͸D`!mŜ0ə$.YJ14bqd zt(> /I܈0ʙ$&v9+'c5xbuc.YJ14bqd 0˙$3$|wtNmWt@X#i0ٙ$h?j^7 \NX\D?Unt>N0ڙ$z95:h?j^7 \N0ۙ$Vlk9 aRuZc z95:0ܙ$y- H{,"jVlk9 aRuZc 0ݙ$/A +MPJzhV9y- H{,"j0ޙ$ >:R>p^Üg|.H/A +MPJzhV90ߙ$*@9zf]BSMc >:R>p^Üg|.H0$ Hd*Yn,*@9zf]BSMc0$o-xc&갹 Hd*Yn,0$"j`5&bsk o-xc&갹0$uڝQ\QA8SUC"j`5&bsk 0$b"!!rULuڝQ\QA8SUC0$/%#^\S-AAb"!!rUL0$ax%O)M/%#^\S-AA0$B]]C{Y@acax%O)M0$ PKp?hfB]]C{Y@ac0$ʴ̷-r_xD4rщTo"0$vOd{Tp_2S>LW`BM( ܳ7I>0$I pv)ogvOd{Tp_2S>L0$83INUNVI pv)og0${Ф֯9⟮wL83INUNV0$8)7B{Ф֯9⟮wL0$Dj"PI|]8)7B0$"sCK)g'Xؐ1Dj"PI|]0$1r'\d)IaJeLoa\w0$.oNW yf򠻮2\c|?j>r'\d)IaJ0$Nyh (ag\J.oNW yf򠻮2\c0$ `Q׶ݜ_[SwNyh (ag\J0$?q|ⳖAHd `Q׶ݜ_[Sw0$b[=0F צ2Fnyf?q|ⳖAHd0$wӼk,@ui>x b[=0F צ2Fnyf0$]fQc\yHSȲ8 wӼk,@ui>x 0$ ?n`t2f]fQc\yHSȲ8 0$Sj\I9Ja ?n`t2f0$F1R!O":Sj\I9Ja0$ꢃ[]‚m\`9F1R!O":0$R91t8u* $ ꢃ[]‚m\`90$ҚW"en58lR91t8u* $ 0$OG, #blScҚW"en58l0$AW]i_9B`殘k%OG, #blSc0$JPi-gWAW]i_9B`殘k%0$1Ot[oc]<"^JPi-gW0$:>D?-.;Z1Ot[oc]<"^0$ji(=#`,\Y:>D?-.;Z0$fD]1.ښji(=#`,\Y0$FdL{AӚsׂfD]1.ښ0$;޴Pwu.B9"+FdL{AӚsׂ0$LyW{gJSEo;޴Pwu.B9"+0$$-uLT{-PHsLyW{gJSEo0$v/G{/~ꖀa2z9$-uLT{-PHs0$B&jct^t s&Wv/G{/~ꖀa2z90$fL~:oѤqX@IB&jct^t s&W0$8 {o$f#R3fL~:oѤqX@I0$eZ\aLܦɕiKd0$.q=vͲeK/G}M>0$ c0`Z?4.q=vͲeK/0$0zKW[Js+Z c0`Z?40$N̠cg{ZNS!30zKW[Js+Z0$9.\ՒǝVbiFN̠cg{ZNS!30$ N+g,t\j $9.\ՒǝVbiF0$X *vCATM{ N+g,t\j $0$-wX%?ywjBX *vCATM{0$Z˘N7"K+-wX%?ywjB0$O ;M(2cuJPZ˘N7"K+0${O P\k=1XrAà+O ;M(2cuJP0$uqJIϖ?WQ=o,{O P\k=1XrAà+0$,?-<1nzc RX&uqJIϖ?WQ=o,0$imXZF¶4FcHON}= aT0š$r, L Q]4}LRyCe4>c0Ú$"P.?5s29m>&r, L Q]40Ě$o~ŌrM<X;&0Ś$6W>( Nc o~ŌrM<X;( Nc 0ǚ$/2}DJ",=" nR 0Ț$隇 n'&&-/2}DJ"0ɚ$OL#L>t!d5l4t隇 n'&&-0ʚ$- +pI$XSOL#L>t!d5l4t0˚$HH'D e&ȝ- +pI$XS0̚$\UQ?ݬHH'D e&ȝ0͚$6C0zVcv*\UQ?ݬ0Κ$3 +޳j-6C0zVcv*0Ϛ$NωzB xKIӋ3 +޳j-0К$Kp۟&z}>NωzB xKIӋ0њ$\qO'cZЁ\Kp۟&z}>0Қ$jK۲r0S}\qO'cZЁ\0Ӛ$ +'~*xӒvjK۲r0S}0Ԛ$?/C}ڝ8V{3 +'~*xӒv0՚$0 ]t+4?/C}ڝ8V{30֚$Xܧ v5`\0 ]t+40ך$pA*DscYDSXܧ v5`\0ؚ$q>[eݞspA*DscYDS0ٚ$qV:Y,s2q>[eݞs0ښ$bDGI3oKqV:Y,s20ۚ$c h/ ,V*ZR)2S-3hX0$CkLZ+ZEDm(~>/ ,V*0$Rd1Y D8/$CkLZ+ZED0$v9e׶7Y Rd1Y D8/$0$FMKiB2 !&OVdJE~m ?k11opLD0$2$TUyo]j##RmF$>&OVdJE0${\U.~-AdC2$TUyo]j##R0$U^!gޜmI{\U.~-AdC0$YIHjl GpU^!gޜmI0$j,ZwU!~ YIHjl Gp0$Z)_m!>>Ksƪ.0"j,ZwU!~ 0$ Nvi+溫etZ)_m!>>Ksƪ.0"0$Q\9bH{c&Rݢ3 Nvi+溫et0$VXF #vAȏ$UQ\9bH{c&Rݢ30$燫3ArZdcⴒVXF #vAȏ$U0$5) Un:r燫3ArZdcⴒ0$~RwS S/ :,5) Un:r0$3m +`~RwS S/ :,0$\*f _+3m +`0$.=wU,K\*f _+0$j/m4@ hY.=wU,K0$#vr—bj/m4@ hY0$MwUz:N8f#vr—b0$1s?C5iHMwUz:N8f0$%Vr{,O L[UÏ1s?C5iH0$PX2teu-^ܩ#%Vr{,O L[UÏ0$#~NQnl~oC( +2PX2teu-^ܩ#0$\қÂv0wfڍ#~NQnl~oC( +20$mGݸj ($\қÂv0wfڍ0$̑f`gԋBn,tס?4mGݸj ($0$siS;=X5h̑f`gԋBn,tס?40$-J*AfA:c#Q@siS;=X5h0$8x~JY;+hZ]e|-J*AfA:c#Q@0$B ͑XvIiV8x~JY;+hZ]e|0$7p66\kSB0B ͑XvIiV0$$uDYEz;+ָ7p66\kSB00$N_k5 ~1h:X.$uDYEz;+ָ0$2PzZ?T Q̘lN_k5 ~1h:X.0$T%81sc#62PzZ?T Q̘l0$Q'<:]TT%81sc#60$G!1M '?JtQ'<:]T0$\k'뾳v2.ply|+Zv 0$fr+a}bKXP%yN5k>2.pl0$acpsF:=>J^"fr+a}bKXP%y0$M<o@|kfF8acpsF:=>J^"0$로0MNNa&_M<o@|kfF80$BX +Q9`IUjX9J로0MNNa&_0$b{8򡭱\:BX +Q9`IUjX9J0›$CS5Z>d Զb{8򡭱\:0Û$h:Z!$vPRCS5Z>d Զ0ě$';`w=_+PR]jGV' 2ξTe';L9N0Ǜ$0ϛ:_ޘc>PR]jGV' 0ț$qɏM`\:0&s-0ϛ:_ޘ0ɛ$ +C-\jF/{bQqɏM`\:0&s-0ʛ$1lfFƓ1 +C-\jF/{bQ0˛$+I,|_w[j)ُ1lfFƓ10̛$=fKޑ@dQ3+I,|_w[j)ُ0͛$!F?-@Y=fKޑ@dQ30Λ$ٛW +l5}R+44a$!F?-@Y0ϛ$, "+TkٛW +l5}R+44a$0Л$#CZ9(e's, "+Tk0ћ$ݝ@c`(Wa݇#CZ9(e's0қ$\*{Vy?3JWVUݝ@c`(Wa݇0ӛ$os&ۘ?M\*{Vy?3JWVU0ԛ$s.ԏ@Yq v +os&ۘ?M0՛$|]U.J=us.ԏ@Yq v +0֛$VwAnY d|]U.J=u0כ$Fih3=;ЛVwAnY d0؛$f떨  J4rKFih3=;Л0ٛ$̣yJ"߅Y)+ϴf떨  J4rK0ڛ$͔[\܉{\9\̣yJ"߅Y)+ϴ0ۛ$%hgznܗ@Z*+N\MeUgN{0$+4^6uob>GU;uK*{.( >@0$ɴ\Pq!+4+4^6uob>GU0$ðzy7\qxX&wF`#ɴ\Pq!+40$tk G8wJeðzy7\qxX&wF`#0$аl=Rtk G8wJe0$ +>ȕpRD7o|wFаl=R0$FtF΂$bK +>ȕpRD7o|wF0$ltj_4CCS`FtF΂$bK0$@--*Qٶltj_4CCS`0$g@,:sIzk5p @--*Qٶ0$^a?\7att6g@,:sIzk5p 0$&yeϚUh3^a?\7att60$GJ9+p>Qw1G&yeϚUh30$b%IgwDvGJ9+p>Qw1G0$2*vR(O4HE89b%IgwDv0$n a}/"{Gp2*vR(O4HE890$UJ2 +==1h +4wn a}/"{Gp0$|`>}4Ev) UJ2 +==1h +4w0$񂛸c>#SjQ+#< |`>}4Ev) 0$mB \}񂛸c>#SjQ+#< 0$mozڼ8QÕmB \}0$ PGj).\5%mozڼ8QÕ0$k49)ajoZ PGj).\5%0$%(`{ 1X5[:k49)ajoZ0$.j#ӦgG,A%(`{ 1X5[:0$e2PD< ؍lk-9t.j#ӦgG,A0$| 7tg<$Fe4e2PD< ؍lk-9t0$PL*"|{+,| 7tg<$Fe40$DʴpL`cyPL*"|{+,0$OZrGcDʴpL`cy0$6pвꕤFNOZrGc0$3IRy-sC] =%S6pвꕤFN0$"LJ H.͟3IRy-sC] =%S0$XCbf䢁Iٰ0"LJ H.͟0$J^F_ $PXCbf䢁Iٰ00$#P%WdEZJ^F_ $P0$R*MsLO<0@#P%WdEZ0$ց+?eBy{r+R*MsLO<0@0$TjRn#@ [ց+?eBy{r+0$ץ_7-k@TjRn#@ [0$ݳ + IX +ӪLץ_7-k@0$N(gˑH`ݳ + IX +ӪL0$ǥZf;13N(gˑH`0$EÅҚk|O&pi.ǥZf;130$Ìۥy%M2 +9,EÅҚk|O&pi.0$al= +Ìۥy%M2 +9,0$9ލWgw:Ral= +0$Ѳ6 :FW% S[֡9ލWgw:R0${P˜۾9Ѳ6 :FW% S[֡0$@Q䳓H/ܧ7qv{P˜۾90$hLو' L"|n(@Q䳓H/ܧ7qv0$4bY^TmDShLو' L"|n(0$MBF׈A݋Gk+T4bY^TmDS0$ 1!+`ZMZEMBF׈A݋Gk+T0$yZt'ᰠsE 1!+`ZMZE0$ +JH|GkXX9KyZt'ᰠsE0$qPATˁ BUT; +JH|GkXX9K0$F8#M6Su:^rTqPATˁ BUT;0$$cӘnr(gF8#M6Su:^rT0$11] Co)$cӘnr(g0$+l%.| +k11] Co)0$N>UUm%`D.+l%.| +k0$Cb4Gog \!xQN>UUm%`D.0$SIR<ӇZ4Ѵ +uCb4Gog \!xQ0$EEwSIR<ӇZ4Ѵ +u0$=WPgdr# tA7EEw0$kK̭y.ʹ?^g'H=WPgdr# tA70$(@8j;`ԨUakK̭y.ʹ?^g'H0$Ne\FH۝I?E)(@8j;`ԨUa0$%ISOYz^uaNe\FH۝I?E)0$*kѽ9c$Ѳa>v%ISOYz^ua0$}ʿ׺6eƋS*kѽ9c$Ѳa>v0œ$D'ho1>"P}ʿ׺6eƋS0Ü$Ž2!tg۞-\vpD'ho1>"P0Ĝ$KnvITŽ2!tg۞-\vp0Ŝ$Q`FoiH@;)pRCKdKnvIT0Ɯ$} 2X=m|U}eAQ`FoiH@;)pRCKd0ǜ$+򌉸9Bւ?} 2X=m|U}eA0Ȝ$݌$3 +H]p<'W:-+򌉸9Bւ?0ɜ$XtBke`w`%)T݌$3 +H]p<'W:-0ʜ$ͰFSn"n+PXtBke`w`%)T0˜$s9M0֊ͰFSn"n+P0̜$]k!۔ 5yp`^GYs9M0֊0͜$ԷMuB;0zu]k!۔ 5yp`^GY0Μ$)t|"rQTȁl ԷMuB;0zu0Ϝ$YjRRs*zG)t|"rQTȁl 0М$uF„h=;YjRRs*zG0ќ$sšu**[7uF„h=;0Ҝ$ZG&_4T=sšu**[70Ӝ$!pe*1l=nP7ZG&_4T=0Ԝ$Nq3gx۸!pe*1l=nP70՜$- M.hE7<Nq3gx۸0֜$堄/s]nt^V- M.hE7<0ל$otm 9z.u6堄/s]nt^V0؜$C_4N?4t[m;otm 9z.u60ٜ$XLY3^2ڏ +C_4N?4t[m;0ڜ$T[~1XwT%L,gXLY3^2ڏ +0ۜ$kAZs#cڟ^T[~1XwT%L,g0ܜ$ʯ,R픈 +bkAZs#cڟ^0ݜ$(m~EFENʯ,R픈 +b0ޜ$] wŗ4Y(m~EFEN0ߜ$uJ[嬤[RʨXQ] wŗ4Y0$ݬ ) +#ZuJ[嬤[RʨXQ0$gp孠YPݬ ) +#Z0$u>!SyWgp孠YP0$AoKp(W^8Lu>!SyW0$%^Ykro<&AoKp(W^8L0$ +\OR2LQ&%^Ykro<&0$r9+`o9O +\OR2LQ&0$y9J2W a r9+`o9O0$j~epDXy9J2W a 0$:l֑|Aa=}j~epDX0$RF12Vӻs/Nr:l֑|Aa=}0$_ +BEB0Ҟp\;EoڷIAx0$a zcBqBq*_ G L>0$s1h;&@lRwtK`~XQ&WA0$ f:`4U2fR}mR`9x0>@0$KB\WRZRB3LA;} f:`4U2fR0$U8d{%^e3VSҝKB\WRZRB3LA;}0$聴@lc=U8d{%^e3VSҝ0${#i +;:$wR聴@lc=0$rp}^w"{#i +;:$wR0$d}HWϪ`f1VF@rp}^w"0$#ﲽg ',d}HWϪ`f1VF@0$c댕+曕ŤB#ﲽg ',0$2 ^Dhmƪ|%c댕+曕ŤB0$u#91E`#>2 ^Dhmƪ|%0$ҷU:"ވoY bu#91E`#>0$"]5zLc*IqҷU:"ވoY b0$?v{(6 +M}f"]5zLc*Iq0$>!s^ޓ9?v{(6 +M}f0$,rUė%G&[>!s^ޓ90$4wc%Yc˘r,rUė%G&[0$4(d[\!p}V4wc%Yc˘r0$7`)-DFA^4(d[\!p}V0$\z?'{7`)-DFA^0$>ڊs^?G\z?'{0$k?U]q>ڊs^?G0$ayvv8P9xzek?U]q0$M|ަ* 6 |Zayvv8P9xze0$/F2'_ZV-:M|ަ* 6 |Z0$Ԙ4G@-/F2'_ZV-:0$eAKf&E7P wq-Ԙ4G@-0$˦VfIϢJږ1@eAKf&E7P wq-0$sCJ@EC 2˦VfIϢJږ1@0$ |a6Z~'4sCJ@EC 20$ jr<>}h9 |a6Z~'40$ ߰v'rz7eG jr<>}h90$tľ+j+LWdF ߰v'rz7eG0$*ۆzGv>tľ+j+LWdF0$cZlz79Gt%H*ۆzGv>0$l'jC}^cZlz79Gt%H0$ zDBŵ; 6|M"Syl'jC}^0$4%[`},Xh + zDBŵ; 6|M"Sy0$aq8'c1C4%[`},Xh +0$Z#Q̹qϟG ]aq8'c1C0$LDAW 6޴nZ#Q̹qϟG ]0$yvׅE:cO7LDAW 6޴n0$zW3<ίl>gryvׅE:cO70$5 +2 ddxzW3<ίl>gr0$_T2-2Y]gV$5 +2 ddx0$9Ud=Ro{v_T2-2Y]gV$0$R0=<~9Ud=Ro{v0$0 n]#Y8  R0=<~0$fNr1(cY0 n]#Y8  0$^2-F: A*5fNr1(cY0$*![ TpݢN^2-F: A*50$hCCEZバLN]*![ TpݢN0$.ժ:7[p\RhCCEZバLN]0$ђ?ټ,:Z.ժ:7[p\R0$\D0ajװ `2#fCђ?ټ,:Z0$0c1a\7%J;]ȼ\D0ajװ `2#fC0$/L䕧'>fM/9Y0c1a\7%J;]ȼ0$(ᦼ+A/JWf/L䕧'>fM/9Y0$cHu-ޓF"my(ᦼ+A/JWf0$`G@`DuJ*cHu-ޓF"my0$'8#eZK/=Q3R`G@`DuJ*0$`Ftd"{:OS.'8#eZK/=Q3R0$_2^ @?2;a`Ftd"{:OS.0$ b@K]3_2^ @?2;a0$vtBU/?>eV b@K]30$=3p`(;hUZ\vtBU/?>eV0$g7aM=8̣FP=3p`(;hUZ\0Ý$z²p{&8sg7aM=8̣FP0ĝ$}$ *0kQ)z²p{&8s0ŝ$zH+EU譢{hJ餘}$ *0kQ)0Ɲ$hЋ-ԫvnWzH+EU譢{hJ餘0ǝ$Wk,<`gI/>hЋ-ԫvnW0ȝ$6-&xKnoZ8m^FWk,<`gI/>0ɝ$_ e\/!1r2b6-&xKnoZ8m^F0ʝ$-x  wbw/I_ e\/!1r2b0˝$^PZ܇2[-x  wbw/I0̝$)IL~El$J3^PZ܇2[0͝$7ȷ(C9x%J޲a[)IL~El$J30Ν$v ߸lBOyΆzGD7:7ȷ(C9x%J޲a[0ϝ$Cc4uV v ߸lBOyΆzGD7:0Н$nb}\IQm{ WCc4uV 0ѝ$1HVU~ƽaXf8nb}\IQm{ W0ҝ$Cs@zWgT2Cs@zWgT20՝$n]PQ`նi gM#9T~!:U0֝$ h"6,B.tn]PQ`նi0ם$MQӡd%pT5G h"6,B.t0؝$;sՎf×I%`MQӡd%pT5G0ٝ$*HbgFwFs(r]l;sՎf×I%`0ڝ$AI߅nx4`*HbgFwFs(r]l0۝$Jϰ=%,O0, AI߅nx4`0ܝ$ [`Q|sHJϰ=%,O0, 0ݝ$FZdk_&1 [`Q|sH0ޝ$* aE1K UFZdk_&10ߝ$AޮVK:0* aE1K U0$֫3>u|㿬AޮVK:00$\lt7Gs+=+֫3>u|㿬0$o FmHV+x\lt7Gs+=+0$\!3J ^(;8Yo FmHV+x0$TiXH%<\!3J ^(;8Y0$#j@2l` TiXH%<0$l fb / Æ#j@2l` 0$zC$GeuŖeXl fb / Æ0$"Sze@`lsmbzC$GeuŖeX0$v EܷJĊx&kk"Sze@`lsmb0$`ZDkOSGPh7ilv EܷJĊx&kk0$\(j* Ě`ZDkOSGPh7il0$S_~;ZFuG\(j* Ě0$L~+(dsS_~;ZFuG0$˞ ~ߨ7uXFL~+(ds0$gYK$b63˞ ~ߨ7uXF0$il p٬< <gYK$b630$@/*9!il p٬< <0$ cr/}@/*9!0$ϙR<eaGe|<0 cr/}0$Ʊ qǟU8}ΛdϙR<eaGe|<00$ǁbgI־CkƱ qǟU8}Λd0$PTKjLܖǁbgI־Ck0$59oNnBS{iPTKjLܖ0$!^kq%.P., +59oNnBS{i0$j'֖ }%xUt !^kq%.P., +0$B+?.|Q$HLuGj'֖ }%xUt 0$y0'Ŝ3߂kbB+?.|Q$HLuG0$c.I$fXyCEy0'Ŝ3߂kb0$[ cUHFqYc.I$fXyCE0$-/gcì2ߪ vv[ cUHFqY0$gݣ1c Y-/gcì2ߪ vv0$S~\ik$QaVsgݣ1c Y0$*&x'^ cʥ3-S~\ik$QaVs0$UyDϴTN'*&x'^ cʥ3-0$ku:BB^TUyDϴTN'0$(dL/ )ku:BB^T0$VB￲9/(dL/ )0$ZIװMŏs?vbVB￲9/0$Cgy)~8 贈ZIװMŏs?vb0$=0l5P&q"Cgy)~8 贈0$ ܙAjVI=0l5P&q"0$YC,eŹV>C$@ ܙAjVI0$㰘un +~";mdYC,eŹV>C$@0$۱@a(<{*㰘un +~";md0$Gt6=\Sz۱@a(<{*0$we#Ѝ%+rGt6=\Sz0$wGOv*,f1we#Ѝ%+r0$ȹt_8`ɀwGOv*,f10$@ +QWHȹt_8`ɀ0$0u^އz{tM+)@ +QWH0$eؗ4S<}M.ئx~X0u^އz{tM+)0$r‰6 jZk7eؗ4S<}M.ئx~X0$2kl//\dr‰6 jZk70$TÈ_Et[׉ 2kl//\d0$[5vkW 퍇JLi+ATÈ_Et[׉ 0$70ȱ=3eAϹBF0[5vkW 퍇JLi+A0$i'RU;v>70ȱ=3eAϹBF00$8 +9;Qi'RU;v>0$Rd}jJ~~HQWvS, <0$~ 0z|c[blq>jJ~~H0$GܤO%z`~ 0z|c[0$ EUsMP͞$"GܤO%z`0$HhpDk i^ EUsMP͞$"0$X8hVE<|-p֗]ZHhpDk i^0$3 +`ȄAu`X8hVE<|-p֗]Z0$KKLI> 3 +`ȄAu`0$K+Ͻln +*3UMIKKLI> 0$.yP鶄uE=K+Ͻln +*3UMI0${2HEDS+ p.yP鶄uE=0$\acG};[ˀ{2HEDS+ p0$mD M Ñ4\acG};[ˀ0$E!!rfwP_GmD M Ñ40$@Bv F$&߼!pE!!rfwP_G0$1gD$Q)eCu0D0ڞ$|Kr:+J]f JwGP>0۞$Xm0tHo.r|Kr:+J]f0ܞ$:.ymtHp zXm0tHo.r0ݞ$oy*߆nh s:.ymtHp z0ޞ$]4ԟ})Poy*߆nh s0ߞ$%j"*^Y3HEX]4ԟ})P0$A=s)Ődwc2Bd%j"*^Y3HEX0$ʱDl2,4A=s)Ődwc2Bd0$1\}!":|bʱDl2,40$3,}3 n +Ln01\}!":|b0$XM:׿]6&3,}3 n +Ln00$zt]IMiV浹XM:׿]6&0$q f0Ӛebx3zt]IMiV浹0$@Ll(%F/(43q f0Ӛebx30$ OcJ~04e@Ll(%F/(430$)r9 +q OcJ~04e0$@5<9 Y )r9 +q0$7`nӷaA6=of@5<9 Y 0$i + +pk`\1l' .77`nӷaA6=of0$/1\B}a +UW)Si + +pk`\1l' .70$@&x|0.`/1\B}a +UW)S0$2sQyY⇲ @&x|0.`0$)s)Ht 2sQyY⇲ 0$N{jou)s)Ht 0$#D h$r'b0sN{jou0$V yY1Fq #D h$r'b0s0$ y"sٹk7V yY1Fq 0$QEaV4ob y"sٹk70$RvZeN2涅BQEaV4ob0$ 7Al<݈ RvZeN2涅B0$β߶Ne!*b 7Al<݈ 0$>I&70r-4sX 3|nβ߶Ne!*b0$Yl;9hѺ>I&70r-4sX 3|n0$4KvXFă6Yl;9hѺ0$iJO37_4KvXFă60$;G5HkDoQiJO37_0$1r-~$ nᬓ);G5HkDoQ0$hWO0+s1r-~$ nᬓ)0$[M&5αAChWO0+s0$9%%2.;\{][M&5αAC0$7IHL^Qp`鉞9%%2.;\{]0$B.<{\ujz7IHL^Qp`鉞0$i̹[ ؠM*Gu B.<{\ujz0$Q%41!Hi̹[ ؠM*Gu 0$qo$!#|.CQ%41!H0$X]mavjm4qo$!#|.C0$LC4SARxqwu@"X]mavjm40$  )xTUALC4SARxqwu@"0$=I1HJ  )xTUA0$(;Ģ!IV^~=I1HJ0$nڧ7LE 6sW(;Ģ!IV^~0$j8ϓA> nڧ7LE 6sW0$l(ih2чTMj8ϓA> 0$R_錵Ъ)Ll(ih2чTM0$_fk]j^̨R_錵Ъ)L0$vkhM4Nz@r_fk]j^̨0$69xXjd?n, vkhM4Nz@r0$0xhyqYt?K69xXjd?n, 0$Igi^eFxU)`=0xhyqYt?K0$5H X*$44Z:cIgi^eFxU)`=0$&l 7a!_qӤhKS5H X*$44Z:c0$X +4r6f)G>h'v&l 7a!_qӤhKS0$ IIް >nƑX +4r6f)G>h'v0$m{A^w IIް >nƑ0$7Z If^T#uz! 'imZ8O^cғ?0$Yj~+]Ş5>#uz!0$njo[BuqHYj~+]Ş0$B1  ,e{wYߣnjo[BuqH0$i*C [6+WQB1  ,e{wYߣ0$Pa]?t,;%߻i*C [6+WQ0$W`pa#`/Pa]?t,;%߻0$/PfCc!OW`pa#`/0$;QVrBŠw-/PfCc!O0$ǨYlN|% ;QVrBŠw-0$}er(ThڧBd jǨYlN|% 0$pҎ0ė&$# ;}er(ThڧBd j0$"Ѐq/C"I pҎ0ė&$# ;0$al Ń*e%.֭Q"Ѐq/C"I 0$9խdg/n&al Ń*e%.֭Q0$RbbY٣ýzm9խdg/n&0$ܒ"|Ue PH7RbbY٣ýzm0$e{w\>1jܒ"|Ue PH70$[1 +3DcaE@>me{w\>1j0$IfIA 30].o![1 +3DcaE@>m0$N ߴjί A$"9dIfIA 30].o!0$:ΎɻOE7,wyN ߴjί A$"9d0$ 'm!ZI`:ΎɻOE7,wy0$; ADt]<,Q1P 'm!ZI`0$cyj&!rdIe; ADt]<,Q1P0$KLL<cyj&!rdIe0$d*0̭gKLL<0Ÿ$;Hŵdӿe& :d*0̭g0ß$lQflzy?;Hŵdӿe& :0ğ$z>q_᧓flQflzy?0ş$vypzܮCeC3!fz>q_᧓f0Ɵ$^Z$a0n^g'M#7vypzܮCeC3!f0ǟ$+vQ@D+̗v]EX^Z$a0n^g'M#70ȟ$`0GEdW5?0+vQ@D+̗v]EX0ɟ$ fX}xNkm`0GEdW5?00ʟ$>$xyb9ȋ fX}xNkm0˟$TayQǚFa+49>$xyb9ȋ0̟$l3X[zUTayQǚFa+490͟$t6\%,} jacl3X[zU0Ο$?6993Vto` t6\%,} jac0ϟ$rRO)?6993Vto` 0П$3.4y}Y`aB2rRO)0џ$e@$a>d 3.4y}Y`aB20ҟ$< {>h^S^e@$a>d 0ӟ$[m&'>< {>h^S^0ԟ$9V '"[m&'>0՟$ĽFZ\qaۿ9V '"0֟$aLAmĽFZ\qaۿ0ן$7_1' 4ڨg$baLAm0؟$Xco, +`6ǙTVR +T.6v1YB8Mͣ00$v9]%/||B> +`6ǙTV0$->|KtJrښ|v9]%/|0$%!G3+YI }->|KtJrښ|0$6PbX:%!G3+YI }0$#kl9F26PbX:0$V,dr#kl9F20$JZymqgaDV,dr0$sbx;Tc\Z#JZymqgaD0$?ӃD?J'sbx;Tc\Z#0$3j^ +'i!}?ӃD?J'0$M3`Va ?Bu`3j^ +'i!}0$f~KP>nz_.'{= 0$}*K$v kH>F)_@kl̒>P>n0$Z8R_ {!|}*K$v kH>F)0$iqp2,(]YZ8R_ {!|0$߽I[GࣞZZiqp2,(]Y0$%} +39ߎ߽I[GࣞZZ0$v +lVUU(!ܕ"%} +39ߎ0$ʂM)vmܒ Sv +lVUU(!ܕ"0$Jf^edr_xoʂM)vmܒ S0$QꨇQCL`^Jf^edr_xo0$D6BU?k^r2uxS0$+Γ=g4iYrSLV[72U>0$>qr(*LT'.+Γ=g4i0$ =ߌgoF@mĔ{>qr(*LT'.0$)y;^x8pdU$r =ߌgoF@mĔ{0$xz g2xW)y;^x8pdU$r0$% DZ2oxz g2xW0$ׅ#&4=\zze/% DZ2o0$t!튨#,ȷQ +ׅ#&4=\zze/0$$AEƮ0SC*\W_t!튨#,ȷQ +0$zRIa@ZD$AEƮ0SC*\W_0$UDn%Om&B zRIa@ZD0$#͘[Jvqꥈ;QUDn%Om&B 0$!-dӭH56Y p!#͘[Jvqꥈ;Q0$*o&Tʓ@(t!-dӭH56Y p!0$:5-~E,{=*o&Tʓ@(t0$5-[][ 0C:5-~E,{=0$<)0*0.Wt]rW5-[][ 0C0$a/>ӍB\`5$G<)0*0.Wt]rW0$Tʷnm_RӃJLsa/>ӍB\`5$G0$Ko4rjfEoTʷnm_RӃJLs0$xT"h@UȴKo4rjfEo0$\~lߨXݹ*Lȹ-GnxT"h@Uȴ0$u)>[-լO=\~lߨXݹ*Lȹ-Gn0$3+b4ͻIۗu)>[-լO=0$\v;^53+b4ͻIۗ0$NT Vė=V]b\v;^50$^v[ b{)Wk{\ 0$ҷ{ުSlY!'~1>[ 0$}K 937 ^ҷ{ުSlY0$?cJTL6Ƴ_nNO{N}K 937 ^0$19{+e"ydGu?cJTL6Ƴ_nNO{N0$R6B8gW~y19{+e"ydGu0$ 㒈L t`PB6{;R6B8gW~y0$u =xoOk 㒈L t`PB6{;0$;Uրu=bu =xoOk0$6BЦU<^~1;Uրu=b0$Sf# sȷ8̾sL׻6BЦU<^~10$L 6M-"Sf# sȷ8̾sL׻0$~GZQ3q' }L 6M-"0$1= gq~GZQ3q' }0$jQRl_'1= gq0$[$֙8WxMtjQRl_'0$-vh2Al#[$֙8WxMt0$yiUz>Di@l-vh2Al#0$f=#PyiUz>Di@l0$%# فLff=#P0$=eCr2N."C¢J%# فLf0$\bDtS| Nς}=eCr2N."C¢J0$*Mp?v;"\bDtS| Nς}0$?ؤ-t,Zh*Mp?v;"0 $\ KR1__YŚ +?ؤ-t,Zh0à$񡒢´E<˴ \ KR1__YŚ +0Ġ$鎈 '#n+$񡒢´E<˴ 0Š$(7=`wg.A8X fg鎈 '#n+$0Ơ$;I X)~O +㷓Ns(7=`wg.A8X fg0Ǡ$74["W'E?-o;I X)~O +㷓Ns0Ƞ$š1Lsqv[l?74["W'E?-o0ɠ$wn[1'vŞlš1Lsqv[l?0ʠ$t2^vd$㦙wn[1'vŞl0ˠ$~؍ 8Q_k\$0t2^vd$㦙0̠$;֏eJ'lDvk~؍ 8Q_k\$00͠$n!UHda;֏eJ'lDvk0Π$y>uX恭ΑeAף((hun!UHda0Ϡ$hp@!J.3v!M--y>uX恭ΑeAף((hu0Р$C([ۧHK?hp@!J.3v!M--0Ѡ$ZizO ;]C([ۧHK?0Ҡ${V Ԅ*ZizO ;]0Ӡ$'ƕklt+>;i{V Ԅ*0Ԡ$+yK6Y'ƕklt+>;i0ՠ$>}=Z\þ+yK6Y0֠$) +o]MR>}=Z\þ0נ$g:m^) +o]MR0ؠ$kqK=!a|PG1P)m#毛 0$T ȸPin<[ jn{enS>a|P0$tR)bKu5 N nT ȸPin<[ j0$)$P+;`R_tR)bKu5 N n0$Z8*⸻c^)%)$P+;`R_0$<U4z.q3eyZ8*⸻c^)%0$"ؘJda_2 Q˟<U4z.q3ey0$@1F\$Q֠%"ؘJda_2 Q˟0$CI&@1F\$Q֠%0$Ciӈ `[7MM?CI&0$KO!?C Ciӈ `[7MM?0$)CȤ_x3]]XKO!?C 0$? }hnCW,G)CȤ_x3]]X0$e;))(=ӈY!f? }hnCW,G0$m`W>O?NQ[&Je;))(=ӈY!f0$[;y̪hbm`W>O?NQ[&J0$%Wە$#[;y̪hb0$fg4}5?E8%Wە$#0$~}&p89cFmfg4}5?E80$KF6њ`{:_~}&p89cFm0$|vO)mqp[2!KF6њ`{:_0$Hg#VpɄ|vO)mqp[2!0$ɬJd\nlt?Hg#VpɄ0$S2PɬJd\nlt?0$ \ Nryx}>S2P0$(o.#x#څP \ Nryx}>0$\)UҀ5](o.#x#څP0$jWI=|y7MQ( +\)UҀ5]0$x@?RԍekGjWI=|y7MQ( +0$qAP)i`[܂cx@?RԍekG0$>K`m;SڷUɪqAP)i`[܂c0$e`ZF\m0;̫U]>K`m;SڷUɪ0$k;7@ߕ.%)e`ZF\m0;̫U]0$5egPI¶&k;7@ߕ.%)0$ '+KK[8Lz)W`b5egPI¶&0$c"##jVڎ_ '+KK[8Lz)W`b0$=BVO8MV" )[c"##jVڎ_0$wBz`ߖC<=BVO8MV" )[0$A LA\*[+4wBz`ߖC<0$*q:gQIA LA\*[+40$1[f#CI( *q:gQI0$JXtFH?#cxʭ81[f#CI( 0$Y'3j/]mwnJXtFH?#cxʭ80$)5#Ӎt#vIXsTjY'3j/]mwn0$:*̊u >BW1cZ)5#Ӎt#vIXsTj0$`O:*̊u >BW1cZ0$lɚI>&vd fч`O0$dh)jwZlɚI>&vd fч0$%EVU(Jc4wdh)jwZ0$e.| X9%EVU(Jc4w0$8̎k4uь3e.| X90$nU5Ȼd&@ ehy8̎k4uь30$1iVgunU5Ȼd&@ ehy0$G +u_Pe=n!|1iVgu0$mNG`aYo뉏sG +u_Pe=n!|0$S8bQy)2+5hˢtmNG`aYo뉏s0$x$|3vC6S8bQy)2+5hˢt0$}O@,b6Q oVx$|3vC60$$@Lg=[-Z}O@,b6Q oV0$};q;m%z$@Lg=[-Z0$ԄroFD]ƙ>_;@};q;m%z0$Jh,]+ܯv& |zԄroFD]ƙ>_;@0$b.:$ kJh,]+ܯv& |z0${?^/-Р'6<<~)b.:$ k0$zuIk&!{?^/-Р'6<<~)0$䮦[EwDYٽ`cD)'XzuIk&!0$СYA.)/e8 L䮦[EwDYٽ`cD)'X0$<}TIs\M* +j‡СYA.)/e8 L0$X49d0cՊ@<}TIs\M* +j‡0${ѣWe|X49d0cՊ@0$L=S<)QZ{ѣWe|0$5JbfҋA_U L=S<)QZ0$ +h?fn7C2uZm5JbfҋA_U 0$1x$>Q̃=W% +h?fn7C2uZm0$OI%1mާW1x$>Q̃=W%0$w,j˷0OI%1mާW0$VHa&w4Ε^Kew,j˷00$lW*O5|Df(sVHa&w4Ε^Ke0$[ i`#W9S/'zlW*O5|Df(s0$K%+7@d\HxqȠ0$˸}zD N ^5>70$u#_oBro˸}zD N 0$#F@ a4-u#_oBro0$g/EA=25UK\#F@ a4-0$(Վ7@[Og/EA=25UK\0$2͠2G%g0(Վ7@[O0$&19] Ǣ2͠2G%g00$ZKw/C9#Qq&19] Ǣ0$YL`{3 ZKw/C9#Qq0$*->JT:YL`{3 0$s"uo_hLjfnC*->JT:0$~dIoe|aHs"uo_hLjfnC0$,"| +kmyPl~dIoe|aH0$J䩓v/l.o,"| +kmyPl0$u.4l壼O+J䩓v/l.o0¡$,vv"'Lԍn +Tu.4l壼O+0á$ͥLd_Pp(YȔ,vv"'Lԍn +T0ġ$մ3V?.u^4^ͥLd_Pp(YȔ0š$nu6p4 U+Цմ3V?.u^4^0ơ$Hi#XP2-0nu6p4 U+Ц0ǡ$=_q(Kq*)Hi#XP2-00ȡ$mn՞51SfrLʀVkoLp=$#0С$cZ/bl 0}(QkG>1SfrL0ѡ$2ao;?{jzcZ/bl 00ҡ$o5C*S * )Ci2ao;?{jz0ӡ$z'DJ{eGZqm(o5C*S * )Ci0ԡ$X@1Mg z'DJ{eGZqm(0ա$-/XgH}ʀ YX@1Mg 0֡$hYʮnG --/XgH}ʀ Y0ס$f9Z?k.FhYʮnG -0ء$(#nғLڌ=D1ڿ<3ʕuf9Z?k.F0١$rcERV)N(#nғLڌ=D1ڿ<3ʕu0ڡ$[R܃Nq+ (Ke FrcERV)N0ۡ$an]'K'1[R܃Nq+ (Ke F0ܡ$Iߥ̴3k C߮Dan]'K'10ݡ$TS߁ &iK# Iߥ̴3k C߮D0ޡ$NHVBd]?C%TS߁ &iK# 0ߡ$7 ?< .IhNHVBd]?C%0$itJop{wc{37 ?< .Ih0$!NfdxXϿitJop{wc{30$)0Of*O&!NfdxXϿ0$ox3"eltF)0Of*O&0$."@ƦNB>`ox3"eltF0$ݤgDbڬ*@czu.."@ƦNB>`0$+!XSOnS~^צݤgDbڬ*@czu.0$'-a&wD{FăS+!XSOnS~^צ0$YϹ;|HJ*IDK7V'-a&wD{FăS0$ص SO2YϹ;|HJ*IDK7V0$7,}QF'g˔ص SO20$ImDI72"@=7,}QF'g˔0$SZMjqAH@ImDI72"@=0$|Ct +tZʏf>gD*`0$XykGs >|Ct +tZ0$\1ã"5HFXykGs0$iӜBW$B\1ã"5HF0$j+.#i Wy:niӜBW$B0$OQU5wk:ihj+.#i Wy:n0$} u~1_OQU5wk:ih0$=KL3)9} u~1_0$*FczWL H)l=KL3)90$et"rdcۨ9>*FczWL H)l0$h{RTq-ZHǵçcet"rdcۨ9>0$1n +vt'%/$=h{RTq-ZHǵçc0$cdFMJq`%1n +vt'%/$=0$?T5L=)=vi +cdFMJq`%0$Q`L|,E8]oPOt?T5L=)=vi +0$jVRk0PQ`L|,E8]oPOt0$GVT^u fR7ybjsjVRk0P0$.Zb3dSdvzt-GVT^u fR7ybjs0$N)ٱ3o*Hb.Zb3dSdvzt-0$8ߏYK)N)ٱ3o*Hb0$ɩ"jdAo8ߏYK)0$f`1aCiYizɩ"jdAo0$]6pڴ +5ae¨Ief`1aCiYiz0$СHπޚDsGw]6pڴ +5ae¨Ie0$-p۶+7SwZ]mСHπޚDsGw0$YS-PVk'Q-p۶+7SwZ]m0$17Erfln܃BKY YS-PVk'Q0$M3@}v^ժ$c`6/s17Erfln܃BKY 0$zS,w.mM3@}v^ժ$c`6/s0$m]ل|Hg}ݤ5XAzS,w.m0$,\PLƴy'mm]ل|Hg}ݤ5XA0$\D`r %y?q,\PLƴy'm0$X Y~bɳ>\D`r %y?q0$á0~fΆYX Y~bɳ>0$51#, ZF]c tá0~fΆY0$u0JY|'+51#, ZF]c t0$};kt/a!u0JY|'+0$~uo)IΟ $U};kt/a!0$k¶?('1q4~uo)IΟ $U0$Ny+PRFsP"k¶?('1q40$w.qET^)7z\Ny+PRFsP"0$za IװLU1Tw.qET^)7z\0$w8HB7^%/ "r}za IװLU1T0$dss35_),'!Aw8HB7^%/ "r}0$ls2(l *L^dss35_),'!A0$M!!RPbkH&vls2(l *L^0$4^ 7E F9LSM!!RPbkH&v0$iTC:~a`0/ +4^ 7E F9LS0$ hɡH!wiTC:~a`0/ +0$:'#*1qQ" hɡH!w0$Y@ϟd^^:'#*1qQ"0${,'=(g +8FY@ϟd^^0$zPJ$vV1 +)Ӏ{,'=(g +8F0$40 uW 1~zPJ$vV1 +)Ӏ0$CD.'з%oM,40 uW 1~0$# &ߡhĹOcƾ/CD.'з%oM,0$W|zҚb;p# &ߡhĹOcƾ/0$OCƎ,l6A:B9PlW|zҚb;p0$~.}Ov8릨+7OCƎ,l6A:B9Pl0$QZL..]mJ7Ҷ~.}Ov8릨+70$x綔ߤ _j抡QZL..]mJ7Ҷ0$3lh4zܺ7e'x綔ߤ _j抡0$gzNRϟs*.[3lh4zܺ7e'0$?CnӮݳ5o5_algzNRϟs*.[0$>&5uT[O?CnӮݳ5o5_al0¢$#ↈ; һ>&5uT[O0â$elHg(hoG^#ↈ; һ0Ģ$!Dehj?a{>O4elHg(hoG^0Ţ$%]gIMoOFH!Dehj?a{>O40Ƣ$wQx:<85aO%]gIMoOFH0Ǣ$_>E)s>tFslwQx:<85aO0Ȣ$hO璢D_>E)s>tFsl0ɢ$<8h ?Ɂi1hO璢D0ʢ$p|`֚EРpc<8h ?Ɂi10ˢ$g0Qx1Bp|`֚EРpc0̢$r:q߉ڮg^ߧqʧGg0Qx1B0͢$̭>b~*#r:q߉ڮg^ߧqʧG0΢$Ǣ0_M/{\ J̭>b~*#0Ϣ$Y1P'6R"Ǣ0_M/{\ J0Т$O ~;ԉe^9*.Y1P'6R"0Ѣ$@\;K;@_!F0O ~;ԉe^9*.0Ң$$pSW8]1Z(smd@\;K;@_!F00Ӣ$5kqTѣ $pSW8]1Z(smd0Ԣ$g}:%\jX5kqTѣ 0բ$Cb%sC^p\flj_g}:%\jX0֢$E:uŮHByGk}sCb%sC^p\flj_0ע$JR~R2nҀ+VKE:uŮHByGk}s0آ$,gof +P҅Q{|"JR~R2nҀ+VK0٢$N Q0I0w2C!,gof +P҅Q{|"0ڢ$ZzA 3paN Q0I0w2C!0ۢ$]~3j'K8Ǜ+ZzA 3pa0ܢ$.@6wC%ͥ]~3j'K8Ǜ+0ݢ$B-7AIK5Q?S .@6wC%ͥ0ޢ$-NQzfWgZB-7AIK5Q?S 0ߢ$=2N[Lp2CP48-NQzfWgZ0$^oTmf=2N[Lp2CP480$Rt*C <34f^oTmf0$V$.Xj(7WaRt*C <34f0$xчL1=Nz<V$.Xj(7Wa0$|Oh20E~ +W,g +xчL1=Nz<0$d:,1Tbd_r0y|Oh20E~ +W,g +0$/^&a֛:ĉKd:,1Tbd_r0y0$c1U)/^&a֛:ĉK0$M0{o3~3c1U)0$6k#_*YԥX}M0{o3~30$Um;M6k#_*YԥX}0$B> wWpM;1EUm;M0$١/+jw~:B> wWpM;1E0$6/4N=Ρ^6y١/+jw~:0$Ì;\(-`Sh 6/4N=Ρ^6y0$p-N73&Ì;\(-`Sh 0$YG<>La'Qrp-N73&0$cofuQGZrYG<>La'Qr0$@< _|ReSj8cofuQGZr0$fXC)rP>:@< _|ReSj80$gq`G7!>gqu fXC)rP>:0$=]ޣ+^jagq`G7!>gqu 0$m ziCpQ/=]ޣ+^ja0$xjpx97)ߛ, &m ziCpQ/0$<HmϻX.7xjpx97)ߛ, &0$s &A9#e o.<HmϻX.70$1c _ʹ,G= :s &A9#e o.0$03u+pi1c _ʹ,G= :0$;gIJ6VPD03u+pi0$q!{#zM::FE;gIJ6VPD0$(=]kKqtْq!{#zM::FE0$+]:kLL&0(=]kKqtْ0$adE}~_+]:kLL&00$H:ν \adE}~_0$[3pqH:ν \0$[Ywo"2[3pq0$6 I׮ge9[Ywo"20$ġ,LM];6 I׮ge90$XSB%!kHXj2ġ,LM];0$=:;J5vȒ:TXSB%!kHXj20$4iYiyF =:;J5vȒ:T0$0%&&fܳ-'4iYiyF 0$]Xmk4&.b<0%&&fܳ-'0$* febfH]Xmk4&.b<0$#x"$ܲ* febfH0$>11R x5X[H#x"$ܲ0$P'md݊Grx>11R x5X[H0$L10/X,I笺P'md݊Grx0$&#;|,B_\GjL10/X,I笺0$|Uѡ,GIPʑ'&#;|,B_\Gj0$NXULfnt|e*|Uѡ,GIPʑ'0$ ~i!ZjNXULfnt|e*0$B5rFV ~i!Zj0$DtNMqSa]B5rFV0$fw +h)OPŵ7:| +{DtNMqSa]0$NVZ}D&[MCfw +h)OPŵ7:| +{0$x +qʄwD|dNVZ}D&[MC0$:ϧYx +qʄwD|d0$!1|O5kk"R5`:ϧY0$@u骏jC%L]a !1|O5kk"R5`0$F]NY2 Pkyx3@u骏jC%L]a 0$Sh rkqF]NY2 Pkyx30$oCYN؋.f$WzSh rkq0$(K`ŁoCYN؋.f$Wz0$`VG8iC̗P(K`Ł0$9D![cSgϘ`VG8iC̗P0$ ώ^ 7Ϙa9D![cSgϘ0$u,yڸOE4 ώ^ 7Ϙa0$ .1h ,u,yڸOE40$zFx۲7 C%b .1h ,0$Ljb]z=yjFKfkzFx۲7 C%b0$ȠaC kFyLjb]z=yjFKfk0$OdݔUw{wSȠaC kFy0$*ƭpqtNϐ((OdݔUw{wS0$S8}[ JR*ƭpqtNϐ((0$ZV+ +c12*UKS8}[ JR0$EB$:9 )ZV+ +c12*UK0$ԃZ }nWnVeTˢEB$:9 )0$4gIJ "_cT 'aw0ԃZ }nWnVeTˢ0$oIP9'vzܵX4gIJ "_cT 'aw00$qNKr(8lmgoIP9'vzܵX0$L CҼj3NqNKr(8lmg0$;[^`؝b+`JٿL CҼj3N0$6Q/{?ؚ87oqR;[^`؝b+`Jٿ0$7*gK +NѭqW6Q/{?ؚ87oqR0$-5D^D [7*gK +NѭqW0$KQ3iyYG-5D^D [0$DlvhEm[a"t\~yKQ3iyYG0$P~"a8DlvhEm[a"t\~y0$#4qB, ` |P~"a80$-jG~bgOr~dk%#4qB, ` |0${<j f-jG~bgOr~dk%0$uͧpS5Iz,z,F~V0 +L +C/cGaY0ϣ$p"**yڧы2YafoMVħ>F~V00У$YJ\vk@eq9Cxp"**yڧы2Ya0ѣ$49qn?AYJ\vk@eq9Cx0ң$ѕ%Yzz2V%Ԅ49qn?A0ӣ$[4ir ++ѕ%Yzz2V%Ԅ0ԣ$nj<ߜ|qglo,[4ir ++0գ$mgVf Z"nj<ߜ|qglo,0֣$O-}ns5,cxn,mgVf Z"0ף$u f( O-}ns5,cxn,0أ$300+5cߝְ/WLu f( 0٣$ՉKк=MZӡ300+5cߝְ/WL0ڣ$@!AwQL&?@nY_MՉKк=MZӡ0ۣ$vYò(@!AwQL&?@nY_M0ܣ$-٘ T:ׁjxvYò(0ݣ$Z)T)X䋙X&I-٘ T:ׁjx0ޣ$@۝/g 3Z)T)X䋙X&I0ߣ$x_# @۝/g 30$Ȕ_88!$e[x_# 0$cTRYP`ߠȔ_88!$e[0$OM~Em৽!OXQZ_cTRYP`ߠ0$L?1QI9{"uOM~Em৽!OXQZ_0$*gt&e SfPƎ'L?1QI9{"u0$s7W9|m UYlF*gt&e SfPƎ'0$fq[>W4:M6d-is7W9|m UYlF0$Mg[ O_fq[>W4:M6d-i0${%ccx׮GrMg[ O_0$ҷ%ksė{%ccx׮Gr0$PUO^|GY[0+ҷ%ksė0$d9P^gdFCPUO^|GY[0+0$9p}>0,d9P^gdFC0$͗C͍Yօ` 9p}>0,0${PƔj,>/4Em|K͗C͍Yօ` 0$sd7OH:Yd|{PƔj,>/4Em|K0$~}I%TdW^asd7OH:Yd|0$c_|N?u\>w~}I%TdW^a0$oP*Qf35c_|N?u\>w0$-L jѰc@2oP*Qf350$wty_eYBIN;W-L jѰc@20$U^ *T , !nwty_eYBIN;W0$󻄎V#4# 9FǁU^ *T , !n0$s]C'%}g=󻄎V#4# 9Fǁ0$+JSZE`"s]C'%}g=0$fB+7ȢYP`+JSZE`"0$AN~ fB+7ȢYP`0$QZ-ħ" 9< bAN~ 0$0}sVHWcN)?PQZ-ħ" 9< b0$3 N3Cqge6;0}sVHWcN)?P0$K8QT2"DM*3 N3Cqge6;0$ 6qVyיsImK8QT2"DM*0$z*lkcU> + 6qVyיsIm0$J5 =;R%t1tGz*lkcU> +0$ueD(}I z慫J5 =;R%t1tG0$= +H-;˯D7[ueD(}I z慫0$/;p`W"QQ= +H-;˯D7[0$h9)P-3/;p`W"QQ0$W'*&fq>h9)P-30$Fq k]LW'*&fq>0$_#.&?_kFq k]L0$!Q2y +*x-\SA~_#.&?_k0$ ]K*MxDZȮM !Q2y +*x-\SA~0$_ nBidds ]K*MxDZȮM 0$=gH<˺ _ nBidds0$_zaCr7ob =gH<˺ 0${ UWa__eo~ c!B_zaCr7ob 0$(A+_<0ծ"{ UWa__eo~ c!B0$4Rï0\uKk2(A+_<0ծ"0$:,)U \ Q>~4Rï0\uKk20$5R-7QUpo"o}:v:,)U \ Q>~0$d|ң,XE5R-7QUpo"o}:v0$Fow U9 =铀hd|ң,XE0$zJXOi̻6Δ!rFow U9 =铀h0$ Vl&-VGgzJXOi̻6Δ!r0$Z6z+Fk;)w Vl&-VGg0$4H1/PbYZ6z+Fk;)w0$nqOw!x;:K"4H1/PbY0$ٶ&ZYcS/Kx.^nqOw!x;:K"0$b7x;}H1d *pٶ&ZYcS/Kx.^0$yJoVSz. ngb7x;}H1d *p0$xD(E 1o-yJoVSz. ng0$j]%=%u xD(E 1o-0$ǖv1}<-pj]%=%u 0$NꆦTOr#[ӏ<ǖv1}<-p0$h$t@ m^<NꆦTOr#[ӏ<0$)qߒnn?Xdh$t@ m^<0$#!w==L遾)qߒnn?Xd0$;:[,\k \#!w==L遾0$L.CikD`;:[,\k \0$1U؆W! kML.CikD`0$܊{60>`):J2-1U؆W! kM0$5EnD嫠S܊{60>`):J2-0$i =Y=OI'95EnD嫠S0$ i{#iQ%i =Y=OI'90$͒_z h(S\D i{#iQ%0$6oh49͒_z h(S\D0$5~ZETtJ6oh490$\vAlpTQY5~ZETtJ0$5KVtڂPSJ\vAlpTQY0$;ӵ\H/0wvq5KVtڂPSJ0$!`Mx{4;ӵ\H/0wvq0$e=?u%!`Mx{40$[;WYɌcZ]; e=?u%0$c-Ӎ_#0[;WYɌcZ]; 0$v2k< GlFVc-Ӎ_#00$8 +:Bگv2k< GlFV0$\ sB.18 +:Bگ0$3`vKڤ-?-J6\ sB.10$81UeTFL3`vKڤ-?-J60$vvPX^ +{SPF81UeTFL0$}JP\XaEvvPX^ +{SPF0$%Px6tw}JP\XaE0$ 5Y?@#y%Px6tw0$X+Tg>\se 5Y?@#y0$!ر3:&WSPX+Tg>\se0$^ Nd>jqwY!6!ر3:&WSP0$?oP"QXt\^ Nd>jqwY!60¤$煀 {5 DZnF?oP"QXt\0ä$s$}iÛg4}9煀 {5 DZnF0Ĥ$Mc'#4X=Us$}iÛg4}90Ť$Lw h22Ϭ` qMc'#4X=U0Ƥ$O sRՆߡ^"Lw h22Ϭ` q0Ǥ$g[Q_7ޮv`F%]O sRՆߡ^"0Ȥ$xܘ):Q6#9+Xg[Q_7ޮv`F%]0ɤ$IlE2H_T%/Xz8nxܘ):Q6#9+X0ʤ$?d!WP+o`IlE2H_T%/Xz8n0ˤ$B&5w,o`!?d!WP+o`0̤$6Vʜʥ`̠?`1X6mB&5w,o`!0ͤ$TwsʪN4,h56Vʜʥ`̠?`1X6m0Τ$lGR{ +k3SPTwsʪN4,h50Ϥ$2:bPџK6jPlGR{ +k3SP0Ф$9G'szK-2:bPџK6jP0Ѥ$>F/>!G ;,9G'szK-0Ҥ$F5K$=Yɍw+>F/>!G ;,0Ӥ$Zɫ1" + +8[CÜF5K$=Yɍw+0Ԥ$k.j@tqb _ Zɫ1" + +8[CÜ0դ$ƃ! @Հ3Oׄ< և"k.j@tqb _ 0֤$J=a6hj;ƃ! @Հ3Oׄ< և"0פ$<)@=X"J=a6hj;0ؤ$hDoP ub<)@=X"0٤$3X83dRMhDoP ub0ڤ$q_>lG +)^3X83dRM0ۤ$$h漻%Mq_>lG +)^0ܤ$܍U&Gt&H $h漻%M0ݤ$Ea [t7)oə"܍U&Gt&H 0ޤ$-Ν̻ ,`Y.2)bƦf0$X/C;ogpQ㙜V-R.>-Ν̻ ,0$4T+=B/L*!q"X/C;ogpQ㙜V-R0$*yNQ>S;5]6-4T+=B/L*!q"0$p3g}{x +$Y0۫*yNQ>S;5]6-0$XD\cnS-?m +p3g}{x +$Y0۫0$2qZ +5H bXD\cnS-?m +0$c5 1wM +H2qZ +5H b0$!fhR9JCc5 1wM +H0$#Yy$'cRssD&kA!fhR9JC0$fSx^FAX#Yy$'cRssD&kA0$k6vGi^B\fSx^FAX0$OpΗi2&^A +/k6vGi^B\0$l{Ռmڙ@OpΗi2&^A +/0${<e Gϯ/l{Ռmڙ@0$aVDlqL[oB .F{<e Gϯ/0$B;Kĝ6%NiaVDlqL[oB .F0$U1ôsN8 գ{B;Kĝ6%Ni0$LR{!WcU1ôsN8 գ{0$p̝JU5فLR{!Wc0$S:CJ6z$np̝JU5ف0$aL0wQ@- OuS:CJ6z$n0$WܧPڋ}͋ԔaL0wQ@- Ou0$ru0?me*uWܧPڋ}͋Ԕ0$R5T!p}ܘ ru0?me*u0$@[3O6>]QR5T!p}ܘ 0$oml0D+Y83@[3O6>]Q0$ez*/2~poml0D+Y830$ u$q߃:Lez*/2~p0$ή?Ti +<°µ u$q߃:L0$Lpz n4(ή?Ti +<°µ0$\Q%)>prLpz n4(0$LplغC)1;}ޛ\Q%)>pr0$B\(aRoYLplغC)1;}ޛ0$(y3Ԓb5~y]FB\(aRoY0$q`2NFvoφi(y3Ԓb5~y]F0$vR* z "dq`2NFvoφi0$/n2cqyOF~Ptr %vR* z "d0$@.+q{9Ytd(/n2cqyOF~Ptr %0$0V7%گ64ޱ.@.+q{9Ytd(0$RpSvci̠7cw0V7%گ64ޱ.0$fUoBҦ?׷%QõARpSvci̠7cw0$'&eƤ&LfUoBҦ?׷%QõA0$m,8|ԸI6 `'&eƤ&L0$֍£OgeK8m,8|ԸI6 `0$ܚ}0ol^0֍£OgeK80$z㈂6е&Rܚ}0ol^00$e^!1 +&;әHz㈂6е&R0$Qi/f{*|=ke^!1 +&;әH0$jt"yQ}OhQi/f{*|=k0$92E +Y9ވ&jt"yQ}Oh0$WUI\/~)y|W 92E +Y9ވ&0$vI7-ʘ,88(YWUI\/~)y|W 0$D3u苎 Idn rvI7-ʘ,88(Y0$7 8{(::\h[fD3u苎 Idn r0$;<]")(1-x7 8{(::\h[f0$1"cr"V"O0tY ^;<]")(1-x0$2uBHt #X$1"cr"V"O0tY ^0$6eL&NIM>2uBHt #X$0${d<nP3d6eL&NIM>0$%D LDYXPA{d<nP3d0$^}ɽ6/` %D LDYXPA0$Z8jf% <^}ɽ6/` 0$ho`I%moHZ8jf% <0$œKF3aԄMe\4"ho`I%moH0$m OILIۿ~l8œKF3aԄMe\4"0$8帓nIKܬ m OILIۿ~l80$.Y#&s@dBp/E8帓nIKܬ 0$Ù|Lv\jqdM.Y#&s@dBp/E0$s-sp]v Ù|Lv\jqdM0$3f=s-sp]v 0$Q7 3Ęd3f=0$Mh$MaB(GPHQ7 3Ęd0$h^](r(>GMh$MaB(GPH0$G JzG. ]NBh^](r(>G0$B't,6oG JzG. ]NB0$ &Ŭo1K=B't,6o0$NwumKB"Ȣ &Ŭo1K=0$*?Bny(`YNwumKB"Ȣ0$aā=@oe6 qY*?Bny(`Y0$|H Qe>h 0Haā=@oe6 qY0$+g`qJ.u|H Qe>h 0H0$uar;?;+g`qJ.u0$ɥ(4 RA2uar;?;0¥$~2nJKVtseh(ɥ(4 RA20å$M˱عpԤw51~2nJKVtseh(0ĥ$,1!c*6cJM˱عpԤw510ť$?>Wxsܻ?)53v ,1!c*6cJ0ƥ$G?25!-m?V7?>Wxsܻ?)53v 0ǥ$VSK/6e&G?25!-m?V70ȥ$]ne7LALUVSK/6e&0ɥ$4S=gB~8Dǀ9]ne7LALU0ʥ$rLܛ5Z"!)4S=gB~8Dǀ90˥$dߝ;l,D_[CrLܛ5Z"!)0̥$iJ,&pnrdߝ;l,D_[C0ͥ$_cmbbriJ,&pnr0Υ$#J]F3(E̬q _cmbbr0ϥ$kp.)%I)&#J]F3(E̬q 0Х$l3&N2GgYNkp.)%I)& \ No newline at end of file diff --git a/p2p/src/main/resources/TradeStatistics2Store_BTC_MAINNET b/p2p/src/main/resources/TradeStatistics2Store_BTC_MAINNET index a24f4950fbd6704190e5dc700546ee5728b2c01e..aaccbfc83893fe6fddea7e2c8ef0ba9e333bede3 100644 GIT binary patch delta 341085 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�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�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 R-`>B?a3>MYb14hE{s7=c<`e(` delta 49824 zcmY(rcUV(t*FAilsU~y*?&9Xd7k(C{^26+?)Tnnuf6uUzj?oG^|lQ%<#PHnEo|F{v&u*= zdWvMeBsx{su*`nJ=mE>-t%!M1(XG(W|a9%H6{d2-l6~qB~K{N8~%1Dmu(i%ttr0ec+>w&LJuU?NEu)tpg8n z?u42J?uRx0h~8VPh14Bd?+HSBTSfP|x(V*vbuyv{1RdqMQiMMCvAVOHWFj)Oo9KSt zI2)m1^pDUu+Z}pNj6Tw|T;?9%=5@pxiReDuIyw5Mw!iakq0RAx&?EO}TydlFxY#g;j=2i|k?bh|DzN6J5zW&LpqH_im$)ZONc_(w* zM?FE%LqWt#*<`hQ^2p=vOQW;hUq{8cdyTz^kPm%C>dUGdgjgJ zGUzA&Cc5?a?zmkg4?Lq0A#|v^H+tLsro21y(M$B{;1b>UA6|`K_xnwS`}A_v4!^<64nUL+|j=|W2tI8BTxz{z2cXFzR-JZ!k zlVS4$?l!`O4k~2K=dQ7d3%MV7lsDl->|M$wBYp{2$VM#V>ZlO8e~Ao16N8l)wt>sW z#`Rn>`)(uGmZ>aQ)>7a%>Y(dVPlqhZvWI$W9UwzN$V^n9Vo~cL#~XyPn793tS+g(nqK; zG?sdF?QbC>>>@32Xy^iwwYkI{mC+j4Z7{@+T}j+=oJpjyKe@tPXPvKddYL;2D%Ro} zw})eAGPp1a!uGZinIwm6p!RggW8tO|8kld>@;AE0<#P|Qe)%#x3hvN=&eZEA!<4y4 z)#x#@-*IfdLnBFCzgJ|Z?s6TpD163cp!_NK2w`*Ui0tHZ?mHQxR87rTq3jDZE9We@ z^_n}+dX{s~c?A5;<#JCjG^JV+{{4%Z3U?kA@#SwWnObml^tZ8?f4MRqXTCNSF=%QP zvasK1n&s=8%22Q73^ndIk*TodD{btSFWfVP1uYlx>B-oA=l_)4;Sd>EPsCxV8c7BOjii8G z)Ji_dvBE65hG>(dkoB@i60F!LX(yt$V(tz$yN;xl67!l!)*z;_B%Qm5;QgEJ%)hDR zuAJR(Bk`3XzN6$3LVAuDq3kF*&uE#4O6VHqXKKzPteeDwuU#ZrbZ~M9&bfmA-6hYN zPY+2yDeKWk;=?0&O(zw~n(5{2hyD^?K%d`diD*1ha*xask6%VevY2s{r5M9<^YVsE$3LHbizv6z-3 z@eD2XswI*lgjP}r=(vpLa|^+(w08WqlvXltwjeUca*3OxJ9B1-?@uf6v8)2?!#4ezQ|g+B^zZGQ#rAn_9QVR zT*RGi)W^>|CB+E++F8Jf-2SK0VW-5x>g|&F@$lP61M^ro{1Pd-%F6di&d4$5nB+G0 z9+jlCw#OwW=?;0^Q}$U&43~%AajWBT>?}2~_?)D~iLYa|BI}edvGT0$O-Uw)s5ZVL zN^VJR;LJj@rEOP)s&L_sBpczY_KHZnO`}Z|d(sE@Xo&i(CMtxMND|5Y=wB+W*m0M> zS@u=r5w$E(!)o7`Y?t8dh+%e|ejtfMN}1#)oBU8>R-^qZI!#MnN)j1+BWW+i#rKkI z*7t9TUWU-^9Yp-_SyGDft&t)^KS>Jz|EtKeHeV!<1t_)B8>pg@zK(e0Cuc9U((k1B zLodyTT`w(UaR#YLhDe+ADiW>Id^W-^9iqYds?u~^sUpomV0GzjgdQ~V__>-i7cY;5 zi%blZ&edUP6KZ31V`@Bcj8jCLrqWboHj^ep+Dv*4BU?yQu%Ws12DcpFZU=^9TT7`8 z?SuTxSl&u{0%uxMk3p@aS;%W6ErhI%G?PsZmX;8r2yZQ-S{G>?x_73J_jILh9(0k$ zvnk!AOB6^9Z7iawue8G6NA#s$kN-g3(BA8m=fL%s(s4XhU%+`KP zOuk6-^g4)C#T=2 zfk)n>fpom@O4AT_p|QxC+?S45VA@mZBCLNReO%Gdu=%T0V2>*%rblW?wTbxknRFoV zTuL5u5#8u3PnXJ&^Gtf3Eqx(9N@nM!^pVHm3TXCHdKAg8qz^03@uC+xHTJ!c9*55K#(GT@!Y$7K8DZPuba*GTlZ5F5z@t*dstl1EewfI|V zlc8KONkpU1(irspBrQUei%d%V7uuHKbqhoc`$peh{Z*PyCM2rneEa!e9vn-S@F5EP zqvi`xMa>uCx`t0Aha<`wCBUxZEo1`x>jm4fU&}LAN5@BUY>%G*NkSLzt7X(2WIbQi z5is)>{AJ{SM_J@ZLU0k|)JQe+@%Y}#llP4OQN$(-e~AUz_}x;Jy`~F#%9mfGK=6|d zBC1s7g4@FJ$=>`I=HaX;CBlV6lss}b5%O#DB;pcUjg(nfqfxRz87fVX6=2YKSsGV{O&D)y+KIAH z5)@39ao=h*JRl_c3_IEvK7Zx$cpI9X4LpT4og>0_kXL-~nLN?b>A+feW&RP`7ev)GJE!pFW5FoNxmdd){mgQL3 zUvFe79P$t-;>0^yG0F#y5>a=qUWNR(vP=Z89U|h<&(#mJrhm#J1%kLDJ13Rz<2*2k z$Gk(6HLRyxZq*Woom>~Ocx#edFw!V5B6ss^P`I51nB|M)809A?n7_;+dho3ZJALKX zq1Px0i8$o95Tu?Xuue{S1jh~q$PaMvt1Qn)*Glpt_NuackpzELmnWb>b$N0`W)D03 zgO+WFv%1{Eq66h8C=7f%O~8=ypU#5SmV0h=wz|CyZEMLdVQ5YHb(U3IzSLCVgPRA- zQ_;Jv{H`Z*6`9aZ-qt}lY^pHQhH8W5$=-kt*@q`;&?e4*3;rEMy*wK%FOrd?bUj*W z!{L$g%eX#5p33@-l3&oW*Hh(vjNI?=A8otBeqS!{MByqOdFa>569`iWr1@XP%Qe(W z&RY374!>@YlSN4wPL#lU`8{GkbRrAcC~qWXW8CtM91^z55BphK`>->#(kD;T($zUDZ!1Tu zi}D-zmC5s%Ay!^n1x2#F0IjadGpUu&rEB7W6#CVsRQb({4e{%^U4xVqIo-U3;d(YJ zP5w>Cdfb#RkZ@P9Z^3XA5^l>+6xYyR*dL(?M5t*qInk|(TgYoQPKAO9 zTDgha=uZR`H^=~U`@(Ik%XY;*CH~p3C_`}8I1vr^D^ghT0YxkFnLiRdd2^I{HXWt4 zn|oYAz~o$i5mCoHLk^xMu#qPebd9E;QH)jK6r6KF9vKrPwUNm=Z-ET()0DY`aUl5j21nzI2#G!#dql zY~^sNl=hQCB|6Oa6+~9)M-V0}Qw)=!{E^}&t=GQ%2{u%HL}#bZ0gy$0tjI*#?~0pj z<`YGsj5%H@8fy{UGFV{EJ}Op7D%R5Vq>r4P`=ZdOJw%GYwkVaur4^@3H@Kf1#aiVR z{H0MAvIs#LtYmRkYeV1}BhXs|Dxt_a>OO=$#tVb0k<5+ezCE54nTFRFQ z+t5wKUp19E=(C-6S-iO6N($7|ToyGkcD z(3FCX6HTalb8{tyk#pK9ODbC0AFM1!VilE$+_p-(NF9_O$NPFAks_1ZE6=gF9hB3^ zzi(MDV$p$NYV;ng%t!D+ItbGSDN`7E_6!xW$5L~IaYcL>qbx$$vg#t%ji-53nW+4# zK+rV`{XR`s5=&{c}<1|^ORSyeXf%3@|sYQ^_s8LD_Mu-O1Fp+&3)|% z+p44x|0V^`kGCi{!}qp=4i%JNiKkh$NQKhf%2aaofxGpWk+fTBVF&jp2P*LBF#YPw zA!P-_%;JwIiFv7ak(SYmPG&IWW#${JB#_uYPMM9Zmz9aEa=h}C8mF!)%MjFYB` zzsYewoi@eqCy_16P;TK+nnmrJvXog^nL~{Q2^5*cW_$Kz|92u=lB=v+71RGzzN&~v zuDn;qu#mr$H+jT;RzCF-;duOsmOEI!ihR>2Wg0v1MOjTikc)VUa~f45ZRXvCxzU)f zQ4y6a>7?JY+e( zebs9(*oURQ>LTg}sfZ&X@6N6@Pz{tYc@xz~Vjby_<84dT^@x_L-@Oz)au(M(%%-$f zU6vA8M+cxT#=sDxG$+ ze(+WsLnqZxIy8=LJdvk+HCS}ym(y6$i>Bv^Ht@9vO}YeA<$iXS)=O2+qwEs-`pjdn#zxgp@_L>->a85T_oyCKAc1weRmnK9OI3hx zdsX>puveAM@*-7MJ)-*67g_pQ)jv8cNm9|F191Vpa%5^0C#uLPH}N;KC0A7iW;DO0 zDnh?v)#HfhZ31)LR^9VMP)9PlsejYxU4yp}r202R1MzRw5sdp+^#Hn$svGF`L6wR} zA5~dc`dLLNDu7^r!Y6uvFli@4Ft#v091o3)fM%GzVR#0rReQYI-4bIQ*$EL998Gw$`N%Y`}vrf zkjd0j>MR^QNuO6eqwXpoYT#rM&*v;SfG6>4x;z~^h?p0rj)jn*zQJZ(QJ>@3mn8K% znyVN9d@Rd3piFe4cY2QUBUS91=8y+a}UfvbCD)hy5=&gSwqu+99t6& z`NJX2H56U;(~y&GrXdcbg(i~ox~Mg+HOV;EN>hNIZ8W$4$IFn@4%TE;z>vmmHTNry zXM{5I1OERJf%d*K6X~hYgyU z5_H+D$-n7wXeh_v*1TdzwrZM75wo2dA_|$n&^Apfi`bzVDD?y_Dt!Ae zPLA7qG*>X?=`R{6_RvC6K1gIc_G&IsT=2V6MAHk@xHktl^1LRMB7k;P4%_jNX)Zy^ zG-+(tMa>sNu*tODUc+|us^%sI`8y~T^~-D}DyL~up|3~yrDiG}0WuOqtEOn8SaQ0C zIJ{F?n*0i@Rhmf$sLzqEB8KE>&SGJY>+{eLnSGapb}QGF?N4Q=_O z8mG%Nv8>-i&1pHi`CRi#$?#sYKuY-8v1wD;SG)F$0wJRaMwV34UdJbw_9hzs*5?!( zP(^!MUSXG~NXL-(uBE+1D{JWRy&X>apB<~Moni2TJv?ip%_1gOdkecP{iE2pV6Cze z3m&1JsKBZT+9I47uf2!Rxzj~9aiVsTklpT#4-kq$) z{g!(Ox@gHYd03=dtF)K#X(fGU>>6zXF`vzb2u!|Sdxk^!Eti%Z-l%O!)N$_5Jo;$s zXpp>Bd#A!Pmv7OgP;&5reQq*_L;Dalwrdl~ez*NR*oHydwAr5Ys(=Z{ho8gJo!ZxQ z^0j4~W1!hXqnf%)`-cj;*=!l1S>xb&H(Qu`CF2qoPFR`OXJL$A#O<#1=O5-{E*Tt&E1$YMSg zA%!rN!}E!(7iH^xguIG)H0qQ^&SHIq`%;1>6bgRrp}}gGaHE1AJsco-ljTGwR}$h0 z0tso9mE!(xYe$F5LL5u2BJ9(mQ+?qs#smoz(S5dPSiJ_q6a^d8Lik68W}SrMh@Xhx z`n97#k!6Pt0`u!ESVi`wztC9%-9UP`!_Pt{yE9N&BEj{)D9bW)qd5lu3=wE8iLb`Q z!NPUsKU8QV^{O8bJVHpo;NdhxZ=6EVMTEs>YpfN z5iMs4ap*ErAb;)IveMbY6bWj~7qZc7o^S_|d&bbwygfz6zRnkF@Q^JLGLaZ%vm<_~ zkX%8m-(KRGJjEky<1(QtkL9bWHE$OB>M9|bO;{rg^~3ffLJBS)7V_DUqry=o9-O87 zE;}ofcr710droLbd8L8XMV7#XAEii)6Yf`#yq_-%DQr)?5GrM5NkR;V!6`I`Ey=<) z7MLnHc~&n&SZa2c4Wr~}sZd&x)O_9as2oZ6g$(3vugzoP;iJo>$+x6i#4h{FGGdXx=$Bg`@2IH$wbo4O*_PNKUg zqY!^_rRfO_Djkt^U$nXh@OMxY-At=X#UKrR?Y^K}Bw;NKI=b%pCfzkWH|n0T?PlFv z4VQ$j^TwRUvPwD&Q8?j6gHIySrL(Z@m2|HKj1AJ2A}W_i#PE8$V)W@pwnP}GJ z*G9hxDgsSlvwSflbAFk^lL2tJ% z8^br#*h8a4(wVGkrDBb?=oGw%L{_ny+jSJaUX0W|CW#VpD8KKeu3SI%rF{H8U27@J zIi%Z8wwa6z&dB$w(f^Dt#S6tS^RzCF`9#s^nfbhqpljZyX*{+h(aL*m_l-o|Wj6h) zZX>z!d^*-~m+%?Vso_lJRkM*>A^!$GSN7@rjNY zB`<}uwdH{6NdH4O(F33;Z~2R_z}mjlb(c~YrYo#KlMBmfTUNi(J*gP{;7dQL@!dP! zS;W5A72w`GT?sM!62cvS>Z)mp5fmSJBf_mYVlo+t^TSuhuxGq@m2y&^;AFi@Jdfi_ zv52)-i)T6P6~s*LMno0ChElDVNRk4gHziszl}*rzbCv9nO&l#$Ac))5#H*5c4t17P z84cm#_KrATO|-C`)kO-`rUr?H*j?O0!okt0z`5I-_0QjXeBckRNI=3*f96Dga) zH4~FrL~}8=9w{nJ1ke(u9%U~kh-37u@_f->3B__T6~W8Ibe6STe5Az8aB5lDEEb{L zCNYIQ*etH+&}yq#inin1sW5Ac=s{L}y6J4JVT9O7h2UqDp%@S;reN$|vCKPmR&$@Y zi(|(Qh&43Wc}65R;YnVUofa=MI()e@a2Lf)tcw-@Kwb#Z=65gB;w0c$;ZG+}<+At? zx8p>D5^*%YL-8U(o@%M$1PwXRZ7Y_5G{AJN-~OmV|FIqPU?x)k_*h&_8TfBmF8ZQ?%D7sIjT1J`brq^jU0pFMWLy3k)E% zGilDg^Q`_beJu^zPt>Oq;qI)}_6mF_>S-H$sY&*e_p^rCf7Ng2Xc0~ipqt%dioQ0= z9hFr`n50i&!>8zrd3>9pzk#mZf<<(hp})wAe$&5^VeNeVJ?vRd3}ua*BM)Nce7%K@ zTcCd@gLb+8afNQF%`!d3M7_xRjbExyBkOX;Jn9^|apz z6xjOX`dE2|b|Ubc{-!tf5nBI7(xkKcOYF-zePbo`5kz&=jiWBSq6+PgE{1IUX3q* z(gIcaQ-6mQ{H2dGA>>e9itcvyP-B_eK%hQ+Dfu)N{im-rR%F991_HlczP{9GNQP)M zq_V>%Lx75Hb{fc8^-*=^BPtoLqO!|yhvW>zHjNH2#IviF4Es6Oq^e=DqT)gv|IYAQ zhn}qr8xg)Xz=BgP4Uw#*m7z7oy`BW@v#y2|3e*gV>|{3s(Px^Th9X+K2e-aEgOR-r z7BY!RvzjJgPcMT7vwIuvFmqqSG#&dT#1JAO2U>H>!~}F0WuS9iI@b=HkMTHK+l@(B?=U7J$;X(*dioj%m@1IN z!g@yXDwKM|xw^)9)T?i#9N3NKDmX{2(_&nZF&&|TATXZ>M&jtoPIse(ZYyIvWfupX zu*afOE2D);S{q+UkQ;1#iO}Z#1$=I6Ec9}?SYJi2VukID9ThanP-(RkTC3wlj?~`~OGd)O@3{la%#w8|h*@cN+^R-s#<;$7%e%i#m<` z*j~WqoyPO*&2HmtErNpQi)ePj7>lvTjaS**6UHP>Mb3Oj=~hx3UNlm+GL&M~Bt~N# z8EgDkih2pOOoQTS`z2S5zk4Nt>~^A&FjH;{P2Q{S@=YY+my`jNuHZ<3GjYB}-K;l31jVY*}Z%k*21;(@L3VZPNj{~P6 zDK%1zc#k?QEj8YOt<-pp#g-XARAIl#Or(S=#&W4fgErsV4l zHQhkSWa7tU{LDl6FvLU&qn(wAf@?VB6uUIcw8;#=-%N%0eun7=d;gnf@*%V7^@dqA zLSe2c1BQjB|LDPoEHK4j!+cXB`YxzsM#el-N`xZ@^x!5Ap8-iD- zLju##eTm6}Jz=KD5&k^|_UjVUdoyZpqaO}~DUZG1W*R4ffA4-O)Y@fAz@VL`H1=$l zsXJXb4+yaxF~fm)Pwz}cSo_wL z#cIDd<*P9FD-GM555D}xbOoP3o6fOczL}b+C}f&?&}heOmH8N51amH{q&7d2;icYu z7sOu(XwvbA7+lnw12I$GOpjM%iQO(Un0bMv2bimfh_7c(!@auZLNeV8I&_I+!S&7S zqzL$BfPlk|&9^G_0(Tpk6WGEgW>Ot}Ze}iqZ!`0Q3gHbgBP#YsbMs}jhdpO2I+goj}dxoqret+H^-Zx9Y(F43NhbAa5qwm*1OkCgZIPCmncueMOtla=Ww%2 z%GQlGkC7m5oH+^a#+ozOg7N0oRyr=`Xa7CDl%HK>rdaR4$tbpUv6)01Pgha%=2hlG zc4f7>FX6iFW=eDQqnu#Cc5^bW?J#GM;vwI%-i86Y&7?;6=pe#&nG?u#nM?ogs)Im_ z&zUV)6lK2S87{L&n`5PHBQuk1#B#|@*^pTCBTu@S1V4TOh6|U?bh}z7&}7HPn{N_> zo40wf9Wim{XyS-AFTMT?ucQT_skr}j+UC^9%cr zVZMgr&&`h`_J!-&*gwpj44&I1uoYj-8|CadZ~2|1gjJoCnQ!}@ie+dlVRA}kEf82s zlVuhWk2RNx?69w;m$D*4zg5+81%Fnt++e6?`P)=s5x-tp5rtYUEg%1nOM!l1OF7i7 zEorFQ%2MpL@~pJAg)&$Fr}nfeT+D)b& zrc9zHgejJ5xEN~5qRm(wvCD>6Q!JFJ@~g>X{k>6YHglRKMNJ2=jgDkGRTo+ky`Z_< z0!uQN=-yfF6x+PWl43x}_~}$4ve}Y?ypeqbjND|oj)X1kbZ-ATa=dA{Zy!77w)D3} z3>>P$^^=zS70H#n#iJ>Ec!CDxy%hm9MLDb|EV=(9{}NgIGnO2G_B_XOM26uvEJZ}M zSn|>MriFq7PpQM*TlAh65ByzB>*>)fAh6hyNM|yj(FS5R?^vR7=C-AP^}K5d<5>7T z3$4WbSC(|b0^{Z{NyOM!v~(R_TV_bP9Ct{H4a?qHVm)wJdob!(tA+KSWc@|q&D3JT zj=}p`=b6@HbP7H3_S!ktvv@Pxx}LR~Yt1A*P8dx|5oXP0XBS%&$zSiRB(QCeY4)|VB@%vIa0MdkK(vf{@{%7JQ1fUaeSoWi&1Pe+7X&vL9F0Ao0943!!am z6VnxAE%CO=c3!YfC3j3HmA#6!I+euwuG_cZGTWSNrD}^g*RAQKQ?TY8>6l^VA#e|=QEi-v-o?~>O8yf(7Kzl^>3^Xy$53GYdR1iuC^3cE528=M&;J4YFzqcjl70#A{{!&{S-te|0%#qt3SNOvinJtwKRoLbz zxHN3&GBX-e^fn8Mb++IC&tkImdfP0j-SOya_nB=8C^XrwfH&E4*)WUkvXYhf+lr|e zg4lnyr@DW9YaO=-BtV)Ausv&L2 ztaSawb{plD$=~We_17@-U>oV}i8l~2Zj|jj-i@{`gmbj*1`8cy>p~p4C!WLv8!2}@ zRU&EQZCBa!iMByfwsnfFof-$`+R|}zjxC!_m}jGOw>LF-e32~*7Z!S!-&1JQ`}#yV z8y{xttHhSownCyEc4b$yqi_{X!=ogexyD9@YT8EIBaa|dM9cE- zk`Y0R+b$l*?XOU(>wJ)UsbdpZ=; z{<7^?Z~eobPx-){{GPV0-`TIw3ErohU}AZk-C<|P9rjv!9ItJ^j-p!jn_eM4E`-g9 zM#DOG3+~pnzpC)7HS5~Xp=%vGO)$t_$eK5>SCM*Ug=p8rK8O6wun*jl?(^;>rUX(JQ|1h zf;O3JuW;C`e4d@$T=EM019%C0{SeDy=_mYz=dZqoFjIG^ZcWNJA=>UO z_YzrDj6Iy>vz|Jp%9re=2#%$N;4a(u`cn@N{M(tZ=8pY5B5%`{dnJ%P?%D%A0_glk z+w2(qmR6|zo&5=Fzq6;Z>+kLR^(6KYF;wQ0U7>rK%lq8$;sMr3?z5BXIgCD36YD|R z_YFRAY^KR)gCt^L9Th9J`ZU&{e5`_8@R~(uvA>EB`KEewcB@qOxx%hj@fj;YTA<%)6kkn!NG!O3_JVKf za~*~Wi|p)5GoPIlXHxME>lN%ntiy=zKABkD&F6u)c9ymJ-iJ(5$asR@!im0zq3c6~ zA&szz&Aoim(YTM#(<9}5eRN){@;JojkeN-H>61@*X8Ixl0bxEDac;ErGMl}`r=bPQ zw)s4%kdj`4PX;Dz_sNBMr%$2BHjtg%;X{fEm#@hF-sy9U?8hl$UgjS1p~~cm8Yd9M7xLwCV+{7o+G4u2vJ66|m zkb`f1M-qAlIdX`N?bA?cV}I6nOq8H!V@EcIHFCVBocT~vD2#U~5!i&@Ya8EChPrEOJo!Euf`3?{#?VgGl}AL%99k#;PBLlOuaMKhR=OzfS$T^ z7TV82fZIF5enTAzSU$v&$c)1rl*^Qla+G+&K0P{(bR@Bdqa4o(D^N8A&P|}T9X|0_ zGlE0)JRXgAT=j5U0v1iA;oBxTDifsk_<6@PM+%xxbrfL93Ndux+50%r#VX4 z=-(WKioIEwi?bbP=~NDk?Q#-JW;+^T<{U>f{+R11Ac|wp;>LEgpX)eAA>aKMz0y!? zp@T|X5{RzfJ>QXr_<4?e)_0+!ztU5xOn_{qBOg&!zvFSgXr%^ipA3}Y(hA3U^j<|@ zoUz71!W*yjc2dhNY7}koY}Ob95vLos$s;y6F0;suj`x(I+Tpm5NJVoVFQ+NAII!Kp zAl*exH{0pRWJS9igv4Bt4vHBl6voec9oN{GNXKj~9RZTgpQcHBlmE+3Ig(lBGmg$u z^oVvmte{P1ouiHQ*m2f6#?iz;l={?NTTOV7PDjT@o1ao$VFJH;|e=*&GEAW z&+{DDAkA|;fzz*no+afwI>||HvUsw~&feZ~bdY+3O0lI%#p>L1y!}r)TJgwHNW|D4 z0h8K&uRw!`jK`kt0Wm@4K{CW9n;13|aWzE|m@IUpel8y>uk7YHu78dcX(aj1Z=3|o5BL>`5w?!IEyQ7eCeia??CDBt5nRL+uD~1 zs(=REwCU+f9J{B0W9`cpr!lREuZ4~7>8tkur^JbyZ3yV+n@Gbl z)Sk^y_9K0n>VRmlP4}Jw=XvQZi#W4_1hLEd`d(qB{d_60p%>&v%??RRz>pR&(xO2?@pD!aX&)0&sxxP2p<2>I{ z7Wh5&rNem8C_}F&zBxotg-R^(j6L(6t*2A+;HRlpRR8Fk;khIv&-mbb7iZ>I)39$J zeMxoW&C<87Xd9_S|F6Dh+52z4q`9RO2pOwavq^rS^?R!zq`W7t zj~(4r-FM)$#gCj_Cgmy{nf=n)4U3;3^Jv^e6fg0=$QJtfEj1&zzF#4@`hGds-@va3 z9UA$OP};-BEpO<6$&9EB zzI_7?6NdP$l+aT%==lJ(o9eJE#4iS0hEW3^wxFU0tZG#J3|o_Y41>N77fKa(igM+67bh7 zzb9T10@n6ep<#)0{Ei#FrS$Ck^?q&%PKEmw;QmIxT=wf`zb%wztKb}XJlXF@xonTd zR^0DL^&wPn#c~e#?US?qC;YZZJc4+#pXaw~@Zhvxu}2n1BJ6$?EB$-Q?+#rl+TVX7 z)hzvtpGAxPakP*nm;KUMXuO|YfkCO%3&(vp5fPA!Ga3>{-PRk3hmjKTYd-SaDA+<$A|}hXR)Y^+IfII?|tJ~-b23u zb?NA3|L$*NUk%Q+9DXr7?^dARZ6@bc0_gu}tDI)PTbwJbUU<{4j`Jk}vr9h+(6w-0 zL7nE#B9`64S!Tk*-p&l1>gCL*{N?23TkLFjA1Cd$x0uRP7=%+{R6rjR;*2NOea}C& z&Z9wy)54s?ojwA%Db5>cGTE8QZccF)(sI~G3vBI7XQr|u7Hl5otk6?o^de^}v7b}7 zcd)TKi=8Az2wUxJ@*g&H=SJsMT-e~eiPz!IVhjm)ZeppMoJ$qVe}~gw3ez5EHd^g= z7PGQFPO6aUwvVR!TcopyKy3A$p>gcNerInb-Ls)*7u!(zBz?P1YyhRTPte>b;uYBE zlg>?6TKp5Y)C@0EofZ;pImxW;?N3k4Np>bOF3s6jf@;^D@A2sb`Tq&moR^s@!I6 z!xh+AtFH{_KMXJ-^`rANZhxSSoBqiumywfxZK#rfe>s2utxNnFZD0S|o6cf1?{7i2 z#QzD(W{*+BCh@0$O6LC$PtPu(H>spwg&}JHG^n)xqz@AOUqY`ttiv;{e=_$J`wmEK z2o?Pc{!_f9^FPPh>-|ao5YksIGC!ODSOs0x#q-xBuzy|t4>@|g0kz}x6i+Mr-(ula z{f}`l1^O4Ed3Aq6sh+1z{2l0T(0K%1xBt(R;M8WaegRGVquFoG{1<95t(MD(Yn`YP zlCq2>C-3Ngg{|rAUrT}&-TWVUJ!*1S|7144yT3^MBuN%9FoeE6dl>ZwTJu9 zlF`jbnz7u*wv6@PMp-(?HGq&-pW=$UM*9 zNlEaxQ4vB8jfGx|c#-XYkrrxl$}&6KnCrh*5>e=12uA_!LAQe|1y)w*A0)@yJO1g= z-|;7feJ@VM)|U9M(b73?w|I*UIpW^KZ08IAIYio_u>eK6KZE%VHQ;%M6H71mCqYZ4 z<3mhXq~0xKxqtbuSCg3jURdX&c)$f%=(+_(9kFel5s&tdHYZm=3115$L}y<_)(3{X%U{~z|0B(ul5%h~p! z0UeF>V5cPn30m(_u?JHFD0ki`w;DYvB((kkY@1Ko5Z`$Lne5d3fcjMN85Zyo<&t?K zUM&hJ@XSHRq80}%4e(Ho6DQkPll=ihC75+6pcwa$1l)vhBp@HX4hLMp{9^&76@?ec zM+0IhQVS^1VbQoXr24r;lMY%*ImtG+Yac*atY_UW1$fe_#D~WRTt{?V08vkk3<9zi z)VYLpar6zZd%v>t0Bv?cz#<7<Jx!~MVAG$bgn`s=v}1U zS!;CNQK6gDMOh^eyE((pMVRJ4Pt@UA9e-CRE$dv{HImZG^wcr7xUq{W@d@2g!BD+k z$C=R5wO8Unv^?wD#zi$bl%FS+L3qSzEN@3$y=v>CG@R$jEeqPa=*cb1G(?`Zb7eB( zfYRv*{g)$UqV z8IlJtr8d@Xsmn(Szm+a3$$m+l|0-*v#`G1gV~ktns>IWEJsow}27bLO82H`*_@SnUaR%r_=Uq8K@+ovTHM8K_ci`y(_M*1X?@@3CS)} zoWE037V@f#0G#LP2Zc#4DtF_^HqA_NrJ-7yi>%oHl>XnRy6$+&%&3m9+iDFKmJU=g zSGsGyrlNE_ywH_FGhLh?X+ul_&D2v}!p0Z5{vT6c9o|&def^}KT3TpHaniI&-6fUO zUDDz(gS!mQ;O_2pBZIrQNO!3#P}%}D+`SCWFu-8ny2-rr`~Kl6ZF29q=iYnH-fOS5 zc8ET&yx!q&xz14Lkx`Embme;orQjuDL2JHsmQ;@)xBH@{0BwHk+ zLt+^$mrP_gb(@}riL8{To65>8bV`<eRm+ZDqkN1R~Zbd2<@!Cp$$ed}Z+d@|SG|i9-NIHmYQKloKce zM=eP9l5Pha5YwgM!w*w-h)gLw+>{(F%i%jAvH}s$3X}CjBoi;YNY~mhbpV&>9P0Cd(!JZ9Q9Z&2$-__P6t8 zkR!nBkXp`{T@&y+I<-(%0nqjB?jT#b(B|MS+PDyN8oXF`6UqMl&l(#jl4Qr&W{GUE zK4}7gBaB!fyP5F`>&M~cvMi2SDO+r$#X7lUgRB^aZh{zb%vQ{<*Qy>6Y;BQU(J|Sq z^v#VZ8$?*m z?sYeS3(OuF6eI8hp^DuySg!$s?{_7 z>6i8LxcIcJjhGG;%8KcB0dCOHBAF$ky#3KFX;_6U7YW#$z*Q}1ML7Qsk22msTH!fWvsXv@FH+*D$IUoQiX?&ftop#Ay) zJF>kltKf4tWPtyQbNgWfc#V1Z=auZLXfe&+GGshU-^xJ71D(Nw|M^=+#?f}=SgrDg* z$UId1tt7js#Up!L(tB(VxV#bzjo%~tOZ@t=eJe4Y_yoH9*8P3KXL@5lg+9EtZ{Y54 z?O|ZG;fFos)&e8)+ILLc=%4nW#*Q?Tm(meac`>`2%m2jHJdXh#&sq+zuQ+V9N^AK! zu5TuX#{32~q$ZOz0HMgL% zl>Ty-=b-8o_S>uyI`1sErK2wLDoS*d*U$o2c?FBz<^4=Z9U#9bta|4}b~Mjlp2x<4 z@=>^a+X?V{36Wo+*^`!7(k#1JQ(6%$&*C6y25*s$plLKQ)E8l0wffe%EBL3sN{0xM4!UOpI zqP(0uF3O9sTUi(M$fEcf%v(tnhSaM@enP~bFUyffjjxm6hTjA3ho)XW%9s}4!l3eQ z%B!i*Z8=E2zf6&^;;#IxKFxR}he6^)c_rO@AaBTcB1hFJ4WU%RV|fl8d5Y_O{6u~p zIsDzxk#@Z5nH;NN@gR2tI`mFnLiKOubv)v|e5o-$@rseRBRA?U_tHzrNfGjp(nYu zwZnNMI%nrlNe`tCk7=E_w+$JUw%yK=tsIt{(hf%lXz?5z>M2a=P({Bh94fJ#TE#)% z@zKcvptj&hYv<$uE~m4@Fa(?)4%PI?-QkYz^d9aGXGD)lvo_3*_IWy7(s4b9c{^kv z9>TN3_x&7v4Crx?!(D10grl4Zc1XuE*dL4QiSkj1J&&$m%NxQS3M@f+bSR;Y8iyLb zm*(JWNl*JYJfk`Hg_=+whx6D~uGB+hwW6QHO+iDDWgQ~rw1E!0n(K5T`I8;W=n=d0RF+RB^~w zhaw|d^HGBm(r(Q4KfCakZF?LpQp!GuIvuTO(q8;-XSYNNyYF`xBBm*s4%N62NrwRi z)G-q$MwBDr&RGse5o}+ZkMid!+!5`PVtLA;fcKqt7^TPc>;P`l{k7o|$|=MFwcf++ z)6!tQR^V`oM;1FYy3p9)0XSNTo^;> zc<->W0}XEO_*f^zJkiWCn-gsufl!${JDw+JC&x#^_zn1)vtx}V^$vC{rtgC$*wLOK z$6VU0a(pKEV31pgV*yy^-*+gF(NwjgEj5KWKBVIGZW7+6c9a0bE*H1t-BFGc&G>=F zvAqG8bawQS(9WI9P{bJISR^p#AY>j0Q`8Rw9BVK>QLpv|+-itpmL65lUu4Gx!yT(J zfT31&$|;$gcvE=k*TR z@o(jh7g&1EacwJ{{)TJ~lldb@;H~23kUd=*YD5bkI9}F~2l>8Z(E;B_06DcRN6RMM z1>fh6)!c}m40zrfM-(c%{^bb4O11)+)d$Bc^7-hv7EAoAb^3+e^^@ZmC@2L^+lg&s>n3L zmv>3_m(k_+IPe2{=YUiyyq%(2mr8wTuZYtJY-hD+wUjoeFFHYw9Tb4gg*-Juu4rU4 zN5!9FQ4_5l9D+#bRd z)3Lm|00?kOR3H}@l&!rJ6#1-|q;L`Qx6TSE=(X;r&-y69!xCHoM_%?frDlB;=d?tA zuI#JugP;y3d-QssqJhi@;)6R*Y=ZQBkitgHCr2v|8yeIK1%`MTjYz z&R5)kqtznCztPV7g^F?vO*6$Om%A-dG`FVkEs7WP)(tmk)MiB;gpV*D{b!LW?RztQ zJKx``IEZLVAe+tHfiqj(T#Jlyy8>|!q;K4Bry@^8Ru|)8CgC&BjK1tv9H7>_73I8h zk0L^!-iT45K6*e=L_H5FuF%MXiq~XyL;8x+C%sK#8f8Y|^F z*A+uiTN6xS@*XNKQ@_h$2K46xMF}r^q?ijEyC;gLI)l)#(-TlVd!pD$`=8>vgmN>l zdagi8Ok3j^u_`)?4!%@8qyDdPW5#}*2Hf?nqE?rI$G^d`i+fFwu>L#62t9!qbfEuV z3QKa;SJqK~J>^CEuCKg>pjP=NW4j%=)CS55UT35Xg#1Q`N%oj2u`3G6(^XStAx$$^ zRGSWhrD?9?LI{*c1qs-H3R%WzT=CfH_C2C%?+bj3zAx!e>vq(zja%Gv$e#hHh zS;m*;${Itw9l!2Q%O`JFCHOT0)8dG;vJ#8Li8kxOf^t*-!;jsS`euAGNQqePLzJ?X znnfvLf_@I=__3LGCgAbl#O2Y-VoHfsmeaF1WfgXCrFor{b?n|niKJy)cO|@j1ZBzjZpy1#iUM!xp?s!~ zBFAx2!f`U_g8^%8cb4^1Rsk&YysCGO-}h0@vFBFvmBAMDa;>t6+OJjCP?t5zDn7DK zi5V9%JTBg)1Y7xGmJ&9DS-1n3SqVxI;1!jhR6YP+DgbAT&MNQxmtUIE=^SO5=o~q3 z+Hi`cdCEF?i$Nq#cdL}8hz;C7BbgOdDWR$rl8Iy0N;rKj#mnFK67JW`8f87Vy{t@W z!>KQoea(687v&kaAqc1O{fX0Pahe0=;}6pJA4=s$E2l@oaU|>WpswDc=Tt%EBB#QQ zADn8rufCI>6?xe>!5d3(=^fqNsT8U+L4?2^Y@Mz&qXs9Z8hWdA!iKss5G)~Qr-gd- z<|ynaTe~~KI;}-}3_WO?m{Q%GO0>6}O+B1y4XM!22{yFCy8Xh}N#{h(`~97^8?$+s z6Ld#o5Bwq~+jytS|8P7ouHu~Fs1xr561!cp(+w?X*fq%sHtfkxc)$Nicd8?sbSJo= z_8e`&H##~UcBNluIbEXpGo7xp^K7TSfWTHc-JmNo_DHDzN~a=Pvcl;i+)kW^qVnxB zOw6h4ogNzUKbxJZ&FQy;_`sF}PIV|3k8ZTK;9Ja!fc(?6H%qv0%y>G z=gVLMQs~?fA*0T!--t$c?ztc8Gn_(G=3I@JY|O4@FnlX@zC>?t4VUnTa%V4ndU?UQ zh~yWXE3uNT9-SuTvPx$xF6sv79{{3+0lj^K0cn{a?VdQ7AWYsLJIWr3Sh@gup;Til$y!qzH6DY>pNmY#rpHGNRTIE|)1T z+@+3RM7RvnBV~+BC268vQ1zKI%YgriaT#vSp50w8gCr*~M{@h(@0a?xfEFPc3qDdG zml8_s@6t%~`?;Lsb^}~M$khySsizTxU0@FYw_aG1+u z*t|_ainwDkj@V(=UOT!w2?twsz~6#hrn;=N(;;)2>s&?|^V=;h&20F}2^YBqjq4R? zL+=V)P)ZNk2)%v*4!YfW3oNeYtk}mhid<^(h6&=bw&z{)DD|9+p!E9IJQbvx^DY5e zTCTRxVa8UqF7rg#o%*ioieh>rW=0!KO{&NB%(3*apdEEC7jTO^Zb~ntrbZWAx_H&) z4uS+((V~`Qch%)20(k8m^>+&4bIhS3C?G}I!y!wty1!doMxk%3UTxzMyT^#ZM z_`k;YU4AuTb(6~`z`KG>tn#HxDQyeuolEOqViejss9TVo8Si-IGSOJa%6$3JNPWO;{nRH6h~4aPS6E`cio(&g7)P@x*IQb+ z3k-GFnvAZ$Sn=&>*PP}&u7_)^EzcS43O`A$oHTR1D~PA#Tx)p#1lJ!j?vmj;23DDS zUFVCaX}>GHSOnRW{eIW;eCdGeV=Qr?(ewIKuHS_O#kHQ+l)2v4?m(=maP4UQpJj@e zXJ2!LJ;s#Vu8k;tK6HIU>88PE)a!w31#b51JPRp1JaSzw;`L8lKNw)C0L8VC#4la( z<_PT{HokB@!(K04rx^3fzg)Y@;Bx795u#(HMm*Kkt(zV)@CVKM+t5xAHzeC1%nhjC z-7SX)d%CR^5qrBe!d>D16~iO6+uO~SSNOOkm{N(_t$`Xs-CpSc%DrK3Ikp_q)oq43 z#`I^GsYf|tpxYi}TKk*Z3fec)?WNBBtDR{_Q~EZ-?GU#e<<`|q2cfp_G6QWkrn;S_ z@l)KMXjya|IL$4lCHO20kwR>6gPV##=v%hlt(=@Ux?Q7#XvWobx_Td;|41J_)0E28mN z-9WBt#5vF-2w`gm!lX9WF}h6NA_1K325lEMLm0)}b}K+A0;|;-w{WoZ=RGXg?vC3^ z5w?c@X}`dM^&Wn$jg78nM<1kK_uTNNNmNM0?z=hY(~!q*wY2V$TLa$jm32UW)1SB@ zb?VXNR!<9_y(}&e7bjn3w-kBm{nU>)u@FEjHcSeQXPw;pBdoMlE!PiLlar9{=L(J^`MNf``>b zU-yxETH1|wpnH*_2n0`2#93Yw=HAEZzjx4pi_+XZP(s|cI*DoEard)qlIgz4nEU3q zKQ|=nBKJm$FLb}iPmA0ai>coMu;qtbbVqISXaYoLmF~dXP(9|zDtD+$y)V1h3yp?A z;=AO&pAD|Kd!l*>FAsKVbRXVaP-%&2P!otUU^ZX*cXAKiQD zAxv^_3n{4C7xyf(Ux>1u$7lBnO79h7KoXPbW?c2fy}*?E8hTtn4=ayrtTggiphq*s z9z|G4AN;XhN@XS)vW(E>S^f#S1CbT|K@g@m>!yY)aV%C z4ptuLsjI{T#xa&2jcDWHQAP8b;U{hUS7Gf@z}=gBV6raTdO+GIEFGAoD0B1DQt+Z@2fbXhv&zAS}@WJWv@DOr*E_dlXS* zphq1Zx)uMp7Z3+wfQW9f8mjOi&|M9v?=eF$?CdX)9_o=zV?sPC zan-fcWcggC_DD3qe=<9b$)`in9=2p2<$;<{*=`H2iuU*@rnMRzvN+YFmO|2Tv|(u; z_535<?NO|1^&VSmAnHG{OLm`7X?-lM65ayZIhS@`b8VJFB&(e1Cz*WsvRA zvWus0^tg$?AN9BlY%bkkSW7f(^Eia{xo-dp>_3ls`0G>aEZh#iOpj-R|A&|#XL&3^ zVXVyK9Q{^`ksFqKj1A_FKRxtqILO8mrXg2ac$U*^ThDslAoVOUq@XQOEQPi6yakhM zl)Klg@HC|1Z9UIvEe6@Cy=Mf_KOw#haqv72zuD=isaOqd0~0}S&uVJ&@~q}HKAzq6 z>1=?f(5da)Z)5XmXMm?I3`DGr`ZedRft~@tF9j{m{t(Xsstv}$2ZnlrfdLm#l7x9y zQMlT(1dHYx@c}#j5a#JEL#Hr2JpDbvI{6R&@a^Y$oql#mf#-04&qkftefVI{Qkpx+ z^9F4i=-EVlmw`WhZ-D1nb{*om92Fn%sd>v-&puGj{W%Gs>okn{>Qv8q-MW}O+vp&j znCc1V388aOwtwPr4xiz93CQ*$&myu|gjw3L*z>C~ja=jTZ^8Z0YR^)RUF-P>LE2`| zE?Q6>%{;dGq65lyPg{!F=6QjyZ}&V0<{&ains5ZC+bAR0N&W>h8~zzni6Yk;zW>E@uLv;B%HBPsJpP*}@>7YvS1m>Bc~$d$eXmCr z*kr$N++oMtnt2UFz$NJ1U$ydjZ^8u*UI;U^KEONuyejE}uU8ch_xJkQg4C&ARWvNc ztC3AKUV{*}p#1~Kbn@!hhNg}25{M4l9;Hj^*l4dB8q+%(aQIlS!Fs%Xf)_A*E!t+% zzwZHRn&f4ROtN@Z8#|ixyH|k@#|s~_>JVp7_8J5%2Cn;TFwZO1m|HLNItCx_EndL} zw0Eahqv#byuC}zJnjK!C#t2Hbzqfl8^3+{k1}>zj_Codnr6#SY@+xKj8ZTI=?|$I* zr;coY`@YvXUir|gQL5|e;`7z(JPr8AtAxLN_4;f=ON_j$QNiE!(ETWlF!F9k?+oyZ z>y&+A+bK3N@eZ)mxfQjRdSB8K0peSDS8$Wmdu%gd6EUE)6j<}5x_WN~f$rDw63Phl z&ZGPQ?<#uk@7=&1Ro>f?Shg{@qTAu#r4V>|gX4>`79Wf7-V6;#wD$#yi}G&dN73G; zQl8Sw8)g<-nB(O*d{kG>8HaOLj`v=r$L%J0!@A?=TyL~?n6kjTr@4-NcxtWpNvd7r zUC)Epc|%w_aFaLK#^n7-M>&Yw>^;p!m(Yzr;eDRgANNM-?wEHyOSt^TvyXg^exmdv~@5B7FZIyjx5^cyC4fp|9TS==eY0<@EKdH|TWVy>A!*u*~@^ zJI){VeXRcFT~FvSH-~zf`PfpW*r$>V#XjXc+RVpDf{=6E`Yp|=dutyoRX^rPXnrf7 zVur9_n1}|p^FhI>5X7~Q`ppkgXgePrt(&{H_jzWm!<7|2KKZ!0m#ku>)WzGUOyFnm zJ0G8dHd;qI+M4cDuj8f^r1@yw+9W))qfb98K0CnYgfRt<^nrQk2%pRJd87{jJ-ESA z)+ir{{mZ2mRF%B)0IeM51L5LmA7BGJM)gJ|Y@E+|@)+xbctr>VaS^9^&v+kfla2Fm zvh7n3pw-DdpIp%WCDk%JE}8FB2!Ylr{7tKwTeZ@sL946jb!q}0wADUOp*G&=^H3*A zFx%);O1>L>D)~f)&mOHXrIh5Xg>t;dzEq$-hnb!E{O)KAXWZ23V=Db2)yrGTn z3V4rq@P*|0ql51mvW~R1Auk8t3O?-U3(19m`%;dF?@8QnZ7;@W?!KkkFmbA zMxPnx3x^@08dI(IZDg2n6+mkrF_J=GVq;}qXI{xj8gsWByX^R1!}9Xe*(Ke@p0b^Xs2h=sZ9>w&GJ0}0OWtI3P@AnTZz}>-IQTc z8kg^TNia?~q-A-&mjU1SF4E(fCB9Ww!rI(?vmN`?`?~2<)HTdlpR2x)wLl6>ulp_) zi*98+@s;wzhrU~|%?NE}ev~I2qvLOUK~%)NlE-V`3w+~^?-z4;(fdLbtX(|Ph7S<) zTO+?qs3fh!mcGl}57~sR#P5M_MbudOo#($LehsknLoh=>hZ<*57dt=T04@A3@^Cx9 z4KSB-_PeeV2tIN00~=-5UW6;d5L4Sa`IYFZ9!2_Lro6|+50aocov=#ePmJ0_y(9gU zT6x*MaKCE$8s^tXsxZGYUJ&W$01nh#6EuE{_p8EvE`BsgO8IeqrL6&0Es_o_on1=~@Ux2InqsZ^7mgyM2d<7VG zg?=F12_~_(dW=5Ko+W-{2sVUYr{=Wew%=VXLVNL+Um+5>j?v3)c={c`3^0SuCqjC7 z&ks?Ckgl}4=XaKK@B6iAuXPOBnBxz_ke`0Qr9gM#%_4sQipz}ri>TPp{~~g}aLtO- z{KMEkqb(0r`2W(34hH!nm=~PtuBiNhZ6dTKw^09L>J{QIm`>KNS%K?R`y&+6wkfFb zo@_=fqWs}zEzp}nBmGOMXM}$P--`0T=%K?)mX8-20Oz_vh(6B$0{58UkLO1KV|l|& z|BjBde~Yyi5b3N7OjmfN3Ty@Y^;<}|Qt0JaUmDWLZZ z4>5Un52)8skh^sYC}V>j0pk$jLb=4L{R4XI3l-d!%d+UxkN`a2f?$97-~beR2L;q| zyP*MvMs#p=fc6mpv20X85%(Ay;O zJmEk9Ds~lz1FG;=d9M!6MqG>ILkcV59Y+GXn(&R&0Yi{c_xFbx39LtCp_)9RoSbX|foR5AO4!>r5RK24 zf7>VKAFTti{DBECp*!UsCY0zH2%e$P1fh>ZAetZueRJQuHaBHQMPRidmAVC9rFX7@ zwIJYbIobR)r+NgU&d_1eP(T(@fkh;Z!nd>>p$(!%HZ&nJa4(;Y4n#4@>Z`FCU3NyH zptfUR9z9JD#J&wOA#d&!7-@kwC3*G=wCd}RL2Auk`VR=arz_*H>K|ARxGPYE-UX;2 zvH!ThQW;$0QUceb1h4^L&?*Ow)&~~yi4B2hJrJI^QB3bP1->9vM0_UIZwk~>W6#A& z`SIq!IcDUxKd^=d?F+mhI!o@WMN+mt5Qqdw%L5I&?4k2@fwt7CHn4(k*9A&U(NPrRtiKbe2d~|SfoP)l zAh1YyV-GGq!e);HyUWPVSapTsj8t{}+*lQEK(EYIs4)n_95-`S316~Mot5i633~dd zz+3fJ)g5r~RawyI2o;i1A+oY;sp3);-1#{h3mf(VMeDO_gG_=s;RZ4Bau5zrZ zj7N@FZM34s`Km{{TthNnb&gUNsTyeMLRA^%EKq@XyBOot?!!-(sD%DD&L=mZzs(Yr zEgxR08fk_IR7|EBDkj^FDhMy2hUY68DtPq$xm|UQT5VU=a_J5gI27j&s{Yi4@cIXF z@~lHD)cu7T4bRS0Wq`^g2nV0Ds)B4;RgNd`%4@ZhD{@q~g)H;l)>S7dxJYG7y9#iz zg3z1$6sbm`L>F)X?XWJZQ1TSkZZ>I90g2Hvz>^=U@@V7(T!zrkj%^>QZtGLtGu3PD zRA)R>e!4PwG6tYQz;!?nRtvfZGtXa>yBadWUdhzc?OlyWbYu*TfBm9{GYQ7)p-WN z4AUp*PcgMo2VEjnXwYN9ctX5!O^gwLQ3o}*q&f1zXd#di^nlX$kQKH2z8-X-l%P_+ zk{V=W!DoLB+Gs?|fk8Fe4q!B3Ku`q=NfvbGk6owu^q`<0AS4UK;@PvYh3py|1OR7D z5Ny4LEo-S2twZUgNC;ClOQ+<37rta9tTxuRjd5hlb|q5 zmVOLEy1C#}5QM>hehG4eeEvsJElGc1`cMB1`e9DJEQ3LYwFs`IljgxUsP81Xn1dw2 zTUt@JOK>CAI|rjYFPK4ZaSevDLfErwn3!j@?hAK3Ur2zD{=aw6~X7R|2~L} z&tmcFU{JLj*9XJsSb#&vt_wcHrW=Co+UQu6=d*%OP*W!6!9FwiJWo0qJQLnS7jeZO zDubISf`60n@v7kV|C$_ax`GLu^8lp%Ic=AS>E`9&6FjOmINF*r@1#h;x(WW!o|6nh zAluNYSkhOwFyb8JkmHt|C=D5pMi}iw@+q%fNDaqy2w7_mO>b8TmAZ%23i<$T3Ez}n zyM@3!8f`Clw?_yt;Tb_8_jP8ByHp|Q>nAh;s|^e(<6glbp$6P9JVc?7LT%=2h)739 zhg9hrAZ&~ZDdd2dkOBJCKOy8iZHf=6WT(WC(}rA{7BURZ-#tSb$)!gKSR()WZgXLqH{7@;*py!VnqjnTKu#-Ab%Nn4W3sG;jfoE>7zIUIt7+BGlaBK?{ha)m$Ug}g@!b$=NW z{gRLzdR82Ajpvt!tcB^U06+bGE2NZcZiPTuB_OBgZ--PEkmg~?H342qoQ;yugOKB> zcFX<d4iN%UuTZa+T>2)&N}msW2QFq&@~&uY9u~UFkhaEzR?)@i(3_M|Z4Xn{*w7g$*$OE9>x9rE`Whb! zF>J317MzEU7B1EHR_GS6`x4H)g>DK(7APSSyv|W^U?-23+B-27)8Fl+%wBQZq>B)gRDg zAVv*949$)$I5A$`%Y=udt7k!HHgFpFU@G_hG@^?dGuac1z`IWBa$4I(T}htZ)c19m z#PF_a?2FyiUs{NkQiOqMA|;GbOUY!kx{CXbQG@rSZ2-}(L}o^Pr=^|~vWAFksSg2|s z4U^~NTQ&>TU&Zv-YV~cMB&YdmHCk@2QKOabdNm;Lb?RE$x>k)o%Nx{SI%t!OIizk7 zxShy!Gt?#AW0U%p7<=5$w!@`lxkp`wKAbpm?H)A>^o0l2%VAt4*hbi&R0DC{I7>o3 zvebF}{-pXDVs0=k`AngDHXP`LIHcWW+*7|x>RUR&Oz!Y52WV6+CJ&`Hp$4ixul4`n zJ+*2S1D)^SgIZUtF}KyZV7(o!ayv}xVOR?8k7%H|l-k@?qu&R*&M|CETZ5J*^1zG! zLOli~2ti38`GE5|zgJ&_lw;24Bq_iApk5=Q9)GLvX?u0h@{gDXVQ66fsDVtK)(^Wv zxAnprc!5C}!V0a;&=Je9tCZfilND9F&)Y%2TZSpo4q6tfaw@zG~gqL>?>#aw5-NKsaW7n{AOx?pyh@c{tAR1h?Mr*uuqdE*KY3KrZ z-KDVohHTmxrYC`Ls83TTDcyP!mP2nI;}e6Qg+a%Qz@K(M#fi`iV~ahXG7E123^YcD zbvL`05$d_&<+Ru$yo}pQ!ndKF78KolqD8np$b&*!yW0WH9%|*`rQF{!d@mU7*V`j| z@C*kC5sSp!Q`$O{%00tvd7*cBY760XTG5~xpHB#vfd(R|7fXAEgS;sasz3c2p3iG~ zhyQBKjf2BO(5dG*K7W5?_&Gu9QO)~*3!kjVqOsv;4G@LN=IlVh==X4tx&NEn%859& z7JhBDV;_3QO%9)FLi6W@0{|5YJ{7aWh33zZZ7|`p=Z4GLlF82SI~4fmM#=iS&&1^M ztbaFpw*v(Co!i3^Y6{N$p|fFL|9xjTp2716dso8gwg24Q2H2%yXYRIU1ns}@|KSS*TIX$6i# z7A=vYpdNwc>d^0!jF~-*X*>5Mif$GGb}`!I(1FAIj*`eG;tO4}jkrwz*hJtdsaj{j zhg(Fzidoh&0vC)>5TI=Y05-uR;FVeYHqLAnu}0ul_Wovj3f)2@Yyn9|fS0t;(SqN} zBP=lk0_*;%R|Eu=4RGr*_ll_EV(*Bv7Mv6jQ3tP$H=W@=oEBkg!HvBmB(3Sf)Ci%g zZrYhdDa`$)`)JqH2rnxBEHmIE(;`~6r`+@tR1vhtn!)R*1MwD>Ej|e&HgTf}($0D*uTc(+29*GTFSUKCh`W?27mXY~% zRT5bb@Y1_UuQ@fBM3xDfA`8y8iYzzP2|Isj6M2EAwT`SM`?isFl+!*EChP4Yuai~m zWD8!`A+o&zuXK#WE!BU5XZbB$R07?G{Yk@o0RU6 z#kAEk5}D8hr4@DZjx43gUXeFh?i1NhiW~}p>gKQ^Kp|pOQluc;{dg=kkHV88ZL!DC z-4apAPm&`iqAa#(s0F1Ak1U~{!y=#RJl2zsg_^PBh{#U*oH{zv+H(EBHb$nDJ~J{0 zX@T{@1Sy)nL?T0SK$<_5~SdxYCw=jt0J?lab=n|aIoleH!@L-NPPBecP3d= zq%9qI7Fo&xO_67e1bm$<-bSK+Rq`|P5&iii64H8D24wt*{PWD-s8*=l7)5EDaiKrs z+|g!KV;EJyQ;ehbz-L|@b%k1sqaFxP0^c%?0!LKP{7 zqH3{Jgg0(3pqy4wfNT#gw%~%+QL~J7K$w?9R0V~|qhMl^KOePm$EfiRI=xY+q^KgA zlo(aR*2z(w?F8iu0Mo%yW#m05>ZZ9`i1R-6Vh=HQ?ky)ceFN=-Y252aA{VQAM8nl z))Gy5Q5S7^acxvq2Nr*b@)RSDds8zTO<2C;uuu@9Fz{iZ5xlXMn9{=^QF*!zD0QTb z85#YEDib}S67L8*&i)y-!G@dLMuUI8RvKMOxh0zeFDvVGY#A!Fzf|BU4#yjFCG$I#jeAmuVc*+TD(4*91S&vP%lZdl>mR49DP;@D$2raxMWK783V*2aU)k| z(?7GKbv1QbI5WDCWwWC*o9X!Br`F+`Yu85C^Y81URZe(~-zE%($SXhkEFH^>Zqiof zcv3-htR8JI#t8F@qG8Qi9U$fjCD9RB5vTqR27ON#0KONa^U10vx`9%wqsvgrIui+^Y-eeI2zYL)7uq}CvNF}3n%oVC_6_bPFa7;CJvKUm*y7iOr?`>i_ zoA4gTm}SPI%NgfVAr$e5$pxzYRz5^ZvFcto(_-+z3YUYHdt&OZiOJ`$ zX)&`}P|DC4Krup}?IlBE%GrNdjMg=)q~kn0o;xlk0kF!{n0iq@rS<(?N)M*Q9KbV? znl(>K6Q3G2Rk|x2? zaCJ;R?s?5KG{g2?83mA4dW|SE|o!YuvHl=e6 zYQTcvLV0@XPFj#1V~eF_RZWKi^3TDag!%|+&c>X;i-!Hsz_k^1z!D5eS>r(^1nPanOpw}8i$#H5uU`9*$Qr)?Z3yA)5TeR^Jx6f z7+bpcJ*I&d|BU$|qw)5!muR6Z_LU%nv*L7l>@;B3L9zFBJLL^k>;;}19J>^1_^?&oI*c=}wTj*A7g zYi#Ug4jLbeZEfN2u@~v|#MoN)ogC|~PqOK;=-@mpwuJwh9t+-q;1y*L)WWf0X&WzZ9x`Qu>j_tErM{jIu^|~ zch|-yNvXIg7ENP>O3T;hvFI)KA{H+PP#G99^l4*8mDy`fk=dtMCEgVaayBvkgY5st zS+yqq7ygRPVxLd3hA8`n_q3oNUt>Wt5*iA+eZ`yx{)0mUf4AU!-(r87aH&z;@Rt0p zLmY@)R*E=~=>%uWV8=K-I5J}k{-lUYiqL_ie#7Fa5P9JjOa(Gd0+UAh%_13m5I>iEFzxOr#?@E?GscOM6Ez86Y121xm0)+oA(}%r!Fg}vnkhhAu%O-2c=Uysy&qMa7V&4v z>uFCLUTYWMpdjanc<@sWtrk;LWPBk>BI9dmMsz&N$qy4GlpPg+j?v@18ZD!G#@_-k zDD&A>L@#^9+lrdVJ7yTXgnPz2n_|VC>*!=d=7Zx8AQ-=rgz~ump!iauX9vW!gX8VQ zTsS8FKH3S+i3gc!cKl_Im>Yi^IvVUTG^<~L5q(_}UqJ1b#MkhdrSXhP$UZM@cq`(8 zR0C59QkmH)hIp^|&mGMBmuda)Kq+>Zs*2SNvX&d4%(Ao9zpqXUE-`0`lJp)1x z)7Ophw)`?99tFH^o8z0bN*da-3H^Y=x5V2RQmdWu=pe8o{yaa~8Lu{>BHQ^Wd>8iH zOB)Wy+mijE_!2&JIKBb3XTfxJ%!&9$Fk_biaP`T?d9_u)Px6dI^zBSMqO*UExQx(< zWu75haQvRO2uW9qt&wv!#-Bn86@MMEZ@59nJeFLGkGGdC!~pM=%Hdh3%2=wtj1ppH6 zwM)pNM{N@x>srX9?OAEWJK86pV45vYcp=7{F?*9wA^q)<0I{fh0&!cNp8$70{KM-46M$*lrZ%l6*pYWw0(^lC0FU=kC*;znumqGd(LIDKA`&Kw*d{t5 z0wgb?=Z#knjG#;Rgc^R(BLN&RNWLxjTJgnW?E`VlhNJ5PkcjgJh5~k{DUynN@6ClqF1GM&a zL;~_|A;~=dTf#GtoBxMr(DL!Pq~qffF0p1p!c|ie%}#i&BMA7;O1MP*)S(joF*~8! zM%RpL=SGa@KXemalO(%o`o;uX9+{DF(U3p?ku8(sQ5)Dx|S{2j1jH*j;(eA|wxA;Lx!Uu3Cmi}hJV=EKxwZ>z$ z^ym6K+VKqc1gIva@M*#+tQOY8fusz5l8}qIQDr;@R@l!Ip0nSJ1ZPtU`j~K@djFO1 zuRKWdcS1W$vM@}1DHMP#DA*toblg8$qTp+k*Z~RE%>h<$FB+FgrzMGK1!kF8jm_|A z^?+=iW0kl>XVd)ECb0}Uz9nfLvM51{j}_V`UgzG@#AYZ~wMl#=xOZ95jMj;#xp~{f zJxIuZ^s(R_UWvb$V6^ee2j*k%PF!v)I6EQH81Typ+SV}S85p`98L&?j!C!R5c-aiozsRGeW(>oD#_CASteFTARPQOHyP6WHI>wOci2{|f+ zrTr5ZSyR&l9J0lP#Cqn5iKd7;rzSQ~$&^Hx#|b{x^QR^D?m)R)6Km=ImPDW+UeQ>| zidTwx&mW1iQIryl+rAx2G?X%0j~w@;LGKfn(Cl}K&}E@9B!7LMcnWn3!LMrVN1S=i zRg9tFufz%-_IKhS5pDjQcpZ7>56@(#1)mdbdEA%8Py^k{vhqjb73$XxuS5R##8U44 zGcie@$LS~8HK%lE)L_R;lc0yROUfsOT~Zw_X_W*E;8;C`I6k&UbSrhSDb=)0%ERF! z_ew#DHEz9^9or;Lv?J$$B$#2n0xb8tKaR24FR2E>;7iTu0EFL%S|B9`NGqgyW7&p|zt-h##a37e(`qc1IthC!=wMx-m(2 zkO>M6Bf`$CKLSuU$rhCSq-)%DdQz}4O`MF2j+QWVK~h%~8U%Nvfh&?g zv0k3EiQBDAnrns<)VP+sW^+>S09^)G(7Uae?p#SKr&pJg5PJT*+oCvCoAkE<&%Bn@ z+nmomPRbN<{IewNfji^++VIP-Ng2Rb^pfFFB1(Rart_#(=qJBH=ps(OP9Y}A@T?Xm zA8SE_WXbiku0wJi2ihl#4d^drawEx<_+^A5`GJz;dCD-ze zpyWVsC4^SkAEJ|y`b8%+@1FchmpnIhORms%$mLxCn69baZU|}g~p)aLh2jR?Gcju$3NHGOZ9)6To4^4)v(O_JrzUO5hTxD2z^sUjIQGi~6|bRL&yaXz_*k6%ds9RaCOqqeI_F2fF1TQs|n9#&({ z1pJDh*Cbytpa~7h#k8{?w<)JC`8loDi-e<^`6^II8`QI3) zkg@QmPsw?Pobe-hx;y{rmNKY4wMk7u8YU=r`lO^3W@}QWpxV_vrJkmAOS#R;9x279 zbb28E|7<`?4fzg9xj=mfr!>&wK`Ga@0O7`ADFD8OJ5W0`keRIkkB)!jmfoc7Y6q{z$>}1MS^36(t6!z&V zT;jveK$n|e#j3gu_*QeT82 z{23hG{|xo)n`%q7y;GrS@0VI^OCKktmXLT-DpsL&AO~rifrg&$dz>dsNsTw)?K4xq z8)L}5&0(XYT8!^*U6^`LhqLrroC;mke?A$_m!{@X(2~>|zO*zIYf{RJ)CT%}dFnMb zT9tYLZQliM?~!7??Hsr@Rf3fj4Fbt$XKFFU?MS_+ZM5=rXX;?!96}KABuaz^sz*|F zxhV}ll!|~_xRWg_y$Y}%41IA!nMWl^J_LArqq+Ewj6&d z^{oMY&PlDKz?{?)zIZkjnWB~J6qr|B1gbK)JT)6jZsalOT$JTFlGcmHr6N@(5fxI{ z%rICPHKv|4rN{SEpOfKzT>X`i309o z($sO+=9;CZbgZ4GlJ2(ET&79wHBgm7JjJOp4J3_P7NWhAM&>}RQZ+RcouavhUHh=B zc|PyeX!_|>O()F@p>}FP)}1u@%$+r8dH^8akZy;~G=*2a<^uJrF$D4S2`Y(?2cYeR z7LWO>zXqaK^uFUYgES#PzQ=3YqaDi19q4j6E8L7u%+y@cI{DDU8JaWv%WO>|*e+;W z$g37;V8Vw%UZAX2J0LoE8g+nF%W$n7&M%d4z;cbXm|Jet!1z{M`kSHbF2=L30Tw6p z8w)#Qe2B(w(%ACw&6+Fdz1^*!m>Q33u8`hw%|!}2rm5t8Cp7a-=vxjZLyHas=4dMT z-dW8lW1$}p9^aP`^hK0uifCvlzO$}G)5t%|G;p2}mR`1O)PMx7ZDORpp(&@4*EMDQ z`G&@?C4KmS32^(MInQVR($tFKG^wegWj{26XzE?QtMp7@8tLhZFxmQPH-*umHPpox zHuO|44GvBQX%B&#qa57LD6N4qJH#5&WW%&8h!@w27D+kEIBkYCEpM4tOoeu7HKH<_ zYc)g416!p{u-9eUC)8;uEeihB_d?T3cwt!Db1`1pIrn|+C_ORlr06`o`KUNe_K9ie z0-cnmwqWZXX?dpFWS>tAOv^>v6$>8;{W>F!vG@y}!^mSm%3gAuk%nrBkmKE*y2OZO zGt+vu(#rRGZ%V7vwPnA&&&!n7Q(7K-Zce-2UYqG;*u@#~!?S6h5NQZfi-O9u0=jV_ zt&yi)OlvR@J=kce&Zn|k92|O3G+b=}M&)@W4Y;0QIMDlYS_QwTO+$s|{_Qm6vb`pV z$?0}l4wv6ai!q@;pW>4yPt)FW?X$EUhCqqio&n{}{!Q9t-5t`rPRpaQuhK5_yEkc9 zjObn>st9@2zYZd!&uLOB`5S}({5h>j+YUwXIjv5hxbWLAX{}^*r*(RhjxW-(b$U6U zYm@$q75#KihiR`A&5^t!_w3@4 zwe9;V&(RX5lqS5Bx;s)Jy_tK#m$^#NXm`JOj%{7n zh~l zT0ARtxWCNX?8!ErY;p5;rzdL)a;MT=f~~tfrHko4_Kcd&N+xjK$*X)is0XqZ7AoMW_Vnue}Jk`tLZnT=Ya;*FuSZukDz>pkH0!jFYpN)f%hwXmMSTbzt=%UDJI4H zyqiSKvh^#iwqawh&k+UM|0(XCVrGqMViz9u`)H})&^Dh%Bn$t_hwMn@SoUwneNHOS zbgGU#|4;g~By!N#UAKNp4pJ9x#07ib2P!O=Mu^&JzOJg+9%jcG0t}(GzWcsUEun+Z@wP7wf%lD#v)rk+L8C3X;NO(G`|*W zI`b43rAnX_@At`&_CT=A^b~rk{7z|NVXNQib9f!*f7Tow75<->{cHEFhWcCnnp07v z8<4Mx2ZjO56d^VV=$($r^Hz3B( zg#J7!Tx7v-l^}=;P8`P67p3zNnj5@S4e@2c^OR6g8N6lYzu=NG#OH(U3^;=9=wE_k zH4y(Y*l8s5BG{Hzu-@`bBVaLU`7Qe3k4#c^`7e(qb@rENYCh(ySf0jKR!jILhvAsK zeBC(g>Rhg(k2Xqk4W|X7{S#k;y9OaDdf09oGS*r?sK&9dkl$vbraz?1lJzklS?ARd zi?I-V2+>Y_9!wAYNBhKO;ivpzJ>l#%In z8KCr=&}I=nUJV_m1>FasM@-SDEPG4ZF!o+v)FPxn!r`(K5!2lx5J6>}%!)Ed*rs5- zlWc+pX1L0}6XVYy*%m5tShZ|rtc-%LDAkfVnm&@0V-e=c5T(kd2&w2H@07*`Sep@PI^}uw&Zz%RJ0T2QMdweQ%ET;IL)pEOA;H zC=OH8!G@Nw0;j=iVb^pq_-mNAj+{k=$M3^FsL(OjVAvzU6~*u*n(UAp0Ze$|@4WCh zFnkY1CN5Q{5qDVlJ^II3Qs$C3!!;0A93C$ugw>{G%~8ZQg{OKESYv!Go-l=9!w)Y& zhF!#db7=ZU?4?OcOhhlSCs~|oTt$Sb60BLKc(?o`kL$@RD@R9pC;soUm zkh&grA0y6t(HKgW(@lHJGxEUnW4tW6RfJ6k5$c)sU$;YxkU#$BD1GL z?`CAbF4p`J88ZSG)uWax5v-%lC;K2hVN|ZE+_!wuuhaNgV-qz@6^V{f`-kDhvZ#PX zRKPmgubU13PV)Q4-6K&?30C2)7h%`QsLx6$J{Q%Y2&IcrPHGtSeH3jOrTbA=vGqYz z=y=ANS3v_*?G-cCAk|;7q?N`THkam05wUm0GLi-7DHBL$q0Ur|tnb4DgP0jp z5aAWmuDbSGm@;$ljS-(ojEh&5C&1x(P)y`xR^vpSF-u?>-4Y`bGy9%XNY%~FG4JKx zF*v<7hIW|zR5ANHrjzCNERUqq^U#Hu;{wbbis>ZA0Q83UR%(Wpv{9lE_Ur?vfe2ro`FLW0DHu zC}_4Q&cy(!&)Ib~t_R6ePV(4^*S0)ITkK`~KM(AymwM;p6eptdeoyOHWyK zHhd3WYiHOSazw0WZ`yaEc47uKDt}MTFdmLi?imkNaM~}!&l8H!uuwYJx0lGuz0`O|vI%v3;t)Yda=h;caIK1|l%BuNffce;uc!{swwxCnEDlHEeYgeh8aS7@I zj|_@K-nHtc4bmU3`o;$8dO1H&#dAmK&`~J9U_q=61z$ zil&a|x!)LIq-Gv5yyR{KbM*80V%SW`+cO+zUGt)Ow0~wbO_xIKmS;>Wn3gq$1>{-l zz&Igq(1kn@o_kG};@IvyFFo8oo9D*^|4QC6{eLAb8gP7)M-+~+%K1ck%~H+ZriypM z{H1K?7urUb$GnmG0rv6%IvV`)Bd6hhbAG4+3AA=RbtKc}-TAw4XHR|$&177tBM&^3 zf14~GSth9Xcs?fp#?=$~cSfS+*Zln&^mBA^i!t#{{s~*A`(m{Szl6il3mfuw>M&L|l_r4^jw(`MJobd;brzo2^@N6j+XTHvn+=Y0i-)p6x$ zLB}M_dt0zA6t{c}PftUBbKxEpylO9WaD>v0!T@u){9X99I_|0z-B)K>q!gQ>U9`$@ z(7Gr|k+%5#eIzT+cser_du@vXHHgTuN{UZ2ipCkpA-Tc8qSYEmUr`jc7<={=ksy~j zTJ%49jbwa|q66RFpL*Q7F>dHCS z_!XC!sZxVA@n-W52&zk5Ser>2kU2G!?9j)hZ6$9E&~mP1k{S)h{wUO-HE^|L$}BmS zi`%-TG9#GTmoBuzd|B!HQCxL6v7&Tn6n@`Pn&ZN8cAZ|8zMx_9zZqTmd&NA649m>O zq2!+lGxR2utua91!m_S0G!ea98cyMbX=T2&N-N5K9S+6bvJM5L^p*9Q%TZIPUnu)S z3rB{^R%vit!Lg6aQisv2|L$D71kA^>-IJ+XbD!$H4?_;CO;_RW?$u9OMFIgvdx?g= zx=QjNREsM&Rv#6~Uk{QVuP#@^4=+}yn!;LKZcip`tQqilX*tb0hm6Xjb+{_Q(6+qK zgsuk7DXnxhc$IJC;n%=&RX(mqmY+97YDsy80xp-8`%0m`zC544t1;CFS-Z;@P55GP zcCUQn5)O89v92)Si2QJ~t2jv&-9K@*;7_fHp9ufBiflSr#Es-%rW3)($@GePL$1eP z&{#ozN=#P;$%ajfJ%`~$H|0)IX-m$d62`f7Z99TbRQwbL-ndG8C0JNjzOg3usxm%> zR1%fp$Cyf8DKP?%8P`hiw74>JH1*e(ia2$@dc1^Ah5(%;0wDgb-ekra1k=T2R1-wB2dkRPR(R!KGcbl_oCy$J zQu9H|)L)@va%or1WCCt!3X0{uH8ejk`8kQIYuEM4jK(={P2B0P*-*<(Rih@=+L>_6 zAlau@(@f5oP0p^(7SX+iLX-W-sjk)2GCD zCSXY6UY{6tFKTIw=Df3s_y&K~x{?RIuc z2OcZxN##BBx;-B^66@cYVRvJ_pOSo}6dzfq4ywS$&4$)ceWw_;&+3VUOTN|Q8~k;+ zE)3t+&o{&jaYKxi90*0FbHis*icLgjnalULbmK=z3@PhMp+>|v^!Clx~D}-WH<7SGy z`gi);mC)#SjU<>Xl?_f^gJKlYYpUkKN2@7R4<)0Tu8)@w`!Uz6No@qRkaaVJr}1}c6Ls|W%bJ7^?70{3cbI8B z+%yceN1Et*GCSWCt&910oAO3ti&8U5(b%aq7W0}P{pT~ugPF8BZW)%uG~ctsr>^Eb z`m{bKp6omh{{zk6IC910#p4dUuDlk_dHATZmF1r*(asxpsyUp08Sa zbR`ELu6wn%*%^{ajFBztKuxtXq7DPrT|ECP^M}@j8}j!Ve75 z>$a-5_OkVS(gM>X_}#8mV9NQwobhhud7*Ag>jq=aUTFA**5jnNV*9-_L#-|Jbhy}G z9_HO?eJA0ptxeyyE;eBcb3PG1+H}mQ)`}9sZE9PV22lm+G?~{{UyasA4Z?sjLo4G*?!P{H^=DUCAkxBsYu zfnVFR6!F`W_L=(l!0V8iV}eyjfG#3tb^M|U-DMp?Ud)`09ar(buY>wma^d6yn>r4R zgYAuuO*S~9+Sx{{oAoeTIIB~`gTtk!GQE-?y2*EJX7>HT#Lv}joahn!dI z4v&R_(fXJA4C!`+_}g)P)tCNs<)Za^T3r7X9_WJET4B8Vq;TPb0befLK*)>@0C9Dd!8DR(<~jF5@E zxo8hI26yx3A!TFt(UB}0mAtb1UDo0Fx$fcGT)ngTcDJfFWdk%P_-D|9bvwFRu(^%Ys=yTDEJjQrv zxjHmGd#kJ&(GS#IXP5L|u$6Cw@=@r;C~W*>PGq_IvJ9G--`N-=MeN&+4kMAH-#48e zBavEAY1~J}|89rA0ZmMw(SySdXU)}|9`|pb$?EU;IBGHQC#BDfA6Ov7mgxfu zx@1Z-;KReW{sYmL&?p<|*Jn*o$pxi*U={gg3=Hrmv3?K&JiIfYIGj5hzW!@K#RT=z nO}1Jr>51M^PqGSA5N5%{4vS42#&X(UM~_XVLde25eH`_F53 Date: Fri, 13 Sep 2019 14:46:09 +0200 Subject: [PATCH 37/45] Update migration dates for v1.1.6 and remove testing code --- .../bisq/core/offer/OfferRestrictions.java | 2 +- .../dispute/mediation/MediationManager.java | 2 +- .../pendingtrades/steps/TradeStepView.java | 44 ------------------- 3 files changed, 2 insertions(+), 46 deletions(-) diff --git a/core/src/main/java/bisq/core/offer/OfferRestrictions.java b/core/src/main/java/bisq/core/offer/OfferRestrictions.java index f51466b3c2b..d7b64580bd5 100644 --- a/core/src/main/java/bisq/core/offer/OfferRestrictions.java +++ b/core/src/main/java/bisq/core/offer/OfferRestrictions.java @@ -33,7 +33,7 @@ public class OfferRestrictions { // The date when traders who have not updated cannot take offers from updated clients and their offers become // invisible for updated clients. - private static final Date REQUIRE_UPDATE_DATE = Utilities.getUTCDate(2019, GregorianCalendar.SEPTEMBER, 1); + private static final Date REQUIRE_UPDATE_DATE = Utilities.getUTCDate(2019, GregorianCalendar.SEPTEMBER, 19); static boolean requiresUpdate() { return new Date().after(REQUIRE_UPDATE_DATE); diff --git a/core/src/main/java/bisq/core/support/dispute/mediation/MediationManager.java b/core/src/main/java/bisq/core/support/dispute/mediation/MediationManager.java index 592ff3fdd55..705a17ff5ef 100644 --- a/core/src/main/java/bisq/core/support/dispute/mediation/MediationManager.java +++ b/core/src/main/java/bisq/core/support/dispute/mediation/MediationManager.java @@ -67,7 +67,7 @@ public final class MediationManager extends DisputeManager { // The date when mediation is activated - private static final Date MEDIATION_ACTIVATED_DATE = Utilities.getUTCDate(2019, GregorianCalendar.SEPTEMBER, 1); + private static final Date MEDIATION_ACTIVATED_DATE = Utilities.getUTCDate(2019, GregorianCalendar.SEPTEMBER, 26); public static boolean isMediationActivated() { return new Date().after(MEDIATION_ACTIVATED_DATE); diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java index c9907478b98..8fac2af17db 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java @@ -31,14 +31,11 @@ import bisq.core.support.dispute.DisputeResult; import bisq.core.trade.Contract; import bisq.core.trade.Trade; -import bisq.core.user.DontShowAgainLookup; import bisq.core.user.Preferences; import bisq.common.ClockWatcher; import bisq.common.UserThread; -import bisq.common.app.Version; import bisq.common.util.Tuple3; -import bisq.common.util.Utilities; import de.jensd.fx.fontawesome.AwesomeDude; import de.jensd.fx.fontawesome.AwesomeIcon; @@ -50,8 +47,6 @@ import javafx.scene.control.ProgressBar; import javafx.scene.control.ScrollPane; import javafx.scene.control.TextField; -import javafx.scene.input.KeyCode; -import javafx.scene.input.KeyEvent; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.ColumnConstraints; import javafx.scene.layout.GridPane; @@ -66,8 +61,6 @@ import javafx.beans.value.ChangeListener; -import javafx.event.EventHandler; - import java.util.Optional; import org.slf4j.Logger; @@ -100,8 +93,6 @@ public abstract class TradeStepView extends AnchorPane { protected Label infoLabel; private Overlay acceptMediationResultPopup; - // TODO remove before release. Only in for making dev testing easier - private EventHandler keyEventEventHandler; private Scene scene; @@ -164,39 +155,9 @@ public void onMinuteTick() { updateTimeLeft(); } }; - - // TODO remove before relase. Only in for making dev testing easier - if (Version.VERSION.equals("1.1.5")) { - keyEventEventHandler = keyEvent -> { - String key; - if (Utilities.isAltOrCtrlPressed(KeyCode.UP, keyEvent)) { - if (trade.getTradePeriodState() == Trade.TradePeriodState.FIRST_HALF) { - trade.setTradePeriodState(Trade.TradePeriodState.SECOND_HALF); - } else if (trade.getTradePeriodState() == Trade.TradePeriodState.SECOND_HALF) { - trade.setTradePeriodState(Trade.TradePeriodState.TRADE_PERIOD_OVER); - } - } else if (Utilities.isAltOrCtrlPressed(KeyCode.DOWN, keyEvent)) { - if (trade.getTradePeriodState() == Trade.TradePeriodState.TRADE_PERIOD_OVER) { - trade.setTradePeriodState(Trade.TradePeriodState.SECOND_HALF); - key = "displayTradePeriodOver" + trade.getId(); - DontShowAgainLookup.dontShowAgain(key, false); - } else if (trade.getTradePeriodState() == Trade.TradePeriodState.SECOND_HALF) { - trade.setTradePeriodState(Trade.TradePeriodState.FIRST_HALF); - key = "displayHalfTradePeriodOver" + trade.getId(); - DontShowAgainLookup.dontShowAgain(key, false); - } - } - }; - } } public void activate() { - // TODO remove before relase. Only in for making dev testing easier - scene = getScene(); - if (Version.VERSION.equals("1.1.5") && scene != null) { - getScene().addEventHandler(KeyEvent.KEY_RELEASED, keyEventEventHandler); - } - if (txIdTextField != null) { if (txIdSubscription != null) txIdSubscription.unsubscribe(); @@ -247,11 +208,6 @@ private void openSupportTicket() { } public void deactivate() { - // TODO remove before relase. Only in for making dev testing easier - if (Version.VERSION.equals("1.1.5") && scene != null) { - scene.removeEventHandler(KeyEvent.KEY_RELEASED, keyEventEventHandler); - } - if (txIdSubscription != null) txIdSubscription.unsubscribe(); From 690ceb013ec6d4f0516b8895156a9b7074ccf055 Mon Sep 17 00:00:00 2001 From: Christoph Atteneder Date: Fri, 13 Sep 2019 18:55:04 +0200 Subject: [PATCH 38/45] Fix typo --- core/src/main/resources/i18n/displayStrings.properties | 2 +- .../main/portfolio/pendingtrades/steps/TradeStepView.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/resources/i18n/displayStrings.properties b/core/src/main/resources/i18n/displayStrings.properties index 17e411bd28b..f94da2ab166 100644 --- a/core/src/main/resources/i18n/displayStrings.properties +++ b/core/src/main/resources/i18n/displayStrings.properties @@ -767,7 +767,7 @@ portfolio.pending.support.button.getHelp=Get support portfolio.pending.support.popup.info=If your issue with the trade remains unsolved, you can open a support \ ticket to request help from a mediator. If you have not received the payment, please wait until the trade period is over.\n\n\ Are you sure you want to open a support ticket? -portfolio.pending.support.popup.info.aribtrator=If your issue with the trade remains unsolved, you can open a support \ +portfolio.pending.support.popup.info.arbitrator=If your issue with the trade remains unsolved, you can open a support \ ticket to request help from an arbitrator. If you have not received the payment, please wait until the trade period is over.\n\n\ Are you sure you want to open a support ticket? portfolio.pending.support.popup.button=Open support ticket diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java index ec6f96e743a..e59c710ffce 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java @@ -214,7 +214,7 @@ public void activate() { if (!isMediationClosedState()) { tradeStepInfo.setOnAction(e -> { new Popup<>().attention(MediationManager.isMediationActivated() ? - Res.get("portfolio.pending.support.popup.info") : Res.get("portfolio.pending.support.popup.info.aribtrator")) + Res.get("portfolio.pending.support.popup.info") : Res.get("portfolio.pending.support.popup.info.arbitrator")) .actionButtonText(Res.get("portfolio.pending.support.popup.button")) .onAction(this::openSupportTicket) .closeButtonText(Res.get("shared.cancel")) From 457da44b0c5d15160fef012c58b8520bb5ca2f9f Mon Sep 17 00:00:00 2001 From: Christoph Atteneder Date: Fri, 13 Sep 2019 19:20:26 +0200 Subject: [PATCH 39/45] Bump version number --- build.gradle | 2 +- common/src/main/java/bisq/common/app/Version.java | 2 +- desktop/package/linux/Dockerfile | 2 +- desktop/package/linux/package.sh | 2 +- desktop/package/linux/release.sh | 2 +- desktop/package/macosx/Info.plist | 4 ++-- desktop/package/macosx/create_app.sh | 2 +- desktop/package/macosx/finalize.sh | 2 +- desktop/package/macosx/replace_version_number.sh | 4 ++-- desktop/package/windows/package.bat | 2 +- desktop/package/windows/release.bat | 2 +- relay/src/main/resources/version.txt | 2 +- seednode/src/main/java/bisq/seednode/SeedNodeMain.java | 2 +- 13 files changed, 15 insertions(+), 15 deletions(-) diff --git a/build.gradle b/build.gradle index a4a41bd75c8..71f8134c890 100644 --- a/build.gradle +++ b/build.gradle @@ -281,7 +281,7 @@ configure(project(':desktop')) { apply plugin: 'witness' apply from: '../gradle/witness/gradle-witness.gradle' - version = '1.1.5-SNAPSHOT' + version = '1.1.6' mainClassName = 'bisq.desktop.app.BisqAppMain' diff --git a/common/src/main/java/bisq/common/app/Version.java b/common/src/main/java/bisq/common/app/Version.java index 23d77913930..fdd518b4eea 100644 --- a/common/src/main/java/bisq/common/app/Version.java +++ b/common/src/main/java/bisq/common/app/Version.java @@ -27,7 +27,7 @@ public class Version { // VERSION = 0.5.0 introduces proto buffer for the P2P network and local DB and is a not backward compatible update // Therefore all sub versions start again with 1 // We use semantic versioning with major, minor and patch - public static final String VERSION = "1.1.5"; + public static final String VERSION = "1.1.6"; public static int getMajorVersion(String version) { return getSubVersion(version, 0); diff --git a/desktop/package/linux/Dockerfile b/desktop/package/linux/Dockerfile index a83194ca522..d36add77dbb 100644 --- a/desktop/package/linux/Dockerfile +++ b/desktop/package/linux/Dockerfile @@ -8,7 +8,7 @@ # pull base image FROM openjdk:8-jdk -ENV version 1.1.5-SNAPSHOT +ENV version 1.1.6 RUN apt-get update && apt-get install -y --no-install-recommends openjfx && rm -rf /var/lib/apt/lists/* && apt-get install -y vim fakeroot diff --git a/desktop/package/linux/package.sh b/desktop/package/linux/package.sh index e21645aecfc..27c5c3459dc 100755 --- a/desktop/package/linux/package.sh +++ b/desktop/package/linux/package.sh @@ -6,7 +6,7 @@ # - Update version below # - Ensure JAVA_HOME below is pointing to OracleJDK 10 directory -version=1.1.5-SNAPSHOT +version=1.1.6 if [ ! -f "$JAVA_HOME/bin/javapackager" ]; then if [ -d "/usr/lib/jvm/jdk-10.0.2" ]; then JAVA_HOME=/usr/lib/jvm/jdk-10.0.2 diff --git a/desktop/package/linux/release.sh b/desktop/package/linux/release.sh index da49a796a60..ea09a53467b 100755 --- a/desktop/package/linux/release.sh +++ b/desktop/package/linux/release.sh @@ -4,7 +4,7 @@ # Prior to running this script: # - Update version below -version=1.1.5-SNAPSHOT +version=1.1.6 base_dir=$( cd "$(dirname "$0")" ; pwd -P )/../../.. package_dir=$base_dir/desktop/package release_dir=$base_dir/desktop/release/$version diff --git a/desktop/package/macosx/Info.plist b/desktop/package/macosx/Info.plist index f3879f91e59..56f466961f2 100644 --- a/desktop/package/macosx/Info.plist +++ b/desktop/package/macosx/Info.plist @@ -5,10 +5,10 @@ CFBundleVersion - 1.1.5 + 1.1.6 CFBundleShortVersionString - 1.1.5 + 1.1.6 CFBundleExecutable Bisq diff --git a/desktop/package/macosx/create_app.sh b/desktop/package/macosx/create_app.sh index bd7c10bf378..f53c10466bb 100755 --- a/desktop/package/macosx/create_app.sh +++ b/desktop/package/macosx/create_app.sh @@ -6,7 +6,7 @@ mkdir -p deploy set -e -version="1.1.5-SNAPSHOT" +version="1.1.6" cd .. ./gradlew :desktop:build -x test shadowJar diff --git a/desktop/package/macosx/finalize.sh b/desktop/package/macosx/finalize.sh index 518a87c16d2..f4e5252e6a2 100755 --- a/desktop/package/macosx/finalize.sh +++ b/desktop/package/macosx/finalize.sh @@ -2,7 +2,7 @@ cd ../../ -version="1.1.5-SNAPSHOT" +version="1.1.6" target_dir="releases/$version" diff --git a/desktop/package/macosx/replace_version_number.sh b/desktop/package/macosx/replace_version_number.sh index 86d6ebdc47d..91891a39a86 100755 --- a/desktop/package/macosx/replace_version_number.sh +++ b/desktop/package/macosx/replace_version_number.sh @@ -2,8 +2,8 @@ cd $(dirname $0)/../../../ -oldVersion=1.1.4 -newVersion=1.1.5 +oldVersion=1.1.5 +newVersion=1.1.6 find . -type f \( -name "finalize.sh" \ -o -name "create_app.sh" \ diff --git a/desktop/package/windows/package.bat b/desktop/package/windows/package.bat index e326a121c02..8b63b422cc5 100644 --- a/desktop/package/windows/package.bat +++ b/desktop/package/windows/package.bat @@ -8,7 +8,7 @@ @echo off -set version=1.1.5-SNAPSHOT +set version=1.1.6 if not exist "%JAVA_HOME%\bin\javapackager.exe" ( if not exist "%ProgramFiles%\Java\jdk-10.0.2" ( echo Javapackager not found. Update JAVA_HOME variable to point to OracleJDK. diff --git a/desktop/package/windows/release.bat b/desktop/package/windows/release.bat index 2ef3f363a7d..b49ed2eb257 100644 --- a/desktop/package/windows/release.bat +++ b/desktop/package/windows/release.bat @@ -6,7 +6,7 @@ @echo off -set version=1.1.5-SNAPSHOT +set version=1.1.6 set release_dir=%~dp0..\..\..\releases\%version% set package_dir=%~dp0.. diff --git a/relay/src/main/resources/version.txt b/relay/src/main/resources/version.txt index f5cf416f08c..0664a8fd291 100644 --- a/relay/src/main/resources/version.txt +++ b/relay/src/main/resources/version.txt @@ -1 +1 @@ -1.1.5-SNAPSHOT +1.1.6 diff --git a/seednode/src/main/java/bisq/seednode/SeedNodeMain.java b/seednode/src/main/java/bisq/seednode/SeedNodeMain.java index 397a271b2f1..7e1975f4a96 100644 --- a/seednode/src/main/java/bisq/seednode/SeedNodeMain.java +++ b/seednode/src/main/java/bisq/seednode/SeedNodeMain.java @@ -34,7 +34,7 @@ @Slf4j public class SeedNodeMain extends ExecutableForAppWithP2p { - private static final String VERSION = "1.1.5"; + private static final String VERSION = "1.1.6"; private SeedNode seedNode; public SeedNodeMain() { From 9f84f023fa990831149ae308e6fe30072fc3d2b8 Mon Sep 17 00:00:00 2001 From: chimp1984 Date: Sat, 14 Sep 2019 19:51:15 +0200 Subject: [PATCH 40/45] Remove CapabilityRequiringPayload from GetBlocksRequest We remove CapabilityRequiringPayload as it would cause problems if the lite node connects to a new seed node and they have not exchanged capabilities already. We need to improve capability handling the we can re-enable it again. As this message is sent any only to seed nodes it does not has any effect. Even if a lite node receives it it will be simply ignored. --- .../dao/node/messages/GetBlocksRequest.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/core/src/main/java/bisq/core/dao/node/messages/GetBlocksRequest.java b/core/src/main/java/bisq/core/dao/node/messages/GetBlocksRequest.java index 081514982a9..d78ffdf37d3 100644 --- a/core/src/main/java/bisq/core/dao/node/messages/GetBlocksRequest.java +++ b/core/src/main/java/bisq/core/dao/node/messages/GetBlocksRequest.java @@ -21,10 +21,8 @@ import bisq.network.p2p.NodeAddress; import bisq.network.p2p.SendersNodeAddressMessage; import bisq.network.p2p.SupportedCapabilitiesMessage; -import bisq.network.p2p.storage.payload.CapabilityRequiringPayload; import bisq.common.app.Capabilities; -import bisq.common.app.Capability; import bisq.common.app.Version; import bisq.common.proto.network.NetworkEnvelope; @@ -36,12 +34,17 @@ import javax.annotation.Nullable; +// TODO We remove CapabilityRequiringPayload as it would cause problems if the lite node connects to a new seed node and +// they have not exchanged capabilities already. We need to improve capability handling the we can re-enable it again. +// As this message is sent any only to seed nodes it does not has any effect. Even if a lite node receives it it will be +// simply ignored. + // This message is sent only to full DAO nodes @EqualsAndHashCode(callSuper = true) @Getter @Slf4j public final class GetBlocksRequest extends NetworkEnvelope implements DirectMessage, SendersNodeAddressMessage, - CapabilityRequiringPayload, SupportedCapabilitiesMessage { + /*CapabilityRequiringPayload, */SupportedCapabilitiesMessage { private final int fromBlockHeight; private final int nonce; @@ -105,10 +108,10 @@ public static NetworkEnvelope fromProto(protobuf.GetBlocksRequest proto, int mes messageVersion); } - @Override - public Capabilities getRequiredCapabilities() { - return new Capabilities(Capability.DAO_FULL_NODE); - } +// @Override +// public Capabilities getRequiredCapabilities() { +// return new Capabilities(Capability.DAO_FULL_NODE); +// } @Override public String toString() { From 4cc636dfea0f269d9806b31b213fc885c511648c Mon Sep 17 00:00:00 2001 From: wiz Date: Sun, 15 Sep 2019 02:55:58 +0900 Subject: [PATCH 41/45] Fix various bugs related to Japan Bank Transfer payment method (#3258) * Fix various bugs related to Japan Bank Transfer payment method * Add missing call to addFormForBuyer(), improve BuyerStep2View UI * Fix Account Creation UI elements width to fill entire pane * Fix Account Creation UI elements padding to avoid overlap * Tweak trade display popup text and various strings * Remove @Deprecated tag * Remove unnecessary line break * Improve layout of fields --- .../payload/JapanBankAccountPayload.java | 11 +-- .../resources/i18n/displayStrings.properties | 5 + .../i18n/displayStrings_ja.properties | 4 + .../paymentmethods/JapanBankTransferForm.java | 94 +++++++++---------- .../paymentmethods/data/JapanBankData.java | 6 +- .../steps/buyer/BuyerStep2View.java | 4 + 6 files changed, 63 insertions(+), 61 deletions(-) diff --git a/core/src/main/java/bisq/core/payment/payload/JapanBankAccountPayload.java b/core/src/main/java/bisq/core/payment/payload/JapanBankAccountPayload.java index d33a37150d1..ed49cb7a75a 100644 --- a/core/src/main/java/bisq/core/payment/payload/JapanBankAccountPayload.java +++ b/core/src/main/java/bisq/core/payment/payload/JapanBankAccountPayload.java @@ -34,9 +34,6 @@ import lombok.ToString; import lombok.extern.slf4j.Slf4j; -// Cannot be deleted as it would break old trade history entries -// Removed due too high chargeback risk -@Deprecated @EqualsAndHashCode(callSuper = true) @ToString @Setter @@ -132,10 +129,10 @@ public String getPaymentDetails() @Override public String getPaymentDetailsForTradePopup() { - return bankName + "(" + bankCode + ")\n" + - bankBranchName + "(" + bankBranchCode + ")\n" + - bankAccountType + ": " + bankAccountNumber + "\n" + - bankAccountName + "\n"; + return + Res.get("payment.japan.bank") + ": " + bankName + "(" + bankCode + ")\n" + + Res.get("payment.japan.branch") + ": " + bankBranchName + "(" + bankBranchCode + ")\n" + + Res.get("payment.japan.account") + ": " + bankAccountType + " " + bankAccountNumber + "\n" + Res.get("payment.japan.recipient") + ": " + bankAccountName; } diff --git a/core/src/main/resources/i18n/displayStrings.properties b/core/src/main/resources/i18n/displayStrings.properties index f94da2ab166..fd0b5499238 100644 --- a/core/src/main/resources/i18n/displayStrings.properties +++ b/core/src/main/resources/i18n/displayStrings.properties @@ -2860,6 +2860,11 @@ payment.f2f.info.openURL=Open web page payment.f2f.offerbook.tooltip.countryAndCity=Country and city: {0} / {1} payment.f2f.offerbook.tooltip.extra=Additional information: {0} +payment.japan.bank=Bank +payment.japan.branch=Branch +payment.japan.account=Account +payment.japan.recipient=Name + # We use constants from the code so we do not use our normal naming convention # dynamic values are not recognized by IntelliJ diff --git a/core/src/main/resources/i18n/displayStrings_ja.properties b/core/src/main/resources/i18n/displayStrings_ja.properties index 535a49368dd..5a94f5c68f6 100644 --- a/core/src/main/resources/i18n/displayStrings_ja.properties +++ b/core/src/main/resources/i18n/displayStrings_ja.properties @@ -2304,6 +2304,10 @@ payment.f2f.info.openURL=Webページを開く payment.f2f.offerbook.tooltip.countryAndCity=国と市区町村: {0} / {1} payment.f2f.offerbook.tooltip.extra=追加情報: {0} +payment.japan.bank=銀行 +payment.japan.branch=支店 +payment.japan.account=口座 +payment.japan.recipient=名義 # We use constants from the code so we do not use our normal naming convention # dynamic values are not recognized by IntelliJ diff --git a/desktop/src/main/java/bisq/desktop/components/paymentmethods/JapanBankTransferForm.java b/desktop/src/main/java/bisq/desktop/components/paymentmethods/JapanBankTransferForm.java index 86074556a33..9cf82fdc387 100644 --- a/desktop/src/main/java/bisq/desktop/components/paymentmethods/JapanBankTransferForm.java +++ b/desktop/src/main/java/bisq/desktop/components/paymentmethods/JapanBankTransferForm.java @@ -17,41 +17,41 @@ package bisq.desktop.components.paymentmethods; -import bisq.common.util.Tuple2; -import bisq.common.util.Tuple3; -import bisq.common.util.Tuple4; - -import bisq.desktop.components.InputTextField; import bisq.desktop.components.AutocompleteComboBox; -import bisq.desktop.util.FormBuilder; +import bisq.desktop.components.InputTextField; +import bisq.desktop.components.paymentmethods.data.JapanBankData; import bisq.desktop.util.Layout; -import bisq.desktop.util.validation.LengthValidator; -import bisq.desktop.util.validation.RegexValidator; -import bisq.desktop.util.validation.JapanBankTransferValidator; +import bisq.desktop.util.validation.JapanBankAccountNameValidator; +import bisq.desktop.util.validation.JapanBankAccountNumberValidator; import bisq.desktop.util.validation.JapanBankBranchCodeValidator; import bisq.desktop.util.validation.JapanBankBranchNameValidator; -import bisq.desktop.util.validation.JapanBankAccountNumberValidator; -import bisq.desktop.util.validation.JapanBankAccountNameValidator; -import bisq.desktop.components.paymentmethods.data.JapanBankData; +import bisq.desktop.util.validation.JapanBankTransferValidator; +import bisq.desktop.util.validation.LengthValidator; +import bisq.desktop.util.validation.RegexValidator; import bisq.core.account.witness.AccountAgeWitnessService; import bisq.core.locale.Res; import bisq.core.locale.TradeCurrency; -import bisq.core.payment.PaymentAccount; import bisq.core.payment.JapanBankAccount; -import bisq.core.payment.payload.PaymentAccountPayload; +import bisq.core.payment.PaymentAccount; import bisq.core.payment.payload.JapanBankAccountPayload; +import bisq.core.payment.payload.PaymentAccountPayload; import bisq.core.util.BSFormatter; import bisq.core.util.validation.InputValidator; +import bisq.common.util.Tuple2; +import bisq.common.util.Tuple3; +import bisq.common.util.Tuple4; + import org.apache.commons.lang3.StringUtils; -import javafx.scene.control.TextField; -import javafx.scene.layout.GridPane; -import javafx.scene.control.Label; import javafx.scene.control.ComboBox; -import javafx.scene.control.ToggleGroup; +import javafx.scene.control.Label; import javafx.scene.control.RadioButton; +import javafx.scene.control.TextField; +import javafx.scene.control.ToggleGroup; +import javafx.scene.layout.GridPane; + import javafx.util.StringConverter; import static bisq.desktop.util.FormBuilder.*; @@ -78,31 +78,23 @@ public static int addFormForBuyer(GridPane gridPane, int gridRow, // {{{ JapanBankAccountPayload japanBankAccount = ((JapanBankAccountPayload) paymentAccountPayload); addCompactTopLabelTextFieldWithCopyIcon(gridPane, ++gridRow, - JapanBankData.getString("payment.account.owner"), + Res.get("payment.account.owner"), ((JapanBankAccountPayload) paymentAccountPayload).getBankName()); - TextField bankCodeTextField = addCompactTopLabelTextField(gridPane, ++gridRow, JapanBankData.getString("bank.code"), japanBankAccount.getBankCode()).second; - bankCodeTextField.setPrefWidth(30); - bankCodeTextField.setEditable(false); - - TextField bankNameTextField = addCompactTopLabelTextField(gridPane, gridRow, 1, JapanBankData.getString("bank.name"), japanBankAccount.getBankName()).second; - bankNameTextField.setPrefWidth(70); - bankNameTextField.setEditable(false); - - TextField branchCodeTextField = addCompactTopLabelTextField(gridPane, ++gridRow, JapanBankData.getString("branch.code"), japanBankAccount.getBankBranchCode()).second; - branchCodeTextField.setPrefWidth(30); - branchCodeTextField.setEditable(false); + String bankText = japanBankAccount.getBankCode() + " " + japanBankAccount.getBankName(); + TextField bankTextField = addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.japan.bank"), bankText).second; + bankTextField.setEditable(false); - TextField branchNameTextField = addCompactTopLabelTextField(gridPane, ++gridRow, 1, JapanBankData.getString("branch.name"), japanBankAccount.getBankBranchName()).second; - branchNameTextField.setPrefWidth(70); - branchNameTextField.setEditable(false); + String branchText = japanBankAccount.getBankBranchCode() + " " + japanBankAccount.getBankBranchName(); + TextField branchTextField = addCompactTopLabelTextField(gridPane, gridRow, 1, Res.get("payment.japan.branch"), branchText).second; + branchTextField.setEditable(false); - TextField accountNumberTextField = addCompactTopLabelTextField(gridPane, ++gridRow, JapanBankData.getString("account.number"), japanBankAccount.getBankAccountNumber()).second; - accountNumberTextField.setPrefWidth(30); - accountNumberTextField.setEditable(false); + String accountText = japanBankAccount.getBankAccountType() + " " + japanBankAccount.getBankAccountNumber(); + TextField accountTextField = addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.japan.account"), accountText).second; + accountTextField.setEditable(false); - TextField accountNameTextField = addCompactTopLabelTextField(gridPane, gridRow, 1, JapanBankData.getString("account.name"), japanBankAccount.getBankAccountName()).second; - accountNameTextField.setPrefWidth(70); + String accountNameText = japanBankAccount.getBankAccountName(); + TextField accountNameTextField = addCompactTopLabelTextField(gridPane, gridRow, 1, Res.get("payment.japan.recipient"), accountNameText).second; accountNameTextField.setEditable(false); return gridRow; @@ -193,8 +185,8 @@ private void addBankInput() // {{{ // Bank Code (readonly) TextField bankCodeField = tuple4.second; - bankCodeField.setPrefWidth(175); - bankCodeField.setMaxWidth(175); + bankCodeField.setPrefWidth(200); + bankCodeField.setMaxWidth(200); bankCodeField.setEditable(false); // Bank Selector @@ -215,8 +207,8 @@ public String fromString(String s) { }); ((AutocompleteComboBox) bankComboBox).setAutocompleteItems(JapanBankData.prettyPrintBankList()); - bankComboBox.setPrefWidth(425); - bankComboBox.setVisibleRowCount(425); + bankComboBox.setPrefWidth(430); + bankComboBox.setVisibleRowCount(430); ((AutocompleteComboBox) bankComboBox).setOnChangeConfirmed(e -> { // get selected value @@ -259,8 +251,8 @@ private void addBankBranchInput() // {{{ // branch code InputTextField bankBranchCodeInputTextField = tuple2.first; bankBranchCodeInputTextField.setValidator(japanBankBranchCodeValidator); - bankBranchCodeInputTextField.setPrefWidth(175); - bankBranchCodeInputTextField.setMaxWidth(175); + bankBranchCodeInputTextField.setPrefWidth(200); + bankBranchCodeInputTextField.setMaxWidth(200); bankBranchCodeInputTextField.textProperty().addListener((ov, oldValue, newValue) -> { japanBankAccount.setBankBranchCode(newValue); updateFromInputs(); @@ -269,8 +261,8 @@ private void addBankBranchInput() // {{{ // branch name InputTextField bankBranchNameInputTextField = tuple2.second; bankBranchNameInputTextField.setValidator(japanBankBranchNameValidator); - bankBranchNameInputTextField.setPrefWidth(425); - bankBranchNameInputTextField.setMaxWidth(425); + bankBranchNameInputTextField.setPrefWidth(430); + bankBranchNameInputTextField.setMaxWidth(430); bankBranchNameInputTextField.textProperty().addListener((ov, oldValue, newValue) -> { japanBankAccount.setBankBranchName(newValue); updateFromInputs(); @@ -284,8 +276,8 @@ private void addBankAccountInput() // {{{ // account number bankAccountNumberInputTextField = tuple2.first; bankAccountNumberInputTextField.setValidator(japanBankAccountNumberValidator); - bankAccountNumberInputTextField.setPrefWidth(175); - bankAccountNumberInputTextField.setMaxWidth(175); + bankAccountNumberInputTextField.setPrefWidth(200); + bankAccountNumberInputTextField.setMaxWidth(200); bankAccountNumberInputTextField.textProperty().addListener((ov, oldValue, newValue) -> { japanBankAccount.setBankAccountNumber(newValue); updateFromInputs(); @@ -294,8 +286,8 @@ private void addBankAccountInput() // {{{ // account name InputTextField bankAccountNameInputTextField = tuple2.second; bankAccountNameInputTextField.setValidator(japanBankAccountNameValidator); - bankAccountNameInputTextField.setPrefWidth(425); - bankAccountNameInputTextField.setMaxWidth(425); + bankAccountNameInputTextField.setPrefWidth(430); + bankAccountNameInputTextField.setMaxWidth(430); bankAccountNameInputTextField.textProperty().addListener((ov, oldValue, newValue) -> { japanBankAccount.setBankAccountName(newValue); updateFromInputs(); @@ -308,7 +300,7 @@ private void addBankAccountTypeInput() // {{{ TradeCurrency singleTradeCurrency = japanBankAccount.getSingleTradeCurrency(); String nameAndCode = singleTradeCurrency != null ? singleTradeCurrency.getNameAndCode() : "null"; - addCompactTopLabelTextField(gridPane, gridRow, Res.get("shared.currency"), nameAndCode); + addCompactTopLabelTextField(gridPane, gridRow, Res.get("shared.currency"), nameAndCode, 20); // account type gridRow++; diff --git a/desktop/src/main/java/bisq/desktop/components/paymentmethods/data/JapanBankData.java b/desktop/src/main/java/bisq/desktop/components/paymentmethods/data/JapanBankData.java index 89f0e4f0bae..43e37a6aeeb 100644 --- a/desktop/src/main/java/bisq/desktop/components/paymentmethods/data/JapanBankData.java +++ b/desktop/src/main/java/bisq/desktop/components/paymentmethods/data/JapanBankData.java @@ -796,7 +796,7 @@ public static final String getString(String id) { case "bank": if (ja) return "銀行名 ・金融機関名"; - return "Japan Bank or Financial Institution"; + return "Bank or Financial Institution"; case "bank.select": if (ja) return "金融機関 ・銀行検索 (名称入力検索)"; return "Search for Bank or Financial Institution"; @@ -812,7 +812,7 @@ public static final String getString(String id) return "Bank Branch"; case "branch.code": if (ja) return "支店コード"; - return "Zengin Bank Branch Code"; + return "Zengin Branch Code"; case "branch.code.validation.error": if (ja) return "入力は3桁の支店コードでなければなりません"; return "Input must be a 3 digit branch code"; @@ -822,7 +822,7 @@ public static final String getString(String id) case "account": if (ja) return "銀行口座"; - return "Japan Bank Account"; + return "Bank Account"; case "account.type": if (ja) return "口座科目"; diff --git a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep2View.java b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep2View.java index fe029f0f519..721983db271 100644 --- a/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep2View.java +++ b/desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep2View.java @@ -30,6 +30,7 @@ import bisq.desktop.components.paymentmethods.FasterPaymentsForm; import bisq.desktop.components.paymentmethods.HalCashForm; import bisq.desktop.components.paymentmethods.InteracETransferForm; +import bisq.desktop.components.paymentmethods.JapanBankTransferForm; import bisq.desktop.components.paymentmethods.MoneyBeamForm; import bisq.desktop.components.paymentmethods.MoneyGramForm; import bisq.desktop.components.paymentmethods.NationalBankForm; @@ -266,6 +267,9 @@ protected void addContent() { case PaymentMethod.INTERAC_E_TRANSFER_ID: gridRow = InteracETransferForm.addFormForBuyer(gridPane, gridRow, paymentAccountPayload); break; + case PaymentMethod.JAPAN_BANK_ID: + gridRow = JapanBankTransferForm.addFormForBuyer(gridPane, gridRow, paymentAccountPayload); + break; case PaymentMethod.US_POSTAL_MONEY_ORDER_ID: gridRow = USPostalMoneyOrderForm.addFormForBuyer(gridPane, gridRow, paymentAccountPayload); break; From 2782ae0e0e06c945f8119f460ea313c86483752b Mon Sep 17 00:00:00 2001 From: wiz Date: Sun, 15 Sep 2019 03:39:03 +0900 Subject: [PATCH 42/45] Remove extra field from JapanBankTransferForm::addFormForBuyer() --- .../paymentmethods/JapanBankTransferForm.java | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/desktop/src/main/java/bisq/desktop/components/paymentmethods/JapanBankTransferForm.java b/desktop/src/main/java/bisq/desktop/components/paymentmethods/JapanBankTransferForm.java index 9cf82fdc387..b40ff7c2693 100644 --- a/desktop/src/main/java/bisq/desktop/components/paymentmethods/JapanBankTransferForm.java +++ b/desktop/src/main/java/bisq/desktop/components/paymentmethods/JapanBankTransferForm.java @@ -77,25 +77,17 @@ public static int addFormForBuyer(GridPane gridPane, int gridRow, // {{{ { JapanBankAccountPayload japanBankAccount = ((JapanBankAccountPayload) paymentAccountPayload); - addCompactTopLabelTextFieldWithCopyIcon(gridPane, ++gridRow, - Res.get("payment.account.owner"), - ((JapanBankAccountPayload) paymentAccountPayload).getBankName()); - String bankText = japanBankAccount.getBankCode() + " " + japanBankAccount.getBankName(); - TextField bankTextField = addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.japan.bank"), bankText).second; - bankTextField.setEditable(false); + addCompactTopLabelTextFieldWithCopyIcon(gridPane, ++gridRow, Res.get("payment.japan.bank"), bankText); String branchText = japanBankAccount.getBankBranchCode() + " " + japanBankAccount.getBankBranchName(); - TextField branchTextField = addCompactTopLabelTextField(gridPane, gridRow, 1, Res.get("payment.japan.branch"), branchText).second; - branchTextField.setEditable(false); + addCompactTopLabelTextFieldWithCopyIcon(gridPane, gridRow, 1, Res.get("payment.japan.branch"), branchText); String accountText = japanBankAccount.getBankAccountType() + " " + japanBankAccount.getBankAccountNumber(); - TextField accountTextField = addCompactTopLabelTextField(gridPane, ++gridRow, Res.get("payment.japan.account"), accountText).second; - accountTextField.setEditable(false); + addCompactTopLabelTextFieldWithCopyIcon(gridPane, ++gridRow, Res.get("payment.japan.account"), accountText); String accountNameText = japanBankAccount.getBankAccountName(); - TextField accountNameTextField = addCompactTopLabelTextField(gridPane, gridRow, 1, Res.get("payment.japan.recipient"), accountNameText).second; - accountNameTextField.setEditable(false); + addCompactTopLabelTextFieldWithCopyIcon(gridPane, gridRow, 1, Res.get("payment.japan.recipient"), accountNameText); return gridRow; } // }}} From 8327d35ad5132cd0fa2952c89f7de2416aa42ad2 Mon Sep 17 00:00:00 2001 From: wiz Date: Sun, 15 Sep 2019 10:56:57 +0900 Subject: [PATCH 43/45] Remove bitcoin4-fullnode.csg.uzh.ch / 192.41.136.217 btcnode --- core/src/main/java/bisq/core/btc/nodes/BtcNodes.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/src/main/java/bisq/core/btc/nodes/BtcNodes.java b/core/src/main/java/bisq/core/btc/nodes/BtcNodes.java index 79057fa129b..88335b5e8b8 100644 --- a/core/src/main/java/bisq/core/btc/nodes/BtcNodes.java +++ b/core/src/main/java/bisq/core/btc/nodes/BtcNodes.java @@ -82,8 +82,7 @@ public List getProvidedBtcNodes() { new BtcNode("node130.hnl.wiz.biz", "jiuuuislm7ooesic.onion", "103.99.168.130", BtcNode.DEFAULT_PORT, "@wiz"), // others - new BtcNode("btc.jochen-hoenicke.de", "sslnjjhnmwllysv4.onion", "88.198.39.205", BtcNode.DEFAULT_PORT, "@jhoenicke"), - new BtcNode("bitcoin4-fullnode.csg.uzh.ch", null, "192.41.136.217", BtcNode.DEFAULT_PORT, "@tbocek") // requested onion + new BtcNode("btc.jochen-hoenicke.de", "sslnjjhnmwllysv4.onion", "88.198.39.205", BtcNode.DEFAULT_PORT, "@jhoenicke") ) : new ArrayList<>(); } From db62d0df0fb1f9e3fa48b7d7fb983286242f7c51 Mon Sep 17 00:00:00 2001 From: wiz Date: Sun, 15 Sep 2019 09:50:57 +0900 Subject: [PATCH 44/45] Update IP address for @mrosseel's 2 hard-coded BTC nodes --- core/src/main/java/bisq/core/btc/nodes/BtcNodes.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/bisq/core/btc/nodes/BtcNodes.java b/core/src/main/java/bisq/core/btc/nodes/BtcNodes.java index 88335b5e8b8..e7dbcba61be 100644 --- a/core/src/main/java/bisq/core/btc/nodes/BtcNodes.java +++ b/core/src/main/java/bisq/core/btc/nodes/BtcNodes.java @@ -61,8 +61,8 @@ public List getProvidedBtcNodes() { new BtcNode("bitcoin.christophatteneder.com", "lgkvbvro67jomosw.onion", "174.138.35.229", BtcNode.DEFAULT_PORT, "@Christoph"), // mrosseel - new BtcNode("btc.vante.me", "4jyh6llqj264oggs.onion", "138.68.117.247", BtcNode.DEFAULT_PORT, "@miker"), - new BtcNode("btc2.vante.me", "mxdtrjhe2yfsx3pg.onion", "67.207.75.7", BtcNode.DEFAULT_PORT, "@miker"), + new BtcNode("btc.vante.me", "4jyh6llqj264oggs.onion", "94.23.21.80", BtcNode.DEFAULT_PORT, "@miker"), + new BtcNode("btc2.vante.me", "mxdtrjhe2yfsx3pg.onion", "94.23.205.110", BtcNode.DEFAULT_PORT, "@miker"), // sqrrm new BtcNode("btc1.sqrrm.net", "3r44ddzjitznyahw.onion", "185.25.48.184", BtcNode.DEFAULT_PORT, "@sqrrm"), From c0563fba1bf690a18b35c9413f6f55e091443596 Mon Sep 17 00:00:00 2001 From: Christoph Atteneder Date: Mon, 16 Sep 2019 11:21:39 +0200 Subject: [PATCH 45/45] Revert to SNAPSHOT version --- build.gradle | 2 +- desktop/package/linux/Dockerfile | 2 +- desktop/package/linux/package.sh | 2 +- desktop/package/linux/release.sh | 2 +- desktop/package/macosx/create_app.sh | 2 +- desktop/package/macosx/finalize.sh | 2 +- desktop/package/macosx/insert_snapshot_version.sh | 2 +- desktop/package/windows/package.bat | 2 +- desktop/package/windows/release.bat | 2 +- relay/src/main/resources/version.txt | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/build.gradle b/build.gradle index 71f8134c890..62cc8d8a4b4 100644 --- a/build.gradle +++ b/build.gradle @@ -281,7 +281,7 @@ configure(project(':desktop')) { apply plugin: 'witness' apply from: '../gradle/witness/gradle-witness.gradle' - version = '1.1.6' + version = '1.1.6-SNAPSHOT' mainClassName = 'bisq.desktop.app.BisqAppMain' diff --git a/desktop/package/linux/Dockerfile b/desktop/package/linux/Dockerfile index d36add77dbb..c85a5cecbbf 100644 --- a/desktop/package/linux/Dockerfile +++ b/desktop/package/linux/Dockerfile @@ -8,7 +8,7 @@ # pull base image FROM openjdk:8-jdk -ENV version 1.1.6 +ENV version 1.1.6-SNAPSHOT RUN apt-get update && apt-get install -y --no-install-recommends openjfx && rm -rf /var/lib/apt/lists/* && apt-get install -y vim fakeroot diff --git a/desktop/package/linux/package.sh b/desktop/package/linux/package.sh index 27c5c3459dc..b0f24dd9673 100755 --- a/desktop/package/linux/package.sh +++ b/desktop/package/linux/package.sh @@ -6,7 +6,7 @@ # - Update version below # - Ensure JAVA_HOME below is pointing to OracleJDK 10 directory -version=1.1.6 +version=1.1.6-SNAPSHOT if [ ! -f "$JAVA_HOME/bin/javapackager" ]; then if [ -d "/usr/lib/jvm/jdk-10.0.2" ]; then JAVA_HOME=/usr/lib/jvm/jdk-10.0.2 diff --git a/desktop/package/linux/release.sh b/desktop/package/linux/release.sh index ea09a53467b..3ec4e1213e5 100755 --- a/desktop/package/linux/release.sh +++ b/desktop/package/linux/release.sh @@ -4,7 +4,7 @@ # Prior to running this script: # - Update version below -version=1.1.6 +version=1.1.6-SNAPSHOT base_dir=$( cd "$(dirname "$0")" ; pwd -P )/../../.. package_dir=$base_dir/desktop/package release_dir=$base_dir/desktop/release/$version diff --git a/desktop/package/macosx/create_app.sh b/desktop/package/macosx/create_app.sh index f53c10466bb..d554c879d36 100755 --- a/desktop/package/macosx/create_app.sh +++ b/desktop/package/macosx/create_app.sh @@ -6,7 +6,7 @@ mkdir -p deploy set -e -version="1.1.6" +version="1.1.6-SNAPSHOT" cd .. ./gradlew :desktop:build -x test shadowJar diff --git a/desktop/package/macosx/finalize.sh b/desktop/package/macosx/finalize.sh index f4e5252e6a2..55f3bbc417c 100755 --- a/desktop/package/macosx/finalize.sh +++ b/desktop/package/macosx/finalize.sh @@ -2,7 +2,7 @@ cd ../../ -version="1.1.6" +version="1.1.6-SNAPSHOT" target_dir="releases/$version" diff --git a/desktop/package/macosx/insert_snapshot_version.sh b/desktop/package/macosx/insert_snapshot_version.sh index 5f5e47ccede..32ae3811643 100755 --- a/desktop/package/macosx/insert_snapshot_version.sh +++ b/desktop/package/macosx/insert_snapshot_version.sh @@ -2,7 +2,7 @@ cd $(dirname $0)/../../../ -version=1.1.5 +version=1.1.6 find . -type f \( -name "finalize.sh" \ -o -name "create_app.sh" \ diff --git a/desktop/package/windows/package.bat b/desktop/package/windows/package.bat index 8b63b422cc5..9537eb520fd 100644 --- a/desktop/package/windows/package.bat +++ b/desktop/package/windows/package.bat @@ -8,7 +8,7 @@ @echo off -set version=1.1.6 +set version=1.1.6-SNAPSHOT if not exist "%JAVA_HOME%\bin\javapackager.exe" ( if not exist "%ProgramFiles%\Java\jdk-10.0.2" ( echo Javapackager not found. Update JAVA_HOME variable to point to OracleJDK. diff --git a/desktop/package/windows/release.bat b/desktop/package/windows/release.bat index b49ed2eb257..0bf7d7fc82b 100644 --- a/desktop/package/windows/release.bat +++ b/desktop/package/windows/release.bat @@ -6,7 +6,7 @@ @echo off -set version=1.1.6 +set version=1.1.6-SNAPSHOT set release_dir=%~dp0..\..\..\releases\%version% set package_dir=%~dp0.. diff --git a/relay/src/main/resources/version.txt b/relay/src/main/resources/version.txt index 0664a8fd291..75c350dd2dc 100644 --- a/relay/src/main/resources/version.txt +++ b/relay/src/main/resources/version.txt @@ -1 +1 @@ -1.1.6 +1.1.6-SNAPSHOT