@homebound/beam 2.383.0 → 2.384.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +459 -374
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +18 -1
- package/dist/index.d.ts +18 -1
- package/dist/index.js +348 -264
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -217,6 +217,7 @@ __export(index_exports, {
|
|
|
217
217
|
getTableStyles: () => getTableStyles,
|
|
218
218
|
headerRenderFn: () => headerRenderFn,
|
|
219
219
|
hoverStyles: () => hoverStyles,
|
|
220
|
+
iconButtonCircleStylesHover: () => iconButtonCircleStylesHover,
|
|
220
221
|
iconButtonContrastStylesHover: () => iconButtonContrastStylesHover,
|
|
221
222
|
iconButtonStylesHover: () => iconButtonStylesHover,
|
|
222
223
|
iconCardStylesHover: () => iconCardStylesHover,
|
|
@@ -5675,8 +5676,10 @@ function IconButton(props) {
|
|
|
5675
5676
|
tooltip,
|
|
5676
5677
|
menuTriggerProps,
|
|
5677
5678
|
openInNew,
|
|
5679
|
+
active = false,
|
|
5678
5680
|
compact = false,
|
|
5679
5681
|
contrast = false,
|
|
5682
|
+
circle = false,
|
|
5680
5683
|
download = false,
|
|
5681
5684
|
forceFocusStyles = false,
|
|
5682
5685
|
label
|
|
@@ -5698,9 +5701,10 @@ function IconButton(props) {
|
|
|
5698
5701
|
const styles = (0, import_react16.useMemo)(
|
|
5699
5702
|
() => ({
|
|
5700
5703
|
...iconButtonStylesReset,
|
|
5701
|
-
...compact ? iconButtonCompact : iconButtonNormal,
|
|
5702
|
-
...isHovered && (contrast ? iconButtonContrastStylesHover : iconButtonStylesHover),
|
|
5703
|
-
...isFocusVisible || forceFocusStyles ? iconButtonStylesFocus : {},
|
|
5704
|
+
...circle ? iconButtonCircle : compact ? iconButtonCompact : iconButtonNormal,
|
|
5705
|
+
...isHovered && (contrast ? iconButtonContrastStylesHover : circle ? iconButtonCircleStylesHover : iconButtonStylesHover),
|
|
5706
|
+
...isFocusVisible || forceFocusStyles ? circle ? iconButtonCircleStylesFocus : iconButtonStylesFocus : {},
|
|
5707
|
+
...active ? contrast ? iconButtonContrastStylesHover : activeStyles : {},
|
|
5704
5708
|
...isDisabled && iconButtonStylesDisabled,
|
|
5705
5709
|
...bgColor && Css.bgColor(bgColor).$
|
|
5706
5710
|
}),
|
|
@@ -5708,7 +5712,7 @@ function IconButton(props) {
|
|
|
5708
5712
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
5709
5713
|
[isHovered, isFocusVisible, isDisabled, compact]
|
|
5710
5714
|
);
|
|
5711
|
-
const iconColor = contrast ? contrastIconColor : defaultIconColor;
|
|
5715
|
+
const iconColor = contrast ? contrastIconColor : circle ? circleIconColor : defaultIconColor;
|
|
5712
5716
|
const buttonAttrs = {
|
|
5713
5717
|
...testIds,
|
|
5714
5718
|
...buttonProps,
|
|
@@ -5723,9 +5727,9 @@ function IconButton(props) {
|
|
|
5723
5727
|
Icon,
|
|
5724
5728
|
{
|
|
5725
5729
|
icon,
|
|
5726
|
-
color: color || (isDisabled ? "rgba(201, 201, 201, 1)" /* Gray400 */ : iconColor),
|
|
5730
|
+
color: color || (isDisabled ? "rgba(201, 201, 201, 1)" /* Gray400 */ : circle && (isHovered || active || isFocusVisible) ? defaultIconColor : iconColor),
|
|
5727
5731
|
bgColor,
|
|
5728
|
-
inc: compact ? 2 : inc
|
|
5732
|
+
inc: compact ? 2 : circle ? 2.5 : inc
|
|
5729
5733
|
}
|
|
5730
5734
|
);
|
|
5731
5735
|
return maybeTooltip({
|
|
@@ -5736,13 +5740,18 @@ function IconButton(props) {
|
|
|
5736
5740
|
}
|
|
5737
5741
|
var defaultIconColor = "rgba(36, 36, 36, 1)" /* Gray900 */;
|
|
5738
5742
|
var contrastIconColor = "rgba(255,255,255,1)" /* White */;
|
|
5743
|
+
var circleIconColor = "rgba(100, 100, 100, 1)" /* Gray700 */;
|
|
5739
5744
|
var iconButtonStylesReset = Css.bcTransparent.bss.bgTransparent.cursorPointer.outline0.dif.aic.jcc.transition.$;
|
|
5740
5745
|
var iconButtonNormal = Css.hPx(28).wPx(28).br8.bw2.$;
|
|
5741
5746
|
var iconButtonCompact = Css.hPx(18).wPx(18).br4.bw1.$;
|
|
5747
|
+
var iconButtonCircle = Css.br100.wPx(48).hPx(48).bcGray300.ba.bw1.df.jcc.aic.$;
|
|
5742
5748
|
var iconButtonStylesHover = Css.bgGray200.$;
|
|
5743
5749
|
var iconButtonContrastStylesHover = Css.bgGray700.$;
|
|
5750
|
+
var iconButtonCircleStylesHover = Css.bgBlue100.bcBlue200.$;
|
|
5744
5751
|
var iconButtonStylesFocus = Css.bcBlue700.$;
|
|
5752
|
+
var iconButtonCircleStylesFocus = Css.bgBlue100.bcBlue700.$;
|
|
5745
5753
|
var iconButtonStylesDisabled = Css.cursorNotAllowed.$;
|
|
5754
|
+
var activeStyles = Css.bgGray200.bcGray200.$;
|
|
5746
5755
|
|
|
5747
5756
|
// src/components/internal/DatePicker/Header.tsx
|
|
5748
5757
|
var import_jsx_runtime11 = require("@emotion/react/jsx-runtime");
|
|
@@ -6874,7 +6883,7 @@ function NavLink(props) {
|
|
|
6874
6883
|
const { buttonProps, isPressed } = (0, import_react_aria7.useButton)({ ...ariaProps, elementType: href ? "a" : "button" }, ref);
|
|
6875
6884
|
const { hoverProps, isHovered } = (0, import_react_aria7.useHover)({ isDisabled });
|
|
6876
6885
|
const { isFocusVisible, focusProps } = (0, import_react_aria7.useFocusRing)(ariaProps);
|
|
6877
|
-
const { baseStyles: baseStyles4, activeStyles:
|
|
6886
|
+
const { baseStyles: baseStyles4, activeStyles: activeStyles4, focusRingStyles: focusRingStyles2, hoverStyles: hoverStyles4, disabledStyles: disabledStyles3, pressedStyles: pressedStyles3 } = (0, import_react21.useMemo)(
|
|
6878
6887
|
() => getNavLinkStyles(variant, contrast),
|
|
6879
6888
|
[variant, contrast]
|
|
6880
6889
|
);
|
|
@@ -6887,7 +6896,7 @@ function NavLink(props) {
|
|
|
6887
6896
|
"aria-current": active ? "page" : void 0,
|
|
6888
6897
|
css: {
|
|
6889
6898
|
...baseStyles4,
|
|
6890
|
-
...active &&
|
|
6899
|
+
...active && activeStyles4,
|
|
6891
6900
|
...isDisabled && disabledStyles3,
|
|
6892
6901
|
...isFocusVisible && focusRingStyles2,
|
|
6893
6902
|
...isHovered && hoverStyles4,
|
|
@@ -11042,13 +11051,15 @@ function CheckboxGroup(props) {
|
|
|
11042
11051
|
helperText,
|
|
11043
11052
|
onBlur,
|
|
11044
11053
|
onFocus,
|
|
11045
|
-
columns = 1
|
|
11054
|
+
columns = 1,
|
|
11055
|
+
required
|
|
11046
11056
|
} = props;
|
|
11047
11057
|
const state = (0, import_react_stately10.useCheckboxGroupState)({ ...props, value: values });
|
|
11048
11058
|
const { groupProps, labelProps } = (0, import_react_aria30.useCheckboxGroup)(props, state);
|
|
11049
11059
|
const tid = useTestIds(props);
|
|
11060
|
+
const labelSuffix = useLabelSuffix(required, false);
|
|
11050
11061
|
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { ...groupProps, css: Css.if(labelStyle === "left").df.fdr.$, onBlur, onFocus, ...tid, children: [
|
|
11051
|
-
labelStyle !== "hidden" && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { css: Css.if(labelStyle === "left").w50.$, children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Label, { label, ...labelProps, ...tid.label }) }),
|
|
11062
|
+
labelStyle !== "hidden" && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { css: Css.if(labelStyle === "left").w50.$, children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Label, { label, ...labelProps, ...tid.label, suffix: labelSuffix }) }),
|
|
11052
11063
|
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { css: Css.dg.gtc(`repeat(${columns}, auto)`).gap2.$, children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
11053
11064
|
CheckboxGroupItem,
|
|
11054
11065
|
{
|
|
@@ -12363,12 +12374,22 @@ var import_jsx_runtime76 = require("@emotion/react/jsx-runtime");
|
|
|
12363
12374
|
function ToggleChipGroup(props) {
|
|
12364
12375
|
const { fieldProps } = usePresentationContext();
|
|
12365
12376
|
const { labelLeftFieldWidth = "50%" } = fieldProps ?? {};
|
|
12366
|
-
const { values, label, labelStyle = fieldProps?.labelStyle ?? "above", options, xss } = props;
|
|
12377
|
+
const { values, label, labelStyle = fieldProps?.labelStyle ?? "above", options, required, xss } = props;
|
|
12367
12378
|
const state = (0, import_react_stately16.useCheckboxGroupState)({ ...props, value: values });
|
|
12368
12379
|
const { groupProps, labelProps } = (0, import_react_aria39.useCheckboxGroup)(props, state);
|
|
12369
12380
|
const tid = useTestIds(props, "toggleChip");
|
|
12381
|
+
const labelSuffix = useLabelSuffix(required, false);
|
|
12370
12382
|
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { ...groupProps, css: Css.relative.df.fdc.if(labelStyle === "left").fdr.gap2.maxw100.jcsb.$, children: [
|
|
12371
|
-
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
12383
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
12384
|
+
Label,
|
|
12385
|
+
{
|
|
12386
|
+
label,
|
|
12387
|
+
...labelProps,
|
|
12388
|
+
hidden: labelStyle === "hidden",
|
|
12389
|
+
inline: labelStyle !== "above",
|
|
12390
|
+
suffix: labelSuffix
|
|
12391
|
+
}
|
|
12392
|
+
),
|
|
12372
12393
|
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
12373
12394
|
"div",
|
|
12374
12395
|
{
|
|
@@ -14027,7 +14048,7 @@ var variantStyles2 = {
|
|
|
14027
14048
|
};
|
|
14028
14049
|
|
|
14029
14050
|
// src/components/BeamContext.tsx
|
|
14030
|
-
var
|
|
14051
|
+
var import_react92 = require("react");
|
|
14031
14052
|
var import_react_aria44 = require("react-aria");
|
|
14032
14053
|
|
|
14033
14054
|
// src/components/Modal/Modal.tsx
|
|
@@ -14362,8 +14383,8 @@ function SuperDrawer() {
|
|
|
14362
14383
|
}
|
|
14363
14384
|
|
|
14364
14385
|
// src/components/Layout/FormPageLayout.tsx
|
|
14365
|
-
var
|
|
14366
|
-
var
|
|
14386
|
+
var import_mobx_react21 = require("mobx-react");
|
|
14387
|
+
var import_react85 = __toESM(require("react"), 1);
|
|
14367
14388
|
var import_react_aria43 = require("react-aria");
|
|
14368
14389
|
|
|
14369
14390
|
// src/forms/BoundCheckboxField.tsx
|
|
@@ -14430,6 +14451,7 @@ function BoundCheckboxGroupField(props) {
|
|
|
14430
14451
|
CheckboxGroup,
|
|
14431
14452
|
{
|
|
14432
14453
|
label,
|
|
14454
|
+
required: field.required,
|
|
14433
14455
|
values: field.value || [],
|
|
14434
14456
|
onChange: (values) => {
|
|
14435
14457
|
onChange(values);
|
|
@@ -15084,7 +15106,17 @@ var import_jsx_runtime109 = require("@emotion/react/jsx-runtime");
|
|
|
15084
15106
|
function BoundToggleChipGroupField(props) {
|
|
15085
15107
|
const { field, onChange = (value) => field.set(value), label = defaultLabel(field.key), ...others } = props;
|
|
15086
15108
|
const testId = useTestIds(props, field.key);
|
|
15087
|
-
return /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_mobx_react18.Observer, { children: () => /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
15109
|
+
return /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_mobx_react18.Observer, { children: () => /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
15110
|
+
ToggleChipGroup,
|
|
15111
|
+
{
|
|
15112
|
+
label,
|
|
15113
|
+
required: field.required,
|
|
15114
|
+
values: field.value || [],
|
|
15115
|
+
onChange,
|
|
15116
|
+
...testId,
|
|
15117
|
+
...others
|
|
15118
|
+
}
|
|
15119
|
+
) });
|
|
15088
15120
|
}
|
|
15089
15121
|
|
|
15090
15122
|
// src/forms/BoundTreeSelectField.tsx
|
|
@@ -15438,21 +15470,26 @@ function StaticField(props) {
|
|
|
15438
15470
|
}
|
|
15439
15471
|
|
|
15440
15472
|
// src/forms/SubmitButton.tsx
|
|
15473
|
+
var import_mobx_react20 = require("mobx-react");
|
|
15441
15474
|
var import_jsx_runtime117 = require("@emotion/react/jsx-runtime");
|
|
15442
15475
|
function SubmitButton(props) {
|
|
15443
15476
|
const { form, disabled, onClick, label = "Submit", ...others } = props;
|
|
15444
15477
|
if (typeof onClick === "string") {
|
|
15445
15478
|
throw new Error("SubmitButton.onClick doesn't support strings yet");
|
|
15446
15479
|
}
|
|
15447
|
-
const
|
|
15480
|
+
const state = (0, import_mobx_react20.useLocalObservable)(() => ({ clicked: false }));
|
|
15481
|
+
const canSubmit = useComputed(() => {
|
|
15482
|
+
return form.isNewEntity && !state.clicked ? true : form.dirty && form.valid;
|
|
15483
|
+
}, [form]);
|
|
15448
15484
|
return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
15449
15485
|
Button,
|
|
15450
15486
|
{
|
|
15451
15487
|
label,
|
|
15452
|
-
disabled: disabled || !
|
|
15488
|
+
disabled: disabled || !canSubmit,
|
|
15453
15489
|
onClick: (e) => {
|
|
15490
|
+
state.clicked = true;
|
|
15454
15491
|
if (form.canSave()) {
|
|
15455
|
-
|
|
15492
|
+
return onClick(e);
|
|
15456
15493
|
}
|
|
15457
15494
|
},
|
|
15458
15495
|
...others
|
|
@@ -15460,21 +15497,71 @@ function SubmitButton(props) {
|
|
|
15460
15497
|
);
|
|
15461
15498
|
}
|
|
15462
15499
|
|
|
15463
|
-
// src/components/
|
|
15500
|
+
// src/components/RightSidebar.tsx
|
|
15501
|
+
var import_framer_motion2 = require("framer-motion");
|
|
15464
15502
|
var import_react83 = require("react");
|
|
15465
|
-
var import_react_router_dom4 = require("react-router-dom");
|
|
15466
15503
|
var import_jsx_runtime118 = require("@emotion/react/jsx-runtime");
|
|
15504
|
+
function RightSidebar({ content }) {
|
|
15505
|
+
const [selectedIcon, setSelectedIcon] = (0, import_react83.useState)(void 0);
|
|
15506
|
+
const tid = useTestIds({}, "rightSidebar");
|
|
15507
|
+
const width = 380;
|
|
15508
|
+
return /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(import_jsx_runtime118.Fragment, { children: [
|
|
15509
|
+
/* @__PURE__ */ (0, import_jsx_runtime118.jsx)("div", { css: Css.df.jcfe.relative.pr3.$, children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("div", { css: Css.df.gap2.z1.$, children: content.map(({ icon }) => /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
15510
|
+
IconButton,
|
|
15511
|
+
{
|
|
15512
|
+
circle: true,
|
|
15513
|
+
active: icon === selectedIcon,
|
|
15514
|
+
onClick: () => setSelectedIcon(icon),
|
|
15515
|
+
icon,
|
|
15516
|
+
inc: 3.5
|
|
15517
|
+
},
|
|
15518
|
+
`${icon}-${selectedIcon}`
|
|
15519
|
+
)) }) }),
|
|
15520
|
+
/* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_framer_motion2.AnimatePresence, { children: selectedIcon && /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
15521
|
+
import_framer_motion2.motion.div,
|
|
15522
|
+
{
|
|
15523
|
+
initial: { x: width, opacity: 0 },
|
|
15524
|
+
animate: { x: 0, opacity: 1 },
|
|
15525
|
+
transition: { delay: 0.2, ease: "linear", duration: 0.2 },
|
|
15526
|
+
exit: { transition: { ease: "linear", duration: 0.2 }, x: width },
|
|
15527
|
+
css: Css.wPx(width).z0.$,
|
|
15528
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("div", { css: Css.relative.topPx(-48).z0.px3.$, children: [
|
|
15529
|
+
/* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("div", { css: Css.absolute.leftPx(-24).$, children: [
|
|
15530
|
+
/* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
15531
|
+
IconButton,
|
|
15532
|
+
{
|
|
15533
|
+
bgColor: "rgba(255,255,255,1)" /* White */,
|
|
15534
|
+
circle: true,
|
|
15535
|
+
onClick: () => setSelectedIcon(void 0),
|
|
15536
|
+
icon: "x",
|
|
15537
|
+
inc: 3.5
|
|
15538
|
+
}
|
|
15539
|
+
),
|
|
15540
|
+
/* @__PURE__ */ (0, import_jsx_runtime118.jsx)("div", { css: Css.absolute.topPx(48).leftPx(23).h("calc(100vh - 168px)").wPx(1).bgGray300.$ })
|
|
15541
|
+
] }),
|
|
15542
|
+
selectedIcon && /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("div", { ...tid.content, css: Css.ptPx(72).$, children: content.find((sidebar) => sidebar.icon === selectedIcon)?.render() })
|
|
15543
|
+
] })
|
|
15544
|
+
},
|
|
15545
|
+
"rightSidebar"
|
|
15546
|
+
) })
|
|
15547
|
+
] });
|
|
15548
|
+
}
|
|
15549
|
+
|
|
15550
|
+
// src/components/Layout/PageHeaderBreadcrumbs.tsx
|
|
15551
|
+
var import_react84 = require("react");
|
|
15552
|
+
var import_react_router_dom4 = require("react-router-dom");
|
|
15553
|
+
var import_jsx_runtime119 = require("@emotion/react/jsx-runtime");
|
|
15467
15554
|
function PageHeaderBreadcrumbs({ breadcrumb }) {
|
|
15468
15555
|
const tids = useTestIds({}, "pageHeaderBreadcrumbs");
|
|
15469
15556
|
const breadcrumbs = Array.isArray(breadcrumb) ? breadcrumb : [breadcrumb];
|
|
15470
|
-
return /* @__PURE__ */ (0,
|
|
15471
|
-
i > 0 && /* @__PURE__ */ (0,
|
|
15472
|
-
/* @__PURE__ */ (0,
|
|
15557
|
+
return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)("div", { css: Css.df.aic.mbPx(4).$, ...tids, children: breadcrumbs.map((breadcrumb2, i) => /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(import_react84.Fragment, { children: [
|
|
15558
|
+
i > 0 && /* @__PURE__ */ (0, import_jsx_runtime119.jsx)("span", { css: Css.smMd.gray700.mr1.ml1.$, children: "/" }),
|
|
15559
|
+
/* @__PURE__ */ (0, import_jsx_runtime119.jsx)(import_react_router_dom4.Link, { to: breadcrumb2.href, css: Css.smMd.gray700.onHover.gray900.$, className: "navLink", ...tids.navLink, children: breadcrumb2.label })
|
|
15473
15560
|
] }, `bc-${breadcrumb2.label}`)) });
|
|
15474
15561
|
}
|
|
15475
15562
|
|
|
15476
15563
|
// src/components/Layout/FormPageLayout.tsx
|
|
15477
|
-
var
|
|
15564
|
+
var import_jsx_runtime120 = (
|
|
15478
15565
|
// This page is `fixed` to the full screen to allow it to act as a full screen modal while content is mounted below
|
|
15479
15566
|
// since this layout will be replacing most superdrawers/sidebars, we keep the listing mounted below to preserve the users's
|
|
15480
15567
|
// scroll position & filters
|
|
@@ -15483,43 +15570,43 @@ var import_jsx_runtime119 = (
|
|
|
15483
15570
|
);
|
|
15484
15571
|
var headerHeightPx = 120;
|
|
15485
15572
|
function FormPageLayoutComponent(props) {
|
|
15486
|
-
const { formSections, formState } = props;
|
|
15573
|
+
const { formSections, formState, rightSideBar } = props;
|
|
15487
15574
|
const tids = useTestIds(props, "formPageLayout");
|
|
15488
|
-
const sectionsWithRefs = (0,
|
|
15575
|
+
const sectionsWithRefs = (0, import_react85.useMemo)(
|
|
15489
15576
|
() => formSections.map((section, id) => ({
|
|
15490
15577
|
section,
|
|
15491
|
-
ref: (0,
|
|
15578
|
+
ref: (0, import_react85.createRef)(),
|
|
15492
15579
|
// Unique key for each section to use in the observer
|
|
15493
15580
|
sectionKey: `section-${section.title ?? id}`
|
|
15494
15581
|
})),
|
|
15495
15582
|
[formSections]
|
|
15496
15583
|
);
|
|
15497
15584
|
const gridColumns = "minMax(0, auto) minMax(100px, 250px) minMax(350px, 1000px) minMax(min-content, 300px) minMax(0, auto)";
|
|
15498
|
-
return /* @__PURE__ */ (0,
|
|
15585
|
+
return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
|
|
15499
15586
|
"div",
|
|
15500
15587
|
{
|
|
15501
15588
|
css: Css.fixed.top0.bottom0.left0.right0.z(1e3).oya.bgWhite.dg.gtc(gridColumns).gtr("auto 1fr").cg3.ais.$,
|
|
15502
15589
|
...tids,
|
|
15503
15590
|
children: [
|
|
15504
|
-
/* @__PURE__ */ (0,
|
|
15505
|
-
/* @__PURE__ */ (0,
|
|
15506
|
-
/* @__PURE__ */ (0,
|
|
15507
|
-
/* @__PURE__ */ (0,
|
|
15591
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsx)(PageHeader, { ...props, ...tids.pageHeader }),
|
|
15592
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsx)(LeftNav, { sectionsWithRefs, ...tids }),
|
|
15593
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsx)(FormSections, { sectionsWithRefs, formState, ...tids }),
|
|
15594
|
+
rightSideBar && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("aside", { css: Css.gr(2).gc("4 / 5").sticky.topPx(headerHeightPx).$, children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(RightSidebar, { content: rightSideBar }) })
|
|
15508
15595
|
]
|
|
15509
15596
|
}
|
|
15510
15597
|
);
|
|
15511
15598
|
}
|
|
15512
|
-
var FormPageLayout =
|
|
15599
|
+
var FormPageLayout = import_react85.default.memo(FormPageLayoutComponent);
|
|
15513
15600
|
function PageHeader(props) {
|
|
15514
15601
|
const { pageTitle, breadCrumb, submitAction, cancelAction, tertiaryAction, formState } = props;
|
|
15515
15602
|
const tids = useTestIds(props);
|
|
15516
|
-
return /* @__PURE__ */ (0,
|
|
15517
|
-
/* @__PURE__ */ (0,
|
|
15518
|
-
breadCrumb && /* @__PURE__ */ (0,
|
|
15519
|
-
/* @__PURE__ */ (0,
|
|
15603
|
+
return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("header", { css: Css.gr(1).gc("2 / 5").sticky.top0.hPx(headerHeightPx).bgWhite.z5.$, ...tids, children: /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { css: Css.py2.px3.df.jcsb.aic.$, children: [
|
|
15604
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { children: [
|
|
15605
|
+
breadCrumb && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(PageHeaderBreadcrumbs, { breadcrumb: breadCrumb }),
|
|
15606
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsx)("h1", { css: Css.xl3Sb.$, ...tids.pageTitle, children: pageTitle })
|
|
15520
15607
|
] }),
|
|
15521
|
-
/* @__PURE__ */ (0,
|
|
15522
|
-
tertiaryAction && /* @__PURE__ */ (0,
|
|
15608
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_mobx_react21.Observer, { children: () => /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { css: Css.df.gap1.$, children: [
|
|
15609
|
+
tertiaryAction && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
15523
15610
|
Button,
|
|
15524
15611
|
{
|
|
15525
15612
|
label: tertiaryAction.label,
|
|
@@ -15530,7 +15617,7 @@ function PageHeader(props) {
|
|
|
15530
15617
|
...tids.tertiaryAction
|
|
15531
15618
|
}
|
|
15532
15619
|
),
|
|
15533
|
-
cancelAction && /* @__PURE__ */ (0,
|
|
15620
|
+
cancelAction && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
15534
15621
|
Button,
|
|
15535
15622
|
{
|
|
15536
15623
|
label: cancelAction.label,
|
|
@@ -15541,7 +15628,7 @@ function PageHeader(props) {
|
|
|
15541
15628
|
...tids.cancelAction
|
|
15542
15629
|
}
|
|
15543
15630
|
),
|
|
15544
|
-
submitAction && /* @__PURE__ */ (0,
|
|
15631
|
+
submitAction && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
15545
15632
|
Button,
|
|
15546
15633
|
{
|
|
15547
15634
|
label: submitAction.label,
|
|
@@ -15558,9 +15645,9 @@ function PageHeader(props) {
|
|
|
15558
15645
|
function FormSections(props) {
|
|
15559
15646
|
const { sectionsWithRefs, formState } = props;
|
|
15560
15647
|
const tids = useTestIds(props);
|
|
15561
|
-
return /* @__PURE__ */ (0,
|
|
15648
|
+
return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("article", { css: Css.gr(2).gc("3 / 4").$, children: sectionsWithRefs.map(({ section, ref, sectionKey }, i) => (
|
|
15562
15649
|
// Subgrid here allows for icon placement to the left of the section content
|
|
15563
|
-
/* @__PURE__ */ (0,
|
|
15650
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
|
|
15564
15651
|
"section",
|
|
15565
15652
|
{
|
|
15566
15653
|
id: sectionKey,
|
|
@@ -15568,10 +15655,10 @@ function FormSections(props) {
|
|
|
15568
15655
|
css: Css.dg.gtc("50px 1fr").gtr("auto").mb3.add("scrollMarginTop", `${headerHeightPx}px`).$,
|
|
15569
15656
|
...tids.formSection,
|
|
15570
15657
|
children: [
|
|
15571
|
-
/* @__PURE__ */ (0,
|
|
15572
|
-
/* @__PURE__ */ (0,
|
|
15573
|
-
section.title && /* @__PURE__ */ (0,
|
|
15574
|
-
/* @__PURE__ */ (0,
|
|
15658
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { css: Css.gc(1).$, children: section.icon && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Icon, { icon: section.icon, inc: 3.5 }) }),
|
|
15659
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { css: Css.gc(2).$, children: [
|
|
15660
|
+
section.title && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("h2", { css: Css.xlSb.mb3.$, children: section.title }),
|
|
15661
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsx)(BoundForm, { formState, rows: section.rows })
|
|
15575
15662
|
] })
|
|
15576
15663
|
]
|
|
15577
15664
|
},
|
|
@@ -15582,12 +15669,12 @@ function FormSections(props) {
|
|
|
15582
15669
|
function LeftNav(props) {
|
|
15583
15670
|
const { sectionsWithRefs } = props;
|
|
15584
15671
|
const tids = useTestIds(props);
|
|
15585
|
-
const sectionWithTitles = (0,
|
|
15672
|
+
const sectionWithTitles = (0, import_react85.useMemo)(
|
|
15586
15673
|
() => sectionsWithRefs.filter(({ section }) => !!section.title),
|
|
15587
15674
|
[sectionsWithRefs]
|
|
15588
15675
|
);
|
|
15589
15676
|
const activeSection = useActiveSection(sectionWithTitles);
|
|
15590
|
-
return /* @__PURE__ */ (0,
|
|
15677
|
+
return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("aside", { css: Css.gr(2).gc("2 / 3").sticky.topPx(headerHeightPx).px3.df.fdc.gap1.$, ...tids.nav, children: sectionWithTitles.map((sectionWithRef) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
15591
15678
|
SectionNavLink,
|
|
15592
15679
|
{
|
|
15593
15680
|
sectionWithRef,
|
|
@@ -15597,22 +15684,22 @@ function LeftNav(props) {
|
|
|
15597
15684
|
`nav-${sectionWithRef.sectionKey}`
|
|
15598
15685
|
)) });
|
|
15599
15686
|
}
|
|
15600
|
-
var
|
|
15687
|
+
var activeStyles2 = Css.smBd.boxShadow(`inset 3px 0px 0 0px ${"rgba(37, 99, 235, 1)" /* Blue600 */}`).$;
|
|
15601
15688
|
var hoverStyles2 = Css.bgBlue50.smBd.blue900.boxShadow(`inset 3px 0px 0 0px ${"rgba(30, 58, 138, 1)" /* Blue900 */}`).$;
|
|
15602
15689
|
var defaultFocusRingStyles = Css.relative.z2.bshFocus.$;
|
|
15603
15690
|
function SectionNavLink(props) {
|
|
15604
15691
|
const { sectionWithRef, activeSection } = props;
|
|
15605
15692
|
const { section, ref: sectionRef } = sectionWithRef;
|
|
15606
15693
|
const active = activeSection === sectionWithRef.sectionKey;
|
|
15607
|
-
const handleNavClick = (0,
|
|
15694
|
+
const handleNavClick = (0, import_react85.useCallback)(() => {
|
|
15608
15695
|
sectionRef.current?.scrollIntoView({ behavior: "smooth", block: "start" });
|
|
15609
15696
|
}, [sectionRef]);
|
|
15610
15697
|
const tids = useTestIds(props);
|
|
15611
|
-
const buttonRef = (0,
|
|
15698
|
+
const buttonRef = (0, import_react85.useRef)(null);
|
|
15612
15699
|
const { buttonProps, isPressed } = (0, import_react_aria43.useButton)({ onPress: handleNavClick }, buttonRef);
|
|
15613
15700
|
const { isFocusVisible, focusProps } = (0, import_react_aria43.useFocusRing)();
|
|
15614
15701
|
const { hoverProps, isHovered } = useHover({});
|
|
15615
|
-
return /* @__PURE__ */ (0,
|
|
15702
|
+
return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
15616
15703
|
"button",
|
|
15617
15704
|
{
|
|
15618
15705
|
ref: buttonRef,
|
|
@@ -15622,20 +15709,17 @@ function SectionNavLink(props) {
|
|
|
15622
15709
|
css: {
|
|
15623
15710
|
...Css.buttonBase.wsn.tal.smMd.blue600.px2.py1.br0.h100.$,
|
|
15624
15711
|
...isFocusVisible ? defaultFocusRingStyles : {},
|
|
15625
|
-
...active ?
|
|
15626
|
-
...isPressed ?
|
|
15712
|
+
...active ? activeStyles2 : {},
|
|
15713
|
+
...isPressed ? activeStyles2 : isHovered ? hoverStyles2 : {}
|
|
15627
15714
|
},
|
|
15628
15715
|
...tids.sectionNavLink,
|
|
15629
15716
|
children: section.title
|
|
15630
15717
|
}
|
|
15631
15718
|
);
|
|
15632
15719
|
}
|
|
15633
|
-
function SidebarContent() {
|
|
15634
|
-
return null;
|
|
15635
|
-
}
|
|
15636
15720
|
function useActiveSection(sectionsWithRefs) {
|
|
15637
|
-
const [activeSection, setActiveSection] = (0,
|
|
15638
|
-
(0,
|
|
15721
|
+
const [activeSection, setActiveSection] = (0, import_react85.useState)(null);
|
|
15722
|
+
(0, import_react85.useEffect)(() => {
|
|
15639
15723
|
if (!("IntersectionObserver" in window)) return;
|
|
15640
15724
|
const observer2 = new IntersectionObserver(
|
|
15641
15725
|
(entries) => {
|
|
@@ -15664,12 +15748,12 @@ function useActiveSection(sectionsWithRefs) {
|
|
|
15664
15748
|
}
|
|
15665
15749
|
|
|
15666
15750
|
// src/components/Layout/FullBleed.tsx
|
|
15667
|
-
var
|
|
15751
|
+
var import_react87 = require("react");
|
|
15668
15752
|
|
|
15669
15753
|
// src/components/Layout/ScrollableParent.tsx
|
|
15670
|
-
var
|
|
15671
|
-
var
|
|
15672
|
-
var ScrollableParentContext = (0,
|
|
15754
|
+
var import_react86 = require("react");
|
|
15755
|
+
var import_jsx_runtime121 = require("@emotion/react/jsx-runtime");
|
|
15756
|
+
var ScrollableParentContext = (0, import_react86.createContext)({
|
|
15673
15757
|
scrollableEl: null,
|
|
15674
15758
|
pr: 0,
|
|
15675
15759
|
pl: 0,
|
|
@@ -15678,14 +15762,14 @@ var ScrollableParentContext = (0, import_react85.createContext)({
|
|
|
15678
15762
|
});
|
|
15679
15763
|
function ScrollableParent(props) {
|
|
15680
15764
|
const { children, xss, tagName: Tag2 = "div" } = props;
|
|
15681
|
-
const scrollableEl = (0,
|
|
15765
|
+
const scrollableEl = (0, import_react86.useMemo)(() => {
|
|
15682
15766
|
const el = document.createElement("div");
|
|
15683
15767
|
el.style.height = "100%";
|
|
15684
15768
|
return el;
|
|
15685
15769
|
}, []);
|
|
15686
|
-
const [, setTick] = (0,
|
|
15770
|
+
const [, setTick] = (0, import_react86.useState)(0);
|
|
15687
15771
|
const hasScrollableContent = scrollableEl.childNodes.length > 0;
|
|
15688
|
-
const scrollableRef = (0,
|
|
15772
|
+
const scrollableRef = (0, import_react86.useRef)(null);
|
|
15689
15773
|
const { paddingLeft, paddingRight, ...otherXss } = xss || {};
|
|
15690
15774
|
const context = {
|
|
15691
15775
|
scrollableEl,
|
|
@@ -15693,11 +15777,11 @@ function ScrollableParent(props) {
|
|
|
15693
15777
|
pr: paddingRight ?? 0,
|
|
15694
15778
|
setPortalTick: setTick
|
|
15695
15779
|
};
|
|
15696
|
-
(0,
|
|
15780
|
+
(0, import_react86.useEffect)(() => {
|
|
15697
15781
|
scrollableRef.current.appendChild(scrollableEl);
|
|
15698
15782
|
}, [scrollableEl]);
|
|
15699
|
-
return /* @__PURE__ */ (0,
|
|
15700
|
-
/* @__PURE__ */ (0,
|
|
15783
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(ScrollableParentContext.Provider, { value: context, children: /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(Tag2, { css: { ...Css.mh0.mw0.fg1.df.fdc.$, ...otherXss }, children: [
|
|
15784
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
15701
15785
|
"div",
|
|
15702
15786
|
{
|
|
15703
15787
|
css: {
|
|
@@ -15707,37 +15791,37 @@ function ScrollableParent(props) {
|
|
|
15707
15791
|
children
|
|
15708
15792
|
}
|
|
15709
15793
|
),
|
|
15710
|
-
/* @__PURE__ */ (0,
|
|
15794
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { css: Css.fg1.oa.$, ref: scrollableRef })
|
|
15711
15795
|
] }) });
|
|
15712
15796
|
}
|
|
15713
15797
|
function useScrollableParent() {
|
|
15714
|
-
return (0,
|
|
15798
|
+
return (0, import_react86.useContext)(ScrollableParentContext);
|
|
15715
15799
|
}
|
|
15716
15800
|
var scrollContainerBottomPadding = Css.addIn("&:after", Css.contentEmpty.db.h2.$).$;
|
|
15717
15801
|
|
|
15718
15802
|
// src/components/Layout/FullBleed.tsx
|
|
15719
15803
|
function FullBleed({ children, omitPadding = false }) {
|
|
15720
15804
|
const { pr, pl } = useScrollableParent();
|
|
15721
|
-
return !pr && !pl ? children : (0,
|
|
15805
|
+
return !pr && !pl ? children : (0, import_react87.cloneElement)(children, {
|
|
15722
15806
|
style: Css.ml(`-${pl}`).mr(`-${pr}`).if(!omitPadding).pl(pl).pr(pr).$
|
|
15723
15807
|
});
|
|
15724
15808
|
}
|
|
15725
15809
|
|
|
15726
15810
|
// src/components/Layout/PreventBrowserScroll.tsx
|
|
15727
|
-
var
|
|
15811
|
+
var import_jsx_runtime122 = require("@emotion/react/jsx-runtime");
|
|
15728
15812
|
function PreventBrowserScroll({ children }) {
|
|
15729
15813
|
return (
|
|
15730
15814
|
// Take over the full viewport and hide any overflown content.
|
|
15731
15815
|
// Using `-webkit-fill-available`, otherwise `height: 100vh` includes the app bars in mobile Safari. See https://allthingssmitty.com/2020/05/11/css-fix-for-100vh-in-mobile-webkit/
|
|
15732
15816
|
// Setting the multiple "(min|max-)height" properties is necessary, as Truss will turn this into an object and there can only be one `height` property.
|
|
15733
|
-
/* @__PURE__ */ (0,
|
|
15817
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { css: Css.oh.vh100.mh("-webkit-fill-available").maxh("-webkit-fill-available").$, children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { css: Css.h100.df.fdc.mh0.oa.$, children }) })
|
|
15734
15818
|
);
|
|
15735
15819
|
}
|
|
15736
15820
|
|
|
15737
15821
|
// src/components/Layout/RightPaneLayout/RightPaneContext.tsx
|
|
15738
|
-
var
|
|
15739
|
-
var
|
|
15740
|
-
var RightPaneContext =
|
|
15822
|
+
var import_react88 = __toESM(require("react"), 1);
|
|
15823
|
+
var import_jsx_runtime123 = require("@emotion/react/jsx-runtime");
|
|
15824
|
+
var RightPaneContext = import_react88.default.createContext({
|
|
15741
15825
|
openInPane: () => {
|
|
15742
15826
|
},
|
|
15743
15827
|
closePane: () => {
|
|
@@ -15748,37 +15832,37 @@ var RightPaneContext = import_react87.default.createContext({
|
|
|
15748
15832
|
rightPaneContent: null
|
|
15749
15833
|
});
|
|
15750
15834
|
function RightPaneProvider({ children }) {
|
|
15751
|
-
const [rightPaneContent, setRightPaneContent] = (0,
|
|
15752
|
-
const [isRightPaneOpen, setIsRightPaneOpen] = (0,
|
|
15753
|
-
const openInPane = (0,
|
|
15835
|
+
const [rightPaneContent, setRightPaneContent] = (0, import_react88.useState)(void 0);
|
|
15836
|
+
const [isRightPaneOpen, setIsRightPaneOpen] = (0, import_react88.useState)(false);
|
|
15837
|
+
const openInPane = (0, import_react88.useCallback)(
|
|
15754
15838
|
(opts) => {
|
|
15755
15839
|
setRightPaneContent(opts?.content);
|
|
15756
15840
|
setIsRightPaneOpen(true);
|
|
15757
15841
|
},
|
|
15758
15842
|
[setRightPaneContent]
|
|
15759
15843
|
);
|
|
15760
|
-
const closePane = (0,
|
|
15761
|
-
const clearPane = (0,
|
|
15762
|
-
const context = (0,
|
|
15844
|
+
const closePane = (0, import_react88.useCallback)(() => setIsRightPaneOpen(false), []);
|
|
15845
|
+
const clearPane = (0, import_react88.useCallback)(() => setRightPaneContent(void 0), [setRightPaneContent]);
|
|
15846
|
+
const context = (0, import_react88.useMemo)(
|
|
15763
15847
|
() => ({ openInPane, closePane, clearPane, rightPaneContent, isRightPaneOpen }),
|
|
15764
15848
|
[openInPane, closePane, rightPaneContent, clearPane, isRightPaneOpen]
|
|
15765
15849
|
);
|
|
15766
|
-
return /* @__PURE__ */ (0,
|
|
15850
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(RightPaneContext.Provider, { value: context, children });
|
|
15767
15851
|
}
|
|
15768
15852
|
function useRightPaneContext() {
|
|
15769
|
-
return (0,
|
|
15853
|
+
return (0, import_react88.useContext)(RightPaneContext);
|
|
15770
15854
|
}
|
|
15771
15855
|
|
|
15772
15856
|
// src/components/Layout/RightPaneLayout/RightPaneLayout.tsx
|
|
15773
|
-
var
|
|
15774
|
-
var
|
|
15775
|
-
var
|
|
15857
|
+
var import_framer_motion3 = require("framer-motion");
|
|
15858
|
+
var import_react89 = require("react");
|
|
15859
|
+
var import_jsx_runtime124 = require("@emotion/react/jsx-runtime");
|
|
15776
15860
|
function RightPaneLayout(props) {
|
|
15777
15861
|
const { children, paneBgColor = "rgba(255,255,255,1)" /* White */, paneWidth = 450, defaultPaneContent } = props;
|
|
15778
15862
|
const { isRightPaneOpen, rightPaneContent, clearPane, closePane } = useRightPaneContext();
|
|
15779
|
-
(0,
|
|
15780
|
-
return /* @__PURE__ */ (0,
|
|
15781
|
-
/* @__PURE__ */ (0,
|
|
15863
|
+
(0, import_react89.useEffect)(() => closePane, [closePane]);
|
|
15864
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("div", { css: Css.h100.df.oxh.$, children: /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_jsx_runtime124.Fragment, { children: [
|
|
15865
|
+
/* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
15782
15866
|
"div",
|
|
15783
15867
|
{
|
|
15784
15868
|
css: {
|
|
@@ -15789,16 +15873,16 @@ function RightPaneLayout(props) {
|
|
|
15789
15873
|
children
|
|
15790
15874
|
}
|
|
15791
15875
|
),
|
|
15792
|
-
/* @__PURE__ */ (0,
|
|
15793
|
-
defaultPaneContent && /* @__PURE__ */ (0,
|
|
15876
|
+
/* @__PURE__ */ (0, import_jsx_runtime124.jsxs)("div", { css: Css.relative.if(!!defaultPaneContent).wPx(paneWidth).$, children: [
|
|
15877
|
+
defaultPaneContent && /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
15794
15878
|
"div",
|
|
15795
15879
|
{
|
|
15796
15880
|
css: Css.h100.wPx(paneWidth).left(0).absolute.add("transition", "all .3s ease-in-out").if(isRightPaneOpen).add("opacity", 0).left(100).$,
|
|
15797
15881
|
children: defaultPaneContent
|
|
15798
15882
|
}
|
|
15799
15883
|
),
|
|
15800
|
-
/* @__PURE__ */ (0,
|
|
15801
|
-
|
|
15884
|
+
/* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_framer_motion3.AnimatePresence, { children: isRightPaneOpen && /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
15885
|
+
import_framer_motion3.motion.div,
|
|
15802
15886
|
{
|
|
15803
15887
|
layout: "position",
|
|
15804
15888
|
"data-testid": "rightPaneContent",
|
|
@@ -15826,21 +15910,21 @@ function useRightPane() {
|
|
|
15826
15910
|
}
|
|
15827
15911
|
|
|
15828
15912
|
// src/components/Layout/ScrollableContent.tsx
|
|
15829
|
-
var
|
|
15913
|
+
var import_react90 = require("react");
|
|
15830
15914
|
var import_react_dom4 = require("react-dom");
|
|
15831
|
-
var
|
|
15915
|
+
var import_jsx_runtime125 = require("@emotion/react/jsx-runtime");
|
|
15832
15916
|
function ScrollableContent(props) {
|
|
15833
15917
|
const { children, virtualized = false, omitBottomPadding, bgColor } = props;
|
|
15834
15918
|
const { scrollableEl, setPortalTick, pl, pr } = useScrollableParent();
|
|
15835
|
-
(0,
|
|
15919
|
+
(0, import_react90.useEffect)(() => {
|
|
15836
15920
|
setPortalTick((prev) => prev + 1);
|
|
15837
15921
|
return () => setPortalTick((prev) => prev + 1);
|
|
15838
15922
|
}, [setPortalTick]);
|
|
15839
15923
|
if (!scrollableEl) {
|
|
15840
|
-
return /* @__PURE__ */ (0,
|
|
15924
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_jsx_runtime125.Fragment, { children });
|
|
15841
15925
|
}
|
|
15842
15926
|
return (0, import_react_dom4.createPortal)(
|
|
15843
|
-
/* @__PURE__ */ (0,
|
|
15927
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
15844
15928
|
"div",
|
|
15845
15929
|
{
|
|
15846
15930
|
css: {
|
|
@@ -15856,9 +15940,9 @@ function ScrollableContent(props) {
|
|
|
15856
15940
|
}
|
|
15857
15941
|
|
|
15858
15942
|
// src/components/Toast/ToastContext.tsx
|
|
15859
|
-
var
|
|
15860
|
-
var
|
|
15861
|
-
var ToastContext = (0,
|
|
15943
|
+
var import_react91 = require("react");
|
|
15944
|
+
var import_jsx_runtime126 = require("@emotion/react/jsx-runtime");
|
|
15945
|
+
var ToastContext = (0, import_react91.createContext)({
|
|
15862
15946
|
setNotice: () => {
|
|
15863
15947
|
throw new Error("Missing ToastProvider");
|
|
15864
15948
|
},
|
|
@@ -15867,18 +15951,18 @@ var ToastContext = (0, import_react90.createContext)({
|
|
|
15867
15951
|
notice: void 0
|
|
15868
15952
|
});
|
|
15869
15953
|
function ToastProvider(props) {
|
|
15870
|
-
const [notice, setNotice] = (0,
|
|
15871
|
-
const clear = (0,
|
|
15872
|
-
const contextValue = (0,
|
|
15873
|
-
return /* @__PURE__ */ (0,
|
|
15954
|
+
const [notice, setNotice] = (0, import_react91.useState)();
|
|
15955
|
+
const clear = (0, import_react91.useCallback)(() => setNotice(void 0), [setNotice]);
|
|
15956
|
+
const contextValue = (0, import_react91.useMemo)(() => ({ setNotice, notice, clear }), [notice, clear]);
|
|
15957
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(ToastContext.Provider, { value: contextValue, children: props.children });
|
|
15874
15958
|
}
|
|
15875
15959
|
function useToastContext() {
|
|
15876
|
-
return (0,
|
|
15960
|
+
return (0, import_react91.useContext)(ToastContext);
|
|
15877
15961
|
}
|
|
15878
15962
|
|
|
15879
15963
|
// src/components/BeamContext.tsx
|
|
15880
|
-
var
|
|
15881
|
-
var BeamContext = (0,
|
|
15964
|
+
var import_jsx_runtime127 = require("@emotion/react/jsx-runtime");
|
|
15965
|
+
var BeamContext = (0, import_react92.createContext)({
|
|
15882
15966
|
modalState: new EmptyRef(),
|
|
15883
15967
|
modalCanCloseChecks: new EmptyRef(),
|
|
15884
15968
|
modalHeaderDiv: void 0,
|
|
@@ -15890,21 +15974,21 @@ var BeamContext = (0, import_react91.createContext)({
|
|
|
15890
15974
|
sdHeaderDiv: void 0
|
|
15891
15975
|
});
|
|
15892
15976
|
function BeamProvider({ children, ...presentationProps }) {
|
|
15893
|
-
const [, tick] = (0,
|
|
15894
|
-
const modalRef = (0,
|
|
15895
|
-
const modalHeaderDiv = (0,
|
|
15896
|
-
const modalBodyDiv = (0,
|
|
15977
|
+
const [, tick] = (0, import_react92.useReducer)((prev) => prev + 1, 0);
|
|
15978
|
+
const modalRef = (0, import_react92.useRef)();
|
|
15979
|
+
const modalHeaderDiv = (0, import_react92.useMemo)(() => document.createElement("div"), []);
|
|
15980
|
+
const modalBodyDiv = (0, import_react92.useMemo)(() => {
|
|
15897
15981
|
const el = document.createElement("div");
|
|
15898
15982
|
el.style.height = "100%";
|
|
15899
15983
|
return el;
|
|
15900
15984
|
}, []);
|
|
15901
|
-
const modalCanCloseChecksRef = (0,
|
|
15902
|
-
const modalFooterDiv = (0,
|
|
15903
|
-
const drawerContentStackRef = (0,
|
|
15904
|
-
const drawerCanCloseChecks = (0,
|
|
15905
|
-
const drawerCanCloseDetailsChecks = (0,
|
|
15906
|
-
const sdHeaderDiv = (0,
|
|
15907
|
-
const context = (0,
|
|
15985
|
+
const modalCanCloseChecksRef = (0, import_react92.useRef)([]);
|
|
15986
|
+
const modalFooterDiv = (0, import_react92.useMemo)(() => document.createElement("div"), []);
|
|
15987
|
+
const drawerContentStackRef = (0, import_react92.useRef)([]);
|
|
15988
|
+
const drawerCanCloseChecks = (0, import_react92.useRef)([]);
|
|
15989
|
+
const drawerCanCloseDetailsChecks = (0, import_react92.useRef)([]);
|
|
15990
|
+
const sdHeaderDiv = (0, import_react92.useMemo)(() => document.createElement("div"), []);
|
|
15991
|
+
const context = (0, import_react92.useMemo)(() => {
|
|
15908
15992
|
return {
|
|
15909
15993
|
// These two keys need to trigger re-renders on change
|
|
15910
15994
|
modalState: new PretendRefThatTicks(modalRef, tick),
|
|
@@ -15919,12 +16003,12 @@ function BeamProvider({ children, ...presentationProps }) {
|
|
|
15919
16003
|
sdHeaderDiv
|
|
15920
16004
|
};
|
|
15921
16005
|
}, [modalBodyDiv, modalFooterDiv, modalHeaderDiv, sdHeaderDiv]);
|
|
15922
|
-
return /* @__PURE__ */ (0,
|
|
15923
|
-
/* @__PURE__ */ (0,
|
|
16006
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(BeamContext.Provider, { value: { ...context }, children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(PresentationProvider, { ...presentationProps, children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(RightPaneProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(AutoSaveStatusProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(SnackbarProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(ToastProvider, { children: [
|
|
16007
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_react_aria44.OverlayProvider, { children: [
|
|
15924
16008
|
children,
|
|
15925
|
-
modalRef.current && /* @__PURE__ */ (0,
|
|
16009
|
+
modalRef.current && /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Modal, { ...modalRef.current })
|
|
15926
16010
|
] }),
|
|
15927
|
-
/* @__PURE__ */ (0,
|
|
16011
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(SuperDrawer, {})
|
|
15928
16012
|
] }) }) }) }) }) });
|
|
15929
16013
|
}
|
|
15930
16014
|
var PretendRefThatTicks = class {
|
|
@@ -15941,24 +16025,24 @@ var PretendRefThatTicks = class {
|
|
|
15941
16025
|
}
|
|
15942
16026
|
};
|
|
15943
16027
|
function useBeamContext() {
|
|
15944
|
-
return (0,
|
|
16028
|
+
return (0, import_react92.useContext)(BeamContext);
|
|
15945
16029
|
}
|
|
15946
16030
|
|
|
15947
16031
|
// src/components/ButtonDatePicker.tsx
|
|
15948
|
-
var
|
|
16032
|
+
var import_react93 = require("react");
|
|
15949
16033
|
var import_react_aria45 = require("react-aria");
|
|
15950
16034
|
var import_react_stately17 = require("react-stately");
|
|
15951
|
-
var
|
|
16035
|
+
var import_jsx_runtime128 = require("@emotion/react/jsx-runtime");
|
|
15952
16036
|
function ButtonDatePicker(props) {
|
|
15953
16037
|
const { defaultOpen, disabled, trigger, onSelect, ...datePickerProps } = props;
|
|
15954
16038
|
const state = (0, import_react_stately17.useMenuTriggerState)({ isOpen: defaultOpen });
|
|
15955
|
-
const buttonRef = (0,
|
|
16039
|
+
const buttonRef = (0, import_react93.useRef)(null);
|
|
15956
16040
|
const { menuTriggerProps, menuProps } = (0, import_react_aria45.useMenuTrigger)({ isDisabled: !!disabled }, state, buttonRef);
|
|
15957
16041
|
const tid = useTestIds(
|
|
15958
16042
|
props,
|
|
15959
16043
|
isTextButton(trigger) ? defaultTestId(labelOr(trigger, "buttonDatePicker")) : isNavLinkButton(trigger) ? defaultTestId(trigger.navLabel) : isIconButton(trigger) ? trigger.icon : trigger.name
|
|
15960
16044
|
);
|
|
15961
|
-
return /* @__PURE__ */ (0,
|
|
16045
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(OverlayTrigger, { ...props, menuTriggerProps, state, buttonRef, ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(DatePickerOverlay, { overlayProps: menuProps, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
15962
16046
|
DatePicker,
|
|
15963
16047
|
{
|
|
15964
16048
|
...datePickerProps,
|
|
@@ -15972,9 +16056,9 @@ function ButtonDatePicker(props) {
|
|
|
15972
16056
|
}
|
|
15973
16057
|
|
|
15974
16058
|
// src/components/ButtonGroup.tsx
|
|
15975
|
-
var
|
|
16059
|
+
var import_react94 = require("react");
|
|
15976
16060
|
var import_react_aria46 = require("react-aria");
|
|
15977
|
-
var
|
|
16061
|
+
var import_jsx_runtime129 = (
|
|
15978
16062
|
// Disable the button if the ButtonGroup is disabled or if the current button is disabled.
|
|
15979
16063
|
require("@emotion/react/jsx-runtime")
|
|
15980
16064
|
);
|
|
@@ -15983,21 +16067,21 @@ function ButtonGroup(props) {
|
|
|
15983
16067
|
const tid = useTestIds(props, "buttonGroup");
|
|
15984
16068
|
return (
|
|
15985
16069
|
// Adding `line-height: 0` prevent inheriting line-heights that might throw off sizing within the button group.
|
|
15986
|
-
/* @__PURE__ */ (0,
|
|
16070
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { ...tid, css: Css.df.lh(0).add({ ...sizeStyles2[size] }).$, children: buttons.map(({ disabled: buttonDisabled, ...buttonProps }, i) => /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(GroupButton, { ...buttonProps, disabled: disabled || buttonDisabled, size, ...tid }, i)) })
|
|
15987
16071
|
);
|
|
15988
16072
|
}
|
|
15989
16073
|
function GroupButton(props) {
|
|
15990
16074
|
const { icon, iconInc, iconColor, text, active, onClick: onPress, disabled, size, tooltip, ...otherProps } = props;
|
|
15991
16075
|
const ariaProps = { onPress, isDisabled: !!disabled, ...otherProps };
|
|
15992
|
-
const ref = (0,
|
|
16076
|
+
const ref = (0, import_react94.useRef)(null);
|
|
15993
16077
|
const { buttonProps, isPressed } = (0, import_react_aria46.useButton)(ariaProps, ref);
|
|
15994
16078
|
const { isFocusVisible, focusProps } = (0, import_react_aria46.useFocusRing)();
|
|
15995
16079
|
const { hoverProps, isHovered } = (0, import_react_aria46.useHover)(ariaProps);
|
|
15996
16080
|
const tid = useTestIds(props);
|
|
15997
|
-
return /* @__PURE__ */ (0,
|
|
16081
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("span", { css: getButtonStyles2(), children: maybeTooltip({
|
|
15998
16082
|
title: resolveTooltip(disabled, tooltip),
|
|
15999
16083
|
placement: "top",
|
|
16000
|
-
children: /* @__PURE__ */ (0,
|
|
16084
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
|
|
16001
16085
|
"button",
|
|
16002
16086
|
{
|
|
16003
16087
|
ref,
|
|
@@ -16008,13 +16092,13 @@ function GroupButton(props) {
|
|
|
16008
16092
|
...Css.buttonBase.px2.br0.h100.$,
|
|
16009
16093
|
"&:disabled": Css.gray400.cursorNotAllowed.bcGray300.$,
|
|
16010
16094
|
...isFocusVisible ? defaultFocusRingStyles2 : {},
|
|
16011
|
-
...active ?
|
|
16095
|
+
...active ? activeStyles3 : {},
|
|
16012
16096
|
...isPressed ? pressedStyles2 : isHovered ? hoverStyles3 : {},
|
|
16013
16097
|
...icon ? iconStyles2[size] : {}
|
|
16014
16098
|
},
|
|
16015
16099
|
...tid[defaultTestId(typeof text === "string" && text || icon || "button")],
|
|
16016
16100
|
children: [
|
|
16017
|
-
icon && /* @__PURE__ */ (0,
|
|
16101
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Icon, { xss: Css.if(!!text).mrPx(4).$, icon, color: disabled ? void 0 : iconColor, inc: iconInc }),
|
|
16018
16102
|
text
|
|
16019
16103
|
]
|
|
16020
16104
|
}
|
|
@@ -16022,7 +16106,7 @@ function GroupButton(props) {
|
|
|
16022
16106
|
}) });
|
|
16023
16107
|
}
|
|
16024
16108
|
var pressedStyles2 = Css.bgGray200.$;
|
|
16025
|
-
var
|
|
16109
|
+
var activeStyles3 = Css.bgGray300.$;
|
|
16026
16110
|
var hoverStyles3 = Css.bgGray100.$;
|
|
16027
16111
|
var defaultFocusRingStyles2 = Css.relative.z2.bshFocus.$;
|
|
16028
16112
|
function getButtonStyles2() {
|
|
@@ -16048,10 +16132,10 @@ var iconStyles2 = {
|
|
|
16048
16132
|
};
|
|
16049
16133
|
|
|
16050
16134
|
// src/components/ButtonMenu.tsx
|
|
16051
|
-
var
|
|
16135
|
+
var import_react95 = require("react");
|
|
16052
16136
|
var import_react_aria47 = require("react-aria");
|
|
16053
16137
|
var import_react_stately18 = require("react-stately");
|
|
16054
|
-
var
|
|
16138
|
+
var import_jsx_runtime130 = require("@emotion/react/jsx-runtime");
|
|
16055
16139
|
function ButtonMenu(props) {
|
|
16056
16140
|
const { defaultOpen, disabled, items, persistentItems, trigger, searchable, contrast = false } = props;
|
|
16057
16141
|
let selectedItem, onChange;
|
|
@@ -16060,13 +16144,13 @@ function ButtonMenu(props) {
|
|
|
16060
16144
|
onChange = props.onChange;
|
|
16061
16145
|
}
|
|
16062
16146
|
const state = (0, import_react_stately18.useMenuTriggerState)({ isOpen: defaultOpen });
|
|
16063
|
-
const buttonRef = (0,
|
|
16147
|
+
const buttonRef = (0, import_react95.useRef)(null);
|
|
16064
16148
|
const { menuTriggerProps, menuProps } = (0, import_react_aria47.useMenuTrigger)({ isDisabled: !!disabled }, state, buttonRef);
|
|
16065
16149
|
const tid = useTestIds(
|
|
16066
16150
|
props,
|
|
16067
16151
|
isTextButton(trigger) ? labelOr(trigger, "buttonMenu") : isNavLinkButton(trigger) ? defaultTestId(trigger.navLabel) : isIconButton(trigger) ? trigger.icon : trigger.name
|
|
16068
16152
|
);
|
|
16069
|
-
return /* @__PURE__ */ (0,
|
|
16153
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
16070
16154
|
OverlayTrigger,
|
|
16071
16155
|
{
|
|
16072
16156
|
...props,
|
|
@@ -16075,7 +16159,7 @@ function ButtonMenu(props) {
|
|
|
16075
16159
|
buttonRef,
|
|
16076
16160
|
...tid,
|
|
16077
16161
|
contrast,
|
|
16078
|
-
children: /* @__PURE__ */ (0,
|
|
16162
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
16079
16163
|
Menu,
|
|
16080
16164
|
{
|
|
16081
16165
|
ariaMenuProps: menuProps,
|
|
@@ -16097,9 +16181,9 @@ function isSelectionButtonMenuProps(props) {
|
|
|
16097
16181
|
}
|
|
16098
16182
|
|
|
16099
16183
|
// src/components/Copy.tsx
|
|
16100
|
-
var
|
|
16184
|
+
var import_jsx_runtime131 = require("@emotion/react/jsx-runtime");
|
|
16101
16185
|
function Copy(props) {
|
|
16102
|
-
return /* @__PURE__ */ (0,
|
|
16186
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
16103
16187
|
"div",
|
|
16104
16188
|
{
|
|
16105
16189
|
css: {
|
|
@@ -16113,43 +16197,43 @@ function Copy(props) {
|
|
|
16113
16197
|
|
|
16114
16198
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
16115
16199
|
var import_fast_deep_equal2 = __toESM(require("fast-deep-equal"), 1);
|
|
16116
|
-
var
|
|
16200
|
+
var import_react97 = require("react");
|
|
16117
16201
|
|
|
16118
16202
|
// src/components/DnDGrid/DnDGridContext.tsx
|
|
16119
|
-
var
|
|
16120
|
-
var DnDGridContext = (0,
|
|
16203
|
+
var import_react96 = require("react");
|
|
16204
|
+
var DnDGridContext = (0, import_react96.createContext)({
|
|
16121
16205
|
dragEl: { current: void 0 },
|
|
16122
16206
|
onDragHandleKeyDown: () => {
|
|
16123
16207
|
}
|
|
16124
16208
|
});
|
|
16125
16209
|
function useDnDGridContext() {
|
|
16126
|
-
return (0,
|
|
16210
|
+
return (0, import_react96.useContext)(DnDGridContext);
|
|
16127
16211
|
}
|
|
16128
16212
|
|
|
16129
16213
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
16130
|
-
var
|
|
16214
|
+
var import_jsx_runtime132 = require("@emotion/react/jsx-runtime");
|
|
16131
16215
|
function DnDGrid(props) {
|
|
16132
16216
|
const { children, gridStyles, onReorder, activeItemStyles } = props;
|
|
16133
|
-
const gridEl = (0,
|
|
16134
|
-
const dragEl = (0,
|
|
16135
|
-
const cloneEl = (0,
|
|
16136
|
-
const initialOrder = (0,
|
|
16137
|
-
const reorderViaKeyboard = (0,
|
|
16138
|
-
const transformFrom = (0,
|
|
16217
|
+
const gridEl = (0, import_react97.useRef)(null);
|
|
16218
|
+
const dragEl = (0, import_react97.useRef)();
|
|
16219
|
+
const cloneEl = (0, import_react97.useRef)();
|
|
16220
|
+
const initialOrder = (0, import_react97.useRef)();
|
|
16221
|
+
const reorderViaKeyboard = (0, import_react97.useRef)(false);
|
|
16222
|
+
const transformFrom = (0, import_react97.useRef)({ x: 0, y: 0 });
|
|
16139
16223
|
const tid = useTestIds(props, "dndGrid");
|
|
16140
|
-
const getGridItems = (0,
|
|
16224
|
+
const getGridItems = (0, import_react97.useCallback)(() => {
|
|
16141
16225
|
return gridEl.current ? Array.from(gridEl.current.querySelectorAll(`[${gridItemIdKey}]`)) : [];
|
|
16142
16226
|
}, []);
|
|
16143
|
-
const getGridItemIdOrder = (0,
|
|
16227
|
+
const getGridItemIdOrder = (0, import_react97.useCallback)(() => {
|
|
16144
16228
|
return getGridItems().map((child) => child.getAttribute(gridItemIdKey)).filter(isDefined);
|
|
16145
16229
|
}, [getGridItems]);
|
|
16146
|
-
const initReorder = (0,
|
|
16230
|
+
const initReorder = (0, import_react97.useCallback)(() => {
|
|
16147
16231
|
if (gridEl.current && dragEl.current) {
|
|
16148
16232
|
initialOrder.current = getGridItemIdOrder();
|
|
16149
16233
|
dragEl.current.classList.add(activeGridItemClass);
|
|
16150
16234
|
}
|
|
16151
16235
|
}, [getGridItemIdOrder]);
|
|
16152
|
-
const commitReorder = (0,
|
|
16236
|
+
const commitReorder = (0, import_react97.useCallback)(() => {
|
|
16153
16237
|
if (gridEl.current && dragEl.current) {
|
|
16154
16238
|
const currentOrder = getGridItemIdOrder();
|
|
16155
16239
|
if (!(0, import_fast_deep_equal2.default)(currentOrder, initialOrder.current)) onReorder(currentOrder);
|
|
@@ -16159,7 +16243,7 @@ function DnDGrid(props) {
|
|
|
16159
16243
|
initialOrder.current = currentOrder;
|
|
16160
16244
|
}
|
|
16161
16245
|
}, [onReorder, getGridItemIdOrder]);
|
|
16162
|
-
const cancelReorder = (0,
|
|
16246
|
+
const cancelReorder = (0, import_react97.useCallback)(() => {
|
|
16163
16247
|
if (gridEl.current && dragEl.current && initialOrder.current) {
|
|
16164
16248
|
const currentOrder = getGridItemIdOrder();
|
|
16165
16249
|
if (!(0, import_fast_deep_equal2.default)(currentOrder, initialOrder.current)) {
|
|
@@ -16181,7 +16265,7 @@ function DnDGrid(props) {
|
|
|
16181
16265
|
reorderViaKeyboard.current = false;
|
|
16182
16266
|
}
|
|
16183
16267
|
}, [getGridItemIdOrder, getGridItems]);
|
|
16184
|
-
const onMove = (0,
|
|
16268
|
+
const onMove = (0, import_react97.useCallback)((e) => {
|
|
16185
16269
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
16186
16270
|
const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
|
|
16187
16271
|
const clientY = "clientY" in e ? e.clientY : e.touches[0].clientY;
|
|
@@ -16202,7 +16286,7 @@ function DnDGrid(props) {
|
|
|
16202
16286
|
}
|
|
16203
16287
|
}
|
|
16204
16288
|
}, []);
|
|
16205
|
-
const onDragStart = (0,
|
|
16289
|
+
const onDragStart = (0, import_react97.useCallback)(
|
|
16206
16290
|
(e) => {
|
|
16207
16291
|
if (!reorderViaKeyboard.current && dragEl.current && gridEl.current) {
|
|
16208
16292
|
initReorder();
|
|
@@ -16233,7 +16317,7 @@ function DnDGrid(props) {
|
|
|
16233
16317
|
},
|
|
16234
16318
|
[initReorder, onMove]
|
|
16235
16319
|
);
|
|
16236
|
-
const onDragEnd = (0,
|
|
16320
|
+
const onDragEnd = (0, import_react97.useCallback)(
|
|
16237
16321
|
(e) => {
|
|
16238
16322
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
16239
16323
|
e.preventDefault();
|
|
@@ -16249,7 +16333,7 @@ function DnDGrid(props) {
|
|
|
16249
16333
|
},
|
|
16250
16334
|
[commitReorder, onMove]
|
|
16251
16335
|
);
|
|
16252
|
-
const onDragHandleKeyDown = (0,
|
|
16336
|
+
const onDragHandleKeyDown = (0, import_react97.useCallback)(
|
|
16253
16337
|
(e) => {
|
|
16254
16338
|
const moveHandle = e.target;
|
|
16255
16339
|
if (dragEl.current instanceof HTMLElement && moveHandle instanceof HTMLElement && gridEl.current) {
|
|
@@ -16300,7 +16384,7 @@ function DnDGrid(props) {
|
|
|
16300
16384
|
},
|
|
16301
16385
|
[cancelReorder, commitReorder, initReorder, getGridItems]
|
|
16302
16386
|
);
|
|
16303
|
-
return /* @__PURE__ */ (0,
|
|
16387
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(DnDGridContext.Provider, { value: { dragEl, onDragHandleKeyDown }, children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
16304
16388
|
"div",
|
|
16305
16389
|
{
|
|
16306
16390
|
ref: gridEl,
|
|
@@ -16323,7 +16407,7 @@ var activeGridItemClass = "dndgrid-active";
|
|
|
16323
16407
|
|
|
16324
16408
|
// src/components/DnDGrid/DnDGridItemHandle.tsx
|
|
16325
16409
|
var import_react_aria48 = require("react-aria");
|
|
16326
|
-
var
|
|
16410
|
+
var import_jsx_runtime133 = require("@emotion/react/jsx-runtime");
|
|
16327
16411
|
function DnDGridItemHandle(props) {
|
|
16328
16412
|
const { dragHandleProps, icon = "move", compact = false, color } = props;
|
|
16329
16413
|
const { focusProps, isFocusVisible } = (0, import_react_aria48.useFocusRing)();
|
|
@@ -16331,7 +16415,7 @@ function DnDGridItemHandle(props) {
|
|
|
16331
16415
|
const tid = useTestIds(props, "dragHandle");
|
|
16332
16416
|
const iconButtonNormal2 = Css.hPx(28).wPx(28).br8.bw2.$;
|
|
16333
16417
|
const iconButtonCompact2 = Css.hPx(18).wPx(18).br4.bw1.$;
|
|
16334
|
-
return /* @__PURE__ */ (0,
|
|
16418
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
16335
16419
|
"button",
|
|
16336
16420
|
{
|
|
16337
16421
|
css: {
|
|
@@ -16341,17 +16425,17 @@ function DnDGridItemHandle(props) {
|
|
|
16341
16425
|
},
|
|
16342
16426
|
...(0, import_react_aria48.mergeProps)(dragHandleProps, focusProps, hoverProps),
|
|
16343
16427
|
...tid,
|
|
16344
|
-
children: /* @__PURE__ */ (0,
|
|
16428
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(Icon, { icon, inc: compact ? 2 : void 0, color })
|
|
16345
16429
|
}
|
|
16346
16430
|
);
|
|
16347
16431
|
}
|
|
16348
16432
|
|
|
16349
16433
|
// src/components/DnDGrid/useDnDGridItem.tsx
|
|
16350
|
-
var
|
|
16434
|
+
var import_react98 = require("react");
|
|
16351
16435
|
function useDnDGridItem(props) {
|
|
16352
16436
|
const { id, itemRef } = props;
|
|
16353
16437
|
const { dragEl, onDragHandleKeyDown } = useDnDGridContext();
|
|
16354
|
-
const { dragItemProps, dragHandleProps } = (0,
|
|
16438
|
+
const { dragItemProps, dragHandleProps } = (0, import_react98.useMemo)(
|
|
16355
16439
|
() => {
|
|
16356
16440
|
function initDraggable() {
|
|
16357
16441
|
if (itemRef.current) {
|
|
@@ -16395,7 +16479,7 @@ var BaseFilter = class {
|
|
|
16395
16479
|
};
|
|
16396
16480
|
|
|
16397
16481
|
// src/components/Filters/DateFilter.tsx
|
|
16398
|
-
var
|
|
16482
|
+
var import_jsx_runtime134 = require("@emotion/react/jsx-runtime");
|
|
16399
16483
|
function dateFilter(props) {
|
|
16400
16484
|
return (key) => new DateFilter(key, props);
|
|
16401
16485
|
}
|
|
@@ -16403,10 +16487,10 @@ var anyOption = {};
|
|
|
16403
16487
|
var DateFilter = class extends BaseFilter {
|
|
16404
16488
|
render(value, setValue, tid, inModal, vertical) {
|
|
16405
16489
|
const { label, operations, getOperationValue, getOperationLabel } = this.props;
|
|
16406
|
-
return /* @__PURE__ */ (0,
|
|
16407
|
-
vertical && /* @__PURE__ */ (0,
|
|
16408
|
-
/* @__PURE__ */ (0,
|
|
16409
|
-
/* @__PURE__ */ (0,
|
|
16490
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(import_jsx_runtime134.Fragment, { children: [
|
|
16491
|
+
vertical && /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Label, { label }),
|
|
16492
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(CompoundField, { children: [
|
|
16493
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
16410
16494
|
SelectField,
|
|
16411
16495
|
{
|
|
16412
16496
|
compact: true,
|
|
@@ -16429,7 +16513,7 @@ var DateFilter = class extends BaseFilter {
|
|
|
16429
16513
|
...tid[`${defaultTestId(this.label)}_dateOperation`]
|
|
16430
16514
|
}
|
|
16431
16515
|
),
|
|
16432
|
-
/* @__PURE__ */ (0,
|
|
16516
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
16433
16517
|
DateField,
|
|
16434
16518
|
{
|
|
16435
16519
|
compact: true,
|
|
@@ -16447,16 +16531,16 @@ var DateFilter = class extends BaseFilter {
|
|
|
16447
16531
|
};
|
|
16448
16532
|
|
|
16449
16533
|
// src/components/Filters/DateRangeFilter.tsx
|
|
16450
|
-
var
|
|
16534
|
+
var import_jsx_runtime135 = require("@emotion/react/jsx-runtime");
|
|
16451
16535
|
function dateRangeFilter(props) {
|
|
16452
16536
|
return (key) => new DateRangeFilter(key, props);
|
|
16453
16537
|
}
|
|
16454
16538
|
var DateRangeFilter = class extends BaseFilter {
|
|
16455
16539
|
render(value, setValue, tid, inModal, vertical) {
|
|
16456
16540
|
const { label, placeholderText, disabledDays, testFieldLabel, defaultValue } = this.props;
|
|
16457
|
-
return /* @__PURE__ */ (0,
|
|
16458
|
-
vertical && /* @__PURE__ */ (0,
|
|
16459
|
-
/* @__PURE__ */ (0,
|
|
16541
|
+
return /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(import_jsx_runtime135.Fragment, { children: [
|
|
16542
|
+
vertical && /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(Label, { label }),
|
|
16543
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
16460
16544
|
DateRangeField,
|
|
16461
16545
|
{
|
|
16462
16546
|
compact: true,
|
|
@@ -16475,7 +16559,7 @@ var DateRangeFilter = class extends BaseFilter {
|
|
|
16475
16559
|
};
|
|
16476
16560
|
|
|
16477
16561
|
// src/components/Filters/MultiFilter.tsx
|
|
16478
|
-
var
|
|
16562
|
+
var import_jsx_runtime136 = require("@emotion/react/jsx-runtime");
|
|
16479
16563
|
function multiFilter(props) {
|
|
16480
16564
|
return (key) => new MultiFilter(key, props);
|
|
16481
16565
|
}
|
|
@@ -16485,7 +16569,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
16485
16569
|
const { disabledOptions } = this.props;
|
|
16486
16570
|
const disabledOptionsWithReasons = Object.fromEntries(disabledOptions?.map(disabledOptionToKeyedTuple) ?? []);
|
|
16487
16571
|
const disabledKeys = Object.keys(disabledOptionsWithReasons);
|
|
16488
|
-
return /* @__PURE__ */ (0,
|
|
16572
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
16489
16573
|
ToggleChipGroup,
|
|
16490
16574
|
{
|
|
16491
16575
|
label: this.label,
|
|
@@ -16509,7 +16593,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
16509
16593
|
);
|
|
16510
16594
|
}
|
|
16511
16595
|
const { defaultValue, nothingSelectedText, ...props } = this.props;
|
|
16512
|
-
return /* @__PURE__ */ (0,
|
|
16596
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
16513
16597
|
MultiSelectField,
|
|
16514
16598
|
{
|
|
16515
16599
|
...props,
|
|
@@ -16529,7 +16613,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
16529
16613
|
};
|
|
16530
16614
|
|
|
16531
16615
|
// src/components/Filters/NumberRangeFilter.tsx
|
|
16532
|
-
var
|
|
16616
|
+
var import_jsx_runtime137 = require("@emotion/react/jsx-runtime");
|
|
16533
16617
|
function numberRangeFilter(props) {
|
|
16534
16618
|
return (key) => new NumberRangeFilter(key, props);
|
|
16535
16619
|
}
|
|
@@ -16538,10 +16622,10 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
16538
16622
|
const { label, numberFieldType, numberFormatOptions } = this.props;
|
|
16539
16623
|
const min = value?.min ?? void 0;
|
|
16540
16624
|
const max = value?.max ?? void 0;
|
|
16541
|
-
return /* @__PURE__ */ (0,
|
|
16542
|
-
vertical && /* @__PURE__ */ (0,
|
|
16543
|
-
/* @__PURE__ */ (0,
|
|
16544
|
-
/* @__PURE__ */ (0,
|
|
16625
|
+
return /* @__PURE__ */ (0, import_jsx_runtime137.jsxs)(import_jsx_runtime137.Fragment, { children: [
|
|
16626
|
+
vertical && /* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { ...tid, children: [
|
|
16627
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(Label, { label }),
|
|
16628
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("div", { css: Css.pb1.$, children: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
16545
16629
|
NumberField,
|
|
16546
16630
|
{
|
|
16547
16631
|
labelStyle: "inline",
|
|
@@ -16557,7 +16641,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
16557
16641
|
...tid[`${defaultTestId(label)}_min_vertical`]
|
|
16558
16642
|
}
|
|
16559
16643
|
) }),
|
|
16560
|
-
/* @__PURE__ */ (0,
|
|
16644
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
16561
16645
|
NumberField,
|
|
16562
16646
|
{
|
|
16563
16647
|
labelStyle: "inline",
|
|
@@ -16574,8 +16658,8 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
16574
16658
|
}
|
|
16575
16659
|
)
|
|
16576
16660
|
] }),
|
|
16577
|
-
!vertical && /* @__PURE__ */ (0,
|
|
16578
|
-
/* @__PURE__ */ (0,
|
|
16661
|
+
!vertical && /* @__PURE__ */ (0, import_jsx_runtime137.jsxs)(CompoundField, { ...tid, children: [
|
|
16662
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
16579
16663
|
NumberField,
|
|
16580
16664
|
{
|
|
16581
16665
|
compact: true,
|
|
@@ -16593,7 +16677,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
16593
16677
|
...tid[`${defaultTestId(label)}_min`]
|
|
16594
16678
|
}
|
|
16595
16679
|
),
|
|
16596
|
-
/* @__PURE__ */ (0,
|
|
16680
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
16597
16681
|
NumberField,
|
|
16598
16682
|
{
|
|
16599
16683
|
compact: true,
|
|
@@ -16617,7 +16701,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
16617
16701
|
};
|
|
16618
16702
|
|
|
16619
16703
|
// src/components/Filters/SingleFilter.tsx
|
|
16620
|
-
var
|
|
16704
|
+
var import_jsx_runtime138 = require("@emotion/react/jsx-runtime");
|
|
16621
16705
|
function singleFilter(props) {
|
|
16622
16706
|
return (key) => new SingleFilter(key, props);
|
|
16623
16707
|
}
|
|
@@ -16634,7 +16718,7 @@ var SingleFilter = class extends BaseFilter {
|
|
|
16634
16718
|
...props
|
|
16635
16719
|
} = this.props;
|
|
16636
16720
|
const options = Array.isArray(maybeOptions) ? [allOption, ...maybeOptions] : { ...maybeOptions, current: maybeOptions.current };
|
|
16637
|
-
return /* @__PURE__ */ (0,
|
|
16721
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
16638
16722
|
SelectField,
|
|
16639
16723
|
{
|
|
16640
16724
|
...props,
|
|
@@ -16655,14 +16739,14 @@ var SingleFilter = class extends BaseFilter {
|
|
|
16655
16739
|
};
|
|
16656
16740
|
|
|
16657
16741
|
// src/components/Filters/TreeFilter.tsx
|
|
16658
|
-
var
|
|
16742
|
+
var import_jsx_runtime139 = require("@emotion/react/jsx-runtime");
|
|
16659
16743
|
function treeFilter(props) {
|
|
16660
16744
|
return (key) => new TreeFilter(key, props);
|
|
16661
16745
|
}
|
|
16662
16746
|
var TreeFilter = class extends BaseFilter {
|
|
16663
16747
|
render(value, setValue, tid, inModal, vertical) {
|
|
16664
16748
|
const { defaultValue, nothingSelectedText, filterBy = "root", ...props } = this.props;
|
|
16665
|
-
return /* @__PURE__ */ (0,
|
|
16749
|
+
return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
|
|
16666
16750
|
TreeSelectField,
|
|
16667
16751
|
{
|
|
16668
16752
|
...props,
|
|
@@ -16683,14 +16767,14 @@ var TreeFilter = class extends BaseFilter {
|
|
|
16683
16767
|
};
|
|
16684
16768
|
|
|
16685
16769
|
// src/components/Filters/BooleanFilter.tsx
|
|
16686
|
-
var
|
|
16770
|
+
var import_jsx_runtime140 = require("@emotion/react/jsx-runtime");
|
|
16687
16771
|
function booleanFilter(props) {
|
|
16688
16772
|
return (key) => new BooleanFilter(key, props);
|
|
16689
16773
|
}
|
|
16690
16774
|
var BooleanFilter = class extends BaseFilter {
|
|
16691
16775
|
render(value, setValue, tid, inModal, vertical) {
|
|
16692
16776
|
const { options = defaultBooleanOptions, label, defaultValue, ...props } = this.props;
|
|
16693
|
-
return /* @__PURE__ */ (0,
|
|
16777
|
+
return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
|
|
16694
16778
|
SelectField,
|
|
16695
16779
|
{
|
|
16696
16780
|
...props,
|
|
@@ -16718,7 +16802,7 @@ var defaultBooleanOptions = [
|
|
|
16718
16802
|
];
|
|
16719
16803
|
|
|
16720
16804
|
// src/components/Filters/CheckboxFilter.tsx
|
|
16721
|
-
var
|
|
16805
|
+
var import_jsx_runtime141 = require("@emotion/react/jsx-runtime");
|
|
16722
16806
|
function checkboxFilter(props) {
|
|
16723
16807
|
return (key) => new CheckboxFilter(key, {
|
|
16724
16808
|
// If the user has set the offValue, that should be the default b/c we're only a two-state
|
|
@@ -16729,7 +16813,7 @@ function checkboxFilter(props) {
|
|
|
16729
16813
|
var CheckboxFilter = class extends BaseFilter {
|
|
16730
16814
|
render(value, setValue, tid, inModal, vertical) {
|
|
16731
16815
|
const { defaultValue, onValue = true, offValue = void 0, ...props } = this.props;
|
|
16732
|
-
return /* @__PURE__ */ (0,
|
|
16816
|
+
return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
|
|
16733
16817
|
Checkbox,
|
|
16734
16818
|
{
|
|
16735
16819
|
...props,
|
|
@@ -16748,44 +16832,44 @@ var CheckboxFilter = class extends BaseFilter {
|
|
|
16748
16832
|
};
|
|
16749
16833
|
|
|
16750
16834
|
// src/components/Filters/FilterModal.tsx
|
|
16751
|
-
var
|
|
16835
|
+
var import_react100 = require("react");
|
|
16752
16836
|
|
|
16753
16837
|
// src/components/Modal/OpenModal.tsx
|
|
16754
|
-
var
|
|
16755
|
-
var
|
|
16838
|
+
var import_react99 = require("react");
|
|
16839
|
+
var import_jsx_runtime142 = require("@emotion/react/jsx-runtime");
|
|
16756
16840
|
function OpenModal(props) {
|
|
16757
16841
|
const { openModal } = useModal();
|
|
16758
16842
|
const { size, children, keepOpen } = props;
|
|
16759
|
-
(0,
|
|
16843
|
+
(0, import_react99.useEffect)(() => {
|
|
16760
16844
|
if (!keepOpen) {
|
|
16761
16845
|
openModal({ size, content: children });
|
|
16762
16846
|
}
|
|
16763
16847
|
}, [keepOpen, openModal, size, children]);
|
|
16764
16848
|
if (keepOpen) {
|
|
16765
|
-
return /* @__PURE__ */ (0,
|
|
16849
|
+
return /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(Modal, { size, content: children });
|
|
16766
16850
|
} else {
|
|
16767
|
-
return /* @__PURE__ */ (0,
|
|
16851
|
+
return /* @__PURE__ */ (0, import_jsx_runtime142.jsx)("div", { children: "dummy content" });
|
|
16768
16852
|
}
|
|
16769
16853
|
}
|
|
16770
16854
|
|
|
16771
16855
|
// src/components/Filters/FilterModal.tsx
|
|
16772
|
-
var
|
|
16856
|
+
var import_jsx_runtime143 = require("@emotion/react/jsx-runtime");
|
|
16773
16857
|
function FilterModal(props) {
|
|
16774
16858
|
const { filter, filters, onApply } = props;
|
|
16775
16859
|
const testId = useTestIds(props, filterTestIdPrefix);
|
|
16776
16860
|
const { closeModal } = useModal();
|
|
16777
|
-
const [modalFilter, setModalFilter] = (0,
|
|
16778
|
-
return /* @__PURE__ */ (0,
|
|
16779
|
-
/* @__PURE__ */ (0,
|
|
16780
|
-
/* @__PURE__ */ (0,
|
|
16861
|
+
const [modalFilter, setModalFilter] = (0, import_react100.useState)(filter);
|
|
16862
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(import_jsx_runtime143.Fragment, { children: [
|
|
16863
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(ModalHeader, { children: "More Filters" }),
|
|
16864
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(ModalBody, { children: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)("div", { css: Css.df.fdc.$, children: safeEntries(filters).map(([key, f]) => /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(ModalFilterItem, { label: f.hideLabelInModal ? void 0 : f.label, children: f.render(
|
|
16781
16865
|
modalFilter[key],
|
|
16782
16866
|
(value) => setModalFilter(updateFilter(modalFilter, key, value)),
|
|
16783
16867
|
testId,
|
|
16784
16868
|
true,
|
|
16785
16869
|
false
|
|
16786
16870
|
) }, key)) }) }),
|
|
16787
|
-
/* @__PURE__ */ (0,
|
|
16788
|
-
/* @__PURE__ */ (0,
|
|
16871
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(ModalFooter, { xss: Css.jcsb.$, children: [
|
|
16872
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
16789
16873
|
Button,
|
|
16790
16874
|
{
|
|
16791
16875
|
label: "Clear",
|
|
@@ -16798,9 +16882,9 @@ function FilterModal(props) {
|
|
|
16798
16882
|
...testId.modalClear
|
|
16799
16883
|
}
|
|
16800
16884
|
),
|
|
16801
|
-
/* @__PURE__ */ (0,
|
|
16802
|
-
/* @__PURE__ */ (0,
|
|
16803
|
-
/* @__PURE__ */ (0,
|
|
16885
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsxs)("div", { css: Css.df.gap1.$, children: [
|
|
16886
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(Button, { label: "Cancel", variant: "tertiary", onClick: closeModal, ...testId.modalClose }),
|
|
16887
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
16804
16888
|
Button,
|
|
16805
16889
|
{
|
|
16806
16890
|
label: "Apply",
|
|
@@ -16816,20 +16900,20 @@ function FilterModal(props) {
|
|
|
16816
16900
|
] });
|
|
16817
16901
|
}
|
|
16818
16902
|
function ModalFilterItem({ label, children }) {
|
|
16819
|
-
return /* @__PURE__ */ (0,
|
|
16820
|
-
label && /* @__PURE__ */ (0,
|
|
16821
|
-
/* @__PURE__ */ (0,
|
|
16903
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)("div", { css: Css.mb4.if(!label).bt.bcGray200.$, children: [
|
|
16904
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime143.jsx)("h2", { css: Css.baseMd.mb2.$, children: label }),
|
|
16905
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)("div", { css: Css.if(!label).pt3.$, children })
|
|
16822
16906
|
] });
|
|
16823
16907
|
}
|
|
16824
16908
|
|
|
16825
16909
|
// src/components/Filters/Filters.tsx
|
|
16826
|
-
var
|
|
16827
|
-
var
|
|
16910
|
+
var import_react101 = require("react");
|
|
16911
|
+
var import_jsx_runtime144 = require("@emotion/react/jsx-runtime");
|
|
16828
16912
|
function Filters(props) {
|
|
16829
16913
|
const { filter, onChange, filterDefs, groupBy, vertical = false, numberOfInlineFilters = groupBy ? 3 : 4 } = props;
|
|
16830
16914
|
const testId = useTestIds(props, filterTestIdPrefix);
|
|
16831
16915
|
const { openModal } = useModal();
|
|
16832
|
-
const [pageFilters, modalFilters] = (0,
|
|
16916
|
+
const [pageFilters, modalFilters] = (0, import_react101.useMemo)(() => {
|
|
16833
16917
|
const impls = safeEntries(filterDefs).map(([key, fn]) => [key, fn(key)]);
|
|
16834
16918
|
if (!vertical && impls.length > numberOfInlineFilters) {
|
|
16835
16919
|
return [
|
|
@@ -16840,7 +16924,7 @@ function Filters(props) {
|
|
|
16840
16924
|
return [Object.fromEntries(impls), {}];
|
|
16841
16925
|
}, [numberOfInlineFilters, vertical, filterDefs]);
|
|
16842
16926
|
const numModalFilters = safeKeys(modalFilters).filter((fk) => filter[fk] !== void 0).length;
|
|
16843
|
-
const maybeGroupByField = groupBy ? /* @__PURE__ */ (0,
|
|
16927
|
+
const maybeGroupByField = groupBy ? /* @__PURE__ */ (0, import_jsx_runtime144.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(
|
|
16844
16928
|
SelectField,
|
|
16845
16929
|
{
|
|
16846
16930
|
label: "Group by",
|
|
@@ -16854,7 +16938,7 @@ function Filters(props) {
|
|
|
16854
16938
|
onSelect: (g) => g && groupBy.setValue(g)
|
|
16855
16939
|
}
|
|
16856
16940
|
) }) : null;
|
|
16857
|
-
return /* @__PURE__ */ (0,
|
|
16941
|
+
return /* @__PURE__ */ (0, import_jsx_runtime144.jsxs)(
|
|
16858
16942
|
"div",
|
|
16859
16943
|
{
|
|
16860
16944
|
css: {
|
|
@@ -16863,29 +16947,29 @@ function Filters(props) {
|
|
|
16863
16947
|
...testId,
|
|
16864
16948
|
children: [
|
|
16865
16949
|
maybeGroupByField,
|
|
16866
|
-
safeEntries(pageFilters).map(([key, f]) => /* @__PURE__ */ (0,
|
|
16867
|
-
Object.keys(modalFilters).length > 0 && /* @__PURE__ */ (0,
|
|
16950
|
+
safeEntries(pageFilters).map(([key, f]) => /* @__PURE__ */ (0, import_jsx_runtime144.jsx)("div", { children: f.render(filter[key], (value) => onChange(updateFilter(filter, key, value)), testId, false, vertical) }, key)),
|
|
16951
|
+
Object.keys(modalFilters).length > 0 && /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(
|
|
16868
16952
|
Button,
|
|
16869
16953
|
{
|
|
16870
16954
|
label: "More Filters",
|
|
16871
|
-
endAdornment: numModalFilters > 0 && /* @__PURE__ */ (0,
|
|
16955
|
+
endAdornment: numModalFilters > 0 && /* @__PURE__ */ (0, import_jsx_runtime144.jsx)("span", { css: Css.wPx(16).hPx(16).fs0.br100.bgBlue700.white.tinySb.df.aic.jcc.$, children: numModalFilters }),
|
|
16872
16956
|
variant: "secondary",
|
|
16873
16957
|
onClick: () => openModal({
|
|
16874
16958
|
// Spreading `props` to pass along `data-testid`
|
|
16875
|
-
content: /* @__PURE__ */ (0,
|
|
16959
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(FilterModal, { ...props, filter, onApply: onChange, filters: modalFilters })
|
|
16876
16960
|
}),
|
|
16877
16961
|
...testId.moreFiltersBtn
|
|
16878
16962
|
}
|
|
16879
16963
|
),
|
|
16880
|
-
Object.keys(filter).length > 0 && /* @__PURE__ */ (0,
|
|
16964
|
+
Object.keys(filter).length > 0 && /* @__PURE__ */ (0, import_jsx_runtime144.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(Button, { label: "Clear", variant: "tertiary", onClick: () => onChange({}), ...testId.clearBtn }) })
|
|
16881
16965
|
]
|
|
16882
16966
|
}
|
|
16883
16967
|
);
|
|
16884
16968
|
}
|
|
16885
|
-
var _Filters = (0,
|
|
16969
|
+
var _Filters = (0, import_react101.memo)(Filters);
|
|
16886
16970
|
|
|
16887
16971
|
// src/components/Filters/ToggleFilter.tsx
|
|
16888
|
-
var
|
|
16972
|
+
var import_jsx_runtime145 = require("@emotion/react/jsx-runtime");
|
|
16889
16973
|
function toggleFilter(props) {
|
|
16890
16974
|
return (key) => new ToggleFilter(key, {
|
|
16891
16975
|
// If the user has set the offValue, that should be the default b/c we're only a two-state
|
|
@@ -16896,7 +16980,7 @@ function toggleFilter(props) {
|
|
|
16896
16980
|
var ToggleFilter = class extends BaseFilter {
|
|
16897
16981
|
render(value, setValue, tid, inModal, vertical) {
|
|
16898
16982
|
const { defaultValue, onValue = true, offValue = void 0, ...props } = this.props;
|
|
16899
|
-
return /* @__PURE__ */ (0,
|
|
16983
|
+
return /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
|
|
16900
16984
|
Switch,
|
|
16901
16985
|
{
|
|
16902
16986
|
...props,
|
|
@@ -16926,23 +17010,23 @@ function updateFilter(currentFilter, key, value) {
|
|
|
16926
17010
|
var filterTestIdPrefix = "filter";
|
|
16927
17011
|
|
|
16928
17012
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
16929
|
-
var
|
|
17013
|
+
var import_jsx_runtime146 = require("@emotion/react/jsx-runtime");
|
|
16930
17014
|
function ResponsiveGrid(props) {
|
|
16931
17015
|
const { children, ...hookProps } = props;
|
|
16932
17016
|
const { gridStyles } = useResponsiveGrid(hookProps);
|
|
16933
|
-
return /* @__PURE__ */ (0,
|
|
17017
|
+
return /* @__PURE__ */ (0, import_jsx_runtime146.jsx)("div", { css: { ...gridStyles }, children });
|
|
16934
17018
|
}
|
|
16935
17019
|
|
|
16936
17020
|
// src/components/Grid/ResponsiveGridItem.tsx
|
|
16937
|
-
var
|
|
17021
|
+
var import_jsx_runtime147 = require("@emotion/react/jsx-runtime");
|
|
16938
17022
|
function ResponsiveGridItem(props) {
|
|
16939
17023
|
const { colSpan, children } = props;
|
|
16940
17024
|
const { gridItemProps } = useResponsiveGridItem({ colSpan });
|
|
16941
|
-
return /* @__PURE__ */ (0,
|
|
17025
|
+
return /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("div", { ...gridItemProps, children });
|
|
16942
17026
|
}
|
|
16943
17027
|
|
|
16944
17028
|
// src/components/Grid/useResponsiveGrid.ts
|
|
16945
|
-
var
|
|
17029
|
+
var import_react102 = require("react");
|
|
16946
17030
|
|
|
16947
17031
|
// src/components/Grid/utils.ts
|
|
16948
17032
|
var gridItemDataAttribute = "data-grid-item-span";
|
|
@@ -16950,7 +17034,7 @@ var gridItemDataAttribute = "data-grid-item-span";
|
|
|
16950
17034
|
// src/components/Grid/useResponsiveGrid.ts
|
|
16951
17035
|
function useResponsiveGrid(props) {
|
|
16952
17036
|
const { minColumnWidth, gap, columns } = props;
|
|
16953
|
-
const gridStyles = (0,
|
|
17037
|
+
const gridStyles = (0, import_react102.useMemo)(() => {
|
|
16954
17038
|
const gapCount = columns - 1;
|
|
16955
17039
|
const totalGapWidth = gap * gapCount;
|
|
16956
17040
|
const maxColumnWidth = `calc((100% - ${totalGapWidth}px) / ${columns})`;
|
|
@@ -16991,24 +17075,24 @@ function useResponsiveGridItem({ colSpan = 1 }) {
|
|
|
16991
17075
|
}
|
|
16992
17076
|
|
|
16993
17077
|
// src/components/HbLoadingSpinner.tsx
|
|
16994
|
-
var
|
|
17078
|
+
var import_react103 = __toESM(require("react"), 1);
|
|
16995
17079
|
|
|
16996
17080
|
// src/components/HbLoadingSpinner.base64.ts
|
|
16997
17081
|
var HbLoadingSpinner_base64_default = "data:image/gif,GIF89a%80%00%80%00%E7%00%00%00%00%00%0D%0D%0D%16%16%16%1C%1C%1C%22%22%22%26%26%26%2A%2A%2A...222555888%3B%3B%3B%3D%3D%3D%40%40%40BBBEEEGGGIIIKKKMMMOOOQQQSSSUUUVVVXXXZZZ%5C%5C%5C%5D%5D%5D___%60%60%60bbbccceeefffhhhiiijjjlllmmmnnnpppqqqrrrsssuuuvvvwwwxxxyyyzzz%7C%7C%7C%7D%7D%7D~~~%7F%7F%7F%80%80%80%81%81%81%82%82%82%83%83%83%84%84%84%85%85%85%86%86%86%87%87%87%88%88%88%89%89%89%8A%8A%8A%8B%8B%8B%8C%8C%8C%8D%8D%8D%8E%8E%8E%8F%8F%8F%90%90%90%91%91%91%92%92%92%93%93%93%94%94%94%95%95%95%96%96%96%97%97%97%98%98%98%99%99%99%9A%9A%9A%9B%9B%9B%9C%9C%9C%9D%9D%9D%9E%9E%9E%9F%9F%9F%A0%A0%A0%A1%A1%A1%A2%A2%A2%A3%A3%A3%A4%A4%A4%A5%A5%A5%A6%A6%A6%A7%A7%A7%A8%A8%A8%A9%A9%A9%AA%AA%AA%AB%AB%AB%AC%AC%AC%AD%AD%AD%AE%AE%AE%AF%AF%AF%B0%B0%B0%B1%B1%B1%B2%B2%B2%B3%B3%B3%B4%B4%B4%B5%B5%B5%B6%B6%B6%B7%B7%B7%B8%B8%B8%B9%B9%B9%BA%BA%BA%BB%BB%BB%BC%BC%BC%BD%BD%BD%BE%BE%BE%BF%BF%BF%C0%C0%C0%C1%C1%C1%C2%C2%C2%C3%C3%C3%C4%C4%C4%C5%C5%C5%C6%C6%C6%C7%C7%C7%C8%C8%C8%C9%C9%C9%CA%CA%CA%CB%CB%CB%CC%CC%CC%CD%CD%CD%CE%CE%CE%CF%CF%CF%D0%D0%D0%D1%D1%D1%D2%D2%D2%D3%D3%D3%D4%D4%D4%D5%D5%D5%D6%D6%D6%D7%D7%D7%D8%D8%D8%D9%D9%D9%DA%DA%DA%DB%DB%DB%DC%DC%DC%DD%DD%DD%DE%DE%DE%DF%DF%DF%E0%E0%E0%E1%E1%E1%E2%E2%E2%E3%E3%E3%E4%E4%E4%E5%E5%E5%E6%E6%E6%E7%E7%E7%E8%E8%E8%E9%E9%E9%EA%EA%EA%EB%EB%EB%EC%EC%EC%ED%ED%ED%EE%EE%EE%EF%EF%EF%F0%F0%F0%F1%F1%F1%F2%F2%F2%F3%F3%F3%F4%F4%F4%F5%F5%F5%F6%F6%F6%F7%F7%F7%F8%F8%F8%F9%F9%F9%FA%FA%FA%FB%FB%FB%FC%FC%FC%FD%FD%FD%FE%FE%FE%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%21%FF%0BNETSCAPE2.0%03%01%00%00%00%21%FE%11Created%20with%20GIMP%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%DD%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%EC7%80%80%C7%02%02%EC%0D%40%99%F2%E4%CA%92%2F%5B%E6%5B%99%B1%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%BB%B6%ED%DB%B8s%EB%DE%CD%BB%B7%EF%DF%C0%83%D7%0E%08%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FC%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF7%03%88%1E-Z%80%E9%01%04%0A%188p%00A%82%05%0D%1EH%A8%C0%964i%D3%02P%ABn%FD%9A%01%5C%DB%A3O%EB%5EM%17x%00%DC%A8%EF%1A%3F%0E%BA%B9%F3%E7%D0%A3K%9FN%BD%BA%F5%EB%D8%B3k%DF%CE%BD%3B%CA%80%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%20%03%88%160%80%40%81%03%09%16%40%B0%D0%A1%04%8C%1EK%B0%90%89%B3%87%D0%A2H%966y%0A5%AAT%29S%A7P%A5J%A5J%D5%AA%E3%C8Y%B1Z%15U%F4h%D2%04%0C%20X%F0%80B%06%11%2Cp%14%A1%22%06%0E%9FB%8D%2A%B7m%02E%EAT%AAU%AD%5C%BD%82%05%2B%96%AC%F7%B2f%C9%9FO%D5y%00%E8%A8%19%3C%60%5D%C2%05%8F%25Y%981%87%1F%88DrI%27%A2%94%82%8A%2A%E9%AD%D7%1E%7C%F1%CD7KU%F6A%27%9D%02%0EH%80%C1%07%29%D0%10%84%13%5D%ACq%C7%20%8CL%A2%09y%A7%A8%C2J%2B%EB%C5%E2%DE%7B%12NhU%85%A5I%B7%80%03%13l%20%C2%0A7%18AE%18o%ECQ%88%23%96p%12%8A%82%E8%B5%F8b%84%F2%7D%E5%9C%00%D0%15p%A1~%11P%60%01%06%1Al%D0A%07%1E%7C%00%C2%97%21%84%29f%08%A0%95i%E6%99h%A6%A9%E6%9Al%B6%E9%E6%9Bp%C6%29%E7%9Ctf%15%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%14%03%88%160%80%80%01%04%0D%26p%40%81C%89%965w%02%25z4%C9R%A6M%9D%3C%7D%FA%04%2AT%28Q%A3F%91%22U%AAxqS%A6N%9DB%C5%1CU%AA%E7%AA%A2%ABZE%FD%E8%E8%D2%06%124%A8%00%82%05%8F%27a%E4%D6%FCI%14%E9%12%A7O%A1%88%27_%0E%9D%3A%2BV%AD%E2%BB%9A%FF%EA%15%AC%FB%B0b%E9%8F%25%AB%BF%7F%A4%A2%05%20%80i%0A%3C%60%01%08-%F8%10%05%19t%00%B2%C8%24%99t%02%CA%28%A5%24%E7%5C%2A%D3%AD%F2%5E%7C%F2%D5g%1F~%FB%F1%E7%DF%7F%00%8A%86%5D%81%07%BA%F0%83%14%0C%06%C2%08%25%9Ax%22%0A%29%16b%E8%1E%7C%1C%D2W%1F%88%FB%8D%D8%DF%2C%B2%285%DA%80%D99%60A%08.%001E%19u%0C%D2H%25%9BLX%0A%7B%D3m%98%A3%2B%3B%F2%28%A2%8F%B3%00%F9T%80%A4%99%96%00%03%0FHP%C1%05%19l%C0A%07%1Dx%E0%C1%07p%C6%F9%01%08t%D6i%27%08%21%E4%A9%E7%9E%21%80%E6%E7%9F%80%06%2A%E8%A0%84%16j%E8%A1%88%26%AA%E8%A2%8C6%9AU%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%0E%03%88%1EP%E0%00%83%0A%20%60%0C%C1%82%A6%CE%9FC%8C%1EE%9AD%A9%92%25K%970e%CA%A4I%D3%A6M%9C8u%F2D%FC%D3%27P%A0B%29%17%25j%94sR%A4JI%9F%5E%CA%94%F5S%D8%7F%8A%0E0%80%80%01%05%116%EF%A4%E0%21%A5L%1DA%8B%22U%CA%04%7C%B8%F1%E4%A1%98%3F%9F~%1D%3B%2AT%A9R%A9%DA%BF%AA%3F%AB%FF%AD%04%18%A0%2B%04%BE%F2%8A%2BA%05%20%00i%08%9C%16%02%0CFl%E1%06%1F%88%3C%B2%1Ep%9E%1C%97%9C%7C%A3%40%27%5D%7D%F7%DD%A7%1F%7F%FE%01%28%60%2B%04%BAb%E0%2B%B0%BC%92%A0%82%DE%29%00%81%06%27%E8%10E%19v%0C%D2%C8%24%98l%D2%89%86%F1%3D%17%DD%87%D8%9D%22b~%24%AE%F2%1F%2B%27%A6X%E0%8A-%0A%25%9A%00%04%98FAjFh%E1%86%1F%89Dr%89%8F%C7q%E8au%A6%D8w%E4~%AA%94%C8%E4%89%28%3E%C9%22%2Cp%C2b%D4%94%0C.%E0%80%04%15%5C%90%81%06%1Bp%E0g%07%80%06%DA%81%07%84%16Z%E8%07%88%26%AA%28%A2%204%EA%E8%A3%8E%82%26%E9%A4%94Vj%E9%A5%98f%AA%E9%A6%9Cv%EA%E9%A7%A0%86%9AU%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%08%03%88%1EP%00%C1%03%0C%26t%40%19%23%87%8F%A0C%8A%185r%F4%A86%A4H%B8%25%E9%9E4%89%92%EFJ%C0%2BY%1An%E9%92qL%982e%D2%C4%5C%D3%A6%E7%9C6q%9A%DE%A9%BA%A7%EB%D8u%8E.%DD%E0B%89%1CQ%CC%F2%D4%09%94%C8%91%24J%C2%8D_J%BE%9C9t%EA%D5%3Ba%FFD%FF%13%28P%A1%F2%87%12%C5%7F%94%FFQ%A4%04X%CA%80%03%9Ab%E0%29%A6h%17%C0%00%04%1C%C0%40%05%22%D4%B0D%18s%FC%91%C8%23%93Tb%9Cr%ED9%27%1D%7C%D8yR%DF%7D%F8%E9%C7_%7F%FE%05%28%20%81%06%1Ex%CA%8B%A7%28%28%00%01%06%28%20%C1%070%18%D1%05%1C~%20%82aq%ED%3D%F7a%7C%F2%898%E2%7D%26%A2%F8%9F%8A%04%B2%E8%E2%8B%A8D%89%CAN%DB%25%00%C1%06%2A%00%81%05%1B%7C%F8H%89%25%CB%7D%C8I%7C%F3%D9%87d%89%FB%9D%B8%E4%8AN%3E%09%A5%94R%FA%24%9A%00%A4%21%B0%C0%03%12TpA%06%19h%A0%C1%06%80%06%1A%28%07%84%16j%28%A1%1D%24%AA%E8%A2%8Bz%E0%E8%A3%90F%EA%01h%94Vj%E9%A5%98f%AA%E9%A6%9Cv%EA%E9%A7%A0%86%2A%EA%A8Y%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%03%03%04%18P%E0%40%83%0B%25r%3C%11%03gO%A0B%87%10%25%9A%AD%A86%ED%DA%B8%15%CDN%A4%BB7%EE%DD%BAy%E7%BE%1D%5C%B8%EF%E0%BF%13%D1%0C%20%80t%82%07%1AR%F8%B0%92%06%8F%A0D%8D%1EE%92%C4%BD%BB%F7%EF%E0%C3%A7%8B%1FO%DE%FB%F2%D1%05%9EkX%01%C4%CA%9A%3C%83%149%8A4i%12%A5%FB%F8%F3%EB%DF%CF%1F%BF%FD%FE%00%F27%C9y%A4%21%F0%C0%06%ECa%B1%C6%1E%850%02%89%7D%95D%18%A1%25%14JXI%85%17Z%22%21%86%16%5E8%A1%86%19n%D8%21%85%20~%18%E1y%02%10%A0%9E%0A%40d%D1%06%1F%874%22%09%25%17%5Eb%E3%8D8%E6%A8%E3%8E%3C%F6%E8%E3%8D8%89%D6%1C%01%06%400%81%05%17%60%90A%06%1A4%E9%E4%93PF%29%E5%94TV%F9%24hXf%A9%E5%96%5Cv%E9%E5%97%60%86%29%E6%98d%96i%E6%99Y%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CD%01%02%08%20%60%40A%84%0E%2C~P13%87O%A0B%87b%CB%8Em%A8P%21B%84%06%09%DA%1D%A8%F7%9F%DF%7F%FC%F4%E9%C3%87%CF%9E%3Dz%F2%E0%C1s%E7%8E%9D%E7u%EA%D0%A13G%8E%9C8p%E0%BCq%D3%A6%3B%9B5%E0%D3%FE%88Gs%C6%8C%992%2CC%8B%1Ep%80%81%85%115%96%80%81%C3%A7%90%A2F%8F%20Az%C4%FF%91%23G%8D%04%C8%08%23%8B%2C%A2%88%22%89%24%82%C8%82%87%D4f%5Bn%BC%05%02%08%20%C1%F9a%21q%C7%21%97%87r%CDE7%1Du%D6e%97%DD%1B%DD%B5%14%DA%00%05%24%E0%00%06%27%EC%20%85%19u%00%82%08~%91Hbc%248%EE%E7%DF%7F%0062%20%81%08%2A%88%88l%0E%E2F%C8n%82%F4Fa%85%C3%19%A7%21%87%CEy%08%A2u%D8%C1a%A2%00%03%94%26%01%07%2C%04%91%C5%1Az%10%B2%C8%23%92L2%09%25fNrc%8E%FD%FD%17%A0%8F%05%1A%98%A0%82%B4%15%09%21oK%06G%9C%93%7Bl%98Gs%D0IG%5Du%E9%89F%40%7B%15%880%83%12_%C4%F1%07%22%8EHB%09%25%95T%3A%29%9Aj%AE%19%89%8En%0A8%A0%9C%092H%DB%83%10%2A%B9%E4%85%C5e%98%1Cs%80z%08ShNX%12P%C0%01%09%28%B0%00%03%0C4%D0%40%06%BC%F6%EA%2B%06%C0%06%8B%C1%05%C4%16k%EC%05%16%24%ABl%B2%154%EBl%B3%14D%2Bm%B4%13Tkm%B5%12d%AB%EDg%DCv%EB%ED%B7%E0%86%2B%EE%B8%E4%96k%EE%B9%E8%A6%AB%EE%BAj%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%C9%01%02%08%20%60%40%01%84%0C%25j%24%D1%92%A6N%1FA%87%10%25%9A%8D%08%D1%A1C%85%0A%0D%12%14%28%D0%9F%3F~%F8%F0%D9%93%07%CF%1D%3Bu%E8%CC%91%03%E7%8D%9B6m%D6%A8I%83%C6L%192c%C2%84%F9%E2e%8B%96%2CX%AC%FET%A1%22%25%0A%94%27M%98%2CY%92%C4H%91%21A%80%FC%F8%D1c%87%8E%1C7j%94%14%3D%A0%00%02%07%16%8C0%83%11Z%A8q%87%20%894%F2H%24%92H%12I%24%90%3C%E2H%23%8C0%B2%08m%B8%11B%08o%80%00%D7%C7py%E4q%5Crr0%F7%06t%D2Qg%1D%19bl%E7%05%17%DEeq%85%15TLQ%1E%14N%A8%97%04%12%EE%11%21%84%7C%3E%F00Rh%A2%11p%C0%02%12p%B0%82%0FR%94A%C7%1F%884%12%C9%24TR%E9%60%24%12Nh%E1%85%B6e%B8%5B%20%1D%06%07%A2q%C9-%17Gsm%B0%91%E2%19%2B%8A%01%06w%5Ch%F1%DD%8C5Jq%5Ez%EC%F1H%C4%10%3F%FE%20Rh%02%08%D0_%02%A7%95p%C3%12%5E%C0%D1%C7%21RRR%C9%A3%95Pb%25%84YR%B8%88%22%89%D8fH%21%84%7C%19%A6pz%14wG%99r%9C%F9%9C%9A%D3%B1%89%5D%18%60x%F1%E2w%B4%E1%D1xc%8EK%28%91%C4%11F%EC%19%C4%90%82%1A%C9%40%05%20%C0%40%04%16j%E4A%08%23%91Pb%C9%25%CC%5EbI%A4%92%3A%18%A1%23Z%5E%9A%E9%21%9Bn%D8%1Bp%C1%ED%11%EA%88%CA%99x%EA%1A%2A%5E%97%5D%AB%5D%C4%18%5E%156F%F1%04%AD%EC%E1J%C4I%80%0E%40%40%01%07%24%A0%C0%02%0C0%D0%C0%BF%00%03%DC%2F%06%04%13%7C%C1%C1%07%5B%A0%B0%05%154%5C%01%05%10S0%C1%C4%13K%60q%04%18G%00%C1%C6%1B%3F%E0%F1%03%0E%84%EC%40%C0%FD%96%BC%C0%C9%27%2B%A0%B2%02%09%7C%E6%F2%CB0%C7%2C%F3%CC4%D7l%F3%CD8%E7%AC%F3%CE%3C%F7%ACV%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%C3%01%02%0C%20%60%00A%83%09%1AH%C8%10%22%25L%9B%3B%7F%0A%25b%E4%E8%91mG%8E%1A1R%94%08%D1%A1B%84%06%05%02%F4%C7%0F%9F%3Dy%EE%D8%A13%27%CE%9B6m%D6%A49c%86%8C%980%5E%BAh%C1r%A5%CA%94%28P%9A%FE0Y%92%C4%08%91%20%40%7C%F0%D0%81%C3%06%0D%191%5E%B8%60%A1%02%C5%89%12%25F%8C%00%01%C2C%87%0D%1Ah%90%C1%05%16T%80Qh%02%90%A6%80%03%14t%90%C2%0DH%60qF%1D%7F%20%E2%88%24%95Xr%C9%86%97XR%09%25%93H%12%C9%23%B91%B2Ho%86%00%27%08q%7D%EC%A1Gru%D0%21%87s%D1MW%9D%18%60x%C1%C5vVP%21E%14O4%B1%04%12F%14%21Dz%EB%B5%F7%5E%7C-%AC%A0B%0A%27%98%40%C2%08%21%F4%E7%1F%07%01bPQh%01%080%9A%01%098PA%07%28%DC%90%84%16h%D4%11H%22%8FPrI%26%9A%C4%99I%26%1D~%18%E2%88%25%9E%E8%5B%21%83%08%12%C8%1F-%EA%81%C7%1D1%CA%01%C7s%D2%A1qc%8E%3Bb%D1%E3%8FN%8CW%1E%11G%AA%C7%9E%7B3%C47%DF%93QN%29%02%08%1F%5C%B9A%06%5B%22HZ%98%15x%90%02%0Eg%AAq%87%20%EB%8BDR%09%26%9Al%C2%C9%26%9B%C8%B9%A1%87w%92%A8%9B%9E%BF%11%B2%22%A0%7C%08J%A8%8C%87F%A7%86%A2%D61%CA%A3%8FPD%3A%A4y%95%26%89i%0C04%C9%A9%94T%82%EA%1F%80%14%21%F8%E5%82%A9%AA%80%83%12%5B%AC%91%07%21%8CHr%89%26%9Ct%22o%27%9C%DC%AAI%26%98%D4y%27%24y%F6%16%EC%B0%C6%BDx%AC%A1%88%DA%D8%AC%8E%CF%FE%18%E4%90G%18%89%E4%A54d%FA%82%B6Pr%FBi%A8%1Dp%90%11%97%5E%12P%40i%09%28%B0%00%03%0D%94%EC%C0%C9%27%97%AC%F2%CA%0C%B4%EC%F2%02%16%C4%5C%60%05%15P%60%F3%048K%A0s%04%3CC%E0%F3%03%40%A7%5C%F2%CB%0B%14%AD%C0%D1%09%24%9D%00%02L%1F%E0%B4%D3%06Dm%40%01TWM%C0%D5%04%7C%A6%F5%D6%5Cw%ED%F5%D7%60%87-%F6%D8d%97m%F6%D9h%A7%ADV%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9s%C4%00%01%F6%82%0E%20%20%B4%5E%D2%A4%09%188%80%80%01%84%0A%1AD%A8%A0%01%84%09%961m%EE%FC1%B4%E8%D1%24K%972i%D2%B4i%93%A6L%99.Y%B2T%89%D2%24I%90%1E9b%B4%28%11%A2C%85%06%05%FA%E3%87%CF%9E%3Cw%EA%FE%CC%89%F3%A6%CD%9A4f%C8%8C%09%E3%85K%96%2BU%A4%40q%C2D%C9%11%22B~%F4%D8%91%C3%06%8D%180%B8%C0%82%0A%28%98%40%C2%08%21%7C%E0A%07%1Ch%90%01%06%16T%40%C1%04%12D%00%C1%03%0F4%D0%C0%02%0B%28%E0a%02%08%20%20P%00%03%0CP%C0%01%09%B8F%81%06%21%AC%60%C3%10Pla%86%1C%7B%10%B2%88%24%97h%D2%09%28%A2%8C2%0A%29%3E%8E%22%8A%28%A0%80%F2I%27%9Cpr%1C%26%974%27I%24%D2Q%97%08v%84l%D7%9D%1Ex%D8A%87%1Cp%98%97%C6%19e%88%01%86%17%5BdaE%7CP4%B1D%12F%0C%01%84%0F%3C%E4p%03%0D3%048%60%81%07%86%00%C2%82%0DfpA%84%13Vx%A1%03%1A2%D0%E1%87%00%90%A8%1A%02%0B%3C%40A%06%20%A4%20%C3%0FKdA%06%1Cz%0C%B2H%24%96l%F2I%28%A2%90R%CA%A8%A3%92%02%A4%28%A1%18%E9%09%92%C6%25g%89s%FE%D09%D2%08%23%D6%19B%88%20%DBy%07%9Ex%E4y%99%5E%18_t%A1%05%16VL%21%05%7D%F6%E1%A7%9F%0E8%D80C%0C%2F%B4%B0B%0Ax%22%A8%60%07%1B%3C%F8g%A0%12%400h%03%86r%E8a%A2%27%26%D0%40%04%17x%60B%0C%3D%24aE%18m%E0%11H%22%9Cn%E2I%A8%A3%9Ar%8A%29%FC%9AR%AA%90%A9~%B2%AA%92%99%60%C2%1C%25OJ%D7Hu%88%14r%2B%20Wf%B9%25%1Cn%B0%A1%06%98c%8C%B9%85%16%F0%C9%E7%C4%9Am%02%D1%03%0F%CC%D6%20%83%9D%2A%A4pB%09%23%88%00%C2%07%0C%3A%08%A1%84%14Z%08%01%A1%E0%8A%AB%00%00%02%A4%F8%DA%06%23%B4%90%83%11S%7C%A1F%1D%7F%20%F2H%25%9E%E2%7B%CA%29%A8D%8D%CA%D3%FC%96r%2A%AAF%B2%BA%E4%AB%CFE%B7%B0%22%D7e%B7%5D%1F%DF%857%B1%AFd%00%DBE%99%C5J%F1D%13%C9%06%A1%DF%0E%CD%D2p%B2%B4%04%9AP%82w%08%09.%B8%81%06%18l%3BA%CD%DF%86%DB%E1%88%A4%090%00%01%04%14%B0Z%02%0A%2C%C0%00%03%0D8%E0%00%86%98g%AE9%86%96wn%B9%86%A0%83%3B%F9%E8%1C%96%EE%E1%E0%83KPa%046c%FE%B9%E8%86%7F%98%00%88%21%1E%60%FB%01%06%E4%5E%C0%EE%BB3%CEx%89%C0%03%2F%C0%F0%C4%97%06%9Ag%C8%27%AF%FC%F2%CC7%EF%FC%F3%D0G%2F%FD%F4%D4Wo%FD%F5%7B%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1c%AD%01%FAF%0E%40yo%00%01%98%23%E7%0D0%A03%01%02z%03%140p%E0%80%01%BD%02%12%28%60%E0%80%81%5E%02%0F%24P%B80A%EF%81%0C%1CB%94%F0%A0w%01%8A%163t%B8%D0%1B%C1%07%91%25R%84%E8%D5p%C5%0B%994V%F4%8ExC%27%8F%1F4z%5B%0CB%B4%E8Q%1D%BD6%26%FEY%CA%B4%E9%8F%5E%1F%9EB%89%22eH%AF%10S%A7R%A9Z%A4%D7%08%2BV%ADZ5%D2%9B%C4%D5%AB%FF%8E%E8%A5D%2C%04%C6%F2%88%80%B2%24%28%CB%2B%AA%A8%92%CA%83%A8%A0r%CA%84%A6%94ba%29%A4%8C2%8A%28%A1%80%02%8A%27%9Et%C2%89%26%99%60r%89%25%95L%22I%24%8F8%C2%C8%22%89%1Cb%08%21%82%FC%E1%07%1Fz%DCa%07%1Dr%C0%D1%C6%1Ai%98A%86%18_p%A1%05%16UH%F1%04%13K%20a%C4%10%40%F4%A0%03%0E5%CC%10%83%0B%2C%A4%80B%09%24%8C%10%C2%07%1Dp%A0A%06%17TP%01%05%13D%00%C1%03%0E%B4%C6%C0%02%0A%24%90%00%02%08%94V%9A%01%05%E4%F9%D9g%00%2C%A1%E0%9F%05%C2%02%CB%7F%AE%E4%97%1F%2B%AB4%98J%84%A7T%98%21%87%A0%7C%22%E2%26%99%9CH%C9%24%91%40%E2%22%8C%87%14%22H%207%EA%81%87%1Ds%C4%F1%06%1Bj%9C%21d%18%5E%1C%99%24%14%FEM4Y%84%10%3F%F0%A0%C3%0D4%C8%00C%0B%2B%A4p%82%09%24%7C%E9A%07%1Bh%80%81%05%15L%20%81%9A%0F%B0%D9%C0%9B%0AD%3Bg%9D%A6%E5Y%C0%9E%A0-1%CB%2C%7F%CA%12%A8%A0%AF%B8Rh%2B%F7%AD%92%28%84%8Db%B8a%87%9Fx%C2%C9%26%24%A2%A8%22%8B%8DpZ%08%21%81%FC%C1%C7%1E%A3%F2%E8%23%90%AB%B6%8A%85%15SD%E1%C4%12I%3C%19%E5%94U%C6%F0%02%0B%2A%FCJ%82%08%20%80%B9A%06%18%94%89%A6%9Ak%3A%F0%2C%B4q%D2Y%27%9Ez%EE%D9%E7%B6%DC%2A%F8%ED%A0%E1%8E%5B%AE%83%8B%A6%FB%28%BB%21%8EX%A9%25%94%AC%F8H%23%8C%28%82%C8%8C%F9%F6%B1G%1Ew%D4%D1%A3%1B%00%93%C1%2A%17YXA%85%92%08%1BAD%10%3E%EC%80%83%0D3%C8%F0B%0B%2A%A0%00%AC%08_%86i%EC%05%C8%A6%19A%04%CE2%00%B2%02t%DAi%ED%B5%7Cj%8B2%A0%04%82%DB%B2%A1%88%2A%2Aa%A0%85%18%8A%02i%CD%94Z%8Ai%8B%2F%C6%E8%29%207%12%5D%07%1D%A6%A2z%C6%90_t%A1%C5%15%AF2%A1%C4%11%B3%D6%9A%83%0D4%C4%00%83%0B%BD%9EP%82%97%1F%0C%7B1%D9%C9.%DBq%03%CF.%00%27%DBmW%5B2h%05%9C%CD1%04%B8%E7%AE%FB%EE%CD%F6%EE%3B%9Bm%06%EF1%EB%AC%ABm%BC%EB%AEG%AB%BC%9Cr%E6%DEl%9B%C4%AB%9D%BC%B4%D3Rk%9A%01%D8%BF%8Dmg%DC%0F%80%D9%F7%99Q%26%FE%F8%E4k%F6%D8%F9%E8%A7%AF%FE%FA%EC%B7%EF%FE%FB%F0%C7%2F%FF%FC%F4%D7o%FF%FD%F8%DF%14%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%85%06%000xo%80%C3%87%F5%06%18%C0X%40a%BC%02%0AH.%40%40%EF%80%04%98%13%18%D0%5B%00%82g%08%0C%F4%22%D0%B0%A1%F4%04%BD%0DV%B0%60%B1%E2%83%5E%0AB%86%C8%86%A1%D7%03%97%DB%5C%8A%E8EAg%8E%EF%2Czg%1C%1A~%28%8D%5E%1E%95%2AY%B2tG%AF%10P%D0A%01%D2k%E4%94%F5S%86%F4%26a%C5%9D%95%22%BDK%5E%FE%B9%1A%DF%08%3C%2CX%AF%5E9%D2%CB%24%96%7BX%EB%F32%91%25%CB%FD%23%F6%F4%EB%DF%97%9F%3F%D6~%BC%F3%D5%E7%1F~%F4%0D%C8_%81%FF%DD%15%A0~%04%DAG%20%83%07B%08%60%7F%09%DA%B5%04%85%E0a%98%D7%85%08f%D8%E1%86%05%C6%E2J%2A%A9%A0%82%8Au%A6%94%A2b%29%A4%8C%22J%28%A1%80%F2%89%27%9Dp%B2I%26%98%5CbI%25%94H%12%C9%23%8D0%A2%08%22%87%14BH%20%7F%F8%B1G%1Ev%D4%21%07%1Cm%AC%91%86%19d%88%01F%17Z%60Q%85%14O0%B1D%12E%08%F1C%0F%3A%D8%40C%0C0%B8%B0B%0A%26%900B%08%1Ft%C0%81%06%19%5C%60A%05%14H%10%81g%0E4%C0%C0%02%0B%28%A0%40%02%08%1C%60%E8%01%06%18%20%19%01%8C%12%C0%D8%A3%02D%0A%00%87%EE%BD%87%9Ex%ADd%CA%CA%2A%AB%A8R%E2%89%29%B6%F8%E2%8C5%DE%A8c%8F%3F%069%A4%21G%FE%D1%C7%1E%FEx%D8AG%1Co%B0%A1%C6%19f%8Cq%A5%16WP%21%05%14M%28q%04%11A%F4%B0%03%0E6%CC%10%83%9A%29%9CP%C2%08%22%80%E0%01%07%1Bh%80%C1%9D%13%E8%19%C1%03%0E%FC%09%A8%A0%98%15%8A%E8d%8D%3A%FA%E8%00%91%0A0i%7F%96%A6%E7J%A6%ADl%DA%E9%A7%A7%84%EAb%8C4r%A2I%26%A7%FA%08%24%23%89%20b%24%92%AF%C6J%87%1Co%B4%A1%06%1Ae%E8%8Ae%AF%5C2%21%2C%11%40%90%89C%0D%CA2%7B%82%09oJ%DB%C1%06%19%60pA%05%D9J%00%01%B7%0Cx%0B.%02%E2%2A%BAh%B9%E7%A6%BBn%88%B1%9C%E7.%BC%DC%CDkb%BD%2C%DEK%AA%BE%FCZ%82%EA%BFC%0E%EC%2A%AC%B2%3E%A90%C3b%7C%C1%85%16V%F8%DA%E5%C4%15%EBp%F1%0Ci%AE%E9%2C%B4%1E%83%7C-%C9z%9E%DC%A7%9F%81%0E%CA%B2%A1.S%D6h%CC2s%28%E0y%97%8E%A7%29%A7%9E%96%C8%B3%A8%A1%7C%F2I%87%A9A%0F%DD%C8%22%01%1B%5Dp%1D%07C%B9%C6%19e4%8De%D4%11%0B%3BD%C5%C7%26%9Bu%0A%28%3C%1BB%D7%21%8F%9C%ED%9E%DC%F6%A92%A1-%93%BB6%DB%EAv%F6%D9%E9%A8%7B%F6%C0%EA%AC%B3%EE%C0%EB%B07%20%FB%EC%29%A7%0C%E8%ED%82%82%9B%19%CBg%1B%2A%BB%ED%DF%0E%1A%AE%B8%88%26%3A%99%DA%A3C%9An%BA%885%EF%BC%F3%81E%2F%FD%F4%D4Wo%FD%F5%D8g%AF%FD%F6%DCw%EF%FD%F7%E0%87%2F%FE%F8%E4%8B%14%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%9F%06%0007nB%01%02%02%E8%B5k0%C0%00%02%80%07%E0%D5%5B7n%80%03%0A%10%208%60%A0%00%81%01%03%0A%C7%3DPA%C2%03%07%0C%16%24%40%60%40r%DC%05%23%3Ch%B8P%B9A%01%BE%04%25%D8%80%A1%A2%04%08%07%9E%F9jx%82%04%88%0E%13%A8%0D%8E0%03%26%8B%14%1C%B9%0B%B6%D8S%07N%9A%25%C1%09%D6%60%84h%90%1F%2F%C9%07%F2%D0tI%92%237%D1%05%0A%19%15%AA%D3%26%3D%D9%01%FE%14Iu%AA%D4%28A%E1%91%B4b%B5%2A%15%A2%F0J%5E%B9j%D5j%11%7CX%B0%E47%0A%BF%24V%2C%FC%8E%F0%27%8B%2C%FF%05%98%DD%12%03%FA%F7HxL%24%18%CB%82%07%3A%08at%08%12%F8%A0%80%16N%98%5C%83%192h%21%2C%1A%06%D7%A0%7F%17f7%A2%82%1E%92%18bnL%F8%07%20%83.%C2b%60t-%FE%27%23%8C.%CE%98%5C%7F6%EA%28b%8C%3E%B2%08%24%7FC%1Eh%E3%2B%FB%1D%88_~IR%B8%24%92%FC%3D%D9%E4%8E%F8%BD%02%A5%92%F9%5D%E9d%96S%06%B7D%96%AEt%99%5B%7CV%BA%C2%08%7CV%CAwfvd%BA%12%26%9A%F2%99%19%5E%12e%B6%B2J%29x%922%8A%28%A2%84%02%CA%27%9Ex%D2%09%27%9Bh%82%C9%25%96TB%89%24%91%3C%D2%08%23%8A%24r%88%21%84%04%F2%87%1F%7C%E8%81%87%1Dt%C8%01G%1Bk%A4a%06%19b%80%E1%85%16XT%21%C5%13L%2C%91%84%11%FEC%FC%D0%83%0E7%D4%20C%0C%2F%B0%A0%C2%09%25%8C%20B%08%1Ft%C0%81%06%19%90V%01%05%12D%00%C1e%0Dd%A6%80%02%9B%29%B6%18c%05T%EB%18%60%8FA%06%19%5E%DC%E2%05%40%9B%F4%AD%C7%9E%2A%A9%A0%82%CA%29%A6%E4%D9%E7%9F%82%16%9A%C9%25%95L%C2%A8%A3%8C%24%82H%21%84%08r%E9%1Ey%DC%D1%29%1Cn%84%3Aj%18_p%91%85%15SH%01E%13J%1CA%04%10%B3%E2P%C3%0C%B8%EA%8A%82%09%24%88%00B%B0%C3bp%81%05%15L%90%EC%B2%0E4%BB%C0%02%D0J%CBXc%D6b%9B%AD%B6%DDr%FBm%9C%E1%B22n%B9%A7%A0%5B%8A%9E%EB%02%EA%9D%A1%89%CA%0B%89%A3%8BH%8A%AF%A5%7D%F0%CB%A9%A7%A0%A2a%C6%18ax%B1%05%16%08G%C1%EA%ABC%40%AC%83%C42%C0%E0%C2%0A%29%F0%3AB%08%1Bw%B0%81%06%18X%60%01%05%22%2B%CB%AC%C9%29%2Bv%00%B5%D5b%AB%ED%DD%82%C5%0C%00%FE%9D%F3%D1g%F3%2A%AB%90%7B%AE%CE%3C%FB%F9%C9%A0%85b%12t%24%908%C2H%D1%87%14%22H%20%98jZG%A7o%80zF%19%A5v%A1%C5%15%AA.%BC%04%12E%08%F1%03%0F%B4%D2%D0%F5%D7a%F7J%F6%07%1Cl%90A%DA%21%27%ABl%C9%26%A3%1C%F7%DC%2C%D7m%F7%DD1%7B%CBw%CD%E3%0A%AE%F3%CE%3D%0BJ%E8%BB%96%2C%DA%A8%E3%8A%20rH%BE%80%60%DAo%1Ds%C4%E1%06%1B%A2%92A%B0%E7VP%B1%2A%13J%90%1E%84%0F%3B%E4p%83%EA%2F%B4%B0%C2%C5%19%03%EB%81%D9%C5%AE%DD%F6%B2%0F4%D0%C0%C9%28G%3B-%CB.%7B%D9%B6%82%27%00%00%14%00%02%08L%E0%03%16%C8%40%06%3A%E0%81%10%C4%9D%FE%F4%C7%80%0Af%86%7F%BA%7BV%026%E8%3F%B9%CDme%06%60%99%067%E8A%DE%85%D0Z%D7%0A%0C%DE%F2%D6-%C2%B8%F0%850%0C%8F%0CgH%C3%1A%DA%F0%868%CC%A1%0Ew%C8%C3%1E%FA%F0%87%0D%40%0C%A2%10%87H%C4%22%1Aq%25%01%01%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%ACY%89%01%02%9C%AD%18%40%40Z%B5%00%E0%AE%5D%18%A0%80%01%02%04%06%08p%9Bv%AE%C2%00%0B%228Pp%E0%EE%00%BDr%FD%16%0CP%21%C5%08%0E%15%200Hp%20%AFb%84%1D%964%09RC%05%88%0C%13%1E%28%18p%D9%A0%860x%DA%88%B1%B2%A4G%8C%13%1E%1A%24.%0D%21%8D%25H%88%FC%D0Q%F3EJ%11%12%05J%13%2C%E0%25%14%29P%9A%285%2A%C4G%0E%94%08%C2%07%06x%02%AA%D5%AAT%A5Du%C2%24i%8F%8C%E8%03k%FEX%82%05%EBU%2BV%AAN%91%CAD%854%F8%0E%85d%C9%8AE%FE%95%ABV%A8%E64%00%0F%E0A%1EX%F2%C9G_y%84t%C0%9F%40J%CC2K%80%F3%C5rI%0E%07%0E%94%C4%82%0C%8A%22%C5l%FC%25%C1%20%2Bi%1C%10aAJ0%08%C9%87%06%85%18%E0%88%24%12%B4%84%88%29%AA%18%60%2C%8F%B48%D0%8A%02%C6%28%23%00%26%CEg%A3%8C%26%C6%02%E3%8D%00%AC%E8%23%2C%8E%00%29%24%7DE%DE%B8%84%8F%F4%ED%D8%E2%92C%3A%99%22%94%E4%25%29%23%95D%1A9d%96J%0E%08K%23F%D6%F7%0A%98J%8AI%E6%95f%86%F9%8A%7Dg%3E%B9%A6%2B%AE0b%E4%9Bq%CE%09g%2Br%2Ay%27%9EF%DE%D7%0A%9Fz%FE%D9%CA%22%7D%0AJ%E8%8DJ%08%CA%CA%A1%3C%FE%C9%CA%A2%40%26z%1E%2B%8AD%EA%E8%2A%95%DE%88%C4%A3%AC%AC%92%08%90%9Bv%EA%29%A8%8F%AE%A2%CA%A7%9A%AEb%AA%2A%88%80%AA%AA%2A%FE%A9%B4%9A%AA%2A%B0%CA%2A%23%12%A6%A6%12%2B%90G%D0%9A%0A%2A%87%00i%84%AE%A8%00%2B%EC%AF%A8%9Cb%C8%B1%C5%2A%0Bd%11%BF%9EbJ%21%CF6k%0A%29%9Dp%B2%C9%26%9Adr%89%25%95P2%89%24%91%3C%E2H%23%8B%24%82%C8%21%86%10%22%08%20%7F%F4%B1G%1Ew%D8A%87%1Cp%B4%C1%86%1Ah%981F%18_p%A1%05%16VL%11%85%13L%2C%91%84%11C%00%E1%C3%0E9%DCP%83%0C1%BC%C0%82%0A%28%98P%C2%08%22%80%F0A%07%1Ch%90%01%06%17TP%C1%04%12D%00%C1%03%0E8%D0%C0%02%0A%24%90%00%02%07%14V%00%5Ez%F1%F5%16DE%24kJ%29%A5%902%8A%28%A1%80%F2%89%27%D9n%92%09%26%E0RB.%24%8E0%92.%22%ED%0A%F2%87%1F%7C%CCk%2F%BEn%EC%7BF%19%FFz%C1E%16VP%21%05%14O0%91%C4%11D8%0C%F1%0D4%C8%00%83%0B%17g%BCq%08%20x%00%B2%FE%C8%24W%40%01%CA%2A%B3%DC%00%030%2B%10%B3%CD7%E7%95%B3%CE%0F%15q%8A%B4%40%93Bt%D1%9F%24%DD%ED%B7%95%8C%5B.%BA%EA%1ER%88%20%81%F8%21%2F%BDu%CC%01%C7%1Bm%AC%91%86%19d%00%DC%85%16WTa0%C2J%1CQ%84%10%3F%F0%A0%03%0E5%C4%FDB%0B%2B%A4pB%09%24t%AC7%07%1Bh%40%B2%05%7F%A7%1C%B8%CB%2F%1B~%B8%01%D4%27%9E%D7%5E%D8c%88%90%E3%3F%07%3D4%E5Hk%AB%09%D3%E1%92k.%23%8A%24%E29%21%81%5C%CD%87%1Exl%0DG%D7i%A0%016%18%5DlA%B6%D9O4%A10%C3n%8BX%DC%E6%C6%82%14d%8C%04%23%08%C1%07%3C%80%BC%E4a%C0%02~s%DE%CAZ68%98%CD%8Cf53%40%016%A88%EC%F1%A5%21D%80%9C%D0D%21%0A%A3UN%7C%DE%0A%D7%24%CAu%AE%A9%19%E2s%A1%CB%1A%E9%E6%10%07%D4%A9%8Eu%00%13X%ECf%C7%04%25%20%A1%08%84A%C8%DD%EEj0%83%8A%01Ox%1B%EB%D8%02%917%B2%0B0%0Fp%13t%19%E1%2Cx%C1%0Cn%F0f%87Y%DC%CE%16B%80%07%B0%ACe%60%A4%60%03%C68F%06%98%D1%8C%0BHc%1A%A5g8%99%B9%11%01p%84c%CD%E6H%BD%3A%5E%91%83x%21%C0%1C%0BS%BD%3B%E6%11gY%CC%A2%07%B3%F7%96B%1A%B2%2F%40J%A4%22%17%C9%C8F%3A%F2%91%90%8C%A4%24%27I%C9JZ%F2%92%98%CC%A4%267%C9%C9N%C6%24%20%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%2B%C4%00%5E%3F%0A%18%1B%A0l%D8%8C%04%0E%14%180%40%80%D9%B3%15%0FP%90%C0%00%C1Z%B2p%27%2AX%21%A3%84%86%08u%0B%10%18%006%EF%C3%03A%C6P%19%22%83D%06%BA%07%06%18~8%60%C9%A0%40t%C8P%11%12%83%84%06%07%92%277%1C%22%89S%25F%81%E6%90%91%12D%C5%02%D1%0DO%28JeJ%94iF%7F%E4x9%21%00%F6%C2%0C%7DZ%B5Z%95%AA%94mJ%89%AC%28%F0%AD0%01%1AU%AF%5C%B5b%B5%0AU%29Py40O%28%C0J%29X%AF%A2%FE%0Bg%A5%2AR%8D%ED%09%81h%82%05%3E%BC%F4V%A0%B2%F4Fo%B0%04%22%F6%EC%DD%BBJ%15%E75%FD%82%12%E8%F1J%2C%F8%85%F7J%2B%81%5C%F0_A%06%90%A1J%2C%10%E6%17%DD%23%2B%2CHP%00Q%88B%20~%EDu%E2%84%85%04%D5%60%09%84%1B%B6w%8A%18%04%80%28P%07%84%90%18%21%7B%AD%E0%E1%80%8A%008%80%C7%2B%B2%90X%60%21%1E%D0%28P%12%B2%E4%A8%23%2C%97%E0%E0%E3%40H%08I%A2%28Q%14v%24%00H%E8%B8%0A%1A%07%3CIP%12%2F%3AbeAQn%A8%E5%96%03%25%C1%E1%97%60%02%20f~%8D%94%F9%A3%84i%AA%29%A6%81m%96%89%84~q%82%99Dt%D21%A2%A6%99%AE%BC%A7%A7%9B%7D%0A%F7%A7%9C%EF%B5%B2%C8%9EH%087%DD%A1n%8E%C7%0A%A3e%26%E1%A8%22%88%B2b%E9%2A%89T%BA%CA%A6%99%AA%89%04u%AB%A8%D2%A9%9C%A1%AA%A2%0A%22%88%86%9AJ%2A%A8z%AA%CA%AA%FE%A8%B4%2A%27%AC%A8%1C%B2%E7%11%A9%A0%82%CA%29%86%DC%AA%EB%29%A6%F4%AA%E6%11%BB%9AbJ%21%7B%1A%01%AC%29%A5%20%AB%A6%11%C6%96B%0A%21%7B%16%C1%2C%29%A4%0CR%AD%B4%A4%8C%22%C8%B6%DD%8A%F2%AD%9AD%84%1BJ%20%7B%0E1%CA%28%A1%9C%BB%A7%10%A2%88%12%0A%28%80%EC%19D%BB%A0%7C%F2%87%BD%F9~%E2%89%1F%7B%02%91%AF%27%9D%00%AC%26%10%FEz%C2%09%1F%01%7BB%F0%26%0C%AB%F9C%27%9Dp%B2%C9%1E%7B%F6%C0%89%C5%9A%E8%91%F1%26%9Bh%82I%1E%1Fk%92%C9%25x%EC%C9%83%C9%97Xr%C7%9E%3B%9ClI%25%920%B2H%22%88%1CbH%21%84%08%12%C8%1F~%F0%B1%87%1Ex%D8Q%C7%1Cr%C0%E1F%1Bk%A8%91%86%19d%8C%11%06%18%5El%A1%05%16VP%21%05%14N0%B1D%12G%14%21D%10%3F%F0%A0%03%0E7%D40C%0C0%BC%D0%C2%0A%29%9C%60B%09%24%8C%10%02%08%1Et%C0%81%FE%06%19%60%60A%05%15L%00A%03%0A%24p%80%01%83%B55%D2%0E-WB%C9%24%92%40%F2H%236%E3%7C%08%CF%3E%03%DD%C7%1Ey%DCQ%07%1DI%C3%D1%06%1BN%9F%11u%18%5ET%9D%C5%15UL%21%C5%13M%2C%A1%04%12E%0C%11%84%0Ff%A3M%C3%DA%2F%B8%C0%02%DC%28%CCM%82%08%20%7C%90%F7%06%7C%FB%1Dx%04%0F4%B0%80%E1%82%B5%E5%E4G%3A%CC%FCx%24%91%3C%E2%88%CD%8A%E4%8C%F9%CFAs%EE9%E8q%BC1%BA%D3f%94%21%F5%17%5Dh%B1z%EB%AF%7B%3D%BB%11%B6%E3%AEC%0Ei%F3%EE%BB%0A%29%04_%C2%08%22%08%C1%07%F4%B6%B7%BE%5D%A0%02%14%98%80%04%20%E0%00%06%28%00%01%06%88%9E%5BB%A2%03%C7ANr%8Eh%C4%CD%BC%D73%F0%09%ADs%9F%93C%1CDG%3A4%40m%7D%ED%C3%9A%15%A6%10%85%27x%0DlF%18%9B%FD%F0%A76%B6%ED%2Fns%03%A0%00%F3%C6%01%E4a%E0%02%B5%7FK%E0%02%1F%C0%80%E7A0q%13%FCH%0E%28%21%89HH%AE%11%1A%B4%DC%F7%80%264%3D%8CO%84%24%5C%C3%D3N%E7%85%14Z%A1u-%8C%1D%D8jw%3B%B3%D1pm0%B8%A1%DC%FEG%3C%E3%E9%0Dy%7D%0B%E2%04%26%10%01%066%80%01%09%40%C0%E1%06%E3%96%B7p%84%00%0C%08d%20%17%40%C8B%2A%E0%90%88L%80%22%15%89%80F%3A%F2%00%90%8C%A4%01%26I%C9%08%16%E0%92%98%24%80%267%998%B6%0C%C0%92%98%14%0C%27%3B%E9I%B6%8C%E5%94%7D%2C%CB%F4%F6%C4%CAV%BA%F2%95%B0%8C%A5%2CgI%CBZ%DA%F2%96%B8%CC%A5.w%C9%CB%5E%FA%F2%97%C0%E4I%40%00%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%95g%80%00UO%0E%18%20%00kV%91%01%10%280%40%80%EB%D5%AF%1F%1Dt%B8%E0%20A%01%B3%5E%D1j%BC%10%E4%07%8B%0E%12%16%1C%20%20%40%80%5C%8D%14%BA%C8%F9%B2%C4%06%09%0C%0F%DC%FA%FD%7B%D1A%99I%8A%F6%A4%B1%12%C4%C5%07%0A%08%E22%9EX%00%0B%A7P%9A%20%0D%A2%13%86%09%0E%0F%066W%0C%D0%A4%93%AAS%A3%3AUR%C4gM%93%0A%AA%2B%C6%90%D4%8A%D5%2AT%A5%40G%F2%E3c%40%EE%89%1B%02%B5Z%EE%3B%95%A9Q%9B%C8%2C8.qA%1BU%CB%7B77%D5g%03%F5%88%04%B6%FE%90%CA%CE%7C%95%2AH3%BEGD%D2%C9%15y%ED%9A%8E%A8%87x%82%91%2B%F7%E4Y%91%2A%93z~C%0C%7C%B4%82_v%AC%A4%A2%C7%04%FE5%94%C0%19%A8%BC%C7%CA%83%88%84%90%20C%02X1%CA%80%CC%B1BI%0E%132%F4C%26%18j%07J%16%8Bu%88%10%09%86%DC%97%1F%2B%A7%C01%9D%89%08Ip%87%80%2B%AE%F2%C7%050%22d%80%18%A7%84%F8%20%23%2B%E4xP%00N%7C%F2%9Ev%9B0%21%E4A3L%A2%22%81%FA%81A%C0%92%05q%A0%1C%86%0F%A6R%87%03T%12%E4%80%1D%AB%F8%B8%8A%20%1DtY%D0%11%3Ejh%83%99%06%19q%A4%27Nh%C6%A6%40Edh%0A%19%FD%CDY%90%9B%0F%B2%B2%88%9E%08%15%D1%E7%2A%8A%00z%90%11%AB%24%BAJ%22%86%B6i%9E%2A%AA0%DA%28AE%3C%9A%0A%22%93R%AAJ%2A%A9%A0%82i%A6tr%8A%8A%A7%A0%D29%2A%2A%A7%18R%2A%00E%A0z%8A%29%FE%AA%96J%C4%AB%A6%94R%C8%AAD%D4ZJ%29%84%AC%3A%C4%AE%A4%902%08%AE%A5%902%CA%28%82%F8j%AC%28%A2%24%5B%AA%10%A3%88%12J%28%81%AC%2A%84%B4%A1%80%02%C8%AAAd%0B%CA%27%7Fp%FB%C9%B8%9E%F8%21%AE%27%9Et%D2%C7%AA%40%A4%DB%09%27%7C%B0%FB%EE%26%9B%EC%B1%EA%0F%9Cl%A2%89%26z%AC%EA%83%BE%99%60%92%C7%AA%3D%04%7C%89%25w%10%7C%B0%25%95%D8%B1%2A%0F%0CSBI%1D%AB%EEP%09%25%93HB%C7%AA%3AL%92q%24s%AC%9A%83%24%91%40%F2%88%1C%AB%E2%10%C9%23%8F8%02%C7%AA7%B4%DC%08%23n%ACjC%233%2F%D2%C6%AA50%B2%88%22%89%AC%B1%2A%0D%40%23r%88%1A%AB%CE%60%F4%21%85%A4%B1%AA%0CL%13B%88%19%AB%C6P%08%21%82%08R%C6%AA0%0C%22H%20%80%90%B1%EA%0B%60%FF%E1%87%18%AB%BA%60%B6%1F%7C%80%B1j%0Bl%EF%A1%87%17%AB%B2%B0%C7%1Ey%E0%D1%C5%FE%AA%2A%E4%91%C7%1Dv%CC%D1F%1Bl%AC%91%06%1Af%94A%06%19c%84%01%86%17%5El%A1E%16X%5Ca%05%15RD%01%85%13M0%B1%84%12H%1CQ%C4%10A%00%F1%83%0F%3C%EC%90%03%0E6%D4%40%C3%0C1%C0%00%83%0B-%B0%B0%82%0A%28%A0p%82%09%24%8C0%82%08%20%7C%E0%01%07%1A%60P%81%04%0F%2C%80%C0%5E%5D%C9y%92%0A%80%D7A%C7%1Cr%C4%01%C7%1Bm%ACa8%E2f0%EE%B8%17%5Dp%219%16VT%81%B9%14P%3C%D1%C4%12K%24%81D%11D%90%0E%04%EA%3B%E8%80%C3%0D6%BC.%03%0C%2F%D0n%7B%0A%29%D0%9D%09J%F0%BB%10%80%C0%03%1D%D8%80%06.%40%81%084%40yo%B9%CAYR%92%02%E9Q%CFzopC%F6%D4%90%863t%8F%0Cbx%5C%F8%B4%A0%85%CA%5DN%0A%E8S%9F%E7%92p%04%23%10A%08B%A8%0B%0Fx%60%3F%FC%D5%60%062%88%DD%0Bjw%BB%00%EE%AE%04%F1%BD%03%9E%F0%3A%C0%81%0Dd%80%81%11p%80%F2%C82%80%09%A6%04%05t%A8%DE%F5%06%B7%06%0E%22nqb%08%C3%17%C0GB%13Va%0A%29%EC%DC%E7%90%60%84%D1%09%C1t%A8%D3%C1%EAn%E0%3A%1C%F2%CF%05%B6S%81%0F%07%18D%03%0E%B1%88%19%C0%00%12%1F%C0%00%04%18%E0-%5DY%C9%09%E4p%3D%0Dj%EFp%89%03%E1%F7%BA%20%B9%2CX%EE%8B%99%7B%82%13%3C%07%3A%D1%0D%21%86%F3%EBA%FDX%D7%3A%1C%C6%A0%7F-X%C1%0A%E6%08%C4%DF%89%20%04C%24%A2%02%8Fh%01%0A%20%8F%01%098%00%20%9DW%12%01%20%E0%96%B8%5C%DE%01v%C9%CB%03%18%E0%97%C0%FCe%01%86I%CCb%12%E0%98%C8L%E6V%96%C9Lf%F6%A5%2F%C9Tf3%B9%D2%17%09%D2rU%D8%CC%A66%B7%C9%CDnz%F3%9B%E0%0C%A78%C7I%CEr%9A%F3%9C%E8L%A7%3A%D7%C9%CE%A1%04%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5Dj1%80S%A6%2F%05%14%280%20%00T%96%02%1CDP%40%D5%EAU%94%02%3C%B8%F8%40%81%C1%01%02%02%9E~%25Y%E2%0A%14%1C%24.8%40%405%EDZ%91%27%E4%F8Yc%C5G%0A%0D%10%12%14%10p7%24%869%9A%22%09%82%B3%85%88%0B%0F%12%0Ex-%DCq%81%1AR%A4%3AQ2D%07%8C%92%19%18%08P%F6X%E0%0B%A9U%A8Hy%AA%94%28O%99%1E%0CF%7B%FC%A1%A9%15%2B%D4%A5%40%5Db%04%C7%84%EC%8E1%22%B5%B2%7D%3BU%A9P%93%A2%88%FE%ADqC%A0%E1%C3o%ABB5%AAMl%E6%19%21%C4Q%05%9D%D5%EDU%A9%02%FEu%C0%9E%B1%80%96Q%D1%BD%7F%8FT%83%3C%C6%00M%3A%A9%9F%BFJ%13%12%F7%18a%40R%BF%AA%7F%FFQd%18%80%9FE%1A%FC%E1%DF%81%A8%D1%E1%C0%80%15-%B0%06%2A%07%AA%22a%2A%82x%C0%20E%04d%11%8A%7F%12N%08%C9%0C%17RTD%26%1DN%98J%2A%98%18%11%E2D%26%20R%E2%89%27%862%86%80%2BBtA%1E%A8%A8%92%8A%89%A8%98r%87%045B%94%00%19%A4%C0%08%23%2A%A8%14%F2A%90%0F%09%20%C5%27G%22%89d%2470%F9%10%0F%93H%29%E5%29%A7pb%05aV24B%20Hri%E6%29%A2%B0%A1%40%98%0CE0%87%29eri%8A%29%A5%ECQ%01%9B%0B%15%E0E%28g%CE9%E7%21%28%E0%A9P%00Jd%22%A7%9FtR%92%84%A0%0A%C1%D0%08%A2t%96RJ%27Z%0C%C0%28B%1A%EC%E1%A7%A4%9C%8A%02G%03%97%1E%D4%00%1C%A4pZ%0Af%A4%8C%B2%C7%06%A1%22%14%84%A9%FE%98%8D2%0A%232%B4%9A%10%10%A8%A6%3A%0A%25HLf%ABA%3F%C8%2Ak%27%5E%D0%F8%2BB%3F%88%12J%28%A2%08r%ECB%3F%84%02%CA%B4%80%3C%AB%D0%0F%D3~%F2%C9%1F%D6%26%E4%83%B6%9Ex%E2G%B7%08%F9%10n%27%9D%8CK%AEA%3Dp%E2%EE%26%7C%ACk%10%0F%9B%D4%AB%C9%1E%F2%16%C4%83%26%9Ad%92%89%1E%F9%12%B4C%26%98%5Cr%09%1E%01%0F%A4%C3%25%96XR%C9%1D%09%0B%A4C%25%95PBI%1D%11%03%90%03%25%93L%22%09%1D%19%E3%20%89%24%91D2G%C67D%02%C9%23%8F%C8%91%B1%0D%8F8%E2H%23pd%5CC%23%8D0%B2%88%1B%19%D3%B0%C8%22%8A%24%D2F%CF%89%24%82%08%22kd%3C%C3%21L%1B%92F%C62%14R%08%21%84%A0%91q%0C%83%0C%22%88%20fd%0CC%20%81%00%F2%07%19%19%BF%F0%C7%1F~%F8%21F%C6.%F8%C1%07%1F%7B%80%91q%0B%7B%E8%A1G%1E%5Ed%BCB%FE%1Ex%DCq%07%17%19%AB%60G%1D%84k%91q%0At%D01%87%1CXd%8C%82%1Cr%C4%01%87%15%19%9F%00%C7%1Bo%B8QE%C6%25%B4%D1%06%1BlH%911%09k%AC%A1F%1AQd%3CB%1Ai%9Ca%86%13%19%8B%60F%19d%90%B1D%C6%21%901%86%18a%2C%1A1%08a%80%F1%85%17Gd%FC%81%17%5Et%C1E%11%19%7B%C0%C5%16Zh%21D%C6%1Cd%81%C5%15W%FC%40%BD%15VTAE%0F%19k0%85%14%E4%EF%90q%06Q%40%F1%C4%139d%8C%81%13M4%C1%C4%12F%14Q%C4%10C%08%11D%10%3F%F4%EFC%0F%3C%E0%C1%0Ev%A0%83%1C%E4%00%077%B0A%0Dh%C0%C0%19%C8%20%06%10%84%C1%0B%5E%E0%02%17%B4%80%05%2CX%81%0AT%90%02%14x%F0%04%26%08a%09H0%82%12%8A%20%04%1F%E8%00%070P%81%084%00%01%06%40%8BZb%82%81%25%D8P%09I%40%C2%11%EAW%04%22%E4O%7F%FE%40%F8%C1%FF%00%28%40%02%1E%F0%06%09%B4A%03g%E0%40%09R%D0%82%17%5C%81%069%D8A%14%9C%E0%8A%22%24%E1%09A%E0%01%0Eh%C0%02%13p%80%02b%98%16_%BD%E4%02I%C8%E1%0E%7B%F8%C3%20%00%21%88%3F%00%E0%00uP%40%1C%20P%81%0Bd%A2%0C%1E%18%03%09B%11%83R%A4%A2%15%B1h%82%12%8C%90%84%238a%08%40%90B%0Ed%C0%02%12%10%E3Y%CA8%13%0B%F0%D0%87%40%F4%DF%FF%04X%40%03%DE%11%8F5p%60%04%9DH%C1%28n0%05%A8%FC%60%21%0F%89%C8D%86%60%91%1F%F0%80%07T%B8%81GFR%01t%29%A3%19%5BR%816%BEq%88%014b%0E%90%98%C0%1A%2C%90%06%7B%7C%A0%13%2B%D8%82%28j0%95W%04%A1%21%5B%29%02E%C22%96%B3%E4%00%076%A0%01%16Fr%010%AC%CA%0C_%12%00%02%98%F3%9C%E8L%27%01%06%C0%CEv%BA%F3%9D%F0%7C%A7%00%E6I%CFz%DA%93%9E%E8%27t%E7%3C%9D%B2%CB%8C%F9%F3%9F%00%0D%A8%40%07J%D0%82%1A%F4%A0%08M%A8B%17%CA%D0%86%3A%F4%A1%10%8D%A8D%A1%12%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05%28%29%94%85%01R%99A%24u%8A%24h%8D%0B%01O%5B%9EH%94%8A%D4TAo%B2%E8%80%905e%06%3E%ACX%A1%1A%C5%89%EA%1B-AVP%18P%96%24%038%AB%5C%B5Z%B5v%13%A4%40o%E3j%80P%A0.H%02%5EJ%B9Z%BC%B7o%A2%3Fn%B2%C4%DD%00%21A%81%00%869%FE%D0%B4Xo%2BV%AANy%22%B3%C0%82%15%C9%2B%28%5B%1E%809%F3%C5%17%90Z%B5%F2%2C%5B%AD%1D%0A%04%3D%E8P%A1%BA%C0%00%01%AD%5DK%D4%C0G%B6q%E3%AB%06%7D8H%00C%EF%DF%C1%85%3B%5C%B0%26%D5%F1%E3%8CV%2C%2C%C0%605p%E9%0E%0B%FE%7C%21%95%B6%7CyH2%1E%12%F0%1D%20%3Ax%84%3E0%ADZ%C5j%3E%7DV%9B%98%B8o%18%E0%FB%7B%8408b%DF%80%AB%8CB%86%01%16%ED%F7%9F%06~%A8%E2%E0%83%0E%A2B%87%03%FFu%F4%C0%1B%A6%A4%A2%E1%86%1A%06%E2A%85%1C%11p%05%28%1A%A2%82%0A%87%8F%D0%00%E2F%01%2C%91%89%89%26%9E%02%E3%25F%AC%B8%91%0B%8C%9C%A2%E3%8E%3A%82%22%06%826b%94%C1%1E%A5%98b%E4%91%A6%90%22%07%85A%5E%A4%80%19%A2%94%22%E5%94R%FA%C1A%93%17%0D%40%C5%26%A4t%E9e%97%8C%C4%80%E5E%40H2%CA%99h%8EB%CA%24B%8Ci%D1%08%81%88%22%E7%9Crn%E2%05%90nJT%81%1C%A0%84%E2%E7%9F%A1%7C%22G%04yN%84%40%17%9B%80%A2%E8%A2%8A%FA%D1A%A1%12%09%B0%04%25%9FTji%A5%89%CC%00%A9D5%24%D2%C9%A7%9E%84%1A%AA%24P%60%B5%E9C%1F%D8%C1%C9%AA%AC%AE%8A%09%19%FE%09%9C%FA%D0%03hd%B2%C9%AD%B8n%A2%89%1C%13%C8%1A%DE%14%94h%22l%26%C4%0A%CB%07%09%BE%F2%07%C4%22%97%5C%82%89%B3%CF%5E%82%08%10%C96%94%82%1F%96d%ABm%B6%8EDAW%B5%0AY%C0%06%25%95%94K%C9%B9%94LB%1A%B8%0A-%00F%24%93%C4%2B%EF%24%92%B4q%01%BB%0B%D5%10%C9%BE%91H%C2%2F%1F%2A%E0%CB%10%0D%8F%14l%B0%20%3C%28%28pA34%E2%C8%C3%89%3CQ%D8%C2%0C%C9%C0%C8%C5%8C%C0A%B1C1%28%E2%B1%22ml%DCP%0C%88%94%8C%08%1B%223%04%83%21%85%18b%88%1A%29%2F%F4%02%214%13%82F%CC%0A%B9%20%C8%CE%82%98%81sB-%00%22%F4%1Fd%FC%8C%10%0B~%24%ED%C7%18F%1F%B4%02%1F%7BD%1DF%D3%06%A9%90%C7%D5yxAuA%29%D8%E1%F5%1D%5DlM%10%0At%94M%87%16b%0Ft%82%1Cl%CB%81E%DA%02%99%00%C7%DCpX%017%00%25%B4%A1w%FE%1BU%DCM%C2%1A%80%AF%21%C5%DD%23%A4ax%1AQ%DC-%82%19e%98a%86%13w%870%C6%18b%88%B1%C4%DD%20%80%A1%F9%17I%DC%FD%81%17%5Et%D1%C5%11w%7B%B0%85%16%A8%13qw%07X%5C%81%05%16m%C2%BD%81%15UTa%C5%0Fwk%20%C5%EER%F4pw%06P%04%0F%85%0Ewc%D0D%13L4%81C%F1K%28%A1%C4%125%DC%7D%C1%11%D4%1F%A1%29%DC%16%10%A1%3D%11b%C2MA%10%E0%07%F1%C2%DD%13%FC%E0%C3%F9-%DC-%01%0F%3B%B4%AF%1D%DC%12%E4%80C%0E9%A4pw%046%E4o%C3%09wC0%C3%FF30%C1%DD%1E%10%83%02%C6%60%04ws%80%0B%5C%F0%02%17%84%E0n%0D%60%81%04Y%00%02%08%AA%E0%82%29%F8%10%DC%18%80%82%0E%9E%E0Q%1B%2C%81%09LP%82%0D%DCm%01%24%18%81%0AE%C0B%16%86%E0%85%2F%14A%0C%5B%28%C3%19%CE%D0%854%8C%21%0CuH%C3%1A%86%00%04%F5%1F%E8%00%070P%81%084%20%01%07%20%00p%14%16%13%05%C8%B0%87-%84%A1%0BC%20%82%11D%91%8AP%CC%21%14m%B8%C5%17%02%D1%03%1C%C8%80%05%24pD%03%10%805L%84%89%02%40%C0%C6%1F%FE%90%8D%40%04%E2%07%E0%E8E8%CE%11%8Ex%CC%23%08%DE%18G6%DE%B1%8F%1F%08%E4%07%3C%D0%81%0D%10%D1%88%080%E3%12s%92%80Az%C0%91%81%F4%80%24%1F9IAF%B2%92%8E%AC%24%26%059IIv%A0%93%93%EC%80%289%B0%01%0D%5C%60%02%10%60%00%02%7C%B3H%9C%24%60%94B%14%A5%2Cg%09KZ%8A%92%90%1C%C8%E5%2C9%60KX%E6%92%97%B5%24%25%295%20F%09%3C%60%01%ABD%A3N%FA%23%80f%3A%F3%99%D0%8C%A64%A7I%CDj%3E%F37KL%E3%DD%B6%C9%CDnz%F3%9B%E0%0C%A78%C7I%CEr%9A%F3%9C%E8L%A7%3A%D7%C9%CEv%BA%F3%9D%C2%09%08%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05X%19%E5%07%03R%99E8%C1%9A%CA%AAM%82%A7-O0z%C5%F5%D5TX%A4%AC%04%C0%8A2%03%9FV%AE%5Cu%5D%FBJ%D2%0A%B2%24%19%BCI%856%AD%5D%B5k%5B%E1y%00%F7%23%01.%A3Z%09%1E%9C%D6%14%AB%BBi%5B%8D%922%B6%AFF%1F%97XIf5%B8U%2A9%0FF8r%85v%F0%AAT%89H8%BE%E8%A2%D1%AAU%93%27%AB%DAc%81%A0%13R%83Y%A9%3A5JS%18%04%A3%25f%C8%93J%95%AA%D3%C0U%11%02q%F0%81%1D%D4%9FK%85%CA%E4%A8%0E%8B%DC%0E%17%A4%29%95%AA%BA%EF%EB%8CT%2Cl1i6%29O%95%14%FE%E99%F3%E3%2At%84%04%B6%7CB%C5%BE%BA%7BG1%1C%0E%E8%02J%14%27I%85%E8%84YBCB%E3%F3%03%ED%40%89%29%A7%14%C8%DE%29%A8%60%B2%C4%7F%0EQ%60G%26%8F%04%F2%86%16E%C0%F0%01%04%03%00%08%40%0B%89%94%E2%A1%29%04%16%F8%89%18%06T%E4%C2%1E%7C%A4A%85%0F%2Ah%00A%02%04%40%87A%1E%A3%90B%8A%87%1F%92%22%87%03%18%0D%B0C%18O%E0P%C2%05%0E%20P%C0%00%0C%3E%E5%40%1A%9F%8C%E2d%8D6%92%E2G%07%1C5%40%C3%0C%22T%C0%C0%01%04%08%10%40%92E%11%20%C5%25%A1%84%22%CA%99%A28%B9%88%0C%209%90%81%04%0B%180%80%97O%05%40%04%24%9F%7C%02%CA%9Ee%86%12%89%10%23%05%90%40%02G%D2y%94%0A%83x%A2%A8%27y%E6%89I%17%25%96%14%C0%9C_%1Ae%81%1C%9Bp%A2i%27%9Cz%B2%C9%1A%0D%A8T%29Q%09ta%89%26%9Al%A2j%A6%9C%D8%A1%81%86%FE%1D%0D%B0%84%23%97%60%92%C9%AD%99%A0%3AH%0B%B0v%84%03%21%95Tb%C9%B0%97%D4%8A%08%0F%BDr%D4%C1%1C%92L2%09%25%D0%0A%FB%88%15%05%24%AB%91%04d%3C%12%C9%B6%92t%3B%89%24g%F0e-F%07%3C%81%88%23%8E%3C%A2.%24%90D%22%C7%AB%E3%5E%14%40%0F%81%2C%C2%08%23%8D%E4%8B%EE%1Eo%C5%7B%91%0Au%20%82H%22%8A%2Cb0%23%82%10%01%A6%BF%10a0F%21%86%18r%C8%21%02%27R%88%15%B81L%D1%02T%04%22%C8%20%84%10R%08%C4%86%84%01%81%C6%14%0D%00D%1E%7F%00%12%88%C7%82%7C%9C%06%95%28K%14%C0%0Bp%F0%D1%87%1F%3C%FF%D1%B2%1Cl%D6%2CQ%07c%E4%91%87%1E%7B%A0%C8%07%1Fv%FC%20%80%D0%11%3D%20E%1Du%D8q%C7%1Dx%18%8D%C7%13%19C%ED%D0%01F%C0%21%C7%1Ct%D0A%B5%1DuX%11%81%D7%11%91%F0%06%1Cp%C71%F6%1Ca%7C%C0%B6D%22%B0%D1%86%FE%1Bo%BC%5DF%BFwG%24B%1Ak%AC%C1F%1A8d%18%B8D%21%9C%81F%1AjH%B18E%20%94a%86%19g%401%F9D%1F%8CA%C6%E7Ml.%91%07%60%84%11%86%18K%88%1EQ%07%5E%B4%FEE%12%AAC%C4%C1%16%5Cp%D1%85%11%B1%3F%B4%01%16Yh%A1%05%11%B9%3B%B4A%15VXq%05%A0%C13%94%81%14SPQ%C5%0F%C93%84%01%14QH%21E%0F%D1%2F%84A%13N%3C%01%C5%0E%D9%2Bt%C1%12%E47%91C%F8%09Y%80%04%12I%2Ca%03%FA%08UP%84%11F%1CA%03%FC%07Q%20%C4%10C%10%114%FE%04%A1%C0%0F%80%10%84%20%C0%00%80%05%99%00%0Fz%E0%03%1F%F0%0A%81%03%91%80%0Et%B0%03%1E%3C%07%82%02%89%C0%0Dp%90%03%1Dh%07%83%00%80%00%0Dj%60%83%1B%A0%00%84%00x%80%0Cf0B%13%A0%F0%010%80A%0Cd%20%1A%10%3A%A0%05.p%01%0CF%80%C2%06%AC%80%05%FE%2ChA%08z%98%02%15%A8%60%05%C4%01%21%03N%80%02%14%A4%C0%03%28%5C%00%09L%60%82%13p%20%8A%23%20A%09J%B0%01%14%2A%40%04%22%18%C1%082%E0E%10%84%E0%8Cd%04a%02%3C%F0%816%5E%00%85%09%E8%40%07%3C%E0%81%D6%80%10%01%1B%E0%80%1E%2B%80B%04h%E0%8F%1B%98%00%0A%0F%80%01%0Cd%20%03%82%04%E1%01%2Cp%81%0B%60%40%02%83%AC%40%05%18%B96%10%1A%80%02%98%AC%80%B80h%80%09L%80%02%13%E0%11%08%0B%10%01%09x2T%A3%84%40%04V%89J%0C%16%E0%01%0F%80%00%04%18%80%C2%028%00%96%B8%C4%A5%2Ce%B9%CAR%9A%D2%93%99%94%A4%24-%40LF%16%B2%90%87%CC%00%207%90G%3Dr%40%8E%1C%D8%40%06.P%81%084%20%01%07%28%D4%C2pB%00%07x%D3%9B%B9%DC%A5%2A%7B%29%81r~2%98%C3ld%23%91y%C8e6S%8E%F0%EC%80%1E5p%01%0A%CC%12%01%06%B1%E8%D2%A8zB%00%064%E0%9F%0D%F8f.c%B9Kr%9A%F3%93%C0%1Cf1%D7%89%CC%3Fj%80%99%10%8D%E6%064%80%81%0AH%C0%01%0A%C8%26%A5%B6y%93%01%2C%80%01%FE%04%E87Gz%CB%82%1A%B4%9C%BF%3Cg%26%17zLej%C0%A5%7F%3C%A4%05%260%CB%04%E4%13I%1C%ED%E8GA%CA%D3%90%8A%14%9C%B0%14g%2FW%89RO%26T%A1%EA%3C%A6R%2F%60%01%0AD%C0%01%0B0%D2F%83%F2%A5%AAZ%F5%AAX%CD%AAV%B7%EA%A5%00%08%A0%ABXE%A1X%C7J%D6%B2%9A%F5%AChM%ABZ%D7%CA%D6%B6%BA%F5%ADp%8D%AB%5C%E7J%D7%BA%DA%95m%01%01%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05T%01%C5%E7%02R%99C2%B5%9A%9A%8A%0D%82%A7-M%20Z%C5%8A%D5%D4%A9%A1%AA%04%C0%8A%12C%9ET%AB%D2v%F5%FA%15%D2%0A%B2%24%17%AC%29%95J%95%DD%B4%5C%BB~eu%E7%01%DC%8F%03%B0%7CB%85%2A%95%E1%BB%A4R%AD%FD%DA%AA%94%D8%BF%1BuH2u%EA%14%E1%C2%AAJ%BDq%20%82%D1Z%B6S%25%A9%80%7Cq%C5%A1R%A8MQ%B6l%0AO%05%82LD%E5%05%CD%B7%01i%89%17%E4%88%1AE%8A%14%EAR%A6J%01%FAp%D0A%1DU%8B%BF%8A%AAr%DB%A1%021%9DB%89%DA%CD%DB%F7%A1%14%0B%5BH%9A%CD%F8%91%89%E6%09%09%FET%B1%F4%09%14%28%E9%D4%11%BDp8%C0%0B%A9%BC%8CU%B5%B9%0A%9E%60%8DE%9D%3Ay%F2T%FE%BC%A4%23cAd%81%1Fj%81%D6J%27D%D4%07%00%0A%7Fh%B2%09%27%9C%E8%C7%DF%25%5D%18PQ%0E%99%7C%B6%D6%2A%86pp%5B%05m%5C%92I%26%9A8%08%A1%26j%D8v%11%01_%98%82%D7%2A%AA%A4r%0A%28a%14%00%17%03%5EDR%89%25%97%88H%A2%26ul%C0%D1%07%88%D8%15%E3%29%A5%84%B2%09%21%2C%3C5%C0%11%89H2%C9%24%94X%C2%E3%25%81%B4%00R%11%9C%C8X%8A%28%9DT%B2%88%1FS%2CPT%009%00%F2%C8%23%90D%22%25%25%95%14%B2%C3H%0B%BCA%CA%28%9Fd%02%09%21u%90%C1%84%06%01%02%25%82%1C%8C0%D2%88%23l%BA%C9%C8%146%96%04%82%20%9AL%92%08%1Fk%60Q%84%0C%1C4%DA%93%04a%1C%92%88%22%8B%18%8Ah%23%60%98%89R%00E%10%12%88%1Ca4%91%03%0A%FE%1AD%60%E1N%070%11H%21%86%1C%82%C8%A7%8B%2C%92%86%05-%29%C0%C4%19V%08%F1%02%08%144%80%40%01%81%D6%24%C0%0Ew%04%22%C8%20%84%14r%88%AEt%7C%07%D3%04%3A%D8%60%82%06%10%28%60%00%01%034%2B%93%0Am%F8%E1%C7%1F%80H%5B%ED%1D2%D0%14%C0%04%1BL%C0%C0%01%E4%0A%60%EEK%16p%91%87%1E%7B%F0%D1%C7%BA%81%EC%81%04%017%09%A0%40%02%05%0C%A0%EF%BE%2C5%C0%C4%1Cu%DC%81%C7%BF%01%F3a%05%03%3B%090%80%C3%10%ABT%40%0Ek%C4%21%07%1Du%D8aq%1E%5EP%00T%C8%A7%AE%40F%1Bn%C0%01%87%1C%27%F7%19%82%82%1Eup%05%1Ai%A8%B1%06%CD6%A71%03%CC%3CO%F4%00%11c%90a%C6%19i%A4%B1%06%1Bi%041k%D2%19%1Dp%03%17_%84%21%06%19e%98%01t%12%A6b%8D%91%00%27T%A1%C5%16%5Dx%D1%F5%D7O%B8lvF%1C%2CQ%85%15Xd%A1%05%FE%17%5ExA%C5%08sg%14A%0FPH1%05%15V%5C%81%85%16V%A8%20%40%E0%17%21%F0%C2%12L4%F1D%14%86SA%C5%0C%9AB%3E%11%01%26%10%81D%12KP%EE%04%14Q%D8P%B6%E7%14M%10%C4%10E%18q%04%12J0%E1%C3%04%ACc%24%C1%0F%40%BC%1E%BB%0F%19%E4.8%0F%3E%F0%FE%C3%07%8F%0B%8FQ%04%3A%EC%D0%83%0FZ%2A%9F%11%048%E4%D0%7C%93%D2c%04A%0D6T%3FZ%F6%17%3D0%03%0D5%DC%80%1D%F8%169%10%83%0C%E3%9F%80~%FA.%C0%10%C3%0C%DA%BE%3FQ%03-%B8%F0%02%0C%24%D8OQ%03%2B%60A%FE%00%E7%3F%890%00%05%2A%08%20%08%0Ah%C0%13%A0%20%05%2AX%20%03%21%B2%00%12%98%C0%81%1E%98%20D%140%82%12%5C%D0C%1At%8E%08F%40%82%12%08%29%84%0DQ%40%08F8%02%0D%A0%B0%21%09%F8%00%08V%18%BC%17.%24%01%1E%F8%80%0C1%60%C3%85%20%80%03%FE%1D%F0%80%07%80%D5%C3%84%20%60%03%1B%00%22%11%8Bx%10%04d%40%03H%94%1B%13%0Dr%00%0C%3CQ%03%B8%9B%22%15%2F%60%C5%0CdQ%8B%041%80%05.%C0%C5%08%80%B1%20%06%A0%40%05%2C%60%013%9Eq%20%06%98%00%05%D4%08%817%C2Q%02%12%90%A3_%EC%08%80%02D%00%8F%13p%00%1F%FB%08%81%08%18REv%24%C0%03%20PH%8E%F1%91%00%0Ex%C0%22%1D%99%C8%068%20%92%AB%3B%23%01%1A%60I%07d%12%8C%04%60%00%03%2C%A9%80A%0E%60%01%0B%18e%02L%89%CAT%AE%92%8F%03P%80%02RI%1F%3B%0E%20%01%09%40e-%DFxKY.%60%97g%BC%25.%15p%80A%0A%00%01%B8L%401%F9xLd%26%E0jo%14%C0%01%0E%80%00%04%40%F3%8C%D2%9C%A65%8Di%00m%22%60%9A%DEL%E60%5B%99%CAQF2%92%8C%8C%40%21%F3%28%C7%0A%B8s%8Dc%24%A3%05%2A0%01%084%40%99%E3%C3%12%80%BE%8A%22%00%03t%13%9C%D4%AC%A63e9Kr%8A%B2%93%E8d%24%04%F0%98G5%BA3%9E%F2%A4g%04%3Ci%CD%7C%05%00i%1D%2B%40%01%FC%F9%CF%80%3A3%99%045%28%27-%29%C9E%1A%F2%8F%13H%E9%1A%DFY%01%0A%D4%D3%01%0Cx%A6E%2F%CAO%8D%DA%D4%9F%00%15%E8%40%7D%D9%CAQr%F2%92%095%24%20%E7%D8R%97J%00%020Uf%C3%1Ev%94%00%D8T%A3%1C%ED%A8GA%8A%CA%82%A2%D2%A7%24%5Dd%21%85%9A%D2%09H%40%9D0U%805AFS%05%5D%F4%AChM%ABZ%D7%CAV%8C%0E%F2%ADp%8D%AB%5C%E7J%D7%BA%DA%F5%AEx%CD%AB%5E%F7%CA%D7%BE%FA%F5%AF%80%0D%AC%60%07%AB%BC%80%00%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05D%D1t%C7%02R%99%3E%26%99%3Auj%14%1A%04O%5B%8E%08D%AA%94%A9%A9%A7Pq%92%12%20%2BJ%0BqB%89%1A%D5%D5%EBTT%A8%18%A50KR%01%99M%A0%D4%AEm%FB5%2C%AASt%1C%D0%FD8%20%0A%25O%9F%40%E5%5D%3B%AA%D3%28%AFT%E1%A6%02Ev%F0F%1A%876q%EA%84Xq%A8Ni%1A%800%04%D9o%2AU%8E%E6Z%B6Xb%0F%A6L%9A4s%FE%E4%29%0E%05%82H8%81E%95%EA4%AA%3A%0DVK%A4%60%86R%25K%AFcs%E2t%87%C3A%07qJ%99%3E%AD%0A%D4%14%E1%0E%11Xi%24i%92%F1K%C9%FB%FE%94X%B8%C2Q%E4%DE%AAT%ADj4%1E%3B%C2%01I%0C9z%14%A9%3B%25K%97%FC%A8p8%60K%28%D3%E9%AD%82%CA%1AX%B9G%D0%0Ax%2C%C2H%23%F3%D57%89%21%3E%94%05Q%05%7B%98%C2%1Bz%AB%AC%D2%09%11%06%02%00%02%1B%86%20%92%88%82%0CB%A2%88%14%05TtC%25%17%06%98a%22%1D%08%17%C1%16%81%0CR%C8%21%22%2A%C2%C8%22%5E%2C%80%11%01%5D%8C%82%5E%80%AC%9C%B2%86%01t%25%B0%84%1E~%00%22%08%217%22%82%C8%19%17p%E4%81%21C%AA%B7%0A%2B%9C%04%F1%D4%006%C0%A1%C7%1E%7D%FC%11%C8%93%85%C0%D1%9EGDl%82%E1%96%AC%B4%92%C8%06F%A9%60F%1Dw%E0%A1%07%1F~%98IG%0C%23-%00%C7%29%E9%A9%C7J%9C%A6%7C1%80P%19d%01%87%1Ct%E0%99%C7%1E%7C%DCQ%04%01%26%89%B0%88%8B%87%1Ez%C9%0C%3F5%80%C4%1Al%B8%F1%E8%1Ct%D8q%87%13%09%A4%14%80%14%FE%A0h%09%27%2B%AB%FC%11%C1N%05%D4%40%C6%19i%90j%AA%1CrTq%2BK%0E%D0qZ%86%19%AA%92%8A%27P%E0%24%C0%09Y%84A%86%19%BC%AE%D1%86%1B%5C%C4%08S%0B%91%14%9A%CA_%A5%88%12%C8%075m%D0%04%17%5E%80%21-%B5ix%B1fL%04x%21%24%2A%A6%90%12%0A%27%960%D2%04%A609%D0%83%15Xh%81%EE%17%D2~A%C3%A26Y%B0G%29%A3%80%C2I%25%8E%10%92%07%18t%B6%84%00%0CPHA%05%C0Yl%E1%85%17%3E%B4%AAS%0D%8DlRI%23%83%DC%A1%06%17L%A4%90bJ%03%88pD%13Od%BC%F1%15Z%0C%21XO%04%3C%91H%CAih%B1%04%0F-%7C%A0%00J%18%F4%60D%12K0%E1D%14%1A%1B%E1TP%14p%11%F4%12%3B%B4%10%C2%05%10%24%20%00I%10%C8%00%84%10D%1C%C1%B4%D3H%84%20%E1P%1C%08%A1%03%0B%20p%BD%C0%01%05%7C%0D%12%02%26%E8%C0%83%FE%0Fc%97%9D%04%12%29%F0k%94%00%16%7C%60%C1%03%0A%D0%3D%80%00koD%40%074%DC%80%83%DE%7C%0B%21%04%0B%07%D0E%00%03s%17%B0x%E3%19%05%40%01%0B1%CC%40%83%0D%93%F3%D0%83%0B%0C%087%40%01%040%DEQ%03%25%B0%D0%C2%0B1%C8p%3A%0E1%DCf%A0%00%B2k%84%00%07%27%A0%A0%82%ED%B8%CB%00%C3%05%A0w%F8%A3%05%22%8CPB%F1%C7%BB%E0%02%07%08%3B%AF%91%00%11x%00B%08%D2%9BP%7C%0A%1C%20%A9%3DG%08t%E0%C1%07%20DO%82%09%1F%88%7C%3E%FA%1C%A8%FFA%08%22x%D0%FA%FC%1E%1D%B0A%FD%1E%E8%C0%03%9A%C7%BF%8C%1C%40%03%1B%D8%40%07%A6V%C0%FEe%00%81%1C%A8%40%03%3Fr%80%0B%60%E0%81%13%98%A0G%0C%60%01%0Bf%20%83%1A%E4%88%01%2A%D0%C1%0F%86P%84%14%A8%80%05%25p%C2%8D%14%80%02%29%B4%C0%B0Z%88%11%03L%60%02%29%84%00%0D3R%00%09H%00%87%FE%0F%D8%21F%0A%00%01%1FN%60gB%AC%08%11%23%E0C%24%26q%22%04x%00%04%22%10%81%E0%3C%91%22%04p%80%14%23%B0%BF%2BJ%24%8BZ%84%40%17%BD%08%11%024%C0%01Z%1C%23%19%1D%B2%B93%3E%C0Gk%84%C8%00%16pF%07%1C-%8E%0F%99%23%03%1A%D0%00%F9%E1%91%21zd%00%03%FC%F8G%85%E8q%01%0B%20d%21%DF%83HD%2Ar%91%06%19%80%02%1AY%20H%26d%00%09%98%E4%02%2Ai%C9%83%60R%01%A0%CC%5C%27%DF%83%80%04dR%94%A3%8C%24%02J%99%00T%A6%92%20%03X%E5%2A%CD%F7J%82%08%40%96%08%A0e-%05%22%80%03%F82%97%BB%B4%A5%01~%A9%CB%5D%0A%C0%00%C3%3C%401kyLd%D2-%98%03%11%40%01%0A%80%CC%97AS%9A%D4%7C%264%01%80Md%0A.%98%01%20%00%01%A8%F9%CD%5D%86s%9C%B0%DB%26%00%CE9%CEr%D6%92%9D%E2T%27%3C%B3%07Nq%8A%93%9E%E6%BF%24%C0%00%EE%29%CF%01%EC%D3%9E%E8%9C%A63%7DI%D0%03%AC%D2%94%A0D%E4%1E%D1%A8%C5%07%A0%B1%01%9CS%40%02%10%407%7D2.%00%185K%00%FC%09Pq%C2n%9A%D94%E8AM%99IM%EE%B1%8E%0DEcD%27j%00%CF%5D%94%80G%D9%A8%3F%FF%09P%90%86%D4%A0%24E%E8%24%05%29H%3E%F2q%A5%14m%E9%E70%0AS%A3%C8%94%A3%1D%0D%285%939%D2%92%26T%A1%9C%5B%80Dg%09%BB%A1%165%A63EjRm%9AL%91%96T%A7%9A%9C%AA2%ABj%D5%ABj%90%A8hM%ABY%D5%C9%D6%B6%BA%F5%ADp%8D%AB%5C%E7J%D7%BA%DA%F5%AEx%CD%AB%5E%F7%CA%D7%BE%FA%F5%AF%80%5Dd%40%00%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05%20i%D4%86%02R%996%0Aa%CA%B4%E9%12%98%03O%5Bz%98S%C9%D2%A5L%9A6q%92%B4%24%40V%94%12%C8%3C%92D%A9%2B%A6%B0%9C%3Ay%22d%E2%2CI%04U%129%82%14i%12%25%AF%60%C5z%FA%E4%A9M%03%BB%1F%05%08%09%B4%88%91%A3G%91%D8Vzd%09%AE%DCO%A0.51%8BXc%8A9%87%10%25Z%D4ho%24G%5E%18p%E0c%193%A8P%87%EAv%B6%D8%C1L%A0A%85B7v%D4%88L%04%82A%24%C5%1D%FCZT%A87%0CfK%7C%20%85%CF%1F%40%82%08%15%12%BD%28%0D%86%83%0C%D2l%BA%5C%7CT%A6%27%CA%1D%FE%1A%10B%27%0F%9F%3E%7Fn%E7n%F3a%E1%89B%C4C%89%1AE%8A%14%A2%11%E1%13%0A%A8%B1%86%8E%1D%3Cz%F0%E1%07tm%88%E0%90%00U%60%82%99%7C%F4%952%0A%1A%08%E4W%D0%07%5E%BC%11%C7%1Cu%DC%91%C7%1E~%C8%21%03g%0FM%40%C7%27%0C6h%0A%26BH%08%80%05R%A4%B1F%1Bp%C8AG%1Dx%D01%04%01%15%CD%E0%08%83%A4%94R%8A%29%A7%14%C2%81r%0B%04A%86%19h%A8%C1%86%85r%C8%B1D%02%18%11%80%05%27%F3%F5%08%E4%29%A4%A4a%80%5D%06%CC%B0%05%18b%94q%86%8Bm%BC%21%C5o%1Bq%10H%83%3F%9E%82%0A%2A%99%FC%F0%94%00%23D%91%05%17%5E%84AF%19If1%E4G%40Xb%E5%29n%A6%92%CA%21%1A%18%B5%01%12TX%81%85%16%5D%7C%A1%A7%16%24%8C%A4%C0%1A%A3%B4Yh%2A%A4x1%80P%0F%E8%D0%04%14RTq%85%16xj%11%C3%A7%25%81pH%9B%FE%A8%18%AA%CA%2A%96%CC%F0%13%02%2B%1C%A1%04%13ND1%85%A3Z%DC%B0%25J%01%3C%D1%09%A1%B1%AA2%AB%2A%7F%A0%99%D3%00%1F%F80%84%11I%2C%C1%C4%13RP%B1Cr%2C9%20G%29o%A6%A2%EC%2A%AB%88B%05N%01XP%03%0F%3F%08A%84%AEK8%01%C4%041%B1%F0H%AC%E2%CE%CA%0A%2B%8F%C86%D3%03%2C%DC%90%C3%0E%3D%001m%12%40%5C7%D3%00%5D%8C%22%2B%B9%AC%B4%A2%0A%1BX%C1t%80%080%CCP%03%0E%3A%B0%1B%C4%0F%21%08p%93%05%7C%88%0Bq%2B%28%7B%92bK%04d%A0B%0B%2F%C4%40%83%0D%03%F3%60B%01%3B%E5p%89%BE%11%A3%EC%CA%22%89%A6%14%40%04%24%A0%A0%02%0B.%C0%20C%0D7%A4%10aO%04xa%CA%2A%FB%A2%8C%F2%29b%B0Z%12%03%1F%90P%C2%09%29%AC%D0%82%0B1%A8%E0%80P%1F%20Bu%CF%3E_%22%C3%5D%18%80%00%82%08%24%98%604%0B%29%D0%5BT%FE%11%9E%EC%CBv%2B%AB%E8q%D8G%04D%C0%81%07%1F%80%10%C2%08_%9Fp%81%C8G%25%A0F%2AT%93%BBJ%2A%A8l%E2DG%028%90%81%06%1Bt%80x%08tc%80%E3Y%230%A2%8A%A1%A7%982%0A%28%9D%F0%F1%27F%09P%60%01%06%19l%C0%81%E8%20%600%2Cb%01H%D1I%29%A4%84%D2I%26%948B%88%12%A7Sd%00%04%13T%60%C1%05%B8%87%9E%81%02%12%3A%C0F%27%9A%24%8FH%20x%BC%91E%D0%11%0D%C0%40%04%12L%40%81%F4%17d%80%01%B7%2A%02P%C2%1E%89%08%A2G%1Cgp%21%C5%11%274%CF%90%00%09p%C0%03%20%20%81%F4%D9%CE%02%0E%00Q%FC%00%20%00%1F%B8%21%0D_%A8B%12x0%83%14%7C%00~%09%09%C0%01%1A%D0%00%01B%20%02%E8%A3%80%03%B4%B6%40%82%2C%60%07K%00%82%0DV0%02%0E%5C%E0%01%0C1%1F%03%3A%E8%C1%088%C0%7F%254%88%03LP%02%0F%60%40%02%FE%23%8C%E1%02fHC%07%FC.%87%19d%C0%04%1E%C0%80%23%26d%00Cd%80%14%9D%88D%85%08%C0%00TD%C8%00%14%B0%80%21B%A9%8A%1F%D9%22%17%17%F0E0vD%8C%5D%2C%A3%1972%80%04%24%C0%8Bk%3Cc%02%B8%C8%80%A7%C5Q%23m%7C%E3%02%ECxG%8C%00p%8E%7B%EC%A3F%FE%C8E%3E%0A%B2%22%02%40%00%02%14%A0%80%8A%1D%D2%22%89D%80%1B%1D%F9H%8ADR%92%94%AC%A4D.%89%80%2Cj%F2%40%078%80%22%3D%F9%C9%FF%85R%94%A4%2C%A5%15%0D%10%CAN%AAr%93XD%E5%2B%23%22%80%02%B0%F2%008%9B%E5Cj%19%CB%5C%EA%B2%21W%BC%A5%2F%7F%B9%90%00%D8%12%8B%C3%24f%06%8Fi%00%1C%2A%F3%20%C6%2C%80-%9D%F9%CC%82%04%80%00%D2%2C%005%AB9%90kfs%9B%DC%04%C05%B1%A9%CDp%22d%9C%D2%04%277%C7%89MuV%93%9D%E54%A7A%E0%E9%CEg%B2%93%00%24%C1%94%A7%40%EE%99O%7D%F2S%9F%D6%1C%00%01%06%DAOy%06%60%00%02%C5%27%40%09r%D0%84%16%D4%9C%0D%15%E8C%C3%19Q%85.t%9F%08%CD%E8E1%9AQ%C8%5D4%A2%03%F0%E8B%03%20%80%8EnT%9C%25E%A8H%01J%D2%8C%BAt%A0%03%CD%A64%B1h%80c%CA%14%9F%2A%15%40%00v%AA%C0%05%924%A5%2F%85%299e%AAM%98%22%14%9F%02H%2AO%C5%C9%D4%1C%FE4%A9.M%A8P%C9i%D4%A4ZU%A7%3B%ED%E3S%A3%9AQ%82J%15%A9%21U%AAY%B2%AA%D5%ABv%94%ABQ%D5%A9Z%B1z%D2%B6%BA%F5%ADp%8D%AB%5C%E7J%D7%BA%DA%F5%AEx%CD%AB%5E%F7%CA%D7%BE%FA%F5%AF%80%0D%AC%60%B9%19%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%03%DC%B8%A3%05%02R%99%28%DA%FC%11D%28%10%14%03O%5BZ%E0%B2%87%8F%9F%40%82%0A%1D%F2%E3%23%40V%94%0D%98%D0%B9%93%C7%2BXB%86%10%29%92%F3%E1%2CI%03%3F%DA%C8%A9%C3v%8F%1F%40T%E3%2Ab%C4%E8%CB%02%BB%1F%05%BC%20%D3%06%8E%9C%B5y%F6%F4%C9%F3g%90%D8D%8B%1A%3DB%24%C4%2Cb%8D%1C%AE%A0Q%D3%E6%CDc%3Bx%EC0I%60%01%8DXD%99%1DA%8A%A4%27%C4%E7%8B%13%96%88%21s%26%CD%1A7%8E%E7%40i%40%90%86%1F%D8%8C%1C%3D%8A4i%12%19%05%B7%25%2A%C0%B1%C5K%182f%7C%97%9E%22%E1%A0%82%2C%88%18%FEi%8E%24%89R%A5FG%A2%3B%24%B0b%0A%96%EAa%C6%98%19%5D%E5%C2B%10u%1A%C9%964%A9%D2%A5L~%80%A0%5EB%01%84%B0%C4%14U%5C%A1E%17%60%88Q%C6%14%198%24%40%12%88%2C7%09%25%96%60%A2%09%26%60%1C0%60A%13%F8%C0%C4%13R%24%A8%05%17%5EXA%82D%10%A0%C1%1C%86%FFm%C2%C9%23%3C%7C%08%40%032%1C%A1%C4%12NDA%85%15YX%E1%C2%00%15%B1%10%88y%FFi%22%A3%27%7Dh%10%DD%01%26%001D%11I%2C%D1%04%14RPA%03V%17%11%F0%04%24%19%2A%C9I%27%9Fp2%06%97Y%0D%D0%01%0E%3C%FC%20D%11HX%09%05%0E%0Cp%94%81%1D%97%88%D9%89%27%A0%84%22%89%0EO%05%40%C1%0B6%E4%C0%83%0FA%10%A1%23%0F%13%80%A4%03%23%9Bl%B2%E7%27%A0%882J%20%11%16%F5%00%0A0%CC%60%03%0E%3B%F8%20%E5%0E%F6%89%94%00%19%99p%E2%09%A5%A1X%EA%89%16%FED%06%85%C0%07%2B%B8%D0%E9%A7%3A%F4%B0%C3%07%02%98%E4%C1%1F%7B%F6i%29%29%A5D%12%C3O%04%5CpB%0A%B5%C2%20C%0D7%E0%20%02%01%29%05%A0D%25%AC%8EBl%29%A5%F0%11%C1N%01%40%10%02%09%26%A0%B0B%0B%2F%C40%03%09%1E%B2%D4%C0%1A%9F%B4%3A%0A%B7%A6%9C%E2%89%1491%C0A%08%22%90%8B%82%0A%2C%B8%60B%9D0%A5%A0%C8%B0%A5%D4%7B%0A%2A%8C%94P%13%02%17p%F0%01%BF%23%94p%82%0A%258%40%D3%00YtB%AC%C2%A8%A4b%8A%1Ah%BAD%40%04%19l%D0%81%07%20%88P1%09%13xVS%05x%24%7C%CA%C2%A9%A8%A2%0A%27A%B8%24%40%03%17%5C%80%81%06%1C%B0%CC%AF%05%B1%E6d%03%25%F5%86%9C%F3%2A%AC%24%E2d%B5%08H%40A%05Bk%A0%F2%07%16%14%E0%13%01%5C%88%E2%B4%2A%AB%40%5DJ%18I%DF%E5%40%04V%5B%20t%06%1AX%D0.P%1E%1426%D4%AC%B4r%89%FE%0C%24%0D%B0%C0%03%10%B0%7D%B5%D0%16%40W%14%11%9C%E8%8Cw%2B%8C%F3A%5Cb%070%D0%80%03%10%40%20%C1%04%15T%C0%80%CCE%25%90%06%2Ae%B3%92w%2B%AE%90bEG%01%18%B0%C0%02%92%3B%008%DB%0D%F4z%D6%08%8C%2CN%BA%2B%AFD%E2pF%04%28%B0%BA%E4%93%BB%DE%40%DAg%050%85%28%A3%BB%82%FB%2B%AC%B81%F7D%03%1C%A0%80%EF%AC%B7%DE%80%D7%03%3EPG%DE%CA%BF%F2%0A%2C%B0%80%22%C4D%02%18%80%00%02%09L%EF%3B%03%0C%94%FC%E1%0B%95%90%EE%FD%F7%B0%C4%82H%05%0F%05%40%C0%01%E7%A3%9F%BE%EF%07%E0%9C%8D%00%40%800%A0by%E0%8BE%2CTA%06%E2%1Dd%00%050%80%01%F8w%BE%F4%05p%80%08%C9%40%21%BC%07%BE%FA%C5%02%14%CF%3BH%00%0A%40%C2%09R%F0%00%B2%C3%60Bz%D0%09%FA%D5%0F%08%0C%19a%09%0Fp%00%038P%85%079%40%1BX%01%3E%404D%86%FE%12%B4%21%0E%21%22%82F%84%E2q%0B%91%21%09%A95%C4%88P%C0%21J%2C%00%13%9B%E8%11%FD%95p%8AT%E4%88%FE%08%10A%ECeQ%8B%04%E0%A2%01%B0%F8%C5%8Cl1%82d%2C%E3E%CE%28E5n%84%8Dit%23E%B6%C8%C58%CAQ%22tl%E3%1D%D7%18%C6%3A%EE%91%8Fa%D4%E3%1F%E7%D8GA%0E%12%8F%85%B4%E3%21c%D8G%02%DCp%91%8Cl%24%24%11%D9%C7GN%92%40%8D%B4%E4%25E%98%C9M%E6o%00%95%F4%24%14A%19FM%8Ar%20%01%20%A5%23O%19%C3%01%90%D2%94%ACL%E5%2BY%99DW%82%12%96%A7%94%A5-i%A9%10%5D%BA%92%97%04%B2%E5%2F%81%29Ba%E2R%94%BE%3C%A6%27%7D%99Bb%12D%96%02%18%403%9D%29%90%00%08%E0%9A%D2%A4fA%ACyM%01%08%90%9A%DC%BC%E67%9D%19Noj%F3%99%DD4%E79%AB%E9%CD%00%B8s%9D%A8t%E78%C1YMx%DA%F3%9E%F8%27%CC%A7%3E%F7%C9%CF~%FA%F3%9F%00%0D%A8%40%07J%D0%82%1A%F4%A0%08M%A8B%17%CA%D0%86%3A%F4%A1%10%8D%A8D5%12%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%03%8C%A8%D2C%01R%99%19%96p%F1%12%06%CC%0D%02O%5B%3A%E0a%25%CB%16%AAd%CC%80Y%915%25%02%18Q%A6t%FD%1A%86%CC%994k%B0X%28K%92%80%89%24N%D2%AE%05%FBv%8D%9B7I%10%D0%FD%18%60%C3%8F%24K%F2%AA%CD%C2%25%0B%98%B0p%DB%C0%91%D3FF%80%C1%1B%21%CC%10R%04Ib%BDVf%18x%D0%C4%0C%5C7p%E6%D4%B9C%26%03%E6%8B%0BV%F0%F8%C1%D9s%5E%295%12%10%2C%11f%8Dd9%AB%F3%EC%91%22%F8u%C4%02%1Fn%E8%98-%C4%08b%267%18%1C%3C%20%E4wp%3E~%EE%E00%EEP%00%86%174%94%FE%CF%1ER%24%C9%0D%07%0B1x%01~%27%0Fv%40%82%D6h%E0%9E0%80%84%14%2Fb%84%D7%D1%83v%0D%08%0E%05p%C3%1Bw%E8%81%5D%20%82%14B%88%14%06%D0W%90%02%22%AC%D0%C2%0B2%D4%A0%5C%0F6%CC%15%11%03T%B8%F7G%20%83%14rH%22~%C8%E0%20%00%07l%60%02%0A%2B%B8%00C%858%D8%C0%81%00%15%89%D0%C6%87%21%8E%B8H%23oh%88%19%01%15%8CP%C2%09%29HH%E1%0C%1F%60u%D1%00%40%F0%91%23%22%3B%3A%C2%C8%15%05%D0%25%00%04%1F%880%02%09%26%14%D9%02%0C%21%1C%C0%11%05f%88%88%88%22%8C8%02%89%24%84%CC%90%95%02%1Ax%00B%08B%9E%80%82%0A%23%2C%00%D2%0B%7B%40%D9%88%9A%92LR%89%1D%3E%0E%85%40%05%1Al%D0%C1%07tr%29B%03%23%21%60E%22%7F%AEII%25%97L%22%05%8DA%11%10%C1%05%19%24%BA%28%08%23%84%20%C1e%25e%20%07%A0%97%5E%92%89%26%FE%87%B0%F0%93%00%0BP%60%01%A8%1Ap%D0%81%07%1FL%C0%E9I%01%00%81H%A0%98%BE%BA%C9%26t%3C%B0S%00%08%400%81%AD%B8%EAZ%81%92%2B-%10%86%24%95Xb%2C%27%9ET%C2DN%A3E%20%C1%B3%15%E0j%81%980%91%F0%87%AB%9Al%D2%89%27%9F%80R%88%085%11%B0%C0%03%10D%10%C1%B3%B7VP%9CL%03H1I%BB%EF%C6%1B%CA%27d4%08%93%00%094%E0%80%03%10%E4%FB%2C%05%0B%A0Z%D3%04pl%C2m%BC%A2%8CBJ%25%3D%B8%14%C0%01%0B0%C0%80%03%F8%8A%3B%01%03%BF%E2%24%03%23%F0%82%D21%29%A5%94B%08%06%2B%11%90%C0%02%25%9F%9Cr%03%03%F8D%80%15%9A%80%12%8A%C75%9B%12%8A%17A%9B4%00%02%09%28%C0%B3%C9%0D%3C%C0%00%B5%3Fm%F0G%28%A2%D0%5C%8A%29%A7%A02%09%0C%24%09%60%40%02h%2B%205%03%0D0%A00Q%3FT%E25%D8%A8%A4%82J%1E%90%12F%C0%FE%01%07%40%1D5%CF%0B%1C%60qQ%08%90%21%CA%D7a%A7%A2%8A%2A%A0P%E1%D1%00%06%18%C07%02P%AB-8%5D%21%1CB%B7%E2%AA%AC%C2%8A%23%24h%24%40%01%05D.9%E5%09%1C%D0rY%01%40%E1I%DD%8B%7B%CEJ%2Al%A0KQ%00%03%10%40%BA%E4%7DS%DE4w%0F%C8%81J%E7%B2%B7%D2%8A%27%40L%84%3B%01%CC%93%5E%3A%DF%BF%9F%D8%82%24%AB%14%DF%8A%2B%AE%1CR%01D%020%EF%BD%F3%06%60%7D%A2%40%04%7CQ%0A%2B%AC%18%EF%CA%2B%AF%A42F%F4%08%090%40%EE%DF%93N%C0%E0%E3%13%84%C1%20%E9%AB%FF%0A%2C%9F%B0%1DBp7%3F%EF%E9%EE~%F9%5B%08%0F6%E1%BFW%FC%80%21%04%A4%1F%01%06%B0%BA%04%22%E4%00kX%C5%FA%00%D1%10%02z%AF%82%16TH%08%1A%11%8A%BC-%24%82%13%0C%A1D%B6%D7%C1%F9%E5%0E~%2A%DC%08%0Aa%18%C3%8C%CC%B0%86%1E%B9%21%0E9%A2%C3%1Dj%A4%87%A7%3E%C4%08%10%83h%91%21%12%F1v.%9C%DF%11%85%98D%10.%11%22%11T%E2%13%2B%12E%1AN1%40I%B4%E2%15%21%98%C5-%2A%AF%8B%5E%8CH%00%04%20%3F%0A%86Q%8Cd%9C%9F%13%CF8%402%CAo%8Dl4%C8%18%DD%88%BF8%D6%C7%8D%02%A8%A3%1D%DBHF%3D%EEQ%8E%01%18%A3%1F%FFH%90%CB%04r%90%84%2CH%20%13%C9%C8F%3A%F2%91%90%8C%A4%24%27I%C9JZ%F2%92%98%CC%A4%267%C9%C9Nz%F2%93%A0%0C%A5%28GI%CAR%9A%F2%94%A8L%A5%2AW%C9%CAV%BA%F2%95%B0%8C%A5%2CgI%CBZ%DA%B2%86%01%01%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%40%27%BC%10a%00%A9%CC%06%29f%D8%C8%81%E3%83%00%A7-%0F%80x%11%83%C6%0D%1D%3C%7C%E8%C8%805%25%81%0C%2A%5C%C0%90Q%E3%2B%8F%1FB%8A%DCpP%96%A4%80%09%25R%B0P%3B%A3%06%0E%1D%3D%80%0C1%A2dI%8B%02u%3F%06p%10%C2%04%0A%15-%B8J%AD%01%18%08%91%23J%98%3CY%02%221G%04%1BF%940%91bE%E4%182%3A%10H%E0%22%C8%E5%25M%A0H%A9B%24%82%E7%8B%06.%84%08%21%FA%F1%0A%17%2F%3C%20%1Eh%01H%92%25N%A2L%B1%82E%0B%8E%A6%B7%23%0E%88%E0%01D%08%11%24L%9C%80%FC%E1%C0A%02%2A%90%FEK%A1%C2%7C%8B%97%2C%27%A2%3B%0C%D0%20%03%87%EA%22D%9FH%01%02%C1%C2%07%3E%C6%5B%C9%C2%E5K%182QH%A0%9EB%0AX%90%C1%06%EF%81%80%5D%09%1E%24%B0%1E%09Q4%D7%C5%17b%94q%C6%19%3B%100%60A%05HpA%06%1A%20%08%DF%07%0DH%84%80%0E%E6%811%86%19h%A8%C1%06%19%25l%08%00%01%0EP%60%C1%87%1Ap%D0%C1%07%1E%40%10%40E%18H%F1%9F%19i%AC%D1%06%1Cr%60a%DBm%02%2C%20%C1%04%15X%80%C1%81%1Cp%20%C1U%17%09%D0%02%18D%B2%E1%06%92u%D0Q%84%86e%05%90%C0%03%11L%40A%05%17%60%10%E2%04dj%E4%80%13F%BE%11%C7%1Cu%E0%A1%C7%1B%28%60e%80%03%10D%F0%A4%8D%1FR%E0%DDG%23%8C%81%24%1Dv%E4%B1G%1F%7F%90%21%60Q%04%2C%E0%C0%03%81%0EZ%C1%04%F6%89d%C0%10p0%9A%07%1F~%00%22%C8%1FD%60%09%94%00%094%D0%C0%A5%FE%99R%40%81%02%3F%964A%17w%E8Aj%20%83%14rH%1D%24%FC%14%80%01%0B0%F0%EA%03%98%A6%C9%40%AD%27%05%20%C3%1C%90%F2%EAk%22%8A%98Q%E2N%05%28%B0%40%B1%C7%06%CA%C0%00-%25%10%85%1F%82%102%ED%22%8D%18%12DN%04%20%A0-%B7%C72%10%A7K%1D%B4A%88%21%88%24%82%EE%23%91%E0%E1AM%02%1C%80%40%02%0Ahk%AC%03%0D%0C%27%93%00D%04%82%88%22%8C8%C2%EF%24%91h%A1%B0K%01%14%80%C0%C6%04%1B%CC%C0%A16A%20%06%BA%8E%40%22%C9%24%95X%A2%88%0D%18%13%20%F0%C0%04o%BB%C0%01%CC%E2%A4B%1F%FCJBI%25%97d%A2%89%1E%16%AC%24%80%01%06%1C%20p%021%23%A0%EAN%030%C1%C8%24%94X%D2%F3%26%9CXb%C5%D2%23eL%B4%D1G%2B%80%00%B8Aa%40G%CA%98hBu%27%9F%2C%C2%02I%01%0CP%C0%DBE%BF%8C%C0%BCB%E1%A0%88%CFT%7B%F2%09%FE%28%A0%C8%C1%00Hm%13%40%C0%DB%05p%3D%B7S%07tqI%DE%7B%87%22J%26Ox%24%80%E0%82%C3m4%015%23%E5%C1%1F%9D%E8%0D%8A%E3%A3%94%82%88%08%1A%05%40y%E5p%17%909V%01%28Q%C9%E7%A2%8CBJ%29%A6%8C%82%06t%14%B5%3D%C0%E9%84%13%80%B5g%0E%B0%01J%EC%B3%9Br%0A%2A%98%F40Q%00%02%0C%E0%3C%EF%05%FC%AE%9E%0A%8C%CCN%FB%F1%A8%A4%22%08%05%10%E9%EE%FC%F3%82%83-%23A%03h%F1%C9%F5%D9%AB%A2J%29%60%88%9F%10%F3%DF%C7O%C0%00%AB%8F%2F%D0%05~%18%9F%7D%2A%AA%AC%B2%09%EE%08a%5E%F3%E2%E7%BC%FA%D9%8F%209%B0D%FAV%B1%0A%E5-D%80%03%2C%E0%01%1Br%804%98%A2%7F%7Ch%88%00%BFg%C0%09%22%04%04%89%E8%C4%B5%1E%28%80%12%96%D0%83%12%E1%9E%06M%28%80%0E%A2%F0%22%10l%E1%0B%15%C3B%17%CE0w5%BC%A1G%02%C0C%19%EA%90%23i%3Cd%9E%0D%7F%28%91%20%0E%91%88E%3C%22%12%23%A2%C4%25%3A%F1%89P%8C%A2%14%A7H%C5%2AZ%F1%8AX%CC%A2%16%B7%C8%C5.z%F1%8B%60%0C%A3%18%C7H%C62%9A%F1%8ChL%A3%1A%D7%C8%C66%BA%F1%8Dp%8C%A3%1C%E7H%C7%3A%DA%F1%8Ex%CC%A3%1E%F7%C8%C7%3E%FA%F1%8F%80%0C%A4%20%07I%C8B%1A%F2%90%88L%E4%15%03%02%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%40%3Bdy%02%01%A9%CC%05%2F%9A%8C%B9CH%CB%01%A7-%07H0%81C%EA%1DD%95%28E%09%80%15e%00%03%102p%F5%0A%16%D4%A9G%2C%CA%96%14%60%40A%DA%B5S%DB%9Ej%E5jOS%B9%1F%03%0C%20P%F7nW%2Fu%F4%B6%82%25K%95%16%B2%807%06%100%B8%B0Z%1B%2A%0EPhS%C9%EDbY%B4jaj%11%19c%80%D3%94%09%DB%CDp%A1%00A%1F%97%F62%0E%5D%8BV%1F%07%A5%2B%9E%9E%5CY%C1%82%01%07%1B%C8Y5%BBV-%5B%B6%1C%E7%9E%B8%3B5%01%01%0B%5D%5C%02m%1C9%F2K%29%96Cl.%002%C3%01dZ%FEU%B7nk%16%9D%04%DA%1B%EE%F6%FE%10%C3%A1%E3%E4%91%9BZ%92~%21%FB%89%3FD%C5%B7%1E%09D%FD%90%05%9C%01%CB~%B6%C82%C7U%FF%7D%24%82%24%04%DAR%8A%11%09%82%C4%04%2A%0DF%D2A%84%1E1%A0%07-%04%BEb%06p%18rd%82%25%0D%82%82C%88%1C%05%A0%05%2B%04%D6%82%C8%04%28n%04%81%1F%F0%C5%B7%8A%161n%24C%27%0Db%97cF%04%08H%A0%2Cr%20%F8%A3E%19%20%D2%A0%29G%1C%89%11%10%A3T%C8%81%93%16%05%18K%87g%80H%E5D%0B6%F8%89%0D%5BV4a%8B%82%E0%16%A6D%0A%CC1%0B%817%9E9%D1%09%24%12h%C9%09nF%A4%22%8B%FB%19hd%9D%0DE%40%23%81%A5%14%C1%27D3%F0H%20%23%16%0C%EAP%90%03%EE%F7J%96%8A6%B4%01%23%04%92%B2g%A4%0A%05%11%25yC%60%FA%10%02r%C8%82%5C%21%9EFD%02%25%A8%98Y%2AD%89%AE%EA%EA%ABN%B0%C6%2A%EB%AC%B4%D6j%EB%AD%B8%E6%AA%EB%AE%BC%F6%EA%EB%AF%C0%06%2B%EC%B0%C4%16k%EC%B1%C8%26%AB%EC%B2%CC6%EB%EC%B3%D0F%2B%ED%B4%D4Vk%ED%B5%D8f%AB%ED%B6%DCv%EB%ED%B7%E0%86%2B%EE%B8%E4%96k%EE%B9%E8%A6%AB%EE%BA%D9%06%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9D%CA2%00%D5%95%01%AC%5E%3D%99%B5%EB%D6%92%5D%05%0C%200%E0k%C8%B0b%09%18%40%40%C0%EC%C7%ACi%0B%20%60%20AB%01%B7%1D%03%0C%18P%E0%80%82%07%17B%B0%00%21%00%2F%C7%01%06%124%98%C0%01%C5%0D%25RB%18%DE%28%40%01%04%0C%22b%08%A9r%06%0F%9A%0A%933%06X%D0A%85%0E%26_%E2%04r4%E9J%D9%D0%17%0B%98%28rE%8D%1ED%94%3C%95%AAD%036F%0F%5B%E8%08z%A4I%14%AAV%AF%08M%F0m%F1%00%94D%96%3E%99Z%E5%2A%D6%ACTZ%98%5B%1CQhT%AAV%B0d%FE%CD%A2U%EBR%0A%ED%14%07t%29%F5J%3C%F9Z%B6d%C99%80~%E2%85A%B2%DE%C3%B7e%CB%D4%91%FA%13%F9%20J-%FB%F1%C7_%24%1C%00%18Q%01f%C4b%E0%83%AF%9C%F1%9A%82%0E%89%20%C9%83%0F~b%03%85%101%81%0A%86%FC%D5%22%88%03%1C%3A%A4%C0%1C%B3%80h%CB%2A%D9%95%D8%D0%09%96%A8h%8B%25%27%B8%C8P%00Z%B0%A2%A2%2Cs%D0g%A3B%11%F8Q%E0%83%A5%14%F1%E3B3t%22%23%23%16%1C%99%10%01g%C0%A2b%84%13%3AY%D0%06%8C%A8H%8A%8FV%1E%14%C4%28%18%0E%D1%A5B%08%C8%21%0B%7F%85%8C%C9%10%09%94%A0B%A2%9A%0C5%09%E7%9Ct%D6i%E7%9Dx%E6%A9%E7%9E%7C%F6%E9%E7%9F%80%06%2A%E8%A0%84%16j%E8%A1%88%26%AA%E8%A2%8C6%EA%E8%A3%90F%2A%E9%A4%94Vj%E9%A5%98f%AA%E9%A6%9Cv%EA%E9%A7%A0%86%2A%EA%A8%A4%96j%EA%A9%A8%A6%AA%EA%AA%AC%B6%EA%EA%AB%03%0E%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%ACY%AD%01%02%9C%B5%98%B6%AD%DA%B5%0F%DD%A6%15%40%17n%DC%B9%02%06%0C%20P%60%80%DD%86%01%F2%EA%E5%7B%00A%02%BF%7F%15%06%D8%5B%C0%00%02%05%0D%20Pp%20%20%B1%C2%01%07%120x0%01C%07%12%28%28XN%28%40%81%04%0B%1CD%A8%90%C1%E3%88%8F%07%A3%11%2A%E8p%02F%0E%22O%B2%90YC%84%40l%83%03%3E%00Yb%25%CC%9A%3A~%0C%FD%91%F1%DB%60%84%26i%E4%EC%21%C4H%12%26O%7B%264%27%28%80G%9FD%91%2C%84q%0AU%0A%15%A90%88%B7%03%90%00g%13%28R%A7T%B1r%F5%E9%80z%826%28%A5%9A%0F%2BV%90%FB%05%1D%C0%06%2B%B1%C82%08%80%07%8D%10I%29%0E%20%88%90%05%0EF%28%E1%84%14Vh%E1%85%18f%A8%E1%86%1Cv%E8%E1%87%20%86%28%E2%88%24%96h%E2%89%28%A6%A8%E2%8A%2C%B6%E8%E2%8B0%C6%28%E3%8C4%D6h%E3%8D8%E6%A8%E3%8E%3C%F6%E8%E3%8F%40%06%29%E4%90D%16i%E4%91H%26%A9%E4%92%40%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%CE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%DBk%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%CE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%DBk%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%CE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%DBk%40%00%3B";
|
|
16998
17082
|
|
|
16999
17083
|
// src/components/HbLoadingSpinner.tsx
|
|
17000
|
-
var
|
|
17084
|
+
var import_jsx_runtime148 = require("@emotion/react/jsx-runtime");
|
|
17001
17085
|
function HbLoadingSpinner({ noQuips, extraQuips = [], extraQuipsOnly, iconOnly }) {
|
|
17002
|
-
const ctx = (0,
|
|
17086
|
+
const ctx = (0, import_react103.useContext)(HbLoadingSpinnerContext);
|
|
17003
17087
|
const tid = useTestIds({}, "hbSpinner");
|
|
17004
|
-
const quip = (0,
|
|
17088
|
+
const quip = (0, import_react103.useMemo)(() => {
|
|
17005
17089
|
const allQuips = extraQuipsOnly && extraQuips.length !== 0 ? extraQuips : [...ctx.quips, ...extraQuips];
|
|
17006
17090
|
const forceQuips = extraQuips.length !== 0 || noQuips === false;
|
|
17007
17091
|
if (ctx.noQuips && !forceQuips || noQuips || allQuips.length === 0) return "Loading...";
|
|
17008
17092
|
return allQuips[Math.floor(Math.random() * allQuips.length)];
|
|
17009
17093
|
}, [ctx.noQuips, ctx.quips, extraQuips, extraQuipsOnly, noQuips]);
|
|
17010
|
-
return /* @__PURE__ */ (0,
|
|
17011
|
-
/* @__PURE__ */ (0,
|
|
17094
|
+
return /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { css: Css.df.fdc.jcc.aic.$, ...tid, children: [
|
|
17095
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(
|
|
17012
17096
|
"img",
|
|
17013
17097
|
{
|
|
17014
17098
|
src: HbLoadingSpinner_base64_default,
|
|
@@ -17021,7 +17105,7 @@ function HbLoadingSpinner({ noQuips, extraQuips = [], extraQuipsOnly, iconOnly }
|
|
|
17021
17105
|
...tid.gif
|
|
17022
17106
|
}
|
|
17023
17107
|
),
|
|
17024
|
-
!iconOnly && /* @__PURE__ */ (0,
|
|
17108
|
+
!iconOnly && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(
|
|
17025
17109
|
"div",
|
|
17026
17110
|
{
|
|
17027
17111
|
"data-chromatic": "ignore",
|
|
@@ -17041,17 +17125,17 @@ var HB_QUIPS_MISSION = [
|
|
|
17041
17125
|
"In Service of Our Customers"
|
|
17042
17126
|
].map(dotDotDot);
|
|
17043
17127
|
var HB_QUIPS_FLAVOR = ["HOM is HOW", "Scaling Massively", "#LoveIt"].map(dotDotDot);
|
|
17044
|
-
var HbLoadingSpinnerContext =
|
|
17128
|
+
var HbLoadingSpinnerContext = import_react103.default.createContext({
|
|
17045
17129
|
quips: ["Loading..."],
|
|
17046
17130
|
noQuips: false
|
|
17047
17131
|
});
|
|
17048
17132
|
function HbSpinnerProvider({ quips = [], children }) {
|
|
17049
|
-
const state = (0,
|
|
17050
|
-
return /* @__PURE__ */ (0,
|
|
17133
|
+
const state = (0, import_react103.useMemo)(() => ({ quips, noQuips: quips.length === 0 }), [quips]);
|
|
17134
|
+
return /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(HbLoadingSpinnerContext.Provider, { value: state, children });
|
|
17051
17135
|
}
|
|
17052
17136
|
|
|
17053
17137
|
// src/components/LoadingSkeleton.tsx
|
|
17054
|
-
var
|
|
17138
|
+
var import_jsx_runtime149 = require("@emotion/react/jsx-runtime");
|
|
17055
17139
|
function LoadingSkeleton({
|
|
17056
17140
|
rows = 1,
|
|
17057
17141
|
columns = 1,
|
|
@@ -17064,7 +17148,7 @@ function LoadingSkeleton({
|
|
|
17064
17148
|
const rowHeight = sizeToPixels2[size];
|
|
17065
17149
|
const rowCells = (rowNumber) => {
|
|
17066
17150
|
const flexGrowForCell = randomizeWidths ? getRandomizedFlexBasisByRowIndex(rowNumber) : 1;
|
|
17067
|
-
return cellArray.map((_, i) => /* @__PURE__ */ (0,
|
|
17151
|
+
return cellArray.map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
|
|
17068
17152
|
"div",
|
|
17069
17153
|
{
|
|
17070
17154
|
css: Css.br4.add("animation", "pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite").add("flexGrow", flexGrowForCell).bgGray300.if(contrast).bgGray700.$
|
|
@@ -17072,7 +17156,7 @@ function LoadingSkeleton({
|
|
|
17072
17156
|
`row-${rowNumber}-cell-${i}`
|
|
17073
17157
|
));
|
|
17074
17158
|
};
|
|
17075
|
-
return /* @__PURE__ */ (0,
|
|
17159
|
+
return /* @__PURE__ */ (0, import_jsx_runtime149.jsx)("div", { "aria-label": "Loading", children: rowArray.map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime149.jsx)("div", { css: Css.df.gap1.mb1.hPx(rowHeight).$, children: rowCells(i) }, `row-${i}`)) });
|
|
17076
17160
|
}
|
|
17077
17161
|
function getRandomizedFlexBasisByRowIndex(rowIndex) {
|
|
17078
17162
|
const randomizedFlexBasisValues = [0.65, 0.8, 0.75, 0.9, 0.8, 0.85, 0.8, 0.95];
|
|
@@ -17086,33 +17170,33 @@ var sizeToPixels2 = {
|
|
|
17086
17170
|
};
|
|
17087
17171
|
|
|
17088
17172
|
// src/components/MaxLines.tsx
|
|
17089
|
-
var
|
|
17090
|
-
var
|
|
17091
|
-
var
|
|
17173
|
+
var import_utils113 = require("@react-aria/utils");
|
|
17174
|
+
var import_react104 = require("react");
|
|
17175
|
+
var import_jsx_runtime150 = require("@emotion/react/jsx-runtime");
|
|
17092
17176
|
function MaxLines({ maxLines, children }) {
|
|
17093
|
-
const elRef = (0,
|
|
17094
|
-
const [hasMore, setHasMore] = (0,
|
|
17095
|
-
const [expanded, setExpanded] = (0,
|
|
17096
|
-
(0,
|
|
17177
|
+
const elRef = (0, import_react104.useRef)(null);
|
|
17178
|
+
const [hasMore, setHasMore] = (0, import_react104.useState)(false);
|
|
17179
|
+
const [expanded, setExpanded] = (0, import_react104.useState)(false);
|
|
17180
|
+
(0, import_utils113.useLayoutEffect)(() => {
|
|
17097
17181
|
if (!elRef.current) return;
|
|
17098
17182
|
setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
17099
17183
|
}, []);
|
|
17100
|
-
(0,
|
|
17184
|
+
(0, import_react104.useEffect)(() => {
|
|
17101
17185
|
setExpanded(false);
|
|
17102
17186
|
}, [children]);
|
|
17103
|
-
const onResize = (0,
|
|
17187
|
+
const onResize = (0, import_react104.useCallback)(() => {
|
|
17104
17188
|
if (!elRef.current) return;
|
|
17105
17189
|
!expanded && setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
17106
17190
|
}, [expanded]);
|
|
17107
|
-
(0,
|
|
17108
|
-
return /* @__PURE__ */ (0,
|
|
17109
|
-
/* @__PURE__ */ (0,
|
|
17110
|
-
hasMore && /* @__PURE__ */ (0,
|
|
17191
|
+
(0, import_utils113.useResizeObserver)({ ref: elRef, onResize });
|
|
17192
|
+
return /* @__PURE__ */ (0, import_jsx_runtime150.jsxs)("div", { children: [
|
|
17193
|
+
/* @__PURE__ */ (0, import_jsx_runtime150.jsx)("div", { ref: elRef, css: Css.if(!expanded).lineClamp(maxLines).$, children }),
|
|
17194
|
+
hasMore && /* @__PURE__ */ (0, import_jsx_runtime150.jsx)("button", { css: Css.db.smMd.$, onClick: () => setExpanded((prev) => !prev), children: expanded ? "Show Less" : "Show More" })
|
|
17111
17195
|
] });
|
|
17112
17196
|
}
|
|
17113
17197
|
|
|
17114
17198
|
// src/components/Pagination.tsx
|
|
17115
|
-
var
|
|
17199
|
+
var import_jsx_runtime151 = require("@emotion/react/jsx-runtime");
|
|
17116
17200
|
var defaultPage = { offset: 0, limit: 100 };
|
|
17117
17201
|
function Pagination(props) {
|
|
17118
17202
|
const { totalCount, pageSizes = [100, 500, 1e3] } = props;
|
|
@@ -17132,9 +17216,9 @@ function Pagination(props) {
|
|
|
17132
17216
|
}
|
|
17133
17217
|
}
|
|
17134
17218
|
const tid = useTestIds(props, "pagination");
|
|
17135
|
-
return /* @__PURE__ */ (0,
|
|
17136
|
-
/* @__PURE__ */ (0,
|
|
17137
|
-
/* @__PURE__ */ (0,
|
|
17219
|
+
return /* @__PURE__ */ (0, import_jsx_runtime151.jsxs)("div", { css: Css.df.bcGray200.bt.xs.gray500.px2.pt2.$, ...tid, children: [
|
|
17220
|
+
/* @__PURE__ */ (0, import_jsx_runtime151.jsx)("div", { css: Css.df.mya.mr2.$, ...tid.pageSizeLabel, children: "Page size:" }),
|
|
17221
|
+
/* @__PURE__ */ (0, import_jsx_runtime151.jsx)("div", { css: Css.wPx(78).$, children: /* @__PURE__ */ (0, import_jsx_runtime151.jsx)(
|
|
17138
17222
|
SelectField,
|
|
17139
17223
|
{
|
|
17140
17224
|
compact: true,
|
|
@@ -17146,15 +17230,15 @@ function Pagination(props) {
|
|
|
17146
17230
|
...tid.pageSize
|
|
17147
17231
|
}
|
|
17148
17232
|
) }),
|
|
17149
|
-
/* @__PURE__ */ (0,
|
|
17150
|
-
/* @__PURE__ */ (0,
|
|
17233
|
+
/* @__PURE__ */ (0, import_jsx_runtime151.jsxs)("div", { css: Css.mla.mya.df.$, children: [
|
|
17234
|
+
/* @__PURE__ */ (0, import_jsx_runtime151.jsxs)("div", { css: Css.df.mya.mr2.$, ...tid.pageInfoLabel, children: [
|
|
17151
17235
|
first,
|
|
17152
17236
|
" ",
|
|
17153
17237
|
showLast ? `- ${last}` : "",
|
|
17154
17238
|
" of ",
|
|
17155
17239
|
totalCount
|
|
17156
17240
|
] }),
|
|
17157
|
-
/* @__PURE__ */ (0,
|
|
17241
|
+
/* @__PURE__ */ (0, import_jsx_runtime151.jsx)(
|
|
17158
17242
|
IconButton,
|
|
17159
17243
|
{
|
|
17160
17244
|
icon: "chevronLeft",
|
|
@@ -17164,7 +17248,7 @@ function Pagination(props) {
|
|
|
17164
17248
|
...tid.previousIcon
|
|
17165
17249
|
}
|
|
17166
17250
|
),
|
|
17167
|
-
/* @__PURE__ */ (0,
|
|
17251
|
+
/* @__PURE__ */ (0, import_jsx_runtime151.jsx)(
|
|
17168
17252
|
IconButton,
|
|
17169
17253
|
{
|
|
17170
17254
|
icon: "chevronRight",
|
|
@@ -17192,9 +17276,9 @@ function toPageNumberSize(page) {
|
|
|
17192
17276
|
}
|
|
17193
17277
|
|
|
17194
17278
|
// src/components/ScrollShadows.tsx
|
|
17195
|
-
var
|
|
17196
|
-
var
|
|
17197
|
-
var
|
|
17279
|
+
var import_utils115 = require("@react-aria/utils");
|
|
17280
|
+
var import_react105 = require("react");
|
|
17281
|
+
var import_jsx_runtime152 = require("@emotion/react/jsx-runtime");
|
|
17198
17282
|
function ScrollShadows(props) {
|
|
17199
17283
|
const { children, xss, horizontal = false, bgColor = "rgba(255,255,255,1)" /* White */ } = props;
|
|
17200
17284
|
const { height = "auto", width = "auto" } = xss ?? {};
|
|
@@ -17202,10 +17286,10 @@ function ScrollShadows(props) {
|
|
|
17202
17286
|
if (!bgColor.includes("rgba")) {
|
|
17203
17287
|
throw new Error("ScrollShadows: bgColor prop must be in the format 'rgba(255, 255, 255, 1)'");
|
|
17204
17288
|
}
|
|
17205
|
-
const [showStartShadow, setShowStartShadow] = (0,
|
|
17206
|
-
const [showEndShadow, setShowEndShadow] = (0,
|
|
17207
|
-
const scrollRef = (0,
|
|
17208
|
-
const [startShadowStyles, endShadowStyles] = (0,
|
|
17289
|
+
const [showStartShadow, setShowStartShadow] = (0, import_react105.useState)(false);
|
|
17290
|
+
const [showEndShadow, setShowEndShadow] = (0, import_react105.useState)(false);
|
|
17291
|
+
const scrollRef = (0, import_react105.useRef)(null);
|
|
17292
|
+
const [startShadowStyles, endShadowStyles] = (0, import_react105.useMemo)(() => {
|
|
17209
17293
|
const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
|
|
17210
17294
|
const commonStyles = Css.absolute.z3.add({ pointerEvents: "none" }).$;
|
|
17211
17295
|
const startShadowStyles2 = !horizontal ? Css.top0.left0.right0.hPx(40).$ : Css.left0.top0.bottom0.wPx(25).$;
|
|
@@ -17217,7 +17301,7 @@ function ScrollShadows(props) {
|
|
|
17217
17301
|
{ ...commonStyles, ...endShadowStyles2, ...Css.add("background", endGradient).$ }
|
|
17218
17302
|
];
|
|
17219
17303
|
}, [horizontal, bgColor]);
|
|
17220
|
-
const updateScrollProps = (0,
|
|
17304
|
+
const updateScrollProps = (0, import_react105.useCallback)(
|
|
17221
17305
|
(el) => {
|
|
17222
17306
|
const { scrollTop, scrollHeight, clientHeight, scrollWidth, scrollLeft, clientWidth } = el;
|
|
17223
17307
|
const start = horizontal ? scrollLeft : scrollTop;
|
|
@@ -17230,17 +17314,17 @@ function ScrollShadows(props) {
|
|
|
17230
17314
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17231
17315
|
[]
|
|
17232
17316
|
);
|
|
17233
|
-
const onResize = (0,
|
|
17234
|
-
(0,
|
|
17235
|
-
return /* @__PURE__ */ (0,
|
|
17317
|
+
const onResize = (0, import_react105.useCallback)(() => scrollRef.current && updateScrollProps(scrollRef.current), []);
|
|
17318
|
+
(0, import_utils115.useResizeObserver)({ ref: scrollRef, onResize });
|
|
17319
|
+
return /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)(
|
|
17236
17320
|
"div",
|
|
17237
17321
|
{
|
|
17238
17322
|
css: Css.relative.oh.h(height).w(width).df.fd(!horizontal ? "column" : "row").$,
|
|
17239
17323
|
...tid,
|
|
17240
17324
|
children: [
|
|
17241
|
-
showStartShadow && /* @__PURE__ */ (0,
|
|
17242
|
-
showEndShadow && /* @__PURE__ */ (0,
|
|
17243
|
-
/* @__PURE__ */ (0,
|
|
17325
|
+
showStartShadow && /* @__PURE__ */ (0, import_jsx_runtime152.jsx)("div", { css: startShadowStyles }),
|
|
17326
|
+
showEndShadow && /* @__PURE__ */ (0, import_jsx_runtime152.jsx)("div", { css: endShadowStyles }),
|
|
17327
|
+
/* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
|
|
17244
17328
|
"div",
|
|
17245
17329
|
{
|
|
17246
17330
|
css: {
|
|
@@ -17258,10 +17342,10 @@ function ScrollShadows(props) {
|
|
|
17258
17342
|
}
|
|
17259
17343
|
|
|
17260
17344
|
// src/components/Snackbar/useSnackbar.tsx
|
|
17261
|
-
var
|
|
17345
|
+
var import_react106 = require("react");
|
|
17262
17346
|
function useSnackbar() {
|
|
17263
17347
|
const { setNotices, setOffset } = useSnackbarContext();
|
|
17264
|
-
const onClose = (0,
|
|
17348
|
+
const onClose = (0, import_react106.useCallback)(
|
|
17265
17349
|
(noticeId) => {
|
|
17266
17350
|
setNotices((prev) => {
|
|
17267
17351
|
let returnValue = prev;
|
|
@@ -17278,7 +17362,7 @@ function useSnackbar() {
|
|
|
17278
17362
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17279
17363
|
[]
|
|
17280
17364
|
);
|
|
17281
|
-
const triggerNotice = (0,
|
|
17365
|
+
const triggerNotice = (0, import_react106.useCallback)(
|
|
17282
17366
|
(props) => {
|
|
17283
17367
|
const noticeId = props.id ?? `beamSnackbar:${snackbarId++}`;
|
|
17284
17368
|
let maybeTimeout;
|
|
@@ -17307,8 +17391,8 @@ function useSnackbar() {
|
|
|
17307
17391
|
},
|
|
17308
17392
|
[onClose, setNotices]
|
|
17309
17393
|
);
|
|
17310
|
-
const closeNotice = (0,
|
|
17311
|
-
const useSnackbarOffset = ({ bottom }) => (0,
|
|
17394
|
+
const closeNotice = (0, import_react106.useCallback)((id) => onClose(id), [onClose]);
|
|
17395
|
+
const useSnackbarOffset = ({ bottom }) => (0, import_react106.useEffect)(() => {
|
|
17312
17396
|
setOffset({ bottom });
|
|
17313
17397
|
return () => setOffset({});
|
|
17314
17398
|
}, [bottom]);
|
|
@@ -17317,9 +17401,9 @@ function useSnackbar() {
|
|
|
17317
17401
|
var snackbarId = 1;
|
|
17318
17402
|
|
|
17319
17403
|
// src/components/Stepper.tsx
|
|
17320
|
-
var
|
|
17404
|
+
var import_react107 = require("react");
|
|
17321
17405
|
var import_react_aria49 = require("react-aria");
|
|
17322
|
-
var
|
|
17406
|
+
var import_jsx_runtime153 = require("@emotion/react/jsx-runtime");
|
|
17323
17407
|
function Stepper(props) {
|
|
17324
17408
|
const { steps, currentStep, onChange } = props;
|
|
17325
17409
|
if (steps.length === 0) {
|
|
@@ -17330,25 +17414,25 @@ function Stepper(props) {
|
|
|
17330
17414
|
const maxStepWidth = 200;
|
|
17331
17415
|
const minStepWidth = 100;
|
|
17332
17416
|
const gap = 8;
|
|
17333
|
-
return /* @__PURE__ */ (0,
|
|
17334
|
-
/* @__PURE__ */ (0,
|
|
17417
|
+
return /* @__PURE__ */ (0, import_jsx_runtime153.jsxs)("nav", { "aria-label": "steps", css: Css.df.fdc.w100.$, ...tid, children: [
|
|
17418
|
+
/* @__PURE__ */ (0, import_jsx_runtime153.jsx)("ol", { css: Css.listReset.df.gapPx(gap).$, children: steps.map((step) => {
|
|
17335
17419
|
const isCurrent = currentStep === step.value;
|
|
17336
|
-
return /* @__PURE__ */ (0,
|
|
17420
|
+
return /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
|
|
17337
17421
|
"li",
|
|
17338
17422
|
{
|
|
17339
17423
|
css: Css.df.fg1.fdc.maxwPx(maxStepWidth).mwPx(minStepWidth).$,
|
|
17340
17424
|
"aria-current": isCurrent,
|
|
17341
17425
|
...tid.step,
|
|
17342
|
-
children: /* @__PURE__ */ (0,
|
|
17426
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton })
|
|
17343
17427
|
},
|
|
17344
17428
|
step.label
|
|
17345
17429
|
);
|
|
17346
17430
|
}) }),
|
|
17347
|
-
/* @__PURE__ */ (0,
|
|
17431
|
+
/* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
|
|
17348
17432
|
"div",
|
|
17349
17433
|
{
|
|
17350
17434
|
css: Css.mt1.bgGray300.hPx(4).maxwPx(steps.length * maxStepWidth + (steps.length - 1) * gap).mwPx(steps.length * minStepWidth + (steps.length - 1) * gap).w100.$,
|
|
17351
|
-
children: /* @__PURE__ */ (0,
|
|
17435
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
|
|
17352
17436
|
"div",
|
|
17353
17437
|
{
|
|
17354
17438
|
css: Css.bgBlue600.add("transition", "width 200ms").h100.w(`${(lastCompletedStep + 1) / steps.length * 100}%`).$
|
|
@@ -17361,13 +17445,13 @@ function Stepper(props) {
|
|
|
17361
17445
|
function StepButton(props) {
|
|
17362
17446
|
const { label, disabled, state, isCurrent, onClick } = props;
|
|
17363
17447
|
const ariaProps = { onPress: onClick, isDisabled: disabled };
|
|
17364
|
-
const ref = (0,
|
|
17448
|
+
const ref = (0, import_react107.useRef)(null);
|
|
17365
17449
|
const { buttonProps, isPressed } = (0, import_react_aria49.useButton)(ariaProps, ref);
|
|
17366
17450
|
const { isFocusVisible, focusProps } = (0, import_react_aria49.useFocusRing)();
|
|
17367
17451
|
const { hoverProps, isHovered } = (0, import_react_aria49.useHover)(ariaProps);
|
|
17368
17452
|
const focusRingStyles2 = state === "error" ? Css.bshDanger.$ : Css.bshFocus.$;
|
|
17369
17453
|
const tid = useTestIds(props, "stepButton");
|
|
17370
|
-
return /* @__PURE__ */ (0,
|
|
17454
|
+
return /* @__PURE__ */ (0, import_jsx_runtime153.jsxs)(
|
|
17371
17455
|
"button",
|
|
17372
17456
|
{
|
|
17373
17457
|
ref,
|
|
@@ -17385,7 +17469,7 @@ function StepButton(props) {
|
|
|
17385
17469
|
},
|
|
17386
17470
|
...tid[defaultTestId(label)],
|
|
17387
17471
|
children: [
|
|
17388
|
-
/* @__PURE__ */ (0,
|
|
17472
|
+
/* @__PURE__ */ (0, import_jsx_runtime153.jsx)("span", { css: Css.fs0.mrPx(4).$, children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(StepIcon, { state, isHovered, isPressed, isCurrent }) }),
|
|
17389
17473
|
label
|
|
17390
17474
|
]
|
|
17391
17475
|
}
|
|
@@ -17393,12 +17477,12 @@ function StepButton(props) {
|
|
|
17393
17477
|
}
|
|
17394
17478
|
function StepIcon({ state, isHovered = false, isPressed = false, isCurrent = false }) {
|
|
17395
17479
|
if (state === "error") {
|
|
17396
|
-
return /* @__PURE__ */ (0,
|
|
17480
|
+
return /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(Icon, { icon: "errorCircle" });
|
|
17397
17481
|
}
|
|
17398
17482
|
if (state === "complete") {
|
|
17399
|
-
return /* @__PURE__ */ (0,
|
|
17483
|
+
return /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(Icon, { icon: "check" });
|
|
17400
17484
|
}
|
|
17401
|
-
return /* @__PURE__ */ (0,
|
|
17485
|
+
return /* @__PURE__ */ (0, import_jsx_runtime153.jsx)("div", { css: Css.wPx(24).hPx(24).df.aic.jcc.$, children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
|
|
17402
17486
|
"div",
|
|
17403
17487
|
{
|
|
17404
17488
|
css: Css.wPx(10).hPx(10).ba.bw2.br100.add("color", "currentColor").if(isHovered || isPressed || isCurrent).add("backgroundColor", "currentColor").$
|
|
@@ -17408,7 +17492,7 @@ function StepIcon({ state, isHovered = false, isPressed = false, isCurrent = fal
|
|
|
17408
17492
|
|
|
17409
17493
|
// src/components/SuperDrawer/components/SuperDrawerHeader.tsx
|
|
17410
17494
|
var import_react_dom5 = require("react-dom");
|
|
17411
|
-
var
|
|
17495
|
+
var import_jsx_runtime154 = require("@emotion/react/jsx-runtime");
|
|
17412
17496
|
function SuperDrawerHeader(props) {
|
|
17413
17497
|
const { hideControls } = props;
|
|
17414
17498
|
const { sdHeaderDiv, drawerContentStack: contentStack } = useBeamContext();
|
|
@@ -17418,15 +17502,15 @@ function SuperDrawerHeader(props) {
|
|
|
17418
17502
|
const isDetail = currentContent !== firstContent;
|
|
17419
17503
|
const tid = useTestIds({}, "superDrawerHeader");
|
|
17420
17504
|
return (0, import_react_dom5.createPortal)(
|
|
17421
|
-
/* @__PURE__ */ (0,
|
|
17422
|
-
isStructuredProps(props) ? /* @__PURE__ */ (0,
|
|
17423
|
-
/* @__PURE__ */ (0,
|
|
17424
|
-
typeof props.title === "string" ? /* @__PURE__ */ (0,
|
|
17505
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsxs)("div", { css: Css.df.aic.jcsb.gap3.$, ...tid, children: [
|
|
17506
|
+
isStructuredProps(props) ? /* @__PURE__ */ (0, import_jsx_runtime154.jsxs)("div", { css: Css.df.jcsb.aic.gap2.fg1.$, children: [
|
|
17507
|
+
/* @__PURE__ */ (0, import_jsx_runtime154.jsxs)("div", { css: Css.fg1.df.aic.gap2.$, children: [
|
|
17508
|
+
typeof props.title === "string" ? /* @__PURE__ */ (0, import_jsx_runtime154.jsx)("h1", { children: props.title }) : props.title,
|
|
17425
17509
|
props.left
|
|
17426
17510
|
] }),
|
|
17427
|
-
props.right && /* @__PURE__ */ (0,
|
|
17428
|
-
] }) : /* @__PURE__ */ (0,
|
|
17429
|
-
!hideControls && /* @__PURE__ */ (0,
|
|
17511
|
+
props.right && /* @__PURE__ */ (0, import_jsx_runtime154.jsx)("div", { css: Css.fs0.$, children: props.right })
|
|
17512
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime154.jsx)("div", { css: Css.fg1.$, children: props.children }),
|
|
17513
|
+
!hideControls && /* @__PURE__ */ (0, import_jsx_runtime154.jsx)("div", { css: Css.fs0.if(isDetail).vh.$, children: /* @__PURE__ */ (0, import_jsx_runtime154.jsx)(
|
|
17430
17514
|
ButtonGroup,
|
|
17431
17515
|
{
|
|
17432
17516
|
buttons: [
|
|
@@ -17445,18 +17529,18 @@ function isStructuredProps(props) {
|
|
|
17445
17529
|
}
|
|
17446
17530
|
|
|
17447
17531
|
// src/components/SuperDrawer/ConfirmCloseModal.tsx
|
|
17448
|
-
var
|
|
17532
|
+
var import_jsx_runtime155 = require("@emotion/react/jsx-runtime");
|
|
17449
17533
|
function ConfirmCloseModal(props) {
|
|
17450
17534
|
const { onClose, discardText = "Discard Changes", continueText = "Continue Editing" } = props;
|
|
17451
17535
|
const { modalState } = useBeamContext();
|
|
17452
17536
|
function closeModal() {
|
|
17453
17537
|
modalState.current = void 0;
|
|
17454
17538
|
}
|
|
17455
|
-
return /* @__PURE__ */ (0,
|
|
17456
|
-
/* @__PURE__ */ (0,
|
|
17457
|
-
/* @__PURE__ */ (0,
|
|
17458
|
-
/* @__PURE__ */ (0,
|
|
17459
|
-
/* @__PURE__ */ (0,
|
|
17539
|
+
return /* @__PURE__ */ (0, import_jsx_runtime155.jsxs)(import_jsx_runtime155.Fragment, { children: [
|
|
17540
|
+
/* @__PURE__ */ (0, import_jsx_runtime155.jsx)(ModalHeader, { children: "Are you sure you want to cancel?" }),
|
|
17541
|
+
/* @__PURE__ */ (0, import_jsx_runtime155.jsx)(ModalBody, { children: /* @__PURE__ */ (0, import_jsx_runtime155.jsx)("p", { children: "Any changes you've made so far will be lost." }) }),
|
|
17542
|
+
/* @__PURE__ */ (0, import_jsx_runtime155.jsxs)(ModalFooter, { children: [
|
|
17543
|
+
/* @__PURE__ */ (0, import_jsx_runtime155.jsx)(
|
|
17460
17544
|
Button,
|
|
17461
17545
|
{
|
|
17462
17546
|
variant: "tertiary",
|
|
@@ -17467,17 +17551,17 @@ function ConfirmCloseModal(props) {
|
|
|
17467
17551
|
}
|
|
17468
17552
|
}
|
|
17469
17553
|
),
|
|
17470
|
-
/* @__PURE__ */ (0,
|
|
17554
|
+
/* @__PURE__ */ (0, import_jsx_runtime155.jsx)(Button, { label: continueText, onClick: closeModal })
|
|
17471
17555
|
] })
|
|
17472
17556
|
] });
|
|
17473
17557
|
}
|
|
17474
17558
|
|
|
17475
17559
|
// src/components/SuperDrawer/SuperDrawerContent.tsx
|
|
17476
|
-
var
|
|
17560
|
+
var import_framer_motion4 = require("framer-motion");
|
|
17477
17561
|
|
|
17478
17562
|
// src/components/SuperDrawer/useSuperDrawer.tsx
|
|
17479
|
-
var
|
|
17480
|
-
var
|
|
17563
|
+
var import_react108 = require("react");
|
|
17564
|
+
var import_jsx_runtime156 = require("@emotion/react/jsx-runtime");
|
|
17481
17565
|
function useSuperDrawer() {
|
|
17482
17566
|
const {
|
|
17483
17567
|
drawerContentStack: contentStack,
|
|
@@ -17489,7 +17573,7 @@ function useSuperDrawer() {
|
|
|
17489
17573
|
function canCloseDrawerDetails(i, doChange) {
|
|
17490
17574
|
for (const canCloseDrawerDetail of canCloseDetailsChecks.current[i] ?? []) {
|
|
17491
17575
|
if (!canClose(canCloseDrawerDetail)) {
|
|
17492
|
-
openModal({ content: /* @__PURE__ */ (0,
|
|
17576
|
+
openModal({ content: /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawerDetail }) });
|
|
17493
17577
|
return false;
|
|
17494
17578
|
}
|
|
17495
17579
|
}
|
|
@@ -17509,14 +17593,14 @@ function useSuperDrawer() {
|
|
|
17509
17593
|
for (const canCloseDrawer of canCloseChecks.current) {
|
|
17510
17594
|
if (!canClose(canCloseDrawer)) {
|
|
17511
17595
|
openModal({
|
|
17512
|
-
content: /* @__PURE__ */ (0,
|
|
17596
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawer })
|
|
17513
17597
|
});
|
|
17514
17598
|
return;
|
|
17515
17599
|
}
|
|
17516
17600
|
}
|
|
17517
17601
|
doChange();
|
|
17518
17602
|
}
|
|
17519
|
-
const closeActions = (0,
|
|
17603
|
+
const closeActions = (0, import_react108.useMemo)(
|
|
17520
17604
|
() => {
|
|
17521
17605
|
return {
|
|
17522
17606
|
/** Attempts to close the drawer. If any checks fail, a confirmation modal will appear */
|
|
@@ -17551,7 +17635,7 @@ function useSuperDrawer() {
|
|
|
17551
17635
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17552
17636
|
[canCloseChecks, canCloseDetailsChecks, contentStack, modalState, openModal]
|
|
17553
17637
|
);
|
|
17554
|
-
const actions = (0,
|
|
17638
|
+
const actions = (0, import_react108.useMemo)(
|
|
17555
17639
|
() => {
|
|
17556
17640
|
return {
|
|
17557
17641
|
// TODO: Maybe we should rename to openDrawer as a breaking change (to match openDrawerDetail)
|
|
@@ -17604,7 +17688,7 @@ function canClose(canCloseCheck) {
|
|
|
17604
17688
|
}
|
|
17605
17689
|
|
|
17606
17690
|
// src/components/SuperDrawer/SuperDrawerContent.tsx
|
|
17607
|
-
var
|
|
17691
|
+
var import_jsx_runtime157 = require("@emotion/react/jsx-runtime");
|
|
17608
17692
|
var SuperDrawerContent = ({ children, actions }) => {
|
|
17609
17693
|
const { closeDrawerDetail } = useSuperDrawer();
|
|
17610
17694
|
const { drawerContentStack: contentStack } = useBeamContext();
|
|
@@ -17613,18 +17697,18 @@ var SuperDrawerContent = ({ children, actions }) => {
|
|
|
17613
17697
|
const { width = 1040 /* Normal */ } = firstContent ?? {};
|
|
17614
17698
|
function wrapWithMotionAndMaybeBack(children2) {
|
|
17615
17699
|
if (kind === "open") {
|
|
17616
|
-
return /* @__PURE__ */ (0,
|
|
17700
|
+
return /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(import_framer_motion4.motion.div, { css: Css.p3.fg1.oa.$, children: children2 }, "content");
|
|
17617
17701
|
} else if (kind === "detail") {
|
|
17618
|
-
return /* @__PURE__ */ (0,
|
|
17619
|
-
|
|
17702
|
+
return /* @__PURE__ */ (0, import_jsx_runtime157.jsxs)(
|
|
17703
|
+
import_framer_motion4.motion.div,
|
|
17620
17704
|
{
|
|
17621
17705
|
css: Css.px3.pt2.pb3.fg1.$,
|
|
17622
17706
|
animate: { overflow: "auto" },
|
|
17623
17707
|
transition: { overflow: { delay: 0.3 } },
|
|
17624
17708
|
children: [
|
|
17625
|
-
/* @__PURE__ */ (0,
|
|
17626
|
-
/* @__PURE__ */ (0,
|
|
17627
|
-
|
|
17709
|
+
/* @__PURE__ */ (0, import_jsx_runtime157.jsx)(Button, { label: "Back", icon: "chevronLeft", variant: "tertiary", onClick: closeDrawerDetail }),
|
|
17710
|
+
/* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
|
|
17711
|
+
import_framer_motion4.motion.div,
|
|
17628
17712
|
{
|
|
17629
17713
|
initial: { x: width, opacity: 0 },
|
|
17630
17714
|
animate: { x: 0, opacity: 1 },
|
|
@@ -17639,27 +17723,27 @@ var SuperDrawerContent = ({ children, actions }) => {
|
|
|
17639
17723
|
"content"
|
|
17640
17724
|
);
|
|
17641
17725
|
} else {
|
|
17642
|
-
return /* @__PURE__ */ (0,
|
|
17726
|
+
return /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(import_framer_motion4.motion.div, { css: Css.p3.fg1.$, style: { overflow: "auto" } }, "content");
|
|
17643
17727
|
}
|
|
17644
17728
|
}
|
|
17645
|
-
return /* @__PURE__ */ (0,
|
|
17729
|
+
return /* @__PURE__ */ (0, import_jsx_runtime157.jsxs)(import_jsx_runtime157.Fragment, { children: [
|
|
17646
17730
|
wrapWithMotionAndMaybeBack(children),
|
|
17647
|
-
actions && /* @__PURE__ */ (0,
|
|
17731
|
+
actions && /* @__PURE__ */ (0, import_jsx_runtime157.jsx)("footer", { css: Css.bt.bcGray200.p3.df.aic.jcfe.$, children: /* @__PURE__ */ (0, import_jsx_runtime157.jsx)("div", { css: Css.df.gap1.$, children: actions.map((buttonProps, i) => /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(Button, { ...buttonProps }, i)) }) })
|
|
17648
17732
|
] });
|
|
17649
17733
|
};
|
|
17650
17734
|
|
|
17651
17735
|
// src/components/Tabs.tsx
|
|
17652
17736
|
var import_change_case7 = require("change-case");
|
|
17653
|
-
var
|
|
17737
|
+
var import_react109 = require("react");
|
|
17654
17738
|
var import_react_aria50 = require("react-aria");
|
|
17655
17739
|
var import_react_router2 = require("react-router");
|
|
17656
17740
|
var import_react_router_dom5 = require("react-router-dom");
|
|
17657
|
-
var
|
|
17741
|
+
var import_jsx_runtime158 = require("@emotion/react/jsx-runtime");
|
|
17658
17742
|
function TabsWithContent(props) {
|
|
17659
17743
|
const styles = hideTabs(props) ? {} : Css.pt3.$;
|
|
17660
|
-
return /* @__PURE__ */ (0,
|
|
17661
|
-
/* @__PURE__ */ (0,
|
|
17662
|
-
/* @__PURE__ */ (0,
|
|
17744
|
+
return /* @__PURE__ */ (0, import_jsx_runtime158.jsxs)(import_jsx_runtime158.Fragment, { children: [
|
|
17745
|
+
/* @__PURE__ */ (0, import_jsx_runtime158.jsx)(Tabs, { ...props }),
|
|
17746
|
+
/* @__PURE__ */ (0, import_jsx_runtime158.jsx)(TabContent, { ...props, contentXss: { ...styles, ...props.contentXss } })
|
|
17663
17747
|
] });
|
|
17664
17748
|
}
|
|
17665
17749
|
function TabContent(props) {
|
|
@@ -17674,7 +17758,7 @@ function TabContent(props) {
|
|
|
17674
17758
|
return (
|
|
17675
17759
|
// Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
|
|
17676
17760
|
// Omit the padding from `FullBleed` if the caller passes in the `paddingLeft/Right` styles.
|
|
17677
|
-
/* @__PURE__ */ (0,
|
|
17761
|
+
/* @__PURE__ */ (0, import_jsx_runtime158.jsx)(FullBleed, { omitPadding: "paddingLeft" in contentXss || "paddingRight" in contentXss, children: /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
|
|
17678
17762
|
"div",
|
|
17679
17763
|
{
|
|
17680
17764
|
"aria-labelledby": `${uniqueValue}-tab`,
|
|
@@ -17683,7 +17767,7 @@ function TabContent(props) {
|
|
|
17683
17767
|
tabIndex: 0,
|
|
17684
17768
|
...tid.panel,
|
|
17685
17769
|
css: contentXss,
|
|
17686
|
-
children: isRouteTab(selectedTab) ? /* @__PURE__ */ (0,
|
|
17770
|
+
children: isRouteTab(selectedTab) ? /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(import_react_router2.Route, { path: selectedTab.path, render: selectedTab.render }) : selectedTab.render()
|
|
17687
17771
|
}
|
|
17688
17772
|
) })
|
|
17689
17773
|
);
|
|
@@ -17696,9 +17780,9 @@ function Tabs(props) {
|
|
|
17696
17780
|
) : props.selected;
|
|
17697
17781
|
const { isFocusVisible, focusProps } = (0, import_react_aria50.useFocusRing)();
|
|
17698
17782
|
const tid = useTestIds(others, "tabs");
|
|
17699
|
-
const [active, setActive] = (0,
|
|
17700
|
-
const ref = (0,
|
|
17701
|
-
(0,
|
|
17783
|
+
const [active, setActive] = (0, import_react109.useState)(selected);
|
|
17784
|
+
const ref = (0, import_react109.useRef)(null);
|
|
17785
|
+
(0, import_react109.useEffect)(() => setActive(selected), [selected]);
|
|
17702
17786
|
function onKeyUp(e) {
|
|
17703
17787
|
if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
|
|
17704
17788
|
const nextTabValue = getNextTabValue(active, e.key, tabs);
|
|
@@ -17714,10 +17798,10 @@ function Tabs(props) {
|
|
|
17714
17798
|
setActive(selected);
|
|
17715
17799
|
}
|
|
17716
17800
|
}
|
|
17717
|
-
return /* @__PURE__ */ (0,
|
|
17718
|
-
!hideTabs(props) && /* @__PURE__ */ (0,
|
|
17801
|
+
return /* @__PURE__ */ (0, import_jsx_runtime158.jsxs)("div", { css: { ...Css.df.aic.oa.wsnw.gap1.$, ...includeBottomBorder ? { ...Css.bb.bcGray200.$ } : {} }, children: [
|
|
17802
|
+
!hideTabs(props) && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)("div", { ref, css: Css.dif.gap1.asfe.$, "aria-label": ariaLabel, role: "tablist", ...tid, children: tabs.map((tab) => {
|
|
17719
17803
|
const uniqueValue = uniqueTabValue(tab);
|
|
17720
|
-
return /* @__PURE__ */ (0,
|
|
17804
|
+
return /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
|
|
17721
17805
|
TabImpl,
|
|
17722
17806
|
{
|
|
17723
17807
|
active: active === uniqueValue,
|
|
@@ -17732,7 +17816,7 @@ function Tabs(props) {
|
|
|
17732
17816
|
uniqueValue
|
|
17733
17817
|
);
|
|
17734
17818
|
}) }),
|
|
17735
|
-
right && /* @__PURE__ */ (0,
|
|
17819
|
+
right && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)("div", { css: Css.mla.df.aic.gap1.pb1.$, children: right })
|
|
17736
17820
|
] });
|
|
17737
17821
|
}
|
|
17738
17822
|
function TabImpl(props) {
|
|
@@ -17740,7 +17824,7 @@ function TabImpl(props) {
|
|
|
17740
17824
|
const { disabled = false, name: label, icon, endAdornment } = tab;
|
|
17741
17825
|
const isDisabled = !!disabled;
|
|
17742
17826
|
const { hoverProps, isHovered } = (0, import_react_aria50.useHover)({ isDisabled });
|
|
17743
|
-
const { baseStyles: baseStyles4, activeStyles:
|
|
17827
|
+
const { baseStyles: baseStyles4, activeStyles: activeStyles4, focusRingStyles: focusRingStyles2, hoverStyles: hoverStyles4, disabledStyles: disabledStyles3, activeHoverStyles } = (0, import_react109.useMemo)(
|
|
17744
17828
|
() => getTabStyles(),
|
|
17745
17829
|
[]
|
|
17746
17830
|
);
|
|
@@ -17755,7 +17839,7 @@ function TabImpl(props) {
|
|
|
17755
17839
|
...others,
|
|
17756
17840
|
css: {
|
|
17757
17841
|
...baseStyles4,
|
|
17758
|
-
...active &&
|
|
17842
|
+
...active && activeStyles4,
|
|
17759
17843
|
...isDisabled && disabledStyles3,
|
|
17760
17844
|
...isHovered && hoverStyles4,
|
|
17761
17845
|
...isHovered && active && activeHoverStyles,
|
|
@@ -17767,15 +17851,15 @@ function TabImpl(props) {
|
|
|
17767
17851
|
onBlur,
|
|
17768
17852
|
...isRouteTab(tab) ? {} : { onClick: () => onClick(tab.value) }
|
|
17769
17853
|
});
|
|
17770
|
-
const tabLabel = /* @__PURE__ */ (0,
|
|
17854
|
+
const tabLabel = /* @__PURE__ */ (0, import_jsx_runtime158.jsxs)(import_jsx_runtime158.Fragment, { children: [
|
|
17771
17855
|
label,
|
|
17772
|
-
(icon || endAdornment) && /* @__PURE__ */ (0,
|
|
17856
|
+
(icon || endAdornment) && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)("span", { css: Css.ml1.$, children: icon ? /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(Icon, { icon }) : endAdornment })
|
|
17773
17857
|
] });
|
|
17774
17858
|
return isDisabled ? maybeTooltip({
|
|
17775
17859
|
title: resolveTooltip(disabled),
|
|
17776
17860
|
placement: "top",
|
|
17777
|
-
children: /* @__PURE__ */ (0,
|
|
17778
|
-
}) : isRouteTab(tab) ? /* @__PURE__ */ (0,
|
|
17861
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime158.jsx)("div", { ...tabProps, children: tabLabel })
|
|
17862
|
+
}) : isRouteTab(tab) ? /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(import_react_router_dom5.Link, { ...{ ...tabProps, ...interactiveProps }, className: "navLink", to: tab.href, children: tabLabel }) : /* @__PURE__ */ (0, import_jsx_runtime158.jsx)("button", { ...{ ...tabProps, ...interactiveProps }, children: tabLabel });
|
|
17779
17863
|
}
|
|
17780
17864
|
function getTabStyles() {
|
|
17781
17865
|
const borderBottomWidthPx = 4;
|
|
@@ -17812,16 +17896,16 @@ function hideTabs(props) {
|
|
|
17812
17896
|
}
|
|
17813
17897
|
|
|
17814
17898
|
// src/components/Tag.tsx
|
|
17815
|
-
var
|
|
17816
|
-
var
|
|
17817
|
-
var
|
|
17899
|
+
var import_utils121 = require("@react-aria/utils");
|
|
17900
|
+
var import_react110 = require("react");
|
|
17901
|
+
var import_jsx_runtime159 = require("@emotion/react/jsx-runtime");
|
|
17818
17902
|
function Tag(props) {
|
|
17819
17903
|
const { text, type, xss, preventTooltip = false, ...otherProps } = props;
|
|
17820
17904
|
const typeStyles2 = getStyles(type);
|
|
17821
17905
|
const tid = useTestIds(otherProps);
|
|
17822
|
-
const [showTooltip, setShowTooltip] = (0,
|
|
17823
|
-
const ref = (0,
|
|
17824
|
-
(0,
|
|
17906
|
+
const [showTooltip, setShowTooltip] = (0, import_react110.useState)(false);
|
|
17907
|
+
const ref = (0, import_react110.useRef)(null);
|
|
17908
|
+
(0, import_utils121.useResizeObserver)({
|
|
17825
17909
|
ref,
|
|
17826
17910
|
onResize: () => {
|
|
17827
17911
|
if (ref.current) {
|
|
@@ -17831,9 +17915,9 @@ function Tag(props) {
|
|
|
17831
17915
|
});
|
|
17832
17916
|
return maybeTooltip({
|
|
17833
17917
|
title: !preventTooltip && showTooltip ? text : void 0,
|
|
17834
|
-
children: /* @__PURE__ */ (0,
|
|
17835
|
-
otherProps.icon && /* @__PURE__ */ (0,
|
|
17836
|
-
/* @__PURE__ */ (0,
|
|
17918
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime159.jsxs)("span", { ...tid, css: { ...Css.dif.tinySb.ttu.aic.gapPx(4).pxPx(6).pyPx(2).gray900.br4.$, ...typeStyles2, ...xss }, children: [
|
|
17919
|
+
otherProps.icon && /* @__PURE__ */ (0, import_jsx_runtime159.jsx)("span", { css: Css.fs0.$, children: /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(Icon, { icon: otherProps.icon, inc: 1.5 }) }),
|
|
17920
|
+
/* @__PURE__ */ (0, import_jsx_runtime159.jsx)("span", { ref, css: Css.lineClamp1.wbba.$, children: text })
|
|
17837
17921
|
] })
|
|
17838
17922
|
});
|
|
17839
17923
|
}
|
|
@@ -17853,18 +17937,18 @@ function getStyles(type) {
|
|
|
17853
17937
|
}
|
|
17854
17938
|
|
|
17855
17939
|
// src/components/Toast/Toast.tsx
|
|
17856
|
-
var
|
|
17940
|
+
var import_jsx_runtime160 = require("@emotion/react/jsx-runtime");
|
|
17857
17941
|
function Toast() {
|
|
17858
17942
|
const { setNotice, notice } = useToastContext();
|
|
17859
17943
|
const tid = useTestIds({}, "toast");
|
|
17860
|
-
return /* @__PURE__ */ (0,
|
|
17944
|
+
return /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(import_jsx_runtime160.Fragment, { children: notice && /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(Banner, { ...notice, ...tid, onClose: () => setNotice(void 0) }) });
|
|
17861
17945
|
}
|
|
17862
17946
|
|
|
17863
17947
|
// src/components/Toast/useToast.tsx
|
|
17864
|
-
var
|
|
17948
|
+
var import_react111 = require("react");
|
|
17865
17949
|
function useToast() {
|
|
17866
17950
|
const { setNotice, clear } = useToastContext();
|
|
17867
|
-
const showToast = (0,
|
|
17951
|
+
const showToast = (0, import_react111.useCallback)((props) => setNotice(props), [setNotice]);
|
|
17868
17952
|
return { showToast, clear };
|
|
17869
17953
|
}
|
|
17870
17954
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -18056,6 +18140,7 @@ function useToast() {
|
|
|
18056
18140
|
getTableStyles,
|
|
18057
18141
|
headerRenderFn,
|
|
18058
18142
|
hoverStyles,
|
|
18143
|
+
iconButtonCircleStylesHover,
|
|
18059
18144
|
iconButtonContrastStylesHover,
|
|
18060
18145
|
iconButtonStylesHover,
|
|
18061
18146
|
iconCardStylesHover,
|