merchi_checkout
Version:
Merchi's custom checkout step form
139 lines (138 loc) • 18.1 kB
JavaScript
'use client';
import React from 'react';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faCheck } from '@fortawesome/free-solid-svg-icons';
import { CgSpinner } from 'react-icons/cg';
import { useMerchiCheckboutContext } from '../MerchiCheckoutProvider';
import { addressInOneLine } from '../../utils';
import { currencyTaxAndCost } from '../currency';
import { jsx as _jsx } from "react/jsx-runtime";
import { jsxs as _jsxs } from "react/jsx-runtime";
import { Fragment as _Fragment } from "react/jsx-runtime";
function ShipmentPrice(_ref) {
var shipment = _ref.shipment;
var shipmentMethod = shipment.shipmentMethod,
taxType = shipment.taxType;
var currency = shipmentMethod.currency;
return /*#__PURE__*/_jsx("div", {
children: !!shipment.cost && /*#__PURE__*/_jsx("small", {
className: "font-weight-bold",
children: currencyTaxAndCost(currency, taxType, shipment.cost)
})
});
}
function PickupInfo(_ref2) {
var originAddress = _ref2.originAddress;
return /*#__PURE__*/_jsxs("small", {
children: ["Pick up from: ", addressInOneLine(originAddress)]
});
}
function ShipmentOptionInfo(_ref3) {
var shipment = _ref3.shipment;
var name = shipment.name,
shipmentMethod = shipment.shipmentMethod,
transportCompanyName = shipment.transportCompanyName;
var originAddress = shipmentMethod.originAddress,
pickUp = shipmentMethod.pickUp;
return /*#__PURE__*/_jsxs("div", {
className: "shipment-option-info",
children: [!name ? /*#__PURE__*/_jsxs(_Fragment, {
children: [!!transportCompanyName && /*#__PURE__*/_jsx("div", {
className: "shipment-option-name",
children: shipmentMethod.name
}), pickUp ? /*#__PURE__*/_jsx(PickupInfo, {
originAddress: originAddress
}) : /*#__PURE__*/_jsx("small", {
children: transportCompanyName
})]
}) : /*#__PURE__*/_jsxs(_Fragment, {
children: [/*#__PURE__*/_jsx("div", {
className: "shipment-option-name",
children: name
}), pickUp && /*#__PURE__*/_jsx(PickupInfo, {
originAddress: originAddress
})]
}), /*#__PURE__*/_jsx(ShipmentPrice, {
shipment: shipment
})]
});
}
function ListItemShipmentQuoteOption(_ref4) {
var doSelect = _ref4.doSelect,
isSelected = _ref4.isSelected,
shipment = _ref4.shipment;
var _useMerchiCheckboutCo = useMerchiCheckboutContext(),
classNameMerchiCheckoutListGroupItem = _useMerchiCheckboutCo.classNameMerchiCheckoutListGroupItem;
return /*#__PURE__*/_jsx("div", {
className: "".concat(classNameMerchiCheckoutListGroupItem, " ").concat(isSelected ? 'active' : ''),
style: {
cursor: 'pointer'
},
onClick: doSelect,
children: /*#__PURE__*/_jsxs("div", {
style: {
display: 'flex',
justifyContent: 'space-between',
alignItems: 'center'
},
children: [/*#__PURE__*/_jsx(ShipmentOptionInfo, {
shipment: shipment
}), /*#__PURE__*/_jsx("div", {
children: isSelected && /*#__PURE__*/_jsx(FontAwesomeIcon, {
icon: faCheck
})
})]
})
});
}
function ListItemLoading() {
var _useMerchiCheckboutCo2 = useMerchiCheckboutContext(),
classNameMerchiCheckoutListGroupItemLoader = _useMerchiCheckboutCo2.classNameMerchiCheckoutListGroupItemLoader;
return /*#__PURE__*/_jsx("div", {
className: classNameMerchiCheckoutListGroupItemLoader + ' d-flex align-items-center',
children: /*#__PURE__*/_jsx(CgSpinner, {
fontSize: "1.5rem",
className: "animate_spin"
})
});
}
function ListItemNoOptions() {
var _useMerchiCheckboutCo3 = useMerchiCheckboutContext(),
classNameMerchiCheckoutListGroupItem = _useMerchiCheckboutCo3.classNameMerchiCheckoutListGroupItem;
return /*#__PURE__*/_jsxs("div", {
className: classNameMerchiCheckoutListGroupItem,
children: [/*#__PURE__*/_jsx("div", {
className: "merchi_monster_shipment_option_not_found"
}), /*#__PURE__*/_jsx("small", {
className: "text-muted shipment-option-checkout-form",
children: "Enter your address to select a shipment option"
})]
});
}
function ListShipmentQuoteOptions(_ref5) {
var doSelectShipmentOption = _ref5.doSelectShipmentOption,
loading = _ref5.loading,
selectedOption = _ref5.selectedOption,
shipmentOptions = _ref5.shipmentOptions;
var _useMerchiCheckboutCo4 = useMerchiCheckboutContext(),
classNameMerchiCheckoutListGroup = _useMerchiCheckboutCo4.classNameMerchiCheckoutListGroup;
var index = selectedOption ? shipmentOptions.map(function (s) {
return s.shipment;
}).findIndex(function (item) {
return item.id === selectedOption.id;
}) : null;
return /*#__PURE__*/_jsx("div", {
className: classNameMerchiCheckoutListGroup,
children: loading ? /*#__PURE__*/_jsx(ListItemLoading, {}) : shipmentOptions.length ? shipmentOptions.map(function (s, i) {
return /*#__PURE__*/_jsx(ListItemShipmentQuoteOption, {
doSelect: function doSelect() {
return doSelectShipmentOption(s.shipment);
},
isSelected: index === i,
shipment: s.shipment
}, "".concat(i, "-option"));
}) : /*#__PURE__*/_jsx(ListItemNoOptions, {})
});
}
export default ListShipmentQuoteOptions;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkZvbnRBd2Vzb21lSWNvbiIsImZhQ2hlY2siLCJDZ1NwaW5uZXIiLCJ1c2VNZXJjaGlDaGVja2JvdXRDb250ZXh0IiwiYWRkcmVzc0luT25lTGluZSIsImN1cnJlbmN5VGF4QW5kQ29zdCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIlNoaXBtZW50UHJpY2UiLCJfcmVmIiwic2hpcG1lbnQiLCJzaGlwbWVudE1ldGhvZCIsInRheFR5cGUiLCJjdXJyZW5jeSIsImNoaWxkcmVuIiwiY29zdCIsImNsYXNzTmFtZSIsIlBpY2t1cEluZm8iLCJfcmVmMiIsIm9yaWdpbkFkZHJlc3MiLCJTaGlwbWVudE9wdGlvbkluZm8iLCJfcmVmMyIsIm5hbWUiLCJ0cmFuc3BvcnRDb21wYW55TmFtZSIsInBpY2tVcCIsIkxpc3RJdGVtU2hpcG1lbnRRdW90ZU9wdGlvbiIsIl9yZWY0IiwiZG9TZWxlY3QiLCJpc1NlbGVjdGVkIiwiX3VzZU1lcmNoaUNoZWNrYm91dENvIiwiY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRMaXN0R3JvdXBJdGVtIiwiY29uY2F0Iiwic3R5bGUiLCJjdXJzb3IiLCJvbkNsaWNrIiwiZGlzcGxheSIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsImljb24iLCJMaXN0SXRlbUxvYWRpbmciLCJfdXNlTWVyY2hpQ2hlY2tib3V0Q28yIiwiY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRMaXN0R3JvdXBJdGVtTG9hZGVyIiwiZm9udFNpemUiLCJMaXN0SXRlbU5vT3B0aW9ucyIsIl91c2VNZXJjaGlDaGVja2JvdXRDbzMiLCJMaXN0U2hpcG1lbnRRdW90ZU9wdGlvbnMiLCJfcmVmNSIsImRvU2VsZWN0U2hpcG1lbnRPcHRpb24iLCJsb2FkaW5nIiwic2VsZWN0ZWRPcHRpb24iLCJzaGlwbWVudE9wdGlvbnMiLCJfdXNlTWVyY2hpQ2hlY2tib3V0Q280IiwiY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRMaXN0R3JvdXAiLCJpbmRleCIsIm1hcCIsInMiLCJmaW5kSW5kZXgiLCJpdGVtIiwiaWQiLCJsZW5ndGgiLCJpIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbGlzdHMvTGlzdFNoaXBtZW50UXVvdGVPcHRpb25zLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCB7IGZhQ2hlY2sgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgQ2dTcGlubmVyIH0gZnJvbSAncmVhY3QtaWNvbnMvY2cnO1xuaW1wb3J0IHsgdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCB9IGZyb20gJy4uL01lcmNoaUNoZWNrb3V0UHJvdmlkZXInO1xuaW1wb3J0IHsgYWRkcmVzc0luT25lTGluZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IGN1cnJlbmN5VGF4QW5kQ29zdCB9IGZyb20gJy4uL2N1cnJlbmN5JztcblxuZnVuY3Rpb24gU2hpcG1lbnRQcmljZSh7IHNoaXBtZW50IH06IGFueSkge1xuICBjb25zdCB7IHNoaXBtZW50TWV0aG9kLCB0YXhUeXBlIH0gPSBzaGlwbWVudDtcbiAgY29uc3QgeyBjdXJyZW5jeSB9ID0gc2hpcG1lbnRNZXRob2Q7XG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIHshIXNoaXBtZW50LmNvc3QgJiYgKFxuICAgICAgICA8c21hbGwgY2xhc3NOYW1lPSdmb250LXdlaWdodC1ib2xkJz5cbiAgICAgICAgICB7Y3VycmVuY3lUYXhBbmRDb3N0KGN1cnJlbmN5LCB0YXhUeXBlLCBzaGlwbWVudC5jb3N0KX1cbiAgICAgICAgPC9zbWFsbD5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmludGVyZmFjZSBQcm9wc1BpY2t1cEluZm8ge1xuICBvcmlnaW5BZGRyZXNzOiBhbnk7XG59XG5cbmZ1bmN0aW9uIFBpY2t1cEluZm8oeyBvcmlnaW5BZGRyZXNzIH06IFByb3BzUGlja3VwSW5mbykge1xuICByZXR1cm4gPHNtYWxsPlBpY2sgdXAgZnJvbToge2FkZHJlc3NJbk9uZUxpbmUob3JpZ2luQWRkcmVzcyl9PC9zbWFsbD47XG59XG5cbmludGVyZmFjZSBQcm9wc1NoaXBtZW50T3B0aW9uSW5mbyB7XG4gIHNoaXBtZW50OiBhbnk7XG59XG5cbmZ1bmN0aW9uIFNoaXBtZW50T3B0aW9uSW5mbyh7IHNoaXBtZW50IH06IFByb3BzU2hpcG1lbnRPcHRpb25JbmZvKSB7XG4gIGNvbnN0IHsgbmFtZSwgc2hpcG1lbnRNZXRob2QsIHRyYW5zcG9ydENvbXBhbnlOYW1lIH0gPSBzaGlwbWVudDtcbiAgY29uc3QgeyBvcmlnaW5BZGRyZXNzLCBwaWNrVXAgfSA9IHNoaXBtZW50TWV0aG9kO1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPSdzaGlwbWVudC1vcHRpb24taW5mbyc+XG4gICAgICB7IW5hbWUgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAgeyEhdHJhbnNwb3J0Q29tcGFueU5hbWUgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3NoaXBtZW50LW9wdGlvbi1uYW1lJz57c2hpcG1lbnRNZXRob2QubmFtZX08L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtwaWNrVXAgPyAoXG4gICAgICAgICAgICA8UGlja3VwSW5mbyBvcmlnaW5BZGRyZXNzPXtvcmlnaW5BZGRyZXNzfSAvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8c21hbGw+e3RyYW5zcG9ydENvbXBhbnlOYW1lfTwvc21hbGw+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC8+XG4gICAgICApIDogKFxuICAgICAgICA8PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdzaGlwbWVudC1vcHRpb24tbmFtZSc+e25hbWV9PC9kaXY+XG4gICAgICAgICAge3BpY2tVcCAmJiA8UGlja3VwSW5mbyBvcmlnaW5BZGRyZXNzPXtvcmlnaW5BZGRyZXNzfSAvPn1cbiAgICAgICAgPC8+XG4gICAgICApfVxuICAgICAgPFNoaXBtZW50UHJpY2Ugc2hpcG1lbnQ9e3NoaXBtZW50fSAvPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5pbnRlcmZhY2UgUHJvcHNMaXN0SXRlbVNoaXBtZW50UXVvdGVPcHRpb24ge1xuICBkb1NlbGVjdDogKCkgPT4gdm9pZDtcbiAgc2hpcG1lbnQ6IGFueTtcbiAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbn1cblxuZnVuY3Rpb24gTGlzdEl0ZW1TaGlwbWVudFF1b3RlT3B0aW9uKHtcbiAgZG9TZWxlY3QsXG4gIGlzU2VsZWN0ZWQsXG4gIHNoaXBtZW50LFxufTogUHJvcHNMaXN0SXRlbVNoaXBtZW50UXVvdGVPcHRpb24pIHtcbiAgY29uc3QgeyBjbGFzc05hbWVNZXJjaGlDaGVja291dExpc3RHcm91cEl0ZW0gfSA9IHVzZU1lcmNoaUNoZWNrYm91dENvbnRleHQoKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2Ake2NsYXNzTmFtZU1lcmNoaUNoZWNrb3V0TGlzdEdyb3VwSXRlbX0gJHtcbiAgICAgICAgaXNTZWxlY3RlZCA/ICdhY3RpdmUnIDogJydcbiAgICAgIH1gfVxuICAgICAgc3R5bGU9e3sgY3Vyc29yOiAncG9pbnRlcicgfX1cbiAgICAgIG9uQ2xpY2s9e2RvU2VsZWN0fVxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFNoaXBtZW50T3B0aW9uSW5mbyBzaGlwbWVudD17c2hpcG1lbnR9IC8+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2lzU2VsZWN0ZWQgJiYgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYUNoZWNrfSAvPn1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gTGlzdEl0ZW1Mb2FkaW5nKCkge1xuICBjb25zdCB7IGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0TGlzdEdyb3VwSXRlbUxvYWRlciB9ID1cbiAgICB1c2VNZXJjaGlDaGVja2JvdXRDb250ZXh0KCk7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgY2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRMaXN0R3JvdXBJdGVtTG9hZGVyICtcbiAgICAgICAgJyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyJ1xuICAgICAgfVxuICAgID5cbiAgICAgIDxDZ1NwaW5uZXIgZm9udFNpemU9JzEuNXJlbScgY2xhc3NOYW1lPSdhbmltYXRlX3NwaW4nIC8+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmZ1bmN0aW9uIExpc3RJdGVtTm9PcHRpb25zKCkge1xuICBjb25zdCB7IGNsYXNzTmFtZU1lcmNoaUNoZWNrb3V0TGlzdEdyb3VwSXRlbSB9ID0gdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCgpO1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVNZXJjaGlDaGVja291dExpc3RHcm91cEl0ZW19PlxuICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaV9tb25zdGVyX3NoaXBtZW50X29wdGlvbl9ub3RfZm91bmQnIC8+XG4gICAgICA8c21hbGwgY2xhc3NOYW1lPSd0ZXh0LW11dGVkIHNoaXBtZW50LW9wdGlvbi1jaGVja291dC1mb3JtJz5cbiAgICAgICAgRW50ZXIgeW91ciBhZGRyZXNzIHRvIHNlbGVjdCBhIHNoaXBtZW50IG9wdGlvblxuICAgICAgPC9zbWFsbD5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgZG9TZWxlY3RTaGlwbWVudE9wdGlvbjogKG9wdGlvbjogYW55KSA9PiB2b2lkO1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBzZWxlY3RlZE9wdGlvbj86IGFueTtcbiAgc2hpcG1lbnRPcHRpb25zOiBBcnJheTxhbnk+O1xufVxuXG5mdW5jdGlvbiBMaXN0U2hpcG1lbnRRdW90ZU9wdGlvbnMoe1xuICBkb1NlbGVjdFNoaXBtZW50T3B0aW9uLFxuICBsb2FkaW5nLFxuICBzZWxlY3RlZE9wdGlvbixcbiAgc2hpcG1lbnRPcHRpb25zLFxufTogUHJvcHMpIHtcbiAgY29uc3QgeyBjbGFzc05hbWVNZXJjaGlDaGVja291dExpc3RHcm91cCB9ID0gdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCgpO1xuICBjb25zdCBpbmRleCA9IHNlbGVjdGVkT3B0aW9uXG4gICAgPyBzaGlwbWVudE9wdGlvbnNcbiAgICAgICAgLm1hcCgoczogYW55KSA9PiBzLnNoaXBtZW50KVxuICAgICAgICAuZmluZEluZGV4KChpdGVtOiBhbnkpID0+IGl0ZW0uaWQgPT09IChzZWxlY3RlZE9wdGlvbiBhcyBhbnkpLmlkKVxuICAgIDogbnVsbDtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lTWVyY2hpQ2hlY2tvdXRMaXN0R3JvdXB9PlxuICAgICAge2xvYWRpbmcgPyAoXG4gICAgICAgIDxMaXN0SXRlbUxvYWRpbmcgLz5cbiAgICAgICkgOiBzaGlwbWVudE9wdGlvbnMubGVuZ3RoID8gKFxuICAgICAgICBzaGlwbWVudE9wdGlvbnMubWFwKChzOiBhbnksIGk6IG51bWJlcikgPT4gKFxuICAgICAgICAgIDxMaXN0SXRlbVNoaXBtZW50UXVvdGVPcHRpb25cbiAgICAgICAgICAgIGRvU2VsZWN0PXsoKSA9PiBkb1NlbGVjdFNoaXBtZW50T3B0aW9uKHMuc2hpcG1lbnQpfVxuICAgICAgICAgICAgaXNTZWxlY3RlZD17aW5kZXggPT09IGl9XG4gICAgICAgICAgICBzaGlwbWVudD17cy5zaGlwbWVudH1cbiAgICAgICAgICAgIGtleT17YCR7aX0tb3B0aW9uYH1cbiAgICAgICAgICAvPlxuICAgICAgICApKVxuICAgICAgKSA6IChcbiAgICAgICAgPExpc3RJdGVtTm9PcHRpb25zIC8+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMaXN0U2hpcG1lbnRRdW90ZU9wdGlvbnM7XG4iXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBQ1osT0FBT0EsS0FBSyxNQUFNLE9BQU87QUFDekIsU0FBU0MsZUFBZSxRQUFRLGdDQUFnQztBQUNoRSxTQUFTQyxPQUFPLFFBQVEsbUNBQW1DO0FBQzNELFNBQVNDLFNBQVMsUUFBUSxnQkFBZ0I7QUFDMUMsU0FBU0MseUJBQXlCLFFBQVEsMkJBQTJCO0FBQ3JFLFNBQVNDLGdCQUFnQixRQUFRLGFBQWE7QUFDOUMsU0FBU0Msa0JBQWtCLFFBQVEsYUFBYTtBQUFDLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQUFBLFNBQUFDLElBQUEsSUFBQUMsS0FBQTtBQUFBLFNBQUFDLFFBQUEsSUFBQUMsU0FBQTtBQUVqRCxTQUFTQyxhQUFhQSxDQUFBQyxJQUFBLEVBQW9CO0VBQUEsSUFBakJDLFFBQVEsR0FBQUQsSUFBQSxDQUFSQyxRQUFRO0VBQy9CLElBQVFDLGNBQWMsR0FBY0QsUUFBUSxDQUFwQ0MsY0FBYztJQUFFQyxPQUFPLEdBQUtGLFFBQVEsQ0FBcEJFLE9BQU87RUFDL0IsSUFBUUMsUUFBUSxHQUFLRixjQUFjLENBQTNCRSxRQUFRO0VBQ2hCLG9CQUNFVixJQUFBO0lBQUFXLFFBQUEsRUFDRyxDQUFDLENBQUNKLFFBQVEsQ0FBQ0ssSUFBSSxpQkFDZFosSUFBQTtNQUFPYSxTQUFTLEVBQUMsa0JBQWtCO01BQUFGLFFBQUEsRUFDaENiLGtCQUFrQixDQUFDWSxRQUFRLEVBQUVELE9BQU8sRUFBRUYsUUFBUSxDQUFDSyxJQUFJO0lBQUMsQ0FDaEQ7RUFD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