@homebound/beam 3.94.0 → 3.95.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 +375 -337
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +365 -327
- package/dist/index.js.map +1 -1
- package/dist/truss.css +0 -6
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -19786,7 +19786,7 @@ var variantStyles3 = {
|
|
|
19786
19786
|
};
|
|
19787
19787
|
|
|
19788
19788
|
// src/components/BeamContext.tsx
|
|
19789
|
-
var
|
|
19789
|
+
var import_react130 = require("react");
|
|
19790
19790
|
var import_react_aria56 = require("react-aria");
|
|
19791
19791
|
|
|
19792
19792
|
// src/components/Modal/Modal.tsx
|
|
@@ -20119,9 +20119,11 @@ function getSize(size) {
|
|
|
20119
20119
|
}
|
|
20120
20120
|
|
|
20121
20121
|
// src/components/Snackbar/SnackbarContext.tsx
|
|
20122
|
-
var
|
|
20122
|
+
var import_react99 = require("react");
|
|
20123
20123
|
|
|
20124
20124
|
// src/components/Snackbar/SnackbarNotice.tsx
|
|
20125
|
+
var import_utils98 = require("@react-aria/utils");
|
|
20126
|
+
var import_react98 = require("react");
|
|
20125
20127
|
var import_runtime88 = require("@homebound/truss/runtime");
|
|
20126
20128
|
var import_jsx_runtime117 = require("react/jsx-runtime");
|
|
20127
20129
|
function SnackbarNotice(props) {
|
|
@@ -20135,45 +20137,79 @@ function SnackbarNotice(props) {
|
|
|
20135
20137
|
} = props;
|
|
20136
20138
|
const tid = useTestIds(props, "snackbar");
|
|
20137
20139
|
const reallyHideClose = hideCloseButton && !persistent;
|
|
20140
|
+
const messageRef = (0, import_react98.useRef)(null);
|
|
20141
|
+
const [expanded, setExpanded] = (0, import_react98.useState)(false);
|
|
20142
|
+
const [hasOverflow, setHasOverflow] = (0, import_react98.useState)(false);
|
|
20143
|
+
const measureOverflow = (0, import_react98.useCallback)(() => {
|
|
20144
|
+
if (!messageRef.current || expanded) return;
|
|
20145
|
+
setHasOverflow(messageRef.current.scrollHeight > messageRef.current.clientHeight);
|
|
20146
|
+
}, [expanded]);
|
|
20147
|
+
(0, import_utils98.useLayoutEffect)(measureOverflow, [measureOverflow, message]);
|
|
20148
|
+
(0, import_utils98.useResizeObserver)({
|
|
20149
|
+
ref: messageRef,
|
|
20150
|
+
onResize: measureOverflow
|
|
20151
|
+
});
|
|
20138
20152
|
return /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("div", { ...(0, import_runtime88.trussProps)({
|
|
20139
|
-
|
|
20140
|
-
|
|
20141
|
-
|
|
20142
|
-
|
|
20143
|
-
|
|
20144
|
-
|
|
20145
|
-
|
|
20146
|
-
|
|
20147
|
-
|
|
20148
|
-
|
|
20149
|
-
|
|
20150
|
-
|
|
20151
|
-
|
|
20153
|
+
...{
|
|
20154
|
+
color: ["color_var", {
|
|
20155
|
+
"--color": "var(--b-on-surface)"
|
|
20156
|
+
}],
|
|
20157
|
+
backgroundColor: ["bgColor_var", {
|
|
20158
|
+
"--backgroundColor": "var(--b-surface-raised)"
|
|
20159
|
+
}],
|
|
20160
|
+
borderRadius: "br4",
|
|
20161
|
+
fontWeight: "fw4",
|
|
20162
|
+
fontSize: "fz_16px",
|
|
20163
|
+
lineHeight: "lh_24px",
|
|
20164
|
+
display: "df",
|
|
20165
|
+
paddingTop: "pt_12px",
|
|
20166
|
+
paddingBottom: "pb_12px",
|
|
20167
|
+
maxWidth: ["maxw_var", {
|
|
20168
|
+
"--maxWidth": `${noticeMaxWidthPx}px`
|
|
20169
|
+
}],
|
|
20170
|
+
alignItems: "aifs"
|
|
20171
|
+
},
|
|
20172
|
+
...expanded ? {
|
|
20173
|
+
maxWidth: ["maxw_var", {
|
|
20174
|
+
"--maxWidth": (0, import_runtime88.maybeCssVar)(expandedNoticeMaxWidth)
|
|
20175
|
+
}]
|
|
20176
|
+
} : void 0
|
|
20152
20177
|
}), "data-theme": contrastDataTheme, ...tid, role: "alert", children: [
|
|
20153
20178
|
icon && /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("span", { className: "fs0 pl_12px", children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Icon, { ...typeToIcon2[icon], ...tid.icon }) }),
|
|
20154
|
-
/* @__PURE__ */ (0, import_jsx_runtime117.
|
|
20155
|
-
"
|
|
20156
|
-
|
|
20157
|
-
|
|
20158
|
-
|
|
20159
|
-
|
|
20160
|
-
|
|
20161
|
-
|
|
20162
|
-
|
|
20163
|
-
|
|
20164
|
-
|
|
20165
|
-
|
|
20166
|
-
|
|
20167
|
-
|
|
20168
|
-
|
|
20169
|
-
|
|
20170
|
-
|
|
20171
|
-
|
|
20172
|
-
|
|
20173
|
-
|
|
20174
|
-
|
|
20175
|
-
|
|
20176
|
-
|
|
20179
|
+
/* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("div", { ...(0, import_runtime88.trussProps)({
|
|
20180
|
+
flexGrow: "fg1",
|
|
20181
|
+
minWidth: "mw0",
|
|
20182
|
+
display: "df",
|
|
20183
|
+
flexDirection: "fdc",
|
|
20184
|
+
alignItems: "aifs",
|
|
20185
|
+
gap: "gap1",
|
|
20186
|
+
paddingRight: "pr2",
|
|
20187
|
+
paddingLeft: ["pl_var", {
|
|
20188
|
+
"--paddingLeft": `${icon ? 8 : 16}px`
|
|
20189
|
+
}]
|
|
20190
|
+
}), children: [
|
|
20191
|
+
/* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
20192
|
+
"span",
|
|
20193
|
+
{
|
|
20194
|
+
ref: messageRef,
|
|
20195
|
+
...(0, import_runtime88.trussProps)({
|
|
20196
|
+
...!expanded ? {
|
|
20197
|
+
overflow: "oh",
|
|
20198
|
+
display: "d_negwebkit_box",
|
|
20199
|
+
WebkitBoxOrient: "wbo_vertical",
|
|
20200
|
+
textOverflow: "to_ellipsis",
|
|
20201
|
+
WebkitLineClamp: "wlc_3"
|
|
20202
|
+
} : {}
|
|
20203
|
+
}),
|
|
20204
|
+
...typeof message === "string" && !expanded ? {
|
|
20205
|
+
title: message
|
|
20206
|
+
} : void 0,
|
|
20207
|
+
...tid.message,
|
|
20208
|
+
children: message
|
|
20209
|
+
}
|
|
20210
|
+
),
|
|
20211
|
+
hasOverflow && /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Button, { variant: "text", size: "sm", label: expanded ? "Collapse" : "Expand", "aria-expanded": expanded, onClick: () => setExpanded((prev) => !prev), ...tid.expand })
|
|
20212
|
+
] }),
|
|
20177
20213
|
(action || !reallyHideClose) && /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("span", { className: "fs0 df aic", children: [
|
|
20178
20214
|
action && /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("span", { ...(0, import_runtime88.trussProps)({
|
|
20179
20215
|
textTransform: "ttu",
|
|
@@ -20188,6 +20224,8 @@ function SnackbarNotice(props) {
|
|
|
20188
20224
|
] })
|
|
20189
20225
|
] });
|
|
20190
20226
|
}
|
|
20227
|
+
var noticeMaxWidthPx = 420;
|
|
20228
|
+
var expandedNoticeMaxWidth = `min(${noticeMaxWidthPx * 2}px, calc(100vw - (2 * var(--t-spacing) * 3)))`;
|
|
20191
20229
|
var typeToIcon2 = {
|
|
20192
20230
|
// Can change to a Tupple with IconKey and color?
|
|
20193
20231
|
error: {
|
|
@@ -20241,25 +20279,25 @@ var defaultOffset = {
|
|
|
20241
20279
|
|
|
20242
20280
|
// src/components/Snackbar/SnackbarContext.tsx
|
|
20243
20281
|
var import_jsx_runtime119 = require("react/jsx-runtime");
|
|
20244
|
-
var SnackbarContext = (0,
|
|
20282
|
+
var SnackbarContext = (0, import_react99.createContext)({ setNotices: () => {
|
|
20245
20283
|
}, setOffset: () => {
|
|
20246
20284
|
} });
|
|
20247
20285
|
function SnackbarProvider(props) {
|
|
20248
|
-
const [notices, setNotices] = (0,
|
|
20249
|
-
const [offset, setOffset] = (0,
|
|
20250
|
-
const contextValue = (0,
|
|
20286
|
+
const [notices, setNotices] = (0, import_react99.useState)([]);
|
|
20287
|
+
const [offset, setOffset] = (0, import_react99.useState)({});
|
|
20288
|
+
const contextValue = (0, import_react99.useMemo)(() => ({ setNotices, setOffset }), []);
|
|
20251
20289
|
return /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(SnackbarContext.Provider, { value: contextValue, children: [
|
|
20252
20290
|
props.children,
|
|
20253
20291
|
/* @__PURE__ */ (0, import_jsx_runtime119.jsx)(Snackbar, { notices, offset })
|
|
20254
20292
|
] });
|
|
20255
20293
|
}
|
|
20256
20294
|
function useSnackbarContext() {
|
|
20257
|
-
return (0,
|
|
20295
|
+
return (0, import_react99.useContext)(SnackbarContext);
|
|
20258
20296
|
}
|
|
20259
20297
|
|
|
20260
20298
|
// src/components/SuperDrawer/SuperDrawer.tsx
|
|
20261
20299
|
var import_framer_motion = require("framer-motion");
|
|
20262
|
-
var
|
|
20300
|
+
var import_react100 = require("react");
|
|
20263
20301
|
var import_react_dom4 = require("react-dom");
|
|
20264
20302
|
|
|
20265
20303
|
// src/components/SuperDrawer/utils.ts
|
|
@@ -20272,7 +20310,7 @@ var SuperDrawerWidth = /* @__PURE__ */ ((SuperDrawerWidth2) => {
|
|
|
20272
20310
|
// src/components/SuperDrawer/SuperDrawer.tsx
|
|
20273
20311
|
var import_runtime90 = require("@homebound/truss/runtime");
|
|
20274
20312
|
var import_jsx_runtime120 = require("react/jsx-runtime");
|
|
20275
|
-
var
|
|
20313
|
+
var import_react101 = require("react");
|
|
20276
20314
|
function SuperDrawer() {
|
|
20277
20315
|
const {
|
|
20278
20316
|
drawerContentStack: contentStack,
|
|
@@ -20281,7 +20319,7 @@ function SuperDrawer() {
|
|
|
20281
20319
|
const {
|
|
20282
20320
|
closeDrawer
|
|
20283
20321
|
} = useSuperDrawer();
|
|
20284
|
-
const headerRef = (0,
|
|
20322
|
+
const headerRef = (0, import_react100.useRef)(null);
|
|
20285
20323
|
const testId = useTestIds({}, "superDrawer");
|
|
20286
20324
|
const currentContent = contentStack.current[contentStack.current.length - 1]?.opts;
|
|
20287
20325
|
const {
|
|
@@ -20291,7 +20329,7 @@ function SuperDrawer() {
|
|
|
20291
20329
|
const {
|
|
20292
20330
|
width: width2 = 1040 /* Normal */
|
|
20293
20331
|
} = firstContent ?? {};
|
|
20294
|
-
(0,
|
|
20332
|
+
(0, import_react100.useEffect)(() => {
|
|
20295
20333
|
if (content) {
|
|
20296
20334
|
document.body.style.overflow = "hidden";
|
|
20297
20335
|
return () => {
|
|
@@ -20299,7 +20337,7 @@ function SuperDrawer() {
|
|
|
20299
20337
|
};
|
|
20300
20338
|
}
|
|
20301
20339
|
}, [content]);
|
|
20302
|
-
(0,
|
|
20340
|
+
(0, import_react100.useEffect)(
|
|
20303
20341
|
() => {
|
|
20304
20342
|
if (headerRef.current?.childNodes.length === 0 && content) {
|
|
20305
20343
|
headerRef.current.appendChild(sdHeaderDiv);
|
|
@@ -20309,7 +20347,7 @@ function SuperDrawer() {
|
|
|
20309
20347
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
20310
20348
|
[headerRef, content]
|
|
20311
20349
|
);
|
|
20312
|
-
return (0, import_react_dom4.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_framer_motion.AnimatePresence, { children: content && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_jsx_runtime120.Fragment, { children: /* @__PURE__ */ (0,
|
|
20350
|
+
return (0, import_react_dom4.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_framer_motion.AnimatePresence, { children: content && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_jsx_runtime120.Fragment, { children: /* @__PURE__ */ (0, import_react101.createElement)(
|
|
20313
20351
|
import_framer_motion.motion.div,
|
|
20314
20352
|
{
|
|
20315
20353
|
...testId,
|
|
@@ -20411,7 +20449,7 @@ function SuperDrawer() {
|
|
|
20411
20449
|
}
|
|
20412
20450
|
|
|
20413
20451
|
// src/components/Layout/FormPageLayout.tsx
|
|
20414
|
-
var
|
|
20452
|
+
var import_react113 = __toESM(require("react"), 1);
|
|
20415
20453
|
var import_react_aria52 = require("react-aria");
|
|
20416
20454
|
|
|
20417
20455
|
// src/forms/BoundCheckboxField.tsx
|
|
@@ -20637,7 +20675,7 @@ function BoundDateRangeField(props) {
|
|
|
20637
20675
|
}
|
|
20638
20676
|
|
|
20639
20677
|
// src/forms/BoundForm.tsx
|
|
20640
|
-
var
|
|
20678
|
+
var import_react103 = require("react");
|
|
20641
20679
|
|
|
20642
20680
|
// src/forms/BoundListField.tsx
|
|
20643
20681
|
var import_mobx_react7 = require("mobx-react");
|
|
@@ -21189,7 +21227,7 @@ function BoundTreeSelectField(props) {
|
|
|
21189
21227
|
}
|
|
21190
21228
|
|
|
21191
21229
|
// src/forms/FormLines.tsx
|
|
21192
|
-
var
|
|
21230
|
+
var import_react102 = require("react");
|
|
21193
21231
|
var import_runtime91 = require("@homebound/truss/runtime");
|
|
21194
21232
|
var import_jsx_runtime140 = require("react/jsx-runtime");
|
|
21195
21233
|
var __maybeInc19 = (inc) => {
|
|
@@ -21238,9 +21276,9 @@ function FormLines(props) {
|
|
|
21238
21276
|
width: ["w_var", {
|
|
21239
21277
|
"--width": (0, import_runtime91.maybeCssVar)(__maybeInc19(sizes[width2]))
|
|
21240
21278
|
}]
|
|
21241
|
-
}), children:
|
|
21279
|
+
}), children: import_react102.Children.map(children, (child) => {
|
|
21242
21280
|
if (child && typeof child === "object" && "type" in child && child.type.isFormHeading) {
|
|
21243
|
-
const clone = (0,
|
|
21281
|
+
const clone = (0, import_react102.cloneElement)(child, {
|
|
21244
21282
|
isFirst: firstFormHeading
|
|
21245
21283
|
});
|
|
21246
21284
|
firstFormHeading = false;
|
|
@@ -21285,7 +21323,7 @@ var sizes = {
|
|
|
21285
21323
|
// src/forms/BoundForm.tsx
|
|
21286
21324
|
var import_runtime92 = require("@homebound/truss/runtime");
|
|
21287
21325
|
var import_jsx_runtime141 = require("react/jsx-runtime");
|
|
21288
|
-
var
|
|
21326
|
+
var import_react104 = require("react");
|
|
21289
21327
|
var reactNodePrefix = "reactNode";
|
|
21290
21328
|
var listFieldPrefix = "listField";
|
|
21291
21329
|
function BoundForm(props) {
|
|
@@ -21294,7 +21332,7 @@ function BoundForm(props) {
|
|
|
21294
21332
|
formState
|
|
21295
21333
|
} = props;
|
|
21296
21334
|
const tid = useTestIds({}, "boundForm");
|
|
21297
|
-
const getRowKey = (0,
|
|
21335
|
+
const getRowKey = (0, import_react103.useCallback)((row, rowType) => {
|
|
21298
21336
|
return `${rowType}-${Object.keys(row).join("-")}`;
|
|
21299
21337
|
}, []);
|
|
21300
21338
|
return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)("div", { ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(FormLines, { width: "full", gap: 3.5, children: rows.map((row) => isListFieldRow(row) ? /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(ListField, { row, formState }, getRowKey(row, "listField")) : /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(FormRow, { row, formState }, getRowKey(row, "fieldGroup"))) }) });
|
|
@@ -21304,7 +21342,7 @@ function FormRow({
|
|
|
21304
21342
|
formState
|
|
21305
21343
|
}) {
|
|
21306
21344
|
const tid = useTestIds({}, "boundFormRow");
|
|
21307
|
-
const componentsWithConfig = (0,
|
|
21345
|
+
const componentsWithConfig = (0, import_react103.useMemo)(() => {
|
|
21308
21346
|
return Object.entries(row).map(([key, fieldFnOrCustomNode]) => {
|
|
21309
21347
|
if (typeof fieldFnOrCustomNode === "function" && !isCustomReactNodeKey(key)) {
|
|
21310
21348
|
const field = formState[key] ?? fail(`Field ${key.toString()} not found in formState`);
|
|
@@ -21338,7 +21376,7 @@ function FormRow({
|
|
|
21338
21376
|
component,
|
|
21339
21377
|
key,
|
|
21340
21378
|
minWidth
|
|
21341
|
-
}) => /* @__PURE__ */ (0,
|
|
21379
|
+
}) => /* @__PURE__ */ (0, import_react104.createElement)("div", { ...(0, import_runtime92.trussProps)({
|
|
21342
21380
|
minWidth: ["mw_var", {
|
|
21343
21381
|
"--minWidth": (0, import_runtime92.maybeCssVar)(minWidth)
|
|
21344
21382
|
}],
|
|
@@ -21455,7 +21493,7 @@ function boundTreeSelectField(props) {
|
|
|
21455
21493
|
}
|
|
21456
21494
|
|
|
21457
21495
|
// src/components/internal/CompoundField.tsx
|
|
21458
|
-
var
|
|
21496
|
+
var import_react105 = require("react");
|
|
21459
21497
|
var import_runtime93 = require("@homebound/truss/runtime");
|
|
21460
21498
|
var import_jsx_runtime142 = require("react/jsx-runtime");
|
|
21461
21499
|
function CompoundField({
|
|
@@ -21480,7 +21518,7 @@ function CompoundField({
|
|
|
21480
21518
|
const internalProps = {
|
|
21481
21519
|
compound: true
|
|
21482
21520
|
};
|
|
21483
|
-
const [hasFocusWithin, setHasFocusWithin] = (0,
|
|
21521
|
+
const [hasFocusWithin, setHasFocusWithin] = (0, import_react105.useState)(false);
|
|
21484
21522
|
function onFocusCapture() {
|
|
21485
21523
|
setHasFocusWithin(true);
|
|
21486
21524
|
}
|
|
@@ -21504,7 +21542,7 @@ function CompoundField({
|
|
|
21504
21542
|
"--borderColor": "var(--b-field-border-focus)"
|
|
21505
21543
|
}]
|
|
21506
21544
|
}
|
|
21507
|
-
}), children: (0,
|
|
21545
|
+
}), children: (0, import_react105.cloneElement)(children[0], {
|
|
21508
21546
|
internalProps
|
|
21509
21547
|
}) }),
|
|
21510
21548
|
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("div", { ...(0, import_runtime93.trussProps)({
|
|
@@ -21534,7 +21572,7 @@ function CompoundField({
|
|
|
21534
21572
|
"--borderColor": "var(--b-field-border-focus)"
|
|
21535
21573
|
}]
|
|
21536
21574
|
}
|
|
21537
|
-
}), children: (0,
|
|
21575
|
+
}), children: (0, import_react105.cloneElement)(children[1], {
|
|
21538
21576
|
internalProps
|
|
21539
21577
|
}) })
|
|
21540
21578
|
] });
|
|
@@ -21595,17 +21633,17 @@ FormHeading.isFormHeading = true;
|
|
|
21595
21633
|
|
|
21596
21634
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
21597
21635
|
var import_fast_deep_equal2 = __toESM(require("fast-deep-equal"), 1);
|
|
21598
|
-
var
|
|
21636
|
+
var import_react107 = require("react");
|
|
21599
21637
|
|
|
21600
21638
|
// src/components/DnDGrid/DnDGridContext.tsx
|
|
21601
|
-
var
|
|
21602
|
-
var DnDGridContext = (0,
|
|
21639
|
+
var import_react106 = require("react");
|
|
21640
|
+
var DnDGridContext = (0, import_react106.createContext)({
|
|
21603
21641
|
dragEl: { current: void 0 },
|
|
21604
21642
|
onDragHandleKeyDown: () => {
|
|
21605
21643
|
}
|
|
21606
21644
|
});
|
|
21607
21645
|
function useDnDGridContext() {
|
|
21608
|
-
return (0,
|
|
21646
|
+
return (0, import_react106.useContext)(DnDGridContext);
|
|
21609
21647
|
}
|
|
21610
21648
|
|
|
21611
21649
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
@@ -21618,13 +21656,13 @@ function DnDGrid(props) {
|
|
|
21618
21656
|
onReorder,
|
|
21619
21657
|
activeItemStyles
|
|
21620
21658
|
} = props;
|
|
21621
|
-
const gridEl = (0,
|
|
21622
|
-
const dragEl = (0,
|
|
21623
|
-
const cloneEl = (0,
|
|
21624
|
-
const initialOrder = (0,
|
|
21625
|
-
const styleSnapshot = (0,
|
|
21626
|
-
const reorderViaKeyboard = (0,
|
|
21627
|
-
const transformFrom = (0,
|
|
21659
|
+
const gridEl = (0, import_react107.useRef)(null);
|
|
21660
|
+
const dragEl = (0, import_react107.useRef)();
|
|
21661
|
+
const cloneEl = (0, import_react107.useRef)();
|
|
21662
|
+
const initialOrder = (0, import_react107.useRef)();
|
|
21663
|
+
const styleSnapshot = (0, import_react107.useRef)();
|
|
21664
|
+
const reorderViaKeyboard = (0, import_react107.useRef)(false);
|
|
21665
|
+
const transformFrom = (0, import_react107.useRef)({
|
|
21628
21666
|
x: 0,
|
|
21629
21667
|
y: 0
|
|
21630
21668
|
});
|
|
@@ -21632,20 +21670,20 @@ function DnDGrid(props) {
|
|
|
21632
21670
|
const activeStyles3 = activeItemStyles ?? {
|
|
21633
21671
|
boxShadow: "bshModal"
|
|
21634
21672
|
};
|
|
21635
|
-
const getGridItems = (0,
|
|
21673
|
+
const getGridItems = (0, import_react107.useCallback)(() => {
|
|
21636
21674
|
return gridEl.current ? Array.from(gridEl.current.querySelectorAll(`[${gridItemIdKey}]`)) : [];
|
|
21637
21675
|
}, []);
|
|
21638
|
-
const getGridItemIdOrder = (0,
|
|
21676
|
+
const getGridItemIdOrder = (0, import_react107.useCallback)(() => {
|
|
21639
21677
|
return getGridItems().map((child) => child.getAttribute(gridItemIdKey)).filter(isDefined);
|
|
21640
21678
|
}, [getGridItems]);
|
|
21641
|
-
const initReorder = (0,
|
|
21679
|
+
const initReorder = (0, import_react107.useCallback)(() => {
|
|
21642
21680
|
if (gridEl.current && dragEl.current) {
|
|
21643
21681
|
initialOrder.current = getGridItemIdOrder();
|
|
21644
21682
|
styleSnapshot.current = snapshotElementStyle(dragEl.current);
|
|
21645
21683
|
applyActiveStyles(dragEl.current, activeStyles3);
|
|
21646
21684
|
}
|
|
21647
21685
|
}, [getGridItemIdOrder, activeStyles3]);
|
|
21648
|
-
const commitReorder = (0,
|
|
21686
|
+
const commitReorder = (0, import_react107.useCallback)(() => {
|
|
21649
21687
|
if (gridEl.current && dragEl.current) {
|
|
21650
21688
|
const currentOrder = getGridItemIdOrder();
|
|
21651
21689
|
if (!(0, import_fast_deep_equal2.default)(currentOrder, initialOrder.current)) onReorder(currentOrder);
|
|
@@ -21655,7 +21693,7 @@ function DnDGrid(props) {
|
|
|
21655
21693
|
initialOrder.current = currentOrder;
|
|
21656
21694
|
}
|
|
21657
21695
|
}, [onReorder, getGridItemIdOrder]);
|
|
21658
|
-
const cancelReorder = (0,
|
|
21696
|
+
const cancelReorder = (0, import_react107.useCallback)(() => {
|
|
21659
21697
|
if (gridEl.current && dragEl.current && initialOrder.current) {
|
|
21660
21698
|
const currentOrder = getGridItemIdOrder();
|
|
21661
21699
|
if (!(0, import_fast_deep_equal2.default)(currentOrder, initialOrder.current)) {
|
|
@@ -21677,7 +21715,7 @@ function DnDGrid(props) {
|
|
|
21677
21715
|
reorderViaKeyboard.current = false;
|
|
21678
21716
|
}
|
|
21679
21717
|
}, [getGridItemIdOrder, getGridItems]);
|
|
21680
|
-
const onMove = (0,
|
|
21718
|
+
const onMove = (0, import_react107.useCallback)((e) => {
|
|
21681
21719
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
21682
21720
|
const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
|
|
21683
21721
|
const clientY = "clientY" in e ? e.clientY : e.touches[0].clientY;
|
|
@@ -21700,7 +21738,7 @@ function DnDGrid(props) {
|
|
|
21700
21738
|
}
|
|
21701
21739
|
}
|
|
21702
21740
|
}, []);
|
|
21703
|
-
const onDragStart = (0,
|
|
21741
|
+
const onDragStart = (0, import_react107.useCallback)((e) => {
|
|
21704
21742
|
if (!reorderViaKeyboard.current && dragEl.current && gridEl.current) {
|
|
21705
21743
|
const rect = dragEl.current.getBoundingClientRect();
|
|
21706
21744
|
const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
|
|
@@ -21729,7 +21767,7 @@ function DnDGrid(props) {
|
|
|
21729
21767
|
gridEl.current.addEventListener("touchmove", onMove);
|
|
21730
21768
|
}
|
|
21731
21769
|
}, [initReorder, onMove]);
|
|
21732
|
-
const onDragEnd = (0,
|
|
21770
|
+
const onDragEnd = (0, import_react107.useCallback)((e) => {
|
|
21733
21771
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
21734
21772
|
e.preventDefault();
|
|
21735
21773
|
cloneEl.current.replaceWith(dragEl.current);
|
|
@@ -21741,7 +21779,7 @@ function DnDGrid(props) {
|
|
|
21741
21779
|
gridEl.current.removeEventListener("touchmove", onMove);
|
|
21742
21780
|
}
|
|
21743
21781
|
}, [commitReorder, onMove]);
|
|
21744
|
-
const onDragHandleKeyDown = (0,
|
|
21782
|
+
const onDragHandleKeyDown = (0, import_react107.useCallback)((e) => {
|
|
21745
21783
|
const moveHandle = e.target;
|
|
21746
21784
|
if (dragEl.current instanceof HTMLElement && moveHandle instanceof HTMLElement && gridEl.current) {
|
|
21747
21785
|
const isSpaceKey = e.key === " ";
|
|
@@ -21921,7 +21959,7 @@ var headingByLevel = {
|
|
|
21921
21959
|
var import_runtime99 = require("@homebound/truss/runtime");
|
|
21922
21960
|
|
|
21923
21961
|
// src/forms/FormSection/FormSectionChild.tsx
|
|
21924
|
-
var
|
|
21962
|
+
var import_react109 = require("react");
|
|
21925
21963
|
|
|
21926
21964
|
// src/components/DnDGrid/DnDGridItemHandle.tsx
|
|
21927
21965
|
var import_react_aria51 = require("react-aria");
|
|
@@ -21978,11 +22016,11 @@ function DnDGridItemHandle(props) {
|
|
|
21978
22016
|
}
|
|
21979
22017
|
|
|
21980
22018
|
// src/components/DnDGrid/useDnDGridItem.tsx
|
|
21981
|
-
var
|
|
22019
|
+
var import_react108 = require("react");
|
|
21982
22020
|
function useDnDGridItem(props) {
|
|
21983
22021
|
const { id, itemRef } = props;
|
|
21984
22022
|
const { dragEl, onDragHandleKeyDown } = useDnDGridContext();
|
|
21985
|
-
const { dragItemProps, dragHandleProps } = (0,
|
|
22023
|
+
const { dragItemProps, dragHandleProps } = (0, import_react108.useMemo)(() => {
|
|
21986
22024
|
function initDraggable() {
|
|
21987
22025
|
if (itemRef.current) {
|
|
21988
22026
|
dragEl.current = itemRef.current;
|
|
@@ -22015,7 +22053,7 @@ function FormSectionChild(props) {
|
|
|
22015
22053
|
orderField
|
|
22016
22054
|
} = props;
|
|
22017
22055
|
const tid = useTestIds(props, "formSectionChild");
|
|
22018
|
-
const itemRef = (0,
|
|
22056
|
+
const itemRef = (0, import_react109.useRef)(null);
|
|
22019
22057
|
const isDraggable = !!orderField;
|
|
22020
22058
|
const {
|
|
22021
22059
|
dragItemProps,
|
|
@@ -22102,7 +22140,7 @@ function sortByOrderField(childSections) {
|
|
|
22102
22140
|
}
|
|
22103
22141
|
|
|
22104
22142
|
// src/forms/StaticField.tsx
|
|
22105
|
-
var
|
|
22143
|
+
var import_utils130 = require("@react-aria/utils");
|
|
22106
22144
|
var import_runtime100 = require("@homebound/truss/runtime");
|
|
22107
22145
|
var import_jsx_runtime151 = require("react/jsx-runtime");
|
|
22108
22146
|
function StaticField(props) {
|
|
@@ -22116,7 +22154,7 @@ function StaticField(props) {
|
|
|
22116
22154
|
children
|
|
22117
22155
|
} = props;
|
|
22118
22156
|
const tid = useTestIds(props, typeof label === "string" ? defaultTestId(label) : "staticField");
|
|
22119
|
-
const id = (0,
|
|
22157
|
+
const id = (0, import_utils130.useId)();
|
|
22120
22158
|
return /* @__PURE__ */ (0, import_jsx_runtime151.jsxs)("div", { ...(0, import_runtime100.trussProps)({
|
|
22121
22159
|
...labelStyle === "left" ? {
|
|
22122
22160
|
display: "df",
|
|
@@ -22183,7 +22221,7 @@ var import_use_debounce6 = require("use-debounce");
|
|
|
22183
22221
|
|
|
22184
22222
|
// src/components/RightSidebar.tsx
|
|
22185
22223
|
var import_framer_motion2 = require("framer-motion");
|
|
22186
|
-
var
|
|
22224
|
+
var import_react110 = require("react");
|
|
22187
22225
|
var import_runtime101 = require("@homebound/truss/runtime");
|
|
22188
22226
|
var import_jsx_runtime153 = require("react/jsx-runtime");
|
|
22189
22227
|
var __maybeInc20 = (inc) => {
|
|
@@ -22194,7 +22232,7 @@ function RightSidebar({
|
|
|
22194
22232
|
content,
|
|
22195
22233
|
headerHeightPx: headerHeightPx2
|
|
22196
22234
|
}) {
|
|
22197
|
-
const [selectedIcon, setSelectedIcon] = (0,
|
|
22235
|
+
const [selectedIcon, setSelectedIcon] = (0, import_react110.useState)(void 0);
|
|
22198
22236
|
const tid = useTestIds({}, "rightSidebar");
|
|
22199
22237
|
return /* @__PURE__ */ (0, import_jsx_runtime153.jsxs)(import_jsx_runtime153.Fragment, { children: [
|
|
22200
22238
|
/* @__PURE__ */ (0, import_jsx_runtime153.jsx)("div", { className: "df jcfe absolute right0 pr3", children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(import_framer_motion2.AnimatePresence, { children: !selectedIcon && /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(import_framer_motion2.motion.div, { className: "df fdc gap2 z1", initial: {
|
|
@@ -22295,9 +22333,9 @@ function IconButtonList({
|
|
|
22295
22333
|
}
|
|
22296
22334
|
|
|
22297
22335
|
// src/components/Toast/ToastContext.tsx
|
|
22298
|
-
var
|
|
22336
|
+
var import_react111 = require("react");
|
|
22299
22337
|
var import_jsx_runtime154 = require("react/jsx-runtime");
|
|
22300
|
-
var ToastContext = (0,
|
|
22338
|
+
var ToastContext = (0, import_react111.createContext)({
|
|
22301
22339
|
setNotice: () => {
|
|
22302
22340
|
throw new Error("Missing ToastProvider");
|
|
22303
22341
|
},
|
|
@@ -22306,13 +22344,13 @@ var ToastContext = (0, import_react110.createContext)({
|
|
|
22306
22344
|
notice: void 0
|
|
22307
22345
|
});
|
|
22308
22346
|
function ToastProvider(props) {
|
|
22309
|
-
const [notice, setNotice] = (0,
|
|
22310
|
-
const clear = (0,
|
|
22311
|
-
const contextValue = (0,
|
|
22347
|
+
const [notice, setNotice] = (0, import_react111.useState)();
|
|
22348
|
+
const clear = (0, import_react111.useCallback)(() => setNotice(void 0), [setNotice]);
|
|
22349
|
+
const contextValue = (0, import_react111.useMemo)(() => ({ setNotice, notice, clear }), [notice, clear]);
|
|
22312
22350
|
return /* @__PURE__ */ (0, import_jsx_runtime154.jsx)(ToastContext.Provider, { value: contextValue, children: props.children });
|
|
22313
22351
|
}
|
|
22314
22352
|
function useToastContext() {
|
|
22315
|
-
return (0,
|
|
22353
|
+
return (0, import_react111.useContext)(ToastContext);
|
|
22316
22354
|
}
|
|
22317
22355
|
|
|
22318
22356
|
// src/components/Toast/Toast.tsx
|
|
@@ -22324,7 +22362,7 @@ function Toast() {
|
|
|
22324
22362
|
}
|
|
22325
22363
|
|
|
22326
22364
|
// src/components/Layout/PageHeaderBreadcrumbs.tsx
|
|
22327
|
-
var
|
|
22365
|
+
var import_react112 = require("react");
|
|
22328
22366
|
var import_react_router_dom5 = require("react-router-dom");
|
|
22329
22367
|
var import_runtime102 = require("@homebound/truss/runtime");
|
|
22330
22368
|
var import_jsx_runtime156 = (
|
|
@@ -22335,10 +22373,10 @@ function PageHeaderBreadcrumbs({
|
|
|
22335
22373
|
breadcrumb
|
|
22336
22374
|
}) {
|
|
22337
22375
|
const tids = useTestIds({}, "pageHeaderBreadcrumbs");
|
|
22338
|
-
const breadcrumbs = (0,
|
|
22339
|
-
const [collapsed, setCollapsed] = (0,
|
|
22376
|
+
const breadcrumbs = (0, import_react112.useMemo)(() => Array.isArray(breadcrumb) ? breadcrumb : [breadcrumb], [breadcrumb]);
|
|
22377
|
+
const [collapsed, setCollapsed] = (0, import_react112.useState)(true);
|
|
22340
22378
|
function renderBreadcrumb(bc, index, hideDivisor) {
|
|
22341
|
-
return /* @__PURE__ */ (0, import_jsx_runtime156.jsxs)(
|
|
22379
|
+
return /* @__PURE__ */ (0, import_jsx_runtime156.jsxs)(import_react112.Fragment, { children: [
|
|
22342
22380
|
index > 0 && !hideDivisor && /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("span", { ...(0, import_runtime102.trussProps)({
|
|
22343
22381
|
fontWeight: "fw6",
|
|
22344
22382
|
fontSize: "fz_14px",
|
|
@@ -22389,9 +22427,9 @@ function FormPageLayoutComponent(props) {
|
|
|
22389
22427
|
rightSideBar
|
|
22390
22428
|
} = props;
|
|
22391
22429
|
const tids = useTestIds(props, "formPageLayout");
|
|
22392
|
-
const sectionsWithRefs = (0,
|
|
22430
|
+
const sectionsWithRefs = (0, import_react113.useMemo)(() => formSections.map((section, id) => ({
|
|
22393
22431
|
section,
|
|
22394
|
-
ref: (0,
|
|
22432
|
+
ref: (0, import_react113.createRef)(),
|
|
22395
22433
|
// Unique key for each section to use in the observer
|
|
22396
22434
|
sectionKey: `section-${section.title ?? id}`
|
|
22397
22435
|
})), [formSections]);
|
|
@@ -22444,7 +22482,7 @@ function FormPageLayoutComponent(props) {
|
|
|
22444
22482
|
] }) })
|
|
22445
22483
|
);
|
|
22446
22484
|
}
|
|
22447
|
-
var FormPageLayout =
|
|
22485
|
+
var FormPageLayout = import_react113.default.memo(FormPageLayoutComponent);
|
|
22448
22486
|
function PageHeader(props) {
|
|
22449
22487
|
const {
|
|
22450
22488
|
pageTitle,
|
|
@@ -22541,7 +22579,7 @@ function LeftNav(props) {
|
|
|
22541
22579
|
sectionsWithRefs
|
|
22542
22580
|
} = props;
|
|
22543
22581
|
const tids = useTestIds(props);
|
|
22544
|
-
const sectionWithTitles = (0,
|
|
22582
|
+
const sectionWithTitles = (0, import_react113.useMemo)(() => sectionsWithRefs.filter(({
|
|
22545
22583
|
section
|
|
22546
22584
|
}) => !!section.title), [sectionsWithRefs]);
|
|
22547
22585
|
const activeSection = useActiveSection(sectionWithTitles);
|
|
@@ -22592,14 +22630,14 @@ function SectionNavLink(props) {
|
|
|
22592
22630
|
ref: sectionRef
|
|
22593
22631
|
} = sectionWithRef;
|
|
22594
22632
|
const active = activeSection === sectionWithRef.sectionKey;
|
|
22595
|
-
const handleNavClick = (0,
|
|
22633
|
+
const handleNavClick = (0, import_react113.useCallback)(() => {
|
|
22596
22634
|
sectionRef.current?.scrollIntoView({
|
|
22597
22635
|
behavior: "smooth",
|
|
22598
22636
|
block: "start"
|
|
22599
22637
|
});
|
|
22600
22638
|
}, [sectionRef]);
|
|
22601
22639
|
const tids = useTestIds(props);
|
|
22602
|
-
const buttonRef = (0,
|
|
22640
|
+
const buttonRef = (0, import_react113.useRef)(null);
|
|
22603
22641
|
const {
|
|
22604
22642
|
buttonProps,
|
|
22605
22643
|
isPressed
|
|
@@ -22641,7 +22679,7 @@ function SectionNavLink(props) {
|
|
|
22641
22679
|
}), ...tids.sectionNavLink, children: section.title });
|
|
22642
22680
|
}
|
|
22643
22681
|
function useActiveSection(sectionsWithRefs) {
|
|
22644
|
-
const [activeSection, setActiveSection] = (0,
|
|
22682
|
+
const [activeSection, setActiveSection] = (0, import_react113.useState)(null);
|
|
22645
22683
|
const debouncedIntersectionCallback = (0, import_use_debounce6.useDebouncedCallback)((entries) => {
|
|
22646
22684
|
const sectionsInView = entries.filter((entry) => entry.isIntersecting && entry.intersectionRatio > 0.2).sort((a, b) => {
|
|
22647
22685
|
const ratioDiff = b.intersectionRatio - a.intersectionRatio;
|
|
@@ -22656,7 +22694,7 @@ function useActiveSection(sectionsWithRefs) {
|
|
|
22656
22694
|
}, 200, {
|
|
22657
22695
|
maxWait: 500
|
|
22658
22696
|
});
|
|
22659
|
-
(0,
|
|
22697
|
+
(0, import_react113.useEffect)(() => {
|
|
22660
22698
|
if (!("IntersectionObserver" in window)) return;
|
|
22661
22699
|
const observer2 = new IntersectionObserver((entries) => debouncedIntersectionCallback(entries), {
|
|
22662
22700
|
/**
|
|
@@ -22692,7 +22730,7 @@ function useActiveSection(sectionsWithRefs) {
|
|
|
22692
22730
|
|
|
22693
22731
|
// src/components/Layout/FullBleed.tsx
|
|
22694
22732
|
var import_runtime104 = require("@homebound/truss/runtime");
|
|
22695
|
-
var
|
|
22733
|
+
var import_react114 = require("react");
|
|
22696
22734
|
var __maybeInc21 = (inc) => {
|
|
22697
22735
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
22698
22736
|
};
|
|
@@ -22709,7 +22747,7 @@ function FullBleed({
|
|
|
22709
22747
|
style,
|
|
22710
22748
|
...others
|
|
22711
22749
|
} = children.props;
|
|
22712
|
-
return paddingRight === "0px" && paddingLeft === "0px" ? children : (0,
|
|
22750
|
+
return paddingRight === "0px" && paddingLeft === "0px" ? children : (0, import_react114.cloneElement)(
|
|
22713
22751
|
children,
|
|
22714
22752
|
// The child might already have className/style set, let Css.props also create
|
|
22715
22753
|
// a className/style, and then mergeProps the two together.
|
|
@@ -22748,8 +22786,8 @@ function invertSpacing(value) {
|
|
|
22748
22786
|
}
|
|
22749
22787
|
|
|
22750
22788
|
// src/components/Layout/GridTableLayout/GridTableLayout.tsx
|
|
22751
|
-
var
|
|
22752
|
-
var
|
|
22789
|
+
var import_utils150 = require("@react-aria/utils");
|
|
22790
|
+
var import_react127 = __toESM(require("react"), 1);
|
|
22753
22791
|
|
|
22754
22792
|
// src/components/Filters/utils.tsx
|
|
22755
22793
|
function getActiveFilterCount(filter) {
|
|
@@ -22770,30 +22808,30 @@ function isGridTableProps(props) {
|
|
|
22770
22808
|
}
|
|
22771
22809
|
|
|
22772
22810
|
// src/components/Layout/RightPaneLayout/DocumentScrollRightPaneLayout.tsx
|
|
22773
|
-
var
|
|
22811
|
+
var import_react118 = require("react");
|
|
22774
22812
|
var import_runtime106 = require("@homebound/truss/runtime");
|
|
22775
22813
|
|
|
22776
22814
|
// src/components/Layout/RightPaneLayout/DocumentScrollRightPane.tsx
|
|
22777
22815
|
var import_framer_motion3 = require("framer-motion");
|
|
22778
|
-
var
|
|
22816
|
+
var import_react117 = require("react");
|
|
22779
22817
|
var import_react_aria53 = require("react-aria");
|
|
22780
22818
|
var import_react_dom5 = require("react-dom");
|
|
22781
22819
|
|
|
22782
22820
|
// src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayoutHeightContext.tsx
|
|
22783
|
-
var
|
|
22821
|
+
var import_react115 = require("react");
|
|
22784
22822
|
var import_jsx_runtime158 = require("react/jsx-runtime");
|
|
22785
|
-
var EnvironmentBannerLayoutHeightContext = (0,
|
|
22823
|
+
var EnvironmentBannerLayoutHeightContext = (0, import_react115.createContext)(0);
|
|
22786
22824
|
function EnvironmentBannerLayoutHeightProvider({ value, children }) {
|
|
22787
22825
|
return /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(EnvironmentBannerLayoutHeightContext.Provider, { value, children });
|
|
22788
22826
|
}
|
|
22789
22827
|
function useEnvironmentBannerLayoutHeight() {
|
|
22790
|
-
return (0,
|
|
22828
|
+
return (0, import_react115.useContext)(EnvironmentBannerLayoutHeightContext);
|
|
22791
22829
|
}
|
|
22792
22830
|
|
|
22793
22831
|
// src/components/Layout/RightPaneLayout/RightPaneContext.tsx
|
|
22794
|
-
var
|
|
22832
|
+
var import_react116 = __toESM(require("react"), 1);
|
|
22795
22833
|
var import_jsx_runtime159 = require("react/jsx-runtime");
|
|
22796
|
-
var RightPaneContext =
|
|
22834
|
+
var RightPaneContext = import_react116.default.createContext({
|
|
22797
22835
|
openInPane: () => {
|
|
22798
22836
|
},
|
|
22799
22837
|
closePane: () => {
|
|
@@ -22804,25 +22842,25 @@ var RightPaneContext = import_react115.default.createContext({
|
|
|
22804
22842
|
rightPaneContent: null
|
|
22805
22843
|
});
|
|
22806
22844
|
function RightPaneProvider({ children }) {
|
|
22807
|
-
const [rightPaneContent, setRightPaneContent] = (0,
|
|
22808
|
-
const [isRightPaneOpen, setIsRightPaneOpen] = (0,
|
|
22809
|
-
const openInPane = (0,
|
|
22845
|
+
const [rightPaneContent, setRightPaneContent] = (0, import_react116.useState)(void 0);
|
|
22846
|
+
const [isRightPaneOpen, setIsRightPaneOpen] = (0, import_react116.useState)(false);
|
|
22847
|
+
const openInPane = (0, import_react116.useCallback)(
|
|
22810
22848
|
(opts) => {
|
|
22811
22849
|
setRightPaneContent(opts?.content);
|
|
22812
22850
|
setIsRightPaneOpen(true);
|
|
22813
22851
|
},
|
|
22814
22852
|
[setRightPaneContent]
|
|
22815
22853
|
);
|
|
22816
|
-
const closePane = (0,
|
|
22817
|
-
const clearPane = (0,
|
|
22818
|
-
const context = (0,
|
|
22854
|
+
const closePane = (0, import_react116.useCallback)(() => setIsRightPaneOpen(false), []);
|
|
22855
|
+
const clearPane = (0, import_react116.useCallback)(() => setRightPaneContent(void 0), [setRightPaneContent]);
|
|
22856
|
+
const context = (0, import_react116.useMemo)(
|
|
22819
22857
|
() => ({ openInPane, closePane, clearPane, rightPaneContent, isRightPaneOpen }),
|
|
22820
22858
|
[openInPane, closePane, rightPaneContent, clearPane, isRightPaneOpen]
|
|
22821
22859
|
);
|
|
22822
22860
|
return /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(RightPaneContext.Provider, { value: context, children });
|
|
22823
22861
|
}
|
|
22824
22862
|
function useRightPaneContext() {
|
|
22825
|
-
return (0,
|
|
22863
|
+
return (0, import_react116.useContext)(RightPaneContext);
|
|
22826
22864
|
}
|
|
22827
22865
|
|
|
22828
22866
|
// src/components/Layout/RightPaneLayout/DocumentScrollRightPane.tsx
|
|
@@ -22849,7 +22887,7 @@ function DocumentScrollRightPane({
|
|
|
22849
22887
|
(0, import_react_aria53.usePreventScroll)({
|
|
22850
22888
|
isDisabled: !isMobileOverlay
|
|
22851
22889
|
});
|
|
22852
|
-
(0,
|
|
22890
|
+
(0, import_react117.useEffect)(() => closePane, [closePane]);
|
|
22853
22891
|
const slideX = sm ? "100%" : paneWidth;
|
|
22854
22892
|
const pane = /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(import_framer_motion3.AnimatePresence, { children: isRightPaneOpen && /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(import_framer_motion3.motion.div, { ...tid, ...(0, import_runtime105.mergeProps)(void 0, sm ? {
|
|
22855
22893
|
top: bannerHeightPx
|
|
@@ -22920,7 +22958,7 @@ function DocumentScrollRightPaneLayout(props) {
|
|
|
22920
22958
|
} = useBreakpoint();
|
|
22921
22959
|
const isSplitPaneOpen = isRightPaneOpen && !sm;
|
|
22922
22960
|
const effectivePaneWidth = isSplitPaneOpen ? documentScrollRightPaneWidth(paneWidth) : "0px";
|
|
22923
|
-
(0,
|
|
22961
|
+
(0, import_react118.useLayoutEffect)(() => {
|
|
22924
22962
|
const root = document.documentElement;
|
|
22925
22963
|
const previous = root.style.getPropertyValue(beamFloatingRightOffsetVar);
|
|
22926
22964
|
root.style.setProperty(beamFloatingRightOffsetVar, effectivePaneWidth);
|
|
@@ -22970,10 +23008,10 @@ function DocumentScrollRightPaneSpacer({
|
|
|
22970
23008
|
}
|
|
22971
23009
|
|
|
22972
23010
|
// src/components/Layout/GridTableLayout/GridTableLayoutActions.tsx
|
|
22973
|
-
var
|
|
23011
|
+
var import_react124 = require("react");
|
|
22974
23012
|
|
|
22975
23013
|
// src/components/ButtonMenu.tsx
|
|
22976
|
-
var
|
|
23014
|
+
var import_react119 = require("react");
|
|
22977
23015
|
var import_react_aria54 = require("react-aria");
|
|
22978
23016
|
var import_react_stately17 = require("react-stately");
|
|
22979
23017
|
var import_jsx_runtime162 = require("react/jsx-runtime");
|
|
@@ -22985,7 +23023,7 @@ function ButtonMenu(props) {
|
|
|
22985
23023
|
onChange = props.onChange;
|
|
22986
23024
|
}
|
|
22987
23025
|
const state = (0, import_react_stately17.useMenuTriggerState)({ isOpen: defaultOpen });
|
|
22988
|
-
const buttonRef = (0,
|
|
23026
|
+
const buttonRef = (0, import_react119.useRef)(null);
|
|
22989
23027
|
const { menuTriggerProps, menuProps } = (0, import_react_aria54.useMenuTrigger)({ isDisabled: !!disabled }, state, buttonRef);
|
|
22990
23028
|
const tid = useTestIds(
|
|
22991
23029
|
props,
|
|
@@ -23501,7 +23539,7 @@ var CheckboxFilter = class extends BaseFilter {
|
|
|
23501
23539
|
};
|
|
23502
23540
|
|
|
23503
23541
|
// src/components/Filters/FilterModal.tsx
|
|
23504
|
-
var
|
|
23542
|
+
var import_react121 = require("react");
|
|
23505
23543
|
|
|
23506
23544
|
// src/components/Modal/ConfirmCloseModal.tsx
|
|
23507
23545
|
var import_jsx_runtime172 = require("react/jsx-runtime");
|
|
@@ -23548,12 +23586,12 @@ function ConfirmCloseModal(props) {
|
|
|
23548
23586
|
}
|
|
23549
23587
|
|
|
23550
23588
|
// src/components/Modal/OpenModal.tsx
|
|
23551
|
-
var
|
|
23589
|
+
var import_react120 = require("react");
|
|
23552
23590
|
var import_jsx_runtime173 = require("react/jsx-runtime");
|
|
23553
23591
|
function OpenModal(props) {
|
|
23554
23592
|
const { openModal } = useModal();
|
|
23555
23593
|
const { size, children, keepOpen, aiMode } = props;
|
|
23556
|
-
(0,
|
|
23594
|
+
(0, import_react120.useEffect)(() => {
|
|
23557
23595
|
if (!keepOpen) {
|
|
23558
23596
|
openModal({ size, content: children, aiMode });
|
|
23559
23597
|
}
|
|
@@ -23578,7 +23616,7 @@ function FilterModal(props) {
|
|
|
23578
23616
|
const {
|
|
23579
23617
|
closeModal
|
|
23580
23618
|
} = useModal();
|
|
23581
|
-
const [modalFilter, setModalFilter] = (0,
|
|
23619
|
+
const [modalFilter, setModalFilter] = (0, import_react121.useState)(filter);
|
|
23582
23620
|
return /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)(import_jsx_runtime174.Fragment, { children: [
|
|
23583
23621
|
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(ModalHeader, { children: "More Filters" }),
|
|
23584
23622
|
/* @__PURE__ */ (0, import_jsx_runtime174.jsx)(ModalBody, { children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("div", { className: "df fdc", children: safeEntries(filters).map(([key, f]) => /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(ModalFilterItem, { label: f.hideLabelInModal ? void 0 : f.label, children: f.render(modalFilter[key], (value) => setModalFilter(updateFilter(modalFilter, key, value)), testId, true, false) }, key)) }) }),
|
|
@@ -23621,7 +23659,7 @@ function ModalFilterItem({
|
|
|
23621
23659
|
}
|
|
23622
23660
|
|
|
23623
23661
|
// src/components/Filters/Filters.tsx
|
|
23624
|
-
var
|
|
23662
|
+
var import_react122 = require("react");
|
|
23625
23663
|
var import_runtime109 = require("@homebound/truss/runtime");
|
|
23626
23664
|
var import_jsx_runtime175 = require("react/jsx-runtime");
|
|
23627
23665
|
function Filters(props) {
|
|
@@ -23637,7 +23675,7 @@ function Filters(props) {
|
|
|
23637
23675
|
const {
|
|
23638
23676
|
openModal
|
|
23639
23677
|
} = useModal();
|
|
23640
|
-
const [pageFilters, modalFilters] = (0,
|
|
23678
|
+
const [pageFilters, modalFilters] = (0, import_react122.useMemo)(() => {
|
|
23641
23679
|
const impls = safeEntries(filterDefs).map(([key, fn]) => [key, fn(key)]);
|
|
23642
23680
|
if (!vertical && impls.length > numberOfInlineFilters) {
|
|
23643
23681
|
return [Object.fromEntries(impls.slice(0, numberOfInlineFilters - 1)), Object.fromEntries(impls.slice(numberOfInlineFilters - 1))];
|
|
@@ -23666,7 +23704,7 @@ function Filters(props) {
|
|
|
23666
23704
|
Object.keys(filter).length > 0 && /* @__PURE__ */ (0, import_jsx_runtime175.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(Button, { label: "Clear", variant: "tertiary", onClick: () => onChange({}), ...testId.clearBtn }) })
|
|
23667
23705
|
] });
|
|
23668
23706
|
}
|
|
23669
|
-
var _Filters = (0,
|
|
23707
|
+
var _Filters = (0, import_react122.memo)(Filters);
|
|
23670
23708
|
|
|
23671
23709
|
// src/components/Filters/ToggleFilter.tsx
|
|
23672
23710
|
var import_jsx_runtime176 = require("react/jsx-runtime");
|
|
@@ -23704,7 +23742,7 @@ var ToggleFilter = class extends BaseFilter {
|
|
|
23704
23742
|
};
|
|
23705
23743
|
|
|
23706
23744
|
// src/components/Table/components/EditColumnsButton.tsx
|
|
23707
|
-
var
|
|
23745
|
+
var import_react123 = require("react");
|
|
23708
23746
|
var import_react_aria55 = require("react-aria");
|
|
23709
23747
|
var import_react_stately18 = require("react-stately");
|
|
23710
23748
|
var import_runtime110 = require("@homebound/truss/runtime");
|
|
@@ -23719,7 +23757,7 @@ function EditColumnsButton(props) {
|
|
|
23719
23757
|
const state = (0, import_react_stately18.useMenuTriggerState)({
|
|
23720
23758
|
isOpen: defaultOpen
|
|
23721
23759
|
});
|
|
23722
|
-
const buttonRef = (0,
|
|
23760
|
+
const buttonRef = (0, import_react123.useRef)(null);
|
|
23723
23761
|
const {
|
|
23724
23762
|
menuTriggerProps
|
|
23725
23763
|
} = (0, import_react_aria55.useMenuTrigger)({
|
|
@@ -23729,7 +23767,7 @@ function EditColumnsButton(props) {
|
|
|
23729
23767
|
const {
|
|
23730
23768
|
sm
|
|
23731
23769
|
} = useBreakpoint();
|
|
23732
|
-
const options = (0,
|
|
23770
|
+
const options = (0, import_react123.useMemo)(() => columns.filter((column2) => column2.canHide).filter((column2) => {
|
|
23733
23771
|
if (!column2.name || column2.name.length === 0 || !column2.id || column2.id.length === 0) {
|
|
23734
23772
|
console.warn("Column is missing 'name' and/or 'id' property required by the Edit Columns button", column2);
|
|
23735
23773
|
return false;
|
|
@@ -23740,11 +23778,11 @@ function EditColumnsButton(props) {
|
|
|
23740
23778
|
value: column2.id
|
|
23741
23779
|
})), [columns]);
|
|
23742
23780
|
const selectedValues = useComputed(() => api.getVisibleColumnIds(), [api]);
|
|
23743
|
-
const setSelectedValues = (0,
|
|
23781
|
+
const setSelectedValues = (0, import_react123.useCallback)((ids) => {
|
|
23744
23782
|
api.resetColumnWidths();
|
|
23745
23783
|
api.setVisibleColumns(columns.filter((column2) => column2.canHide ? ids.includes(column2.id) : true).map((c) => c.id));
|
|
23746
23784
|
}, [columns, api]);
|
|
23747
|
-
const hasHiddenColumn = (0,
|
|
23785
|
+
const hasHiddenColumn = (0, import_react123.useMemo)(() => {
|
|
23748
23786
|
const selectableOptionValues = options.map((option) => option.value);
|
|
23749
23787
|
return selectableOptionValues.some((option) => !selectedValues.includes(option));
|
|
23750
23788
|
}, [options, selectedValues]);
|
|
@@ -23769,7 +23807,7 @@ function EditColumnsButton(props) {
|
|
|
23769
23807
|
maxHeight: "maxh_512px",
|
|
23770
23808
|
boxShadow: "bshBasic h_bshHover"
|
|
23771
23809
|
}), children: [
|
|
23772
|
-
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)("div", { className: "dg gtc_1fr_auto gap2 pt2 pb2 pr2 pl2 fg1 mh0 oya", children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime177.jsxs)(
|
|
23810
|
+
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)("div", { className: "dg gtc_1fr_auto gap2 pt2 pb2 pr2 pl2 fg1 mh0 oya", children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime177.jsxs)(import_react123.Fragment, { children: [
|
|
23773
23811
|
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)("div", { className: "fw4 fz_14px lh_20px wsnw oh to_ellipsis pr1", children: option.label }),
|
|
23774
23812
|
/* @__PURE__ */ (0, import_jsx_runtime177.jsx)(Switch, { compact: true, selected: selectedValues.includes(option.value), onChange: (value) => setSelectedValues(value ? [...selectedValues, option.value] : selectedValues.filter((v) => v !== option.value)), labelStyle: "hidden", label: option.label, ...tid[`option${option.value}`] })
|
|
23775
23813
|
] }, option.value)) }),
|
|
@@ -23949,14 +23987,14 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
23949
23987
|
sm
|
|
23950
23988
|
} = useBreakpoint();
|
|
23951
23989
|
const inDocumentScrollLayout = useDocumentScrollLayout();
|
|
23952
|
-
const [showSearch, setShowSearch] = (0,
|
|
23953
|
-
const [showFilters, setShowFilters] = (0,
|
|
23990
|
+
const [showSearch, setShowSearch] = (0, import_react124.useState)(false);
|
|
23991
|
+
const [showFilters, setShowFilters] = (0, import_react124.useState)(false);
|
|
23954
23992
|
const [{
|
|
23955
23993
|
search: initialValue
|
|
23956
23994
|
}, setQueryParams] = (0, import_use_query_params3.useQueryParams)({
|
|
23957
23995
|
search: import_use_query_params3.StringParam
|
|
23958
23996
|
});
|
|
23959
|
-
const [searchValue, setSearchValue] = (0,
|
|
23997
|
+
const [searchValue, setSearchValue] = (0, import_react124.useState)(initialValue || "");
|
|
23960
23998
|
const handleSearchDebounced = (0, import_use_debounce7.useDebouncedCallback)((value) => {
|
|
23961
23999
|
if (searchProps) {
|
|
23962
24000
|
searchProps.onSearch(value);
|
|
@@ -23971,8 +24009,8 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
23971
24009
|
const controlCount = filterCount + (hasGroupBy ? 1 : 0);
|
|
23972
24010
|
const hasFilterControls = controlCount > 0;
|
|
23973
24011
|
const showInlineControl = !sm && controlCount === 1 && (hasGroupBy || !!(filter && setFilter));
|
|
23974
|
-
const activeFilterCount = (0,
|
|
23975
|
-
const filterImpls = (0,
|
|
24012
|
+
const activeFilterCount = (0, import_react124.useMemo)(() => filter ? getActiveFilterCount(filter) : 0, [filter]);
|
|
24013
|
+
const filterImpls = (0, import_react124.useMemo)(() => filterDefs ? buildFilterImpls(filterDefs) : {}, [filterDefs]);
|
|
23976
24014
|
const searchTextField = /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(TextField, { label: "Search", labelStyle: "hidden", value: searchValue, onChange: (v) => {
|
|
23977
24015
|
setSearchValue(v ?? "");
|
|
23978
24016
|
handleSearchDebounced(v ?? "");
|
|
@@ -24028,10 +24066,10 @@ function GridTableLayoutActionsComponent(props) {
|
|
|
24028
24066
|
hasFilterControls && !showInlineControl && /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(FilterPanel, { isOpen: showFilters, groupBy, filterImpls, filter, setFilter, onClear: clearFilters })
|
|
24029
24067
|
] });
|
|
24030
24068
|
}
|
|
24031
|
-
var _GridTableLayoutActions = (0,
|
|
24069
|
+
var _GridTableLayoutActions = (0, import_react124.memo)(GridTableLayoutActionsComponent);
|
|
24032
24070
|
|
|
24033
24071
|
// src/components/Layout/GridTableLayout/QueryTable.tsx
|
|
24034
|
-
var
|
|
24072
|
+
var import_react125 = require("react");
|
|
24035
24073
|
|
|
24036
24074
|
// src/components/LoadingSkeleton.tsx
|
|
24037
24075
|
var import_runtime113 = require("@homebound/truss/runtime");
|
|
@@ -24091,9 +24129,9 @@ function QueryTable(props) {
|
|
|
24091
24129
|
...others
|
|
24092
24130
|
} = props;
|
|
24093
24131
|
const data = query.loading || query.error ? void 0 : query.data;
|
|
24094
|
-
const rows = (0,
|
|
24132
|
+
const rows = (0, import_react125.useMemo)(() => createRows(data), [createRows, data]);
|
|
24095
24133
|
const fallbackMessage = query.loading ? "Loading\u2026" : query.error ? `Error: ${query.error.message}` : void 0;
|
|
24096
|
-
const emptyState = (0,
|
|
24134
|
+
const emptyState = (0, import_react125.useMemo)(() => {
|
|
24097
24135
|
if (query.loading || query.error) return void 0;
|
|
24098
24136
|
if (emptyStateProp) return emptyStateProp;
|
|
24099
24137
|
return { title: emptyFallback };
|
|
@@ -24110,10 +24148,10 @@ function LoadingTable(props) {
|
|
|
24110
24148
|
}
|
|
24111
24149
|
|
|
24112
24150
|
// src/components/Layout/GridTableLayout/usePersistedTableView.ts
|
|
24113
|
-
var
|
|
24151
|
+
var import_react126 = require("react");
|
|
24114
24152
|
function usePersistedTableView(defaultView, persist) {
|
|
24115
24153
|
const storageKey = persist ? getGridTableViewStorageKey(window.location.pathname) : void 0;
|
|
24116
|
-
const [view, setView] = (0,
|
|
24154
|
+
const [view, setView] = (0, import_react126.useState)(() => {
|
|
24117
24155
|
if (!storageKey) return defaultView;
|
|
24118
24156
|
try {
|
|
24119
24157
|
return parseStoredTableView(localStorage.getItem(storageKey)) ?? defaultView;
|
|
@@ -24121,7 +24159,7 @@ function usePersistedTableView(defaultView, persist) {
|
|
|
24121
24159
|
return defaultView;
|
|
24122
24160
|
}
|
|
24123
24161
|
});
|
|
24124
|
-
const setViewAndPersist = (0,
|
|
24162
|
+
const setViewAndPersist = (0, import_react126.useCallback)(
|
|
24125
24163
|
(next) => {
|
|
24126
24164
|
setView(next);
|
|
24127
24165
|
if (storageKey) {
|
|
@@ -24162,36 +24200,36 @@ function GridTableLayoutComponent(props) {
|
|
|
24162
24200
|
const rightPaneWidth = withRightPane === true ? defaultDocumentScrollRightPaneWidth : typeof withRightPane === "number" ? withRightPane : void 0;
|
|
24163
24201
|
const tid = useTestIds(props);
|
|
24164
24202
|
const columns = tableProps.columns;
|
|
24165
|
-
const hasHideableColumns = (0,
|
|
24203
|
+
const hasHideableColumns = (0, import_react127.useMemo)(() => {
|
|
24166
24204
|
if (hideEditColumns) return false;
|
|
24167
24205
|
validateColumns(columns);
|
|
24168
24206
|
return columns.some((c) => c.canHide);
|
|
24169
24207
|
}, [columns, hideEditColumns]);
|
|
24170
|
-
const api = (0,
|
|
24208
|
+
const api = (0, import_react127.useMemo)(() => tableProps.api ?? new GridTableApiImpl(), [tableProps.api]);
|
|
24171
24209
|
const [view, setView] = usePersistedTableView(defaultView, !!withCardView);
|
|
24172
24210
|
const clientSearch = layoutState?.search === "client" ? layoutState.searchString : void 0;
|
|
24173
24211
|
const showTableActions = !!(layoutState?.filterDefs || layoutState?.search || hasHideableColumns || withCardView || actionMenu);
|
|
24174
24212
|
const isVirtualized = tableProps.as === "virtual" || view === "card";
|
|
24175
24213
|
const inDocumentScrollLayout = useDocumentScrollLayout();
|
|
24176
|
-
const tableActionsRef = (0,
|
|
24177
|
-
const tableWrapperRef = (0,
|
|
24214
|
+
const tableActionsRef = (0, import_react127.useRef)(null);
|
|
24215
|
+
const tableWrapperRef = (0, import_react127.useRef)(null);
|
|
24178
24216
|
useSetTableActionsHeight(tableWrapperRef, tableActionsRef, inDocumentScrollLayout && showTableActions);
|
|
24179
24217
|
const visibleColumnIds = useComputed(() => api.getVisibleColumnIds(), [api]);
|
|
24180
|
-
(0,
|
|
24218
|
+
(0, import_react127.useEffect)(() => {
|
|
24181
24219
|
if (layoutState?.setVisibleColumnIds) {
|
|
24182
24220
|
layoutState.setVisibleColumnIds(visibleColumnIds);
|
|
24183
24221
|
}
|
|
24184
24222
|
}, [visibleColumnIds, layoutState]);
|
|
24185
24223
|
const visibleColumnsStorageKey = layoutState?.persistedColumnsStorageKey;
|
|
24186
|
-
const filterSearchProps = (0,
|
|
24224
|
+
const filterSearchProps = (0, import_react127.useMemo)(() => layoutState?.search ? {
|
|
24187
24225
|
onSearch: layoutState.setSearchString
|
|
24188
24226
|
} : void 0, [layoutState?.search, layoutState?.setSearchString]);
|
|
24189
|
-
const searchApiRef = (0,
|
|
24190
|
-
const clearFilters = (0,
|
|
24227
|
+
const searchApiRef = (0, import_react127.useRef)();
|
|
24228
|
+
const clearFilters = (0, import_react127.useCallback)(() => {
|
|
24191
24229
|
layoutState?.clearFilters();
|
|
24192
24230
|
searchApiRef.current?.clear();
|
|
24193
24231
|
}, [layoutState]);
|
|
24194
|
-
const emptyState = (0,
|
|
24232
|
+
const emptyState = (0, import_react127.useMemo)(() => composeEmptyState(tableProps, layoutState, layoutEmptyFallback, clearFilters), [layoutEmptyFallback, layoutState, tableProps, clearFilters]);
|
|
24195
24233
|
const tableActionsEl = /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(_GridTableLayoutActions, { filterDefs: layoutState?.filterDefs, filter: layoutState?.filter, setFilter: layoutState?.setFilter, groupBy: layoutState?.groupBy, searchProps: filterSearchProps, hasHideableColumns, columns, api, withCardView, view, setView, clearFilters, searchApi: searchApiRef, actionMenu });
|
|
24196
24234
|
const cardAs = view === "card" ? "card" : void 0;
|
|
24197
24235
|
const tableStyle = resolveGridTableLayoutStyle(tableProps.style, inDocumentScrollLayout);
|
|
@@ -24232,7 +24270,7 @@ function GridTableLayoutComponent(props) {
|
|
|
24232
24270
|
/* @__PURE__ */ (0, import_jsx_runtime184.jsx)("div", { ref: tableWrapperRef, className: "display_contents", ...tid.tableWrapper, children: tableScrollContent })
|
|
24233
24271
|
);
|
|
24234
24272
|
}
|
|
24235
|
-
var GridTableLayout =
|
|
24273
|
+
var GridTableLayout = import_react127.default.memo(GridTableLayoutComponent);
|
|
24236
24274
|
function validateColumns(columns) {
|
|
24237
24275
|
for (const col of columns) {
|
|
24238
24276
|
if (!col.id || !col.name) {
|
|
@@ -24257,11 +24295,11 @@ function useGridTableLayoutState({
|
|
|
24257
24295
|
const groupBy = useGroupBy(maybeGroupBy ?? {
|
|
24258
24296
|
none: "none"
|
|
24259
24297
|
});
|
|
24260
|
-
const [searchString, setSearchString] = (0,
|
|
24298
|
+
const [searchString, setSearchString] = (0, import_react127.useState)("");
|
|
24261
24299
|
const columnsFallback = "unset-columns";
|
|
24262
24300
|
const [visibleColumnIds, setVisibleColumnIds] = useSessionStorage(persistedColumns?.storageKey ?? columnsFallback, void 0);
|
|
24263
24301
|
const filteringActive = getActiveFilterCount(filter) > 0 || !!searchString;
|
|
24264
|
-
const clearFilters = (0,
|
|
24302
|
+
const clearFilters = (0, import_react127.useCallback)(() => {
|
|
24265
24303
|
setFilter({});
|
|
24266
24304
|
setSearchString("");
|
|
24267
24305
|
}, [setFilter]);
|
|
@@ -24292,7 +24330,7 @@ function composeEmptyState(tableProps, layoutState, layoutEmptyFallback, clearFi
|
|
|
24292
24330
|
};
|
|
24293
24331
|
}
|
|
24294
24332
|
function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
24295
|
-
const syncHeightVar = (0,
|
|
24333
|
+
const syncHeightVar = (0, import_react127.useCallback)(() => {
|
|
24296
24334
|
const tableWrapper = tableWrapperRef.current;
|
|
24297
24335
|
if (!tableWrapper) return;
|
|
24298
24336
|
if (!enabled) {
|
|
@@ -24306,11 +24344,11 @@ function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
|
24306
24344
|
tableWrapper.style.removeProperty(beamTableActionsHeightVar);
|
|
24307
24345
|
}
|
|
24308
24346
|
}, [enabled, tableActionsRef, tableWrapperRef]);
|
|
24309
|
-
(0,
|
|
24347
|
+
(0, import_utils150.useResizeObserver)({
|
|
24310
24348
|
ref: tableActionsRef,
|
|
24311
24349
|
onResize: enabled ? syncHeightVar : noop
|
|
24312
24350
|
});
|
|
24313
|
-
(0,
|
|
24351
|
+
(0, import_react127.useLayoutEffect)(() => {
|
|
24314
24352
|
syncHeightVar();
|
|
24315
24353
|
const tableWrapper = tableWrapperRef.current;
|
|
24316
24354
|
return () => {
|
|
@@ -24350,7 +24388,7 @@ function PreventBrowserScroll({
|
|
|
24350
24388
|
|
|
24351
24389
|
// src/components/Layout/RightPaneLayout/RightPaneLayout.tsx
|
|
24352
24390
|
var import_framer_motion4 = require("framer-motion");
|
|
24353
|
-
var
|
|
24391
|
+
var import_react128 = require("react");
|
|
24354
24392
|
var import_runtime115 = require("@homebound/truss/runtime");
|
|
24355
24393
|
var import_jsx_runtime186 = require("react/jsx-runtime");
|
|
24356
24394
|
var __maybeInc24 = (inc) => {
|
|
@@ -24369,7 +24407,7 @@ function RightPaneLayout(props) {
|
|
|
24369
24407
|
clearPane,
|
|
24370
24408
|
closePane
|
|
24371
24409
|
} = useRightPaneContext();
|
|
24372
|
-
(0,
|
|
24410
|
+
(0, import_react128.useEffect)(() => closePane, [closePane]);
|
|
24373
24411
|
return /* @__PURE__ */ (0, import_jsx_runtime186.jsx)("div", { className: "h100 df oxh", children: /* @__PURE__ */ (0, import_jsx_runtime186.jsxs)(import_jsx_runtime186.Fragment, { children: [
|
|
24374
24412
|
/* @__PURE__ */ (0, import_jsx_runtime186.jsx)("div", { ...(0, import_runtime115.trussProps)({
|
|
24375
24413
|
...{
|
|
@@ -24481,7 +24519,7 @@ function ScrollableFooter(props) {
|
|
|
24481
24519
|
|
|
24482
24520
|
// src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
|
|
24483
24521
|
var import_framer_motion5 = require("framer-motion");
|
|
24484
|
-
var
|
|
24522
|
+
var import_react129 = require("react");
|
|
24485
24523
|
|
|
24486
24524
|
// src/components/Layout/TableReviewLayout/SidePanel.tsx
|
|
24487
24525
|
var import_jsx_runtime188 = require("react/jsx-runtime");
|
|
@@ -24521,8 +24559,8 @@ function TableReviewLayout(props) {
|
|
|
24521
24559
|
rightPaneWidth = defaultRightPaneWidth
|
|
24522
24560
|
} = props;
|
|
24523
24561
|
const tid = useTestIds(props, "tableReviewLayout");
|
|
24524
|
-
const [isPanelVisible, setIsPanelVisible] = (0,
|
|
24525
|
-
(0,
|
|
24562
|
+
const [isPanelVisible, setIsPanelVisible] = (0, import_react129.useState)(!!panelContent);
|
|
24563
|
+
(0, import_react129.useEffect)(() => {
|
|
24526
24564
|
setIsPanelVisible(!!panelContent);
|
|
24527
24565
|
}, [panelContent]);
|
|
24528
24566
|
function handleClosePanel() {
|
|
@@ -24635,7 +24673,7 @@ function TableReviewLayout(props) {
|
|
|
24635
24673
|
|
|
24636
24674
|
// src/components/BeamContext.tsx
|
|
24637
24675
|
var import_jsx_runtime190 = require("react/jsx-runtime");
|
|
24638
|
-
var BeamContext = (0,
|
|
24676
|
+
var BeamContext = (0, import_react130.createContext)({
|
|
24639
24677
|
modalState: new EmptyRef(),
|
|
24640
24678
|
modalCanCloseChecks: new EmptyRef(),
|
|
24641
24679
|
modalHeaderDiv: void 0,
|
|
@@ -24648,22 +24686,22 @@ var BeamContext = (0, import_react129.createContext)({
|
|
|
24648
24686
|
sdHeaderDiv: void 0
|
|
24649
24687
|
});
|
|
24650
24688
|
function BeamProvider({ children, documentTitleConfig, ...presentationProps }) {
|
|
24651
|
-
const [, tick] = (0,
|
|
24652
|
-
const modalRef = (0,
|
|
24653
|
-
const modalHeaderDiv = (0,
|
|
24654
|
-
const modalBannerDiv = (0,
|
|
24655
|
-
const modalBodyDiv = (0,
|
|
24689
|
+
const [, tick] = (0, import_react130.useReducer)((prev) => prev + 1, 0);
|
|
24690
|
+
const modalRef = (0, import_react130.useRef)();
|
|
24691
|
+
const modalHeaderDiv = (0, import_react130.useMemo)(() => document.createElement("div"), []);
|
|
24692
|
+
const modalBannerDiv = (0, import_react130.useMemo)(() => document.createElement("div"), []);
|
|
24693
|
+
const modalBodyDiv = (0, import_react130.useMemo)(() => {
|
|
24656
24694
|
const el = document.createElement("div");
|
|
24657
24695
|
el.style.height = "100%";
|
|
24658
24696
|
return el;
|
|
24659
24697
|
}, []);
|
|
24660
|
-
const modalCanCloseChecksRef = (0,
|
|
24661
|
-
const modalFooterDiv = (0,
|
|
24662
|
-
const drawerContentStackRef = (0,
|
|
24663
|
-
const drawerCanCloseChecks = (0,
|
|
24664
|
-
const drawerCanCloseDetailsChecks = (0,
|
|
24665
|
-
const sdHeaderDiv = (0,
|
|
24666
|
-
const context = (0,
|
|
24698
|
+
const modalCanCloseChecksRef = (0, import_react130.useRef)([]);
|
|
24699
|
+
const modalFooterDiv = (0, import_react130.useMemo)(() => document.createElement("div"), []);
|
|
24700
|
+
const drawerContentStackRef = (0, import_react130.useRef)([]);
|
|
24701
|
+
const drawerCanCloseChecks = (0, import_react130.useRef)([]);
|
|
24702
|
+
const drawerCanCloseDetailsChecks = (0, import_react130.useRef)([]);
|
|
24703
|
+
const sdHeaderDiv = (0, import_react130.useMemo)(() => document.createElement("div"), []);
|
|
24704
|
+
const context = (0, import_react130.useMemo)(() => {
|
|
24667
24705
|
return {
|
|
24668
24706
|
// These two keys need to trigger re-renders on change
|
|
24669
24707
|
modalState: new PretendRefThatTicks(modalRef, tick),
|
|
@@ -24702,11 +24740,11 @@ var PretendRefThatTicks = class {
|
|
|
24702
24740
|
}
|
|
24703
24741
|
};
|
|
24704
24742
|
function useBeamContext() {
|
|
24705
|
-
return (0,
|
|
24743
|
+
return (0, import_react130.useContext)(BeamContext);
|
|
24706
24744
|
}
|
|
24707
24745
|
|
|
24708
24746
|
// src/components/Breadcrumbs.tsx
|
|
24709
|
-
var
|
|
24747
|
+
var import_react131 = require("react");
|
|
24710
24748
|
var import_react_router_dom6 = require("react-router-dom");
|
|
24711
24749
|
var import_runtime117 = require("@homebound/truss/runtime");
|
|
24712
24750
|
var import_jsx_runtime191 = (
|
|
@@ -24718,14 +24756,14 @@ function Breadcrumbs({
|
|
|
24718
24756
|
}) {
|
|
24719
24757
|
const tid = useTestIds({}, "breadcrumb");
|
|
24720
24758
|
const items = Array.isArray(breadcrumbs) ? breadcrumbs : [breadcrumbs];
|
|
24721
|
-
const [collapsed, setCollapsed] = (0,
|
|
24759
|
+
const [collapsed, setCollapsed] = (0, import_react131.useState)(true);
|
|
24722
24760
|
const {
|
|
24723
24761
|
sm
|
|
24724
24762
|
} = useBreakpoint();
|
|
24725
24763
|
const leadCount = sm ? 1 : 2;
|
|
24726
24764
|
const shouldCollapse = collapsed && items.length >= leadCount + 2;
|
|
24727
24765
|
function renderBreadcrumb(bc, index, isLast) {
|
|
24728
|
-
return /* @__PURE__ */ (0, import_jsx_runtime191.jsxs)(
|
|
24766
|
+
return /* @__PURE__ */ (0, import_jsx_runtime191.jsxs)(import_react131.Fragment, { children: [
|
|
24729
24767
|
index > 0 && /* @__PURE__ */ (0, import_jsx_runtime191.jsx)("span", { className: "fs0 fw4 fz_12px lh_16px", children: "/" }),
|
|
24730
24768
|
/* @__PURE__ */ (0, import_jsx_runtime191.jsx)(import_react_router_dom6.Link, { ...tid.link, to: bc.href, title: bc.label, ...(0, import_runtime117.trussProps)({
|
|
24731
24769
|
...{
|
|
@@ -24754,14 +24792,14 @@ function Breadcrumbs({
|
|
|
24754
24792
|
}
|
|
24755
24793
|
|
|
24756
24794
|
// src/components/ButtonDatePicker.tsx
|
|
24757
|
-
var
|
|
24795
|
+
var import_react132 = require("react");
|
|
24758
24796
|
var import_react_aria57 = require("react-aria");
|
|
24759
24797
|
var import_react_stately19 = require("react-stately");
|
|
24760
24798
|
var import_jsx_runtime192 = require("react/jsx-runtime");
|
|
24761
24799
|
function ButtonDatePicker(props) {
|
|
24762
24800
|
const { defaultOpen, disabled, trigger, onSelect, ...datePickerProps } = props;
|
|
24763
24801
|
const state = (0, import_react_stately19.useMenuTriggerState)({ isOpen: defaultOpen });
|
|
24764
|
-
const buttonRef = (0,
|
|
24802
|
+
const buttonRef = (0, import_react132.useRef)(null);
|
|
24765
24803
|
const {
|
|
24766
24804
|
menuTriggerProps,
|
|
24767
24805
|
menuProps: { autoFocus: _af, ...menuProps }
|
|
@@ -24784,7 +24822,7 @@ function ButtonDatePicker(props) {
|
|
|
24784
24822
|
}
|
|
24785
24823
|
|
|
24786
24824
|
// src/components/ButtonGroup.tsx
|
|
24787
|
-
var
|
|
24825
|
+
var import_react133 = require("react");
|
|
24788
24826
|
var import_react_aria58 = require("react-aria");
|
|
24789
24827
|
var import_runtime118 = require("@homebound/truss/runtime");
|
|
24790
24828
|
var import_jsx_runtime193 = (
|
|
@@ -24832,7 +24870,7 @@ function GroupButton(props) {
|
|
|
24832
24870
|
isDisabled: !!disabled,
|
|
24833
24871
|
...otherProps
|
|
24834
24872
|
};
|
|
24835
|
-
const ref = (0,
|
|
24873
|
+
const ref = (0, import_react133.useRef)(null);
|
|
24836
24874
|
const {
|
|
24837
24875
|
buttonProps,
|
|
24838
24876
|
isPressed
|
|
@@ -24966,12 +25004,12 @@ var iconStyles2 = {
|
|
|
24966
25004
|
};
|
|
24967
25005
|
|
|
24968
25006
|
// src/components/Card.tsx
|
|
24969
|
-
var
|
|
25007
|
+
var import_react135 = require("react");
|
|
24970
25008
|
var import_react_aria59 = require("react-aria");
|
|
24971
25009
|
|
|
24972
25010
|
// src/components/Tag.tsx
|
|
24973
|
-
var
|
|
24974
|
-
var
|
|
25011
|
+
var import_utils159 = require("@react-aria/utils");
|
|
25012
|
+
var import_react134 = require("react");
|
|
24975
25013
|
var import_runtime119 = require("@homebound/truss/runtime");
|
|
24976
25014
|
var import_jsx_runtime194 = require("react/jsx-runtime");
|
|
24977
25015
|
function Tag(props) {
|
|
@@ -24993,9 +25031,9 @@ function Tag(props) {
|
|
|
24993
25031
|
padding
|
|
24994
25032
|
} = getVariantStyles(variant, type);
|
|
24995
25033
|
const tid = useTestIds(otherProps);
|
|
24996
|
-
const [showTooltip, setShowTooltip] = (0,
|
|
24997
|
-
const ref = (0,
|
|
24998
|
-
(0,
|
|
25034
|
+
const [showTooltip, setShowTooltip] = (0, import_react134.useState)(false);
|
|
25035
|
+
const ref = (0, import_react134.useRef)(null);
|
|
25036
|
+
(0, import_utils159.useResizeObserver)({
|
|
24999
25037
|
ref,
|
|
25000
25038
|
onResize: () => {
|
|
25001
25039
|
if (!isIconOnly && ref.current) {
|
|
@@ -25138,7 +25176,7 @@ function Card(props) {
|
|
|
25138
25176
|
});
|
|
25139
25177
|
const isList = type === "list";
|
|
25140
25178
|
const imgHeight = isList ? 96 : bordered ? 224 : 256;
|
|
25141
|
-
const styles = (0,
|
|
25179
|
+
const styles = (0, import_react135.useMemo)(() => ({
|
|
25142
25180
|
...baseStyles3(type),
|
|
25143
25181
|
...fullWidth && fullWidthStyles,
|
|
25144
25182
|
...isList && listStyles,
|
|
@@ -25488,12 +25526,12 @@ function setEnvironmentFavicon(env, favicons) {
|
|
|
25488
25526
|
}
|
|
25489
25527
|
|
|
25490
25528
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
25491
|
-
var
|
|
25529
|
+
var import_react137 = require("react");
|
|
25492
25530
|
|
|
25493
25531
|
// src/components/Grid/utils.ts
|
|
25494
|
-
var
|
|
25532
|
+
var import_react136 = require("react");
|
|
25495
25533
|
var gridItemDataAttribute = "data-grid-item-span";
|
|
25496
|
-
var ResponsiveGridContext = (0,
|
|
25534
|
+
var ResponsiveGridContext = (0, import_react136.createContext)(void 0);
|
|
25497
25535
|
|
|
25498
25536
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
25499
25537
|
var import_runtime123 = require("@homebound/truss/runtime");
|
|
@@ -25512,7 +25550,7 @@ function ResponsiveGrid(props) {
|
|
|
25512
25550
|
gap,
|
|
25513
25551
|
columns
|
|
25514
25552
|
});
|
|
25515
|
-
const config = (0,
|
|
25553
|
+
const config = (0, import_react137.useMemo)(() => ({
|
|
25516
25554
|
minColumnWidth,
|
|
25517
25555
|
gap,
|
|
25518
25556
|
columns
|
|
@@ -25539,7 +25577,7 @@ function ResponsiveGridItem(props) {
|
|
|
25539
25577
|
}
|
|
25540
25578
|
|
|
25541
25579
|
// src/components/Grid/useResponsiveGrid.ts
|
|
25542
|
-
var
|
|
25580
|
+
var import_react138 = require("react");
|
|
25543
25581
|
var import_runtime125 = require("@homebound/truss/runtime");
|
|
25544
25582
|
var __maybeInc25 = (inc) => {
|
|
25545
25583
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
@@ -25550,7 +25588,7 @@ function useResponsiveGrid(props) {
|
|
|
25550
25588
|
gap,
|
|
25551
25589
|
columns
|
|
25552
25590
|
} = props;
|
|
25553
|
-
const gridStyles = (0,
|
|
25591
|
+
const gridStyles = (0, import_react138.useMemo)(() => {
|
|
25554
25592
|
const gapCount = columns - 1;
|
|
25555
25593
|
const totalGapWidth = gap * gapCount;
|
|
25556
25594
|
const maxColumnWidth = `calc((100% - ${totalGapWidth}px) / ${columns})`;
|
|
@@ -25573,14 +25611,14 @@ function useResponsiveGrid(props) {
|
|
|
25573
25611
|
}
|
|
25574
25612
|
|
|
25575
25613
|
// src/components/Grid/useResponsiveGridItem.ts
|
|
25576
|
-
var
|
|
25614
|
+
var import_react139 = require("react");
|
|
25577
25615
|
var injectedResponsiveGridClasses = /* @__PURE__ */ new Set();
|
|
25578
25616
|
var responsiveGridStyleEl;
|
|
25579
25617
|
function useResponsiveGridItem(props) {
|
|
25580
25618
|
const { colSpan = 1, gridConfig } = props;
|
|
25581
|
-
const contextConfig = (0,
|
|
25619
|
+
const contextConfig = (0, import_react139.useContext)(ResponsiveGridContext);
|
|
25582
25620
|
const config = gridConfig ?? contextConfig;
|
|
25583
|
-
const { className, cssText } = (0,
|
|
25621
|
+
const { className, cssText } = (0, import_react139.useMemo)(() => {
|
|
25584
25622
|
if (!config || colSpan <= 1) return { className: "", cssText: "" };
|
|
25585
25623
|
const { minColumnWidth, gap } = config;
|
|
25586
25624
|
const className2 = responsiveGridItemClassName(config, colSpan);
|
|
@@ -25603,7 +25641,7 @@ function useResponsiveGridItem(props) {
|
|
|
25603
25641
|
};
|
|
25604
25642
|
}
|
|
25605
25643
|
function useResponsiveGridItemStyle(className, cssText) {
|
|
25606
|
-
(0,
|
|
25644
|
+
(0, import_react139.useEffect)(
|
|
25607
25645
|
function() {
|
|
25608
25646
|
if (!className || !cssText || typeof document === "undefined") return;
|
|
25609
25647
|
if (!responsiveGridStyleEl) {
|
|
@@ -25625,7 +25663,7 @@ function responsiveGridItemClassName(config, colSpan) {
|
|
|
25625
25663
|
}
|
|
25626
25664
|
|
|
25627
25665
|
// src/components/HbLoadingSpinner.tsx
|
|
25628
|
-
var
|
|
25666
|
+
var import_react140 = __toESM(require("react"), 1);
|
|
25629
25667
|
|
|
25630
25668
|
// src/components/HbLoadingSpinner.base64.ts
|
|
25631
25669
|
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";
|
|
@@ -25638,9 +25676,9 @@ function HbLoadingSpinner({
|
|
|
25638
25676
|
extraQuipsOnly,
|
|
25639
25677
|
iconOnly
|
|
25640
25678
|
}) {
|
|
25641
|
-
const ctx = (0,
|
|
25679
|
+
const ctx = (0, import_react140.useContext)(HbLoadingSpinnerContext);
|
|
25642
25680
|
const tid = useTestIds({}, "hbSpinner");
|
|
25643
|
-
const quip = (0,
|
|
25681
|
+
const quip = (0, import_react140.useMemo)(() => {
|
|
25644
25682
|
const allQuips = extraQuipsOnly && extraQuips.length !== 0 ? extraQuips : [...ctx.quips, ...extraQuips];
|
|
25645
25683
|
const forceQuips = extraQuips.length !== 0 || noQuips === false;
|
|
25646
25684
|
if (ctx.noQuips && !forceQuips || noQuips || allQuips.length === 0) return "Loading...";
|
|
@@ -25670,7 +25708,7 @@ function HbLoadingSpinner({
|
|
|
25670
25708
|
var dotDotDot = (str) => str.concat("...");
|
|
25671
25709
|
var HB_QUIPS_MISSION = ["Loading", "One Team", "On a Mission", "Executing Relentlessly", "Building Better", "In Service of Our Customers"].map(dotDotDot);
|
|
25672
25710
|
var HB_QUIPS_FLAVOR = ["HOM is HOW", "Scaling Massively", "#LoveIt"].map(dotDotDot);
|
|
25673
|
-
var HbLoadingSpinnerContext =
|
|
25711
|
+
var HbLoadingSpinnerContext = import_react140.default.createContext({
|
|
25674
25712
|
quips: ["Loading..."],
|
|
25675
25713
|
noQuips: false
|
|
25676
25714
|
});
|
|
@@ -25678,7 +25716,7 @@ function HbSpinnerProvider({
|
|
|
25678
25716
|
quips = [],
|
|
25679
25717
|
children
|
|
25680
25718
|
}) {
|
|
25681
|
-
const state = (0,
|
|
25719
|
+
const state = (0, import_react140.useMemo)(() => ({
|
|
25682
25720
|
quips,
|
|
25683
25721
|
noQuips: quips.length === 0
|
|
25684
25722
|
}), [quips]);
|
|
@@ -25763,7 +25801,7 @@ var typeStyles2 = {
|
|
|
25763
25801
|
};
|
|
25764
25802
|
|
|
25765
25803
|
// src/components/JumpLink.tsx
|
|
25766
|
-
var
|
|
25804
|
+
var import_react141 = require("react");
|
|
25767
25805
|
var import_react_aria61 = require("react-aria");
|
|
25768
25806
|
var import_runtime127 = require("@homebound/truss/runtime");
|
|
25769
25807
|
var import_jsx_runtime202 = require("react/jsx-runtime");
|
|
@@ -25776,7 +25814,7 @@ function JumpLink(props) {
|
|
|
25776
25814
|
__storyState,
|
|
25777
25815
|
...otherProps
|
|
25778
25816
|
} = props;
|
|
25779
|
-
const ref = (0,
|
|
25817
|
+
const ref = (0, import_react141.useRef)(null);
|
|
25780
25818
|
const {
|
|
25781
25819
|
linkProps
|
|
25782
25820
|
} = (0, import_react_aria61.useLink)({
|
|
@@ -25863,29 +25901,29 @@ var jumpLinkStyles = {
|
|
|
25863
25901
|
};
|
|
25864
25902
|
|
|
25865
25903
|
// src/components/MaxLines.tsx
|
|
25866
|
-
var
|
|
25867
|
-
var
|
|
25904
|
+
var import_utils168 = require("@react-aria/utils");
|
|
25905
|
+
var import_react142 = require("react");
|
|
25868
25906
|
var import_runtime128 = require("@homebound/truss/runtime");
|
|
25869
25907
|
var import_jsx_runtime203 = require("react/jsx-runtime");
|
|
25870
25908
|
function MaxLines({
|
|
25871
25909
|
maxLines,
|
|
25872
25910
|
children
|
|
25873
25911
|
}) {
|
|
25874
|
-
const elRef = (0,
|
|
25875
|
-
const [hasMore, setHasMore] = (0,
|
|
25876
|
-
const [expanded, setExpanded] = (0,
|
|
25877
|
-
(0,
|
|
25912
|
+
const elRef = (0, import_react142.useRef)(null);
|
|
25913
|
+
const [hasMore, setHasMore] = (0, import_react142.useState)(false);
|
|
25914
|
+
const [expanded, setExpanded] = (0, import_react142.useState)(false);
|
|
25915
|
+
(0, import_utils168.useLayoutEffect)(() => {
|
|
25878
25916
|
if (!elRef.current) return;
|
|
25879
25917
|
setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
25880
25918
|
}, []);
|
|
25881
|
-
(0,
|
|
25919
|
+
(0, import_react142.useEffect)(() => {
|
|
25882
25920
|
setExpanded(false);
|
|
25883
25921
|
}, [children]);
|
|
25884
|
-
const onResize = (0,
|
|
25922
|
+
const onResize = (0, import_react142.useCallback)(() => {
|
|
25885
25923
|
if (!elRef.current) return;
|
|
25886
25924
|
!expanded && setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
25887
25925
|
}, [expanded]);
|
|
25888
|
-
(0,
|
|
25926
|
+
(0, import_utils168.useResizeObserver)({
|
|
25889
25927
|
ref: elRef,
|
|
25890
25928
|
onResize
|
|
25891
25929
|
});
|
|
@@ -25909,12 +25947,12 @@ function MaxLines({
|
|
|
25909
25947
|
var import_change_case8 = require("change-case");
|
|
25910
25948
|
|
|
25911
25949
|
// src/components/AppNav/AppNavGroup.tsx
|
|
25912
|
-
var
|
|
25950
|
+
var import_utils170 = require("@react-aria/utils");
|
|
25913
25951
|
var import_change_case7 = require("change-case");
|
|
25914
|
-
var
|
|
25952
|
+
var import_react145 = require("react");
|
|
25915
25953
|
|
|
25916
25954
|
// src/components/AppNav/AppNavGroupTrigger.tsx
|
|
25917
|
-
var
|
|
25955
|
+
var import_react143 = require("react");
|
|
25918
25956
|
var import_react_aria62 = require("react-aria");
|
|
25919
25957
|
var import_runtime129 = require("@homebound/truss/runtime");
|
|
25920
25958
|
var import_jsx_runtime204 = require("react/jsx-runtime");
|
|
@@ -25927,7 +25965,7 @@ function AppNavGroupTrigger(props) {
|
|
|
25927
25965
|
active = false
|
|
25928
25966
|
} = props;
|
|
25929
25967
|
const tid = useTestIds(props, "trigger");
|
|
25930
|
-
const ref = (0,
|
|
25968
|
+
const ref = (0, import_react143.useRef)(null);
|
|
25931
25969
|
const {
|
|
25932
25970
|
buttonProps,
|
|
25933
25971
|
isPressed
|
|
@@ -25948,7 +25986,7 @@ function AppNavGroupTrigger(props) {
|
|
|
25948
25986
|
focusRingStyles: focusRingStyles2,
|
|
25949
25987
|
hoverStyles: hoverStyles4,
|
|
25950
25988
|
pressedStyles: pressedStyles2
|
|
25951
|
-
} = (0,
|
|
25989
|
+
} = (0, import_react143.useMemo)(() => getNavLinkStyles("side"), []);
|
|
25952
25990
|
return /* @__PURE__ */ (0, import_jsx_runtime204.jsxs)("button", { type: "button", ...(0, import_react_aria62.mergeProps)(buttonProps, focusProps, hoverProps, tid.trigger, {
|
|
25953
25991
|
ref,
|
|
25954
25992
|
"aria-expanded": expanded,
|
|
@@ -26086,7 +26124,7 @@ function entryHasIcons(item) {
|
|
|
26086
26124
|
}
|
|
26087
26125
|
|
|
26088
26126
|
// src/components/AppNav/useAppNavGroupExpanded.ts
|
|
26089
|
-
var
|
|
26127
|
+
var import_react144 = require("react");
|
|
26090
26128
|
var APP_NAV_EXPANDED_LINK_GROUPS_STORAGE_KEY = "beam.appNav.expandedLinkGroups";
|
|
26091
26129
|
function loadStored() {
|
|
26092
26130
|
try {
|
|
@@ -26105,13 +26143,13 @@ function persistLabel(label, expanded) {
|
|
|
26105
26143
|
}
|
|
26106
26144
|
function useAppNavGroupExpanded(linkGroup) {
|
|
26107
26145
|
const { label } = linkGroup;
|
|
26108
|
-
const [userExpanded, setUserExpanded] = (0,
|
|
26146
|
+
const [userExpanded, setUserExpanded] = (0, import_react144.useState)(() => {
|
|
26109
26147
|
const stored = loadStored();
|
|
26110
26148
|
return label in stored ? stored[label] : null;
|
|
26111
26149
|
});
|
|
26112
26150
|
const hasActiveLink = appNavLinkGroupLinks(linkGroup).some((l) => l.active);
|
|
26113
26151
|
const expanded = userExpanded !== null ? userExpanded : hasActiveLink ? true : linkGroup.defaultExpanded ?? false;
|
|
26114
|
-
const onToggle = (0,
|
|
26152
|
+
const onToggle = (0, import_react144.useCallback)(() => {
|
|
26115
26153
|
const next = !expanded;
|
|
26116
26154
|
setUserExpanded(next);
|
|
26117
26155
|
persistLabel(label, next);
|
|
@@ -26146,20 +26184,20 @@ function AppNavGroupDisclosure(props) {
|
|
|
26146
26184
|
} = useAppNavGroupExpanded(linkGroup);
|
|
26147
26185
|
const tid = useTestIds(props, "linkGroup");
|
|
26148
26186
|
const navGroupId = `nav-group-${(0, import_change_case7.kebabCase)(linkGroup.label)}`;
|
|
26149
|
-
const [contentEl, setContentEl] = (0,
|
|
26150
|
-
const contentRef = (0,
|
|
26187
|
+
const [contentEl, setContentEl] = (0, import_react145.useState)(null);
|
|
26188
|
+
const contentRef = (0, import_react145.useMemo)(() => ({
|
|
26151
26189
|
current: contentEl
|
|
26152
26190
|
}), [contentEl]);
|
|
26153
|
-
const [contentHeight, setContentHeight] = (0,
|
|
26154
|
-
(0,
|
|
26191
|
+
const [contentHeight, setContentHeight] = (0, import_react145.useState)(expanded ? "auto" : "0");
|
|
26192
|
+
(0, import_react145.useEffect)(() => {
|
|
26155
26193
|
setContentHeight(expanded && contentEl ? `${contentEl.scrollHeight}px` : "0");
|
|
26156
26194
|
}, [expanded, contentEl]);
|
|
26157
|
-
const onResize = (0,
|
|
26195
|
+
const onResize = (0, import_react145.useCallback)(() => {
|
|
26158
26196
|
if (contentEl && expanded) {
|
|
26159
26197
|
setContentHeight(`${contentEl.scrollHeight}px`);
|
|
26160
26198
|
}
|
|
26161
26199
|
}, [expanded, contentEl]);
|
|
26162
|
-
(0,
|
|
26200
|
+
(0, import_utils170.useResizeObserver)({
|
|
26163
26201
|
ref: contentRef,
|
|
26164
26202
|
onResize
|
|
26165
26203
|
});
|
|
@@ -26301,33 +26339,33 @@ function AppNavItems(props) {
|
|
|
26301
26339
|
|
|
26302
26340
|
// src/components/Navbar/NavbarMobileMenu.tsx
|
|
26303
26341
|
var import_framer_motion6 = require("framer-motion");
|
|
26304
|
-
var
|
|
26342
|
+
var import_react147 = require("react");
|
|
26305
26343
|
var import_react_aria63 = require("react-aria");
|
|
26306
26344
|
var import_react_dom7 = require("react-dom");
|
|
26307
26345
|
var import_react_router_dom7 = require("react-router-dom");
|
|
26308
26346
|
|
|
26309
26347
|
// src/layouts/NavbarLayout/MobileSubNavContext.tsx
|
|
26310
|
-
var
|
|
26348
|
+
var import_react146 = require("react");
|
|
26311
26349
|
var import_jsx_runtime209 = require("react/jsx-runtime");
|
|
26312
|
-
var MobileSubNavContext = (0,
|
|
26350
|
+
var MobileSubNavContext = (0, import_react146.createContext)(void 0);
|
|
26313
26351
|
function MobileSubNavProvider(props) {
|
|
26314
|
-
const [mobileSubNav, setMobileSubNav] = (0,
|
|
26315
|
-
const value = (0,
|
|
26352
|
+
const [mobileSubNav, setMobileSubNav] = (0, import_react146.useState)(null);
|
|
26353
|
+
const value = (0, import_react146.useMemo)(() => ({ mobileSubNav, setMobileSubNav }), [mobileSubNav]);
|
|
26316
26354
|
return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(MobileSubNavContext.Provider, { value, children: props.children });
|
|
26317
26355
|
}
|
|
26318
26356
|
function useMobileSubNav() {
|
|
26319
|
-
return (0,
|
|
26357
|
+
return (0, import_react146.useContext)(MobileSubNavContext)?.mobileSubNav ?? null;
|
|
26320
26358
|
}
|
|
26321
26359
|
function useRegisterMobileSubNav(content) {
|
|
26322
|
-
const ctx = (0,
|
|
26360
|
+
const ctx = (0, import_react146.useContext)(MobileSubNavContext);
|
|
26323
26361
|
const setMobileSubNav = ctx?.setMobileSubNav;
|
|
26324
26362
|
const enabled = !useBreakpoint().mdAndUp;
|
|
26325
26363
|
const { top, items, footer } = content;
|
|
26326
|
-
(0,
|
|
26364
|
+
(0, import_react146.useLayoutEffect)(() => {
|
|
26327
26365
|
if (!setMobileSubNav || !enabled) return;
|
|
26328
26366
|
setMobileSubNav({ top, items, footer });
|
|
26329
26367
|
}, [setMobileSubNav, enabled, top, items, footer]);
|
|
26330
|
-
(0,
|
|
26368
|
+
(0, import_react146.useLayoutEffect)(() => {
|
|
26331
26369
|
if (!setMobileSubNav || !enabled) return;
|
|
26332
26370
|
return () => setMobileSubNav(null);
|
|
26333
26371
|
}, [setMobileSubNav, enabled]);
|
|
@@ -26342,8 +26380,8 @@ function NavbarMobileMenu(props) {
|
|
|
26342
26380
|
items
|
|
26343
26381
|
} = props;
|
|
26344
26382
|
const tid = useTestIds(props, "navbar");
|
|
26345
|
-
const [isOpen, setIsOpen] = (0,
|
|
26346
|
-
const [level, setLevel] = (0,
|
|
26383
|
+
const [isOpen, setIsOpen] = (0, import_react147.useState)(false);
|
|
26384
|
+
const [level, setLevel] = (0, import_react147.useState)("sub");
|
|
26347
26385
|
const {
|
|
26348
26386
|
pathname,
|
|
26349
26387
|
search
|
|
@@ -26353,7 +26391,7 @@ function NavbarMobileMenu(props) {
|
|
|
26353
26391
|
isDisabled: !isOpen
|
|
26354
26392
|
});
|
|
26355
26393
|
const close = () => setIsOpen(false);
|
|
26356
|
-
(0,
|
|
26394
|
+
(0, import_react147.useEffect)(() => {
|
|
26357
26395
|
close();
|
|
26358
26396
|
}, [pathname, search]);
|
|
26359
26397
|
return /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)(import_jsx_runtime210.Fragment, { children: [
|
|
@@ -26669,8 +26707,8 @@ function toPageNumberSize(page) {
|
|
|
26669
26707
|
}
|
|
26670
26708
|
|
|
26671
26709
|
// src/components/ScrollShadows.tsx
|
|
26672
|
-
var
|
|
26673
|
-
var
|
|
26710
|
+
var import_utils177 = require("@react-aria/utils");
|
|
26711
|
+
var import_react148 = require("react");
|
|
26674
26712
|
var import_runtime135 = require("@homebound/truss/runtime");
|
|
26675
26713
|
var import_jsx_runtime213 = require("react/jsx-runtime");
|
|
26676
26714
|
function ScrollShadows(props) {
|
|
@@ -26688,10 +26726,10 @@ function ScrollShadows(props) {
|
|
|
26688
26726
|
if (!bgColor.includes("rgba")) {
|
|
26689
26727
|
throw new Error("ScrollShadows: bgColor prop must be in the format 'rgba(255, 255, 255, 1)'");
|
|
26690
26728
|
}
|
|
26691
|
-
const [showStartShadow, setShowStartShadow] = (0,
|
|
26692
|
-
const [showEndShadow, setShowEndShadow] = (0,
|
|
26693
|
-
const scrollRef = (0,
|
|
26694
|
-
const [startShadowStyles, endShadowStyles] = (0,
|
|
26729
|
+
const [showStartShadow, setShowStartShadow] = (0, import_react148.useState)(false);
|
|
26730
|
+
const [showEndShadow, setShowEndShadow] = (0, import_react148.useState)(false);
|
|
26731
|
+
const scrollRef = (0, import_react148.useRef)(null);
|
|
26732
|
+
const [startShadowStyles, endShadowStyles] = (0, import_react148.useMemo)(() => {
|
|
26695
26733
|
const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
|
|
26696
26734
|
const commonStyles = {
|
|
26697
26735
|
position: "absolute",
|
|
@@ -26742,7 +26780,7 @@ function ScrollShadows(props) {
|
|
|
26742
26780
|
}
|
|
26743
26781
|
}];
|
|
26744
26782
|
}, [horizontal, bgColor]);
|
|
26745
|
-
const updateScrollProps = (0,
|
|
26783
|
+
const updateScrollProps = (0, import_react148.useCallback)((el) => {
|
|
26746
26784
|
const {
|
|
26747
26785
|
scrollTop,
|
|
26748
26786
|
scrollHeight,
|
|
@@ -26757,8 +26795,8 @@ function ScrollShadows(props) {
|
|
|
26757
26795
|
setShowStartShadow(start > 0);
|
|
26758
26796
|
setShowEndShadow(start + boxSize < end);
|
|
26759
26797
|
}, [horizontal]);
|
|
26760
|
-
const onResize = (0,
|
|
26761
|
-
(0,
|
|
26798
|
+
const onResize = (0, import_react148.useCallback)(() => scrollRef.current && updateScrollProps(scrollRef.current), [updateScrollProps]);
|
|
26799
|
+
(0, import_utils177.useResizeObserver)({
|
|
26762
26800
|
ref: scrollRef,
|
|
26763
26801
|
onResize
|
|
26764
26802
|
});
|
|
@@ -26806,7 +26844,7 @@ function ScrollShadows(props) {
|
|
|
26806
26844
|
}
|
|
26807
26845
|
|
|
26808
26846
|
// src/layouts/SideNavLayout/SideNavLayoutContext.tsx
|
|
26809
|
-
var
|
|
26847
|
+
var import_react149 = require("react");
|
|
26810
26848
|
var import_jsx_runtime214 = require("react/jsx-runtime");
|
|
26811
26849
|
var SIDE_NAV_LAYOUT_STATE_STORAGE_KEY = "beam.sideNavLayout.navState";
|
|
26812
26850
|
function loadStoredNavState() {
|
|
@@ -26829,20 +26867,20 @@ function resolveInitialNavState(defaultNavState) {
|
|
|
26829
26867
|
}
|
|
26830
26868
|
return loadStoredNavState() ?? defaultNavState ?? "expanded";
|
|
26831
26869
|
}
|
|
26832
|
-
var SideNavLayoutContext = (0,
|
|
26870
|
+
var SideNavLayoutContext = (0, import_react149.createContext)(void 0);
|
|
26833
26871
|
function SideNavLayoutProvider(props) {
|
|
26834
|
-
const [navState, setNavStateInternal] = (0,
|
|
26872
|
+
const [navState, setNavStateInternal] = (0, import_react149.useState)(
|
|
26835
26873
|
() => resolveInitialNavState(props.defaultNavState)
|
|
26836
26874
|
);
|
|
26837
26875
|
const bp = useBreakpoint();
|
|
26838
|
-
const prevMdAndUp = (0,
|
|
26839
|
-
(0,
|
|
26876
|
+
const prevMdAndUp = (0, import_react149.useRef)(bp.mdAndUp);
|
|
26877
|
+
(0, import_react149.useEffect)(() => {
|
|
26840
26878
|
if (prevMdAndUp.current && !bp.mdAndUp) {
|
|
26841
26879
|
setNavStateInternal((prev) => prev === "expanded" ? "collapse" : prev);
|
|
26842
26880
|
}
|
|
26843
26881
|
prevMdAndUp.current = bp.mdAndUp;
|
|
26844
26882
|
}, [bp.mdAndUp]);
|
|
26845
|
-
const setNavState = (0,
|
|
26883
|
+
const setNavState = (0, import_react149.useCallback)((value2) => {
|
|
26846
26884
|
setNavStateInternal((prev) => {
|
|
26847
26885
|
const next = typeof value2 === "function" ? value2(prev) : value2;
|
|
26848
26886
|
if (next === "expanded" || next === "collapse") {
|
|
@@ -26854,15 +26892,15 @@ function SideNavLayoutProvider(props) {
|
|
|
26854
26892
|
return next;
|
|
26855
26893
|
});
|
|
26856
26894
|
}, []);
|
|
26857
|
-
const value = (0,
|
|
26895
|
+
const value = (0, import_react149.useMemo)(() => ({ navState, setNavState }), [navState, setNavState]);
|
|
26858
26896
|
return /* @__PURE__ */ (0, import_jsx_runtime214.jsx)(SideNavLayoutContext.Provider, { value, children: props.children });
|
|
26859
26897
|
}
|
|
26860
26898
|
function useSideNavLayoutContext() {
|
|
26861
|
-
return (0,
|
|
26899
|
+
return (0, import_react149.useContext)(SideNavLayoutContext) ?? { navState: "expanded", setNavState: () => {
|
|
26862
26900
|
} };
|
|
26863
26901
|
}
|
|
26864
26902
|
function useHasSideNavLayoutProvider() {
|
|
26865
|
-
return (0,
|
|
26903
|
+
return (0, import_react149.useContext)(SideNavLayoutContext) !== void 0;
|
|
26866
26904
|
}
|
|
26867
26905
|
|
|
26868
26906
|
// src/components/SideNav/SideNav.tsx
|
|
@@ -26921,10 +26959,10 @@ function SideNav(props) {
|
|
|
26921
26959
|
}
|
|
26922
26960
|
|
|
26923
26961
|
// src/components/Snackbar/useSnackbar.tsx
|
|
26924
|
-
var
|
|
26962
|
+
var import_react150 = require("react");
|
|
26925
26963
|
function useSnackbar() {
|
|
26926
26964
|
const { setNotices, setOffset } = useSnackbarContext();
|
|
26927
|
-
const onClose = (0,
|
|
26965
|
+
const onClose = (0, import_react150.useCallback)(
|
|
26928
26966
|
(noticeId) => {
|
|
26929
26967
|
setNotices((prev) => {
|
|
26930
26968
|
let returnValue = prev;
|
|
@@ -26941,7 +26979,7 @@ function useSnackbar() {
|
|
|
26941
26979
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
26942
26980
|
[]
|
|
26943
26981
|
);
|
|
26944
|
-
const triggerNotice = (0,
|
|
26982
|
+
const triggerNotice = (0, import_react150.useCallback)(
|
|
26945
26983
|
(props) => {
|
|
26946
26984
|
const noticeId = props.id ?? `beamSnackbar:${snackbarId++}`;
|
|
26947
26985
|
let maybeTimeout;
|
|
@@ -26970,8 +27008,8 @@ function useSnackbar() {
|
|
|
26970
27008
|
},
|
|
26971
27009
|
[onClose, setNotices]
|
|
26972
27010
|
);
|
|
26973
|
-
const closeNotice = (0,
|
|
26974
|
-
const useSnackbarOffset = ({ bottom }) => (0,
|
|
27011
|
+
const closeNotice = (0, import_react150.useCallback)((id) => onClose(id), [onClose]);
|
|
27012
|
+
const useSnackbarOffset = ({ bottom }) => (0, import_react150.useEffect)(() => {
|
|
26975
27013
|
setOffset({ bottom });
|
|
26976
27014
|
return () => setOffset({});
|
|
26977
27015
|
}, [bottom]);
|
|
@@ -26980,11 +27018,11 @@ function useSnackbar() {
|
|
|
26980
27018
|
var snackbarId = 1;
|
|
26981
27019
|
|
|
26982
27020
|
// src/components/Stepper.tsx
|
|
26983
|
-
var
|
|
27021
|
+
var import_react151 = require("react");
|
|
26984
27022
|
var import_react_aria64 = require("react-aria");
|
|
26985
27023
|
var import_runtime137 = require("@homebound/truss/runtime");
|
|
26986
27024
|
var import_jsx_runtime216 = require("react/jsx-runtime");
|
|
26987
|
-
var
|
|
27025
|
+
var import_react152 = require("react");
|
|
26988
27026
|
var __maybeInc27 = (inc) => {
|
|
26989
27027
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
26990
27028
|
};
|
|
@@ -27013,7 +27051,7 @@ function Stepper(props) {
|
|
|
27013
27051
|
}]
|
|
27014
27052
|
}), children: steps.map((step) => {
|
|
27015
27053
|
const isCurrent = currentStep === step.value;
|
|
27016
|
-
return /* @__PURE__ */ (0,
|
|
27054
|
+
return /* @__PURE__ */ (0, import_react152.createElement)("li", { ...(0, import_runtime137.trussProps)({
|
|
27017
27055
|
display: "df",
|
|
27018
27056
|
flexGrow: "fg1",
|
|
27019
27057
|
flexDirection: "fdc",
|
|
@@ -27062,7 +27100,7 @@ function StepButton(props) {
|
|
|
27062
27100
|
onPress: onClick,
|
|
27063
27101
|
isDisabled: disabled
|
|
27064
27102
|
};
|
|
27065
|
-
const ref = (0,
|
|
27103
|
+
const ref = (0, import_react151.useRef)(null);
|
|
27066
27104
|
const {
|
|
27067
27105
|
buttonProps,
|
|
27068
27106
|
isPressed
|
|
@@ -27172,7 +27210,7 @@ function StepIcon({
|
|
|
27172
27210
|
}
|
|
27173
27211
|
|
|
27174
27212
|
// src/components/StepperTabs/StepperTab.tsx
|
|
27175
|
-
var
|
|
27213
|
+
var import_react153 = require("react");
|
|
27176
27214
|
var import_react_aria65 = require("react-aria");
|
|
27177
27215
|
var import_runtime138 = require("@homebound/truss/runtime");
|
|
27178
27216
|
var import_jsx_runtime217 = require("react/jsx-runtime");
|
|
@@ -27191,7 +27229,7 @@ function StepperTab(props) {
|
|
|
27191
27229
|
onPress: () => onClick(value),
|
|
27192
27230
|
isDisabled: disabled || collapsed
|
|
27193
27231
|
};
|
|
27194
|
-
const ref = (0,
|
|
27232
|
+
const ref = (0, import_react153.useRef)(null);
|
|
27195
27233
|
const {
|
|
27196
27234
|
buttonProps
|
|
27197
27235
|
} = (0, import_react_aria65.useButton)(ariaProps, ref);
|
|
@@ -27328,7 +27366,7 @@ var stepperTabStyles = {
|
|
|
27328
27366
|
// src/components/StepperTabs/StepperTabs.tsx
|
|
27329
27367
|
var import_runtime139 = require("@homebound/truss/runtime");
|
|
27330
27368
|
var import_jsx_runtime218 = require("react/jsx-runtime");
|
|
27331
|
-
var
|
|
27369
|
+
var import_react154 = require("react");
|
|
27332
27370
|
function StepperTabs(props) {
|
|
27333
27371
|
const {
|
|
27334
27372
|
steps,
|
|
@@ -27358,7 +27396,7 @@ function StepperTabs(props) {
|
|
|
27358
27396
|
}), children: steps.map((step, idx) => {
|
|
27359
27397
|
const isCurrent = idx === currentStepIndex;
|
|
27360
27398
|
const isCompleted = idx < currentStepIndex;
|
|
27361
|
-
return /* @__PURE__ */ (0,
|
|
27399
|
+
return /* @__PURE__ */ (0, import_react154.createElement)("li", { ...(0, import_runtime139.trussProps)({
|
|
27362
27400
|
display: "df",
|
|
27363
27401
|
flexGrow: "fg1",
|
|
27364
27402
|
flexBasis: "fb_0",
|
|
@@ -27428,7 +27466,7 @@ function isStructuredProps(props) {
|
|
|
27428
27466
|
var import_framer_motion7 = require("framer-motion");
|
|
27429
27467
|
|
|
27430
27468
|
// src/components/SuperDrawer/useSuperDrawer.tsx
|
|
27431
|
-
var
|
|
27469
|
+
var import_react155 = require("react");
|
|
27432
27470
|
var import_jsx_runtime220 = require("react/jsx-runtime");
|
|
27433
27471
|
function useSuperDrawer() {
|
|
27434
27472
|
const {
|
|
@@ -27468,7 +27506,7 @@ function useSuperDrawer() {
|
|
|
27468
27506
|
}
|
|
27469
27507
|
doChange();
|
|
27470
27508
|
}
|
|
27471
|
-
const closeActions = (0,
|
|
27509
|
+
const closeActions = (0, import_react155.useMemo)(
|
|
27472
27510
|
() => {
|
|
27473
27511
|
return {
|
|
27474
27512
|
/** Attempts to close the drawer. If any checks fail, a confirmation modal will appear */
|
|
@@ -27503,7 +27541,7 @@ function useSuperDrawer() {
|
|
|
27503
27541
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
27504
27542
|
[canCloseChecks, canCloseDetailsChecks, contentStack, modalState, openModal]
|
|
27505
27543
|
);
|
|
27506
|
-
const actions = (0,
|
|
27544
|
+
const actions = (0, import_react155.useMemo)(
|
|
27507
27545
|
() => {
|
|
27508
27546
|
return {
|
|
27509
27547
|
// TODO: Maybe we should rename to openDrawer as a breaking change (to match openDrawerDetail)
|
|
@@ -27691,7 +27729,7 @@ function visit(rows, fn) {
|
|
|
27691
27729
|
|
|
27692
27730
|
// src/components/Tabs.tsx
|
|
27693
27731
|
var import_change_case9 = require("change-case");
|
|
27694
|
-
var
|
|
27732
|
+
var import_react156 = require("react");
|
|
27695
27733
|
var import_react_aria66 = require("react-aria");
|
|
27696
27734
|
var import_react_router = require("react-router");
|
|
27697
27735
|
var import_react_router_dom8 = require("react-router-dom");
|
|
@@ -27752,9 +27790,9 @@ function Tabs(props) {
|
|
|
27752
27790
|
focusProps
|
|
27753
27791
|
} = (0, import_react_aria66.useFocusRing)();
|
|
27754
27792
|
const tid = useTestIds(others, "tabs");
|
|
27755
|
-
const [active, setActive] = (0,
|
|
27756
|
-
const ref = (0,
|
|
27757
|
-
(0,
|
|
27793
|
+
const [active, setActive] = (0, import_react156.useState)(selected);
|
|
27794
|
+
const ref = (0, import_react156.useRef)(null);
|
|
27795
|
+
(0, import_react156.useEffect)(() => setActive(selected), [selected]);
|
|
27758
27796
|
function onKeyUp(e) {
|
|
27759
27797
|
if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
|
|
27760
27798
|
const nextTabValue = getNextTabValue(active, e.key, tabs);
|
|
@@ -27828,7 +27866,7 @@ function TabImpl(props) {
|
|
|
27828
27866
|
disabledStyles: disabledStyles3,
|
|
27829
27867
|
activeHoverStyles,
|
|
27830
27868
|
aiStyles
|
|
27831
|
-
} = (0,
|
|
27869
|
+
} = (0, import_react156.useMemo)(() => getTabStyles(), []);
|
|
27832
27870
|
const uniqueValue = uniqueTabValue(tab);
|
|
27833
27871
|
const tabProps = {
|
|
27834
27872
|
"aria-controls": `${uniqueValue}-tabPanel`,
|
|
@@ -27996,10 +28034,10 @@ function TagGroup(props) {
|
|
|
27996
28034
|
}
|
|
27997
28035
|
|
|
27998
28036
|
// src/components/Toast/useToast.tsx
|
|
27999
|
-
var
|
|
28037
|
+
var import_react157 = require("react");
|
|
28000
28038
|
function useToast() {
|
|
28001
28039
|
const { setNotice, clear } = useToastContext();
|
|
28002
|
-
const showToast = (0,
|
|
28040
|
+
const showToast = (0, import_react157.useCallback)((props) => setNotice(props), [setNotice]);
|
|
28003
28041
|
return { showToast, clear };
|
|
28004
28042
|
}
|
|
28005
28043
|
|
|
@@ -28247,11 +28285,11 @@ function FormSectionLayout(props) {
|
|
|
28247
28285
|
}
|
|
28248
28286
|
|
|
28249
28287
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
28250
|
-
var
|
|
28288
|
+
var import_react161 = require("react");
|
|
28251
28289
|
var import_runtime147 = require("@homebound/truss/runtime");
|
|
28252
28290
|
|
|
28253
28291
|
// src/layouts/useAutoHideOnScroll.ts
|
|
28254
|
-
var
|
|
28292
|
+
var import_react158 = require("react");
|
|
28255
28293
|
var THRESHOLD = 80;
|
|
28256
28294
|
function getInitialAutoHideState() {
|
|
28257
28295
|
if (typeof window === "undefined" || window.scrollY <= 0) {
|
|
@@ -28261,15 +28299,15 @@ function getInitialAutoHideState() {
|
|
|
28261
28299
|
}
|
|
28262
28300
|
function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
28263
28301
|
const initial = getInitialAutoHideState();
|
|
28264
|
-
const [state, setState] = (0,
|
|
28265
|
-
const stateRef = (0,
|
|
28266
|
-
const [atTop, setAtTop] = (0,
|
|
28267
|
-
const atTopRef = (0,
|
|
28268
|
-
const getTopOffsetRef = (0,
|
|
28302
|
+
const [state, setState] = (0, import_react158.useState)(initial.state);
|
|
28303
|
+
const stateRef = (0, import_react158.useRef)(initial.state);
|
|
28304
|
+
const [atTop, setAtTop] = (0, import_react158.useState)(initial.atTop);
|
|
28305
|
+
const atTopRef = (0, import_react158.useRef)(initial.atTop);
|
|
28306
|
+
const getTopOffsetRef = (0, import_react158.useRef)(getTopOffset);
|
|
28269
28307
|
getTopOffsetRef.current = getTopOffset;
|
|
28270
|
-
const lastScrollY = (0,
|
|
28271
|
-
const lastScrollHeight = (0,
|
|
28272
|
-
(0,
|
|
28308
|
+
const lastScrollY = (0, import_react158.useRef)(Number.POSITIVE_INFINITY);
|
|
28309
|
+
const lastScrollHeight = (0, import_react158.useRef)(0);
|
|
28310
|
+
(0, import_react158.useLayoutEffect)(() => {
|
|
28273
28311
|
if (!enabled) {
|
|
28274
28312
|
stateRef.current = "static";
|
|
28275
28313
|
atTopRef.current = true;
|
|
@@ -28341,31 +28379,31 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
|
28341
28379
|
}
|
|
28342
28380
|
|
|
28343
28381
|
// src/layouts/useMeasuredHeight.ts
|
|
28344
|
-
var
|
|
28345
|
-
var
|
|
28382
|
+
var import_utils191 = require("@react-aria/utils");
|
|
28383
|
+
var import_react159 = require("react");
|
|
28346
28384
|
function useMeasuredHeight(ref, enabled) {
|
|
28347
|
-
const [height, setHeight] = (0,
|
|
28348
|
-
const syncElementHeight = (0,
|
|
28385
|
+
const [height, setHeight] = (0, import_react159.useState)(0);
|
|
28386
|
+
const syncElementHeight = (0, import_react159.useCallback)(() => {
|
|
28349
28387
|
const el = ref.current;
|
|
28350
28388
|
const next = el ? Math.round(el.getBoundingClientRect().height) : 0;
|
|
28351
28389
|
setHeight((prev) => prev === next ? prev : next);
|
|
28352
28390
|
}, [ref]);
|
|
28353
|
-
(0,
|
|
28354
|
-
(0,
|
|
28391
|
+
(0, import_utils191.useResizeObserver)({ ref, onResize: syncElementHeight });
|
|
28392
|
+
(0, import_react159.useLayoutEffect)(() => {
|
|
28355
28393
|
syncElementHeight();
|
|
28356
28394
|
}, [enabled, syncElementHeight]);
|
|
28357
28395
|
return height;
|
|
28358
28396
|
}
|
|
28359
28397
|
|
|
28360
28398
|
// src/layouts/NavbarLayout/NavbarLayoutHeightContext.tsx
|
|
28361
|
-
var
|
|
28399
|
+
var import_react160 = require("react");
|
|
28362
28400
|
var import_jsx_runtime228 = require("react/jsx-runtime");
|
|
28363
|
-
var NavbarLayoutHeightContext = (0,
|
|
28401
|
+
var NavbarLayoutHeightContext = (0, import_react160.createContext)(0);
|
|
28364
28402
|
function NavbarLayoutHeightProvider({ value, children }) {
|
|
28365
28403
|
return /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(NavbarLayoutHeightContext.Provider, { value, children });
|
|
28366
28404
|
}
|
|
28367
28405
|
function useNavbarLayoutHeight() {
|
|
28368
|
-
return (0,
|
|
28406
|
+
return (0, import_react160.useContext)(NavbarLayoutHeightContext);
|
|
28369
28407
|
}
|
|
28370
28408
|
|
|
28371
28409
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
@@ -28379,8 +28417,8 @@ function NavbarLayout(props) {
|
|
|
28379
28417
|
children
|
|
28380
28418
|
} = props;
|
|
28381
28419
|
const tid = useTestIds(props, "navbarLayout");
|
|
28382
|
-
const navMetricsRef = (0,
|
|
28383
|
-
const spacerRef = (0,
|
|
28420
|
+
const navMetricsRef = (0, import_react161.useRef)(null);
|
|
28421
|
+
const spacerRef = (0, import_react161.useRef)(null);
|
|
28384
28422
|
const navHeight = useMeasuredHeight(navMetricsRef, true);
|
|
28385
28423
|
const {
|
|
28386
28424
|
state: autoHideState,
|
|
@@ -28422,7 +28460,7 @@ function NavbarLayout(props) {
|
|
|
28422
28460
|
const innerStyle = autoHideState !== "static" ? {
|
|
28423
28461
|
top: autoHideState === "revealed" ? bannerTop : `calc(${bannerTop} - ${navHeight}px)`
|
|
28424
28462
|
} : void 0;
|
|
28425
|
-
const navbarEl = (0,
|
|
28463
|
+
const navbarEl = (0, import_react161.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(Navbar, { ...navbar }), [navbar]);
|
|
28426
28464
|
return /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(NavbarLayoutHeightProvider, { value: navbarOffsetPx, children: /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(MobileSubNavProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime229.jsxs)("div", { ...(0, import_runtime147.mergeProps)(void 0, cssVars, {
|
|
28427
28465
|
display: "df",
|
|
28428
28466
|
flexDirection: "fdc",
|
|
@@ -28440,7 +28478,7 @@ function NavbarLayout(props) {
|
|
|
28440
28478
|
}
|
|
28441
28479
|
|
|
28442
28480
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
28443
|
-
var
|
|
28481
|
+
var import_react162 = require("react");
|
|
28444
28482
|
|
|
28445
28483
|
// src/components/Headers/BaseHeader.tsx
|
|
28446
28484
|
var import_runtime148 = require("@homebound/truss/runtime");
|
|
@@ -28531,11 +28569,11 @@ function PageHeaderLayout(props) {
|
|
|
28531
28569
|
} = props;
|
|
28532
28570
|
const tid = useTestIds(props, "pageHeaderLayout");
|
|
28533
28571
|
const bannerAndNavbarHeight = useBannerAndNavbarHeight();
|
|
28534
|
-
const bannerAndNavbarHeightRef = (0,
|
|
28572
|
+
const bannerAndNavbarHeightRef = (0, import_react162.useRef)(bannerAndNavbarHeight);
|
|
28535
28573
|
bannerAndNavbarHeightRef.current = bannerAndNavbarHeight;
|
|
28536
|
-
const getBannerAndNavbarHeight = (0,
|
|
28537
|
-
const headerMetricsRef = (0,
|
|
28538
|
-
const spacerRef = (0,
|
|
28574
|
+
const getBannerAndNavbarHeight = (0, import_react162.useCallback)(() => bannerAndNavbarHeightRef.current, []);
|
|
28575
|
+
const headerMetricsRef = (0, import_react162.useRef)(null);
|
|
28576
|
+
const spacerRef = (0, import_react162.useRef)(null);
|
|
28539
28577
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
28540
28578
|
const {
|
|
28541
28579
|
state: autoHideState,
|
|
@@ -28575,7 +28613,7 @@ function PageHeaderLayout(props) {
|
|
|
28575
28613
|
const innerStyle = autoHideState !== "static" ? {
|
|
28576
28614
|
top: autoHideState === "revealed" ? outerTop : `calc(${outerTop} - ${headerHeight}px)`
|
|
28577
28615
|
} : void 0;
|
|
28578
|
-
const pageHeaderEl = (0,
|
|
28616
|
+
const pageHeaderEl = (0, import_react162.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(PageHeader2, { ...pageHeader }), [pageHeader]);
|
|
28579
28617
|
return /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)("div", { ...(0, import_runtime150.mergeProps)(void 0, cssVars, {
|
|
28580
28618
|
display: "df",
|
|
28581
28619
|
flexDirection: "fdc",
|
|
@@ -28620,12 +28658,12 @@ function JumpLinksRail(props) {
|
|
|
28620
28658
|
}
|
|
28621
28659
|
|
|
28622
28660
|
// src/layouts/Workflow/useActiveJumpLink.ts
|
|
28623
|
-
var
|
|
28661
|
+
var import_react163 = require("react");
|
|
28624
28662
|
var activationLeadPx = 120;
|
|
28625
28663
|
function useActiveJumpLink(sectionIds) {
|
|
28626
28664
|
const idsKey = sectionIds.join("\0");
|
|
28627
|
-
const [activeId, setActiveId] = (0,
|
|
28628
|
-
(0,
|
|
28665
|
+
const [activeId, setActiveId] = (0, import_react163.useState)(sectionIds[0]);
|
|
28666
|
+
(0, import_react163.useLayoutEffect)(() => {
|
|
28629
28667
|
const ids = idsKey.length === 0 ? [] : idsKey.split("\0");
|
|
28630
28668
|
if (ids.length === 0) return;
|
|
28631
28669
|
const update = () => {
|
|
@@ -28649,7 +28687,7 @@ function useActiveJumpLink(sectionIds) {
|
|
|
28649
28687
|
}
|
|
28650
28688
|
|
|
28651
28689
|
// src/layouts/Workflow/WorkflowPageLayout.tsx
|
|
28652
|
-
var
|
|
28690
|
+
var import_react165 = require("react");
|
|
28653
28691
|
|
|
28654
28692
|
// src/components/Headers/WorkflowHeader.tsx
|
|
28655
28693
|
var import_jsx_runtime234 = require("react/jsx-runtime");
|
|
@@ -28666,15 +28704,15 @@ function WorkflowHeader(props) {
|
|
|
28666
28704
|
}
|
|
28667
28705
|
|
|
28668
28706
|
// src/layouts/Workflow/useUnsavedChangesGuard.tsx
|
|
28669
|
-
var
|
|
28707
|
+
var import_react164 = require("react");
|
|
28670
28708
|
var import_react_router_dom9 = require("react-router-dom");
|
|
28671
28709
|
var import_jsx_runtime235 = require("react/jsx-runtime");
|
|
28672
28710
|
function useUnsavedChangesGuard(options) {
|
|
28673
28711
|
const { isDirty, onCancel } = options;
|
|
28674
28712
|
const { openModal } = useModal();
|
|
28675
|
-
const isDirtyRef = (0,
|
|
28713
|
+
const isDirtyRef = (0, import_react164.useRef)(isDirty);
|
|
28676
28714
|
isDirtyRef.current = isDirty;
|
|
28677
|
-
(0,
|
|
28715
|
+
(0, import_react164.useEffect)(() => {
|
|
28678
28716
|
const onBeforeUnload = (e) => {
|
|
28679
28717
|
if (isDirtyRef.current?.()) {
|
|
28680
28718
|
e.preventDefault();
|
|
@@ -28700,7 +28738,7 @@ function useUnsavedChangesGuard(options) {
|
|
|
28700
28738
|
function UnsavedChangesNavigationModal(props) {
|
|
28701
28739
|
const { proceed, cancelNavigation } = props;
|
|
28702
28740
|
const { openModal, closeModal } = useModal();
|
|
28703
|
-
(0,
|
|
28741
|
+
(0, import_react164.useEffect)(() => {
|
|
28704
28742
|
openModal({
|
|
28705
28743
|
allowClosing: false,
|
|
28706
28744
|
content: /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
|
|
@@ -28772,7 +28810,7 @@ function WorkflowPageLayout(props) {
|
|
|
28772
28810
|
onCancel
|
|
28773
28811
|
});
|
|
28774
28812
|
const actions = /* @__PURE__ */ (0, import_jsx_runtime237.jsx)(WorkflowActions, { ...actionProps, aiMode, onCancel: onCancelClick });
|
|
28775
|
-
const headerMetricsRef = (0,
|
|
28813
|
+
const headerMetricsRef = (0, import_react165.useRef)(null);
|
|
28776
28814
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
28777
28815
|
const headerWidth = documentScrollChromeWidth();
|
|
28778
28816
|
const outerTop = bannerAndNavbarChromeTop();
|
|
@@ -28780,7 +28818,7 @@ function WorkflowPageLayout(props) {
|
|
|
28780
28818
|
[beamPageHeaderLayoutHeightVar]: `${headerHeight}px`
|
|
28781
28819
|
} : void 0;
|
|
28782
28820
|
const showFooter = isMobile;
|
|
28783
|
-
(0,
|
|
28821
|
+
(0, import_react165.useLayoutEffect)(() => {
|
|
28784
28822
|
const root = document.documentElement;
|
|
28785
28823
|
const previous = root.style.getPropertyValue(beamWorkflowLayoutFooterHeightVar);
|
|
28786
28824
|
root.style.setProperty(beamWorkflowLayoutFooterHeightVar, showFooter ? `${mobileFooterHeightPx}px` : "0px");
|
|
@@ -28901,12 +28939,12 @@ function FocusedFormLayout(props) {
|
|
|
28901
28939
|
}
|
|
28902
28940
|
|
|
28903
28941
|
// src/layouts/Workflow/StepperLayout.tsx
|
|
28904
|
-
var
|
|
28942
|
+
var import_react166 = require("react");
|
|
28905
28943
|
var import_jsx_runtime239 = require("react/jsx-runtime");
|
|
28906
28944
|
function StepperLayout(props) {
|
|
28907
28945
|
const { steps, defaultStep, onCancel, completeLabel, onComplete, onSaveAndExit, isDirty, aiMode, ...headerProps } = props;
|
|
28908
28946
|
const stepTabs = steps.map((step) => ({ ...step, value: defaultTestId(step.label) }));
|
|
28909
|
-
const [currentStep, setCurrentStep] = (0,
|
|
28947
|
+
const [currentStep, setCurrentStep] = (0, import_react166.useState)(() => getInitialStep(stepTabs, defaultStep));
|
|
28910
28948
|
const tid = useTestIds(props, "stepperLayout");
|
|
28911
28949
|
const currentIndex = hasStep(stepTabs, currentStep) ? stepTabs.findIndex((step) => step.value === currentStep) : 0;
|
|
28912
28950
|
const isFirstStep = currentIndex <= 0;
|