@homebound/beam 3.94.0 → 3.96.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 +398 -340
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +388 -330
- package/dist/index.js.map +1 -1
- package/dist/truss.css +6 -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) {
|
|
@@ -25032,15 +25070,27 @@ function Tag(props) {
|
|
|
25032
25070
|
}
|
|
25033
25071
|
function getVariantStyles(variant, type) {
|
|
25034
25072
|
if (variant === "secondary") {
|
|
25073
|
+
const isAi = type === "ai";
|
|
25035
25074
|
return {
|
|
25036
|
-
background: {
|
|
25075
|
+
background: isAi ? {
|
|
25076
|
+
backgroundColor: "bgWhite",
|
|
25077
|
+
borderColor: "bcPurple600",
|
|
25078
|
+
borderWidth: "bw1",
|
|
25079
|
+
borderStyle: "bss",
|
|
25080
|
+
color: "purple800"
|
|
25081
|
+
} : {
|
|
25037
25082
|
backgroundColor: "bgWhite",
|
|
25038
25083
|
borderColor: "bcGray300",
|
|
25039
25084
|
borderWidth: "bw1",
|
|
25040
25085
|
borderStyle: "bss"
|
|
25041
25086
|
},
|
|
25042
|
-
|
|
25043
|
-
|
|
25087
|
+
// Note: Ai tags shouldn't be using any icon, the purple outline/text is enough
|
|
25088
|
+
iconColor: isAi ? "rgba(124, 58, 237, 1)" /* Purple600 */ : "rgba(100, 100, 100, 1)" /* Gray700 */,
|
|
25089
|
+
typography: isAi ? {
|
|
25090
|
+
fontWeight: "fw6",
|
|
25091
|
+
fontSize: "fz_12px",
|
|
25092
|
+
lineHeight: "lh_16px"
|
|
25093
|
+
} : {
|
|
25044
25094
|
fontWeight: "fw4",
|
|
25045
25095
|
fontSize: "fz_12px",
|
|
25046
25096
|
lineHeight: "lh_16px"
|
|
@@ -25102,6 +25152,14 @@ function getPrimaryStyles(type) {
|
|
|
25102
25152
|
},
|
|
25103
25153
|
iconColor: "rgba(5, 150, 105, 1)" /* Green600 */
|
|
25104
25154
|
};
|
|
25155
|
+
// Note: Ai tags shouldn't be using any icon, the purple background is enough
|
|
25156
|
+
case "ai":
|
|
25157
|
+
return {
|
|
25158
|
+
background: {
|
|
25159
|
+
backgroundColor: "bgPurple200"
|
|
25160
|
+
},
|
|
25161
|
+
iconColor: "rgba(124, 58, 237, 1)" /* Purple600 */
|
|
25162
|
+
};
|
|
25105
25163
|
default:
|
|
25106
25164
|
return {
|
|
25107
25165
|
background: {
|
|
@@ -25138,7 +25196,7 @@ function Card(props) {
|
|
|
25138
25196
|
});
|
|
25139
25197
|
const isList = type === "list";
|
|
25140
25198
|
const imgHeight = isList ? 96 : bordered ? 224 : 256;
|
|
25141
|
-
const styles = (0,
|
|
25199
|
+
const styles = (0, import_react135.useMemo)(() => ({
|
|
25142
25200
|
...baseStyles3(type),
|
|
25143
25201
|
...fullWidth && fullWidthStyles,
|
|
25144
25202
|
...isList && listStyles,
|
|
@@ -25488,12 +25546,12 @@ function setEnvironmentFavicon(env, favicons) {
|
|
|
25488
25546
|
}
|
|
25489
25547
|
|
|
25490
25548
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
25491
|
-
var
|
|
25549
|
+
var import_react137 = require("react");
|
|
25492
25550
|
|
|
25493
25551
|
// src/components/Grid/utils.ts
|
|
25494
|
-
var
|
|
25552
|
+
var import_react136 = require("react");
|
|
25495
25553
|
var gridItemDataAttribute = "data-grid-item-span";
|
|
25496
|
-
var ResponsiveGridContext = (0,
|
|
25554
|
+
var ResponsiveGridContext = (0, import_react136.createContext)(void 0);
|
|
25497
25555
|
|
|
25498
25556
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
25499
25557
|
var import_runtime123 = require("@homebound/truss/runtime");
|
|
@@ -25512,7 +25570,7 @@ function ResponsiveGrid(props) {
|
|
|
25512
25570
|
gap,
|
|
25513
25571
|
columns
|
|
25514
25572
|
});
|
|
25515
|
-
const config = (0,
|
|
25573
|
+
const config = (0, import_react137.useMemo)(() => ({
|
|
25516
25574
|
minColumnWidth,
|
|
25517
25575
|
gap,
|
|
25518
25576
|
columns
|
|
@@ -25539,7 +25597,7 @@ function ResponsiveGridItem(props) {
|
|
|
25539
25597
|
}
|
|
25540
25598
|
|
|
25541
25599
|
// src/components/Grid/useResponsiveGrid.ts
|
|
25542
|
-
var
|
|
25600
|
+
var import_react138 = require("react");
|
|
25543
25601
|
var import_runtime125 = require("@homebound/truss/runtime");
|
|
25544
25602
|
var __maybeInc25 = (inc) => {
|
|
25545
25603
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
@@ -25550,7 +25608,7 @@ function useResponsiveGrid(props) {
|
|
|
25550
25608
|
gap,
|
|
25551
25609
|
columns
|
|
25552
25610
|
} = props;
|
|
25553
|
-
const gridStyles = (0,
|
|
25611
|
+
const gridStyles = (0, import_react138.useMemo)(() => {
|
|
25554
25612
|
const gapCount = columns - 1;
|
|
25555
25613
|
const totalGapWidth = gap * gapCount;
|
|
25556
25614
|
const maxColumnWidth = `calc((100% - ${totalGapWidth}px) / ${columns})`;
|
|
@@ -25573,14 +25631,14 @@ function useResponsiveGrid(props) {
|
|
|
25573
25631
|
}
|
|
25574
25632
|
|
|
25575
25633
|
// src/components/Grid/useResponsiveGridItem.ts
|
|
25576
|
-
var
|
|
25634
|
+
var import_react139 = require("react");
|
|
25577
25635
|
var injectedResponsiveGridClasses = /* @__PURE__ */ new Set();
|
|
25578
25636
|
var responsiveGridStyleEl;
|
|
25579
25637
|
function useResponsiveGridItem(props) {
|
|
25580
25638
|
const { colSpan = 1, gridConfig } = props;
|
|
25581
|
-
const contextConfig = (0,
|
|
25639
|
+
const contextConfig = (0, import_react139.useContext)(ResponsiveGridContext);
|
|
25582
25640
|
const config = gridConfig ?? contextConfig;
|
|
25583
|
-
const { className, cssText } = (0,
|
|
25641
|
+
const { className, cssText } = (0, import_react139.useMemo)(() => {
|
|
25584
25642
|
if (!config || colSpan <= 1) return { className: "", cssText: "" };
|
|
25585
25643
|
const { minColumnWidth, gap } = config;
|
|
25586
25644
|
const className2 = responsiveGridItemClassName(config, colSpan);
|
|
@@ -25603,7 +25661,7 @@ function useResponsiveGridItem(props) {
|
|
|
25603
25661
|
};
|
|
25604
25662
|
}
|
|
25605
25663
|
function useResponsiveGridItemStyle(className, cssText) {
|
|
25606
|
-
(0,
|
|
25664
|
+
(0, import_react139.useEffect)(
|
|
25607
25665
|
function() {
|
|
25608
25666
|
if (!className || !cssText || typeof document === "undefined") return;
|
|
25609
25667
|
if (!responsiveGridStyleEl) {
|
|
@@ -25625,7 +25683,7 @@ function responsiveGridItemClassName(config, colSpan) {
|
|
|
25625
25683
|
}
|
|
25626
25684
|
|
|
25627
25685
|
// src/components/HbLoadingSpinner.tsx
|
|
25628
|
-
var
|
|
25686
|
+
var import_react140 = __toESM(require("react"), 1);
|
|
25629
25687
|
|
|
25630
25688
|
// src/components/HbLoadingSpinner.base64.ts
|
|
25631
25689
|
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 +25696,9 @@ function HbLoadingSpinner({
|
|
|
25638
25696
|
extraQuipsOnly,
|
|
25639
25697
|
iconOnly
|
|
25640
25698
|
}) {
|
|
25641
|
-
const ctx = (0,
|
|
25699
|
+
const ctx = (0, import_react140.useContext)(HbLoadingSpinnerContext);
|
|
25642
25700
|
const tid = useTestIds({}, "hbSpinner");
|
|
25643
|
-
const quip = (0,
|
|
25701
|
+
const quip = (0, import_react140.useMemo)(() => {
|
|
25644
25702
|
const allQuips = extraQuipsOnly && extraQuips.length !== 0 ? extraQuips : [...ctx.quips, ...extraQuips];
|
|
25645
25703
|
const forceQuips = extraQuips.length !== 0 || noQuips === false;
|
|
25646
25704
|
if (ctx.noQuips && !forceQuips || noQuips || allQuips.length === 0) return "Loading...";
|
|
@@ -25670,7 +25728,7 @@ function HbLoadingSpinner({
|
|
|
25670
25728
|
var dotDotDot = (str) => str.concat("...");
|
|
25671
25729
|
var HB_QUIPS_MISSION = ["Loading", "One Team", "On a Mission", "Executing Relentlessly", "Building Better", "In Service of Our Customers"].map(dotDotDot);
|
|
25672
25730
|
var HB_QUIPS_FLAVOR = ["HOM is HOW", "Scaling Massively", "#LoveIt"].map(dotDotDot);
|
|
25673
|
-
var HbLoadingSpinnerContext =
|
|
25731
|
+
var HbLoadingSpinnerContext = import_react140.default.createContext({
|
|
25674
25732
|
quips: ["Loading..."],
|
|
25675
25733
|
noQuips: false
|
|
25676
25734
|
});
|
|
@@ -25678,7 +25736,7 @@ function HbSpinnerProvider({
|
|
|
25678
25736
|
quips = [],
|
|
25679
25737
|
children
|
|
25680
25738
|
}) {
|
|
25681
|
-
const state = (0,
|
|
25739
|
+
const state = (0, import_react140.useMemo)(() => ({
|
|
25682
25740
|
quips,
|
|
25683
25741
|
noQuips: quips.length === 0
|
|
25684
25742
|
}), [quips]);
|
|
@@ -25763,7 +25821,7 @@ var typeStyles2 = {
|
|
|
25763
25821
|
};
|
|
25764
25822
|
|
|
25765
25823
|
// src/components/JumpLink.tsx
|
|
25766
|
-
var
|
|
25824
|
+
var import_react141 = require("react");
|
|
25767
25825
|
var import_react_aria61 = require("react-aria");
|
|
25768
25826
|
var import_runtime127 = require("@homebound/truss/runtime");
|
|
25769
25827
|
var import_jsx_runtime202 = require("react/jsx-runtime");
|
|
@@ -25776,7 +25834,7 @@ function JumpLink(props) {
|
|
|
25776
25834
|
__storyState,
|
|
25777
25835
|
...otherProps
|
|
25778
25836
|
} = props;
|
|
25779
|
-
const ref = (0,
|
|
25837
|
+
const ref = (0, import_react141.useRef)(null);
|
|
25780
25838
|
const {
|
|
25781
25839
|
linkProps
|
|
25782
25840
|
} = (0, import_react_aria61.useLink)({
|
|
@@ -25863,29 +25921,29 @@ var jumpLinkStyles = {
|
|
|
25863
25921
|
};
|
|
25864
25922
|
|
|
25865
25923
|
// src/components/MaxLines.tsx
|
|
25866
|
-
var
|
|
25867
|
-
var
|
|
25924
|
+
var import_utils168 = require("@react-aria/utils");
|
|
25925
|
+
var import_react142 = require("react");
|
|
25868
25926
|
var import_runtime128 = require("@homebound/truss/runtime");
|
|
25869
25927
|
var import_jsx_runtime203 = require("react/jsx-runtime");
|
|
25870
25928
|
function MaxLines({
|
|
25871
25929
|
maxLines,
|
|
25872
25930
|
children
|
|
25873
25931
|
}) {
|
|
25874
|
-
const elRef = (0,
|
|
25875
|
-
const [hasMore, setHasMore] = (0,
|
|
25876
|
-
const [expanded, setExpanded] = (0,
|
|
25877
|
-
(0,
|
|
25932
|
+
const elRef = (0, import_react142.useRef)(null);
|
|
25933
|
+
const [hasMore, setHasMore] = (0, import_react142.useState)(false);
|
|
25934
|
+
const [expanded, setExpanded] = (0, import_react142.useState)(false);
|
|
25935
|
+
(0, import_utils168.useLayoutEffect)(() => {
|
|
25878
25936
|
if (!elRef.current) return;
|
|
25879
25937
|
setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
25880
25938
|
}, []);
|
|
25881
|
-
(0,
|
|
25939
|
+
(0, import_react142.useEffect)(() => {
|
|
25882
25940
|
setExpanded(false);
|
|
25883
25941
|
}, [children]);
|
|
25884
|
-
const onResize = (0,
|
|
25942
|
+
const onResize = (0, import_react142.useCallback)(() => {
|
|
25885
25943
|
if (!elRef.current) return;
|
|
25886
25944
|
!expanded && setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
25887
25945
|
}, [expanded]);
|
|
25888
|
-
(0,
|
|
25946
|
+
(0, import_utils168.useResizeObserver)({
|
|
25889
25947
|
ref: elRef,
|
|
25890
25948
|
onResize
|
|
25891
25949
|
});
|
|
@@ -25909,12 +25967,12 @@ function MaxLines({
|
|
|
25909
25967
|
var import_change_case8 = require("change-case");
|
|
25910
25968
|
|
|
25911
25969
|
// src/components/AppNav/AppNavGroup.tsx
|
|
25912
|
-
var
|
|
25970
|
+
var import_utils170 = require("@react-aria/utils");
|
|
25913
25971
|
var import_change_case7 = require("change-case");
|
|
25914
|
-
var
|
|
25972
|
+
var import_react145 = require("react");
|
|
25915
25973
|
|
|
25916
25974
|
// src/components/AppNav/AppNavGroupTrigger.tsx
|
|
25917
|
-
var
|
|
25975
|
+
var import_react143 = require("react");
|
|
25918
25976
|
var import_react_aria62 = require("react-aria");
|
|
25919
25977
|
var import_runtime129 = require("@homebound/truss/runtime");
|
|
25920
25978
|
var import_jsx_runtime204 = require("react/jsx-runtime");
|
|
@@ -25927,7 +25985,7 @@ function AppNavGroupTrigger(props) {
|
|
|
25927
25985
|
active = false
|
|
25928
25986
|
} = props;
|
|
25929
25987
|
const tid = useTestIds(props, "trigger");
|
|
25930
|
-
const ref = (0,
|
|
25988
|
+
const ref = (0, import_react143.useRef)(null);
|
|
25931
25989
|
const {
|
|
25932
25990
|
buttonProps,
|
|
25933
25991
|
isPressed
|
|
@@ -25948,7 +26006,7 @@ function AppNavGroupTrigger(props) {
|
|
|
25948
26006
|
focusRingStyles: focusRingStyles2,
|
|
25949
26007
|
hoverStyles: hoverStyles4,
|
|
25950
26008
|
pressedStyles: pressedStyles2
|
|
25951
|
-
} = (0,
|
|
26009
|
+
} = (0, import_react143.useMemo)(() => getNavLinkStyles("side"), []);
|
|
25952
26010
|
return /* @__PURE__ */ (0, import_jsx_runtime204.jsxs)("button", { type: "button", ...(0, import_react_aria62.mergeProps)(buttonProps, focusProps, hoverProps, tid.trigger, {
|
|
25953
26011
|
ref,
|
|
25954
26012
|
"aria-expanded": expanded,
|
|
@@ -26086,7 +26144,7 @@ function entryHasIcons(item) {
|
|
|
26086
26144
|
}
|
|
26087
26145
|
|
|
26088
26146
|
// src/components/AppNav/useAppNavGroupExpanded.ts
|
|
26089
|
-
var
|
|
26147
|
+
var import_react144 = require("react");
|
|
26090
26148
|
var APP_NAV_EXPANDED_LINK_GROUPS_STORAGE_KEY = "beam.appNav.expandedLinkGroups";
|
|
26091
26149
|
function loadStored() {
|
|
26092
26150
|
try {
|
|
@@ -26105,13 +26163,13 @@ function persistLabel(label, expanded) {
|
|
|
26105
26163
|
}
|
|
26106
26164
|
function useAppNavGroupExpanded(linkGroup) {
|
|
26107
26165
|
const { label } = linkGroup;
|
|
26108
|
-
const [userExpanded, setUserExpanded] = (0,
|
|
26166
|
+
const [userExpanded, setUserExpanded] = (0, import_react144.useState)(() => {
|
|
26109
26167
|
const stored = loadStored();
|
|
26110
26168
|
return label in stored ? stored[label] : null;
|
|
26111
26169
|
});
|
|
26112
26170
|
const hasActiveLink = appNavLinkGroupLinks(linkGroup).some((l) => l.active);
|
|
26113
26171
|
const expanded = userExpanded !== null ? userExpanded : hasActiveLink ? true : linkGroup.defaultExpanded ?? false;
|
|
26114
|
-
const onToggle = (0,
|
|
26172
|
+
const onToggle = (0, import_react144.useCallback)(() => {
|
|
26115
26173
|
const next = !expanded;
|
|
26116
26174
|
setUserExpanded(next);
|
|
26117
26175
|
persistLabel(label, next);
|
|
@@ -26146,20 +26204,20 @@ function AppNavGroupDisclosure(props) {
|
|
|
26146
26204
|
} = useAppNavGroupExpanded(linkGroup);
|
|
26147
26205
|
const tid = useTestIds(props, "linkGroup");
|
|
26148
26206
|
const navGroupId = `nav-group-${(0, import_change_case7.kebabCase)(linkGroup.label)}`;
|
|
26149
|
-
const [contentEl, setContentEl] = (0,
|
|
26150
|
-
const contentRef = (0,
|
|
26207
|
+
const [contentEl, setContentEl] = (0, import_react145.useState)(null);
|
|
26208
|
+
const contentRef = (0, import_react145.useMemo)(() => ({
|
|
26151
26209
|
current: contentEl
|
|
26152
26210
|
}), [contentEl]);
|
|
26153
|
-
const [contentHeight, setContentHeight] = (0,
|
|
26154
|
-
(0,
|
|
26211
|
+
const [contentHeight, setContentHeight] = (0, import_react145.useState)(expanded ? "auto" : "0");
|
|
26212
|
+
(0, import_react145.useEffect)(() => {
|
|
26155
26213
|
setContentHeight(expanded && contentEl ? `${contentEl.scrollHeight}px` : "0");
|
|
26156
26214
|
}, [expanded, contentEl]);
|
|
26157
|
-
const onResize = (0,
|
|
26215
|
+
const onResize = (0, import_react145.useCallback)(() => {
|
|
26158
26216
|
if (contentEl && expanded) {
|
|
26159
26217
|
setContentHeight(`${contentEl.scrollHeight}px`);
|
|
26160
26218
|
}
|
|
26161
26219
|
}, [expanded, contentEl]);
|
|
26162
|
-
(0,
|
|
26220
|
+
(0, import_utils170.useResizeObserver)({
|
|
26163
26221
|
ref: contentRef,
|
|
26164
26222
|
onResize
|
|
26165
26223
|
});
|
|
@@ -26301,33 +26359,33 @@ function AppNavItems(props) {
|
|
|
26301
26359
|
|
|
26302
26360
|
// src/components/Navbar/NavbarMobileMenu.tsx
|
|
26303
26361
|
var import_framer_motion6 = require("framer-motion");
|
|
26304
|
-
var
|
|
26362
|
+
var import_react147 = require("react");
|
|
26305
26363
|
var import_react_aria63 = require("react-aria");
|
|
26306
26364
|
var import_react_dom7 = require("react-dom");
|
|
26307
26365
|
var import_react_router_dom7 = require("react-router-dom");
|
|
26308
26366
|
|
|
26309
26367
|
// src/layouts/NavbarLayout/MobileSubNavContext.tsx
|
|
26310
|
-
var
|
|
26368
|
+
var import_react146 = require("react");
|
|
26311
26369
|
var import_jsx_runtime209 = require("react/jsx-runtime");
|
|
26312
|
-
var MobileSubNavContext = (0,
|
|
26370
|
+
var MobileSubNavContext = (0, import_react146.createContext)(void 0);
|
|
26313
26371
|
function MobileSubNavProvider(props) {
|
|
26314
|
-
const [mobileSubNav, setMobileSubNav] = (0,
|
|
26315
|
-
const value = (0,
|
|
26372
|
+
const [mobileSubNav, setMobileSubNav] = (0, import_react146.useState)(null);
|
|
26373
|
+
const value = (0, import_react146.useMemo)(() => ({ mobileSubNav, setMobileSubNav }), [mobileSubNav]);
|
|
26316
26374
|
return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(MobileSubNavContext.Provider, { value, children: props.children });
|
|
26317
26375
|
}
|
|
26318
26376
|
function useMobileSubNav() {
|
|
26319
|
-
return (0,
|
|
26377
|
+
return (0, import_react146.useContext)(MobileSubNavContext)?.mobileSubNav ?? null;
|
|
26320
26378
|
}
|
|
26321
26379
|
function useRegisterMobileSubNav(content) {
|
|
26322
|
-
const ctx = (0,
|
|
26380
|
+
const ctx = (0, import_react146.useContext)(MobileSubNavContext);
|
|
26323
26381
|
const setMobileSubNav = ctx?.setMobileSubNav;
|
|
26324
26382
|
const enabled = !useBreakpoint().mdAndUp;
|
|
26325
26383
|
const { top, items, footer } = content;
|
|
26326
|
-
(0,
|
|
26384
|
+
(0, import_react146.useLayoutEffect)(() => {
|
|
26327
26385
|
if (!setMobileSubNav || !enabled) return;
|
|
26328
26386
|
setMobileSubNav({ top, items, footer });
|
|
26329
26387
|
}, [setMobileSubNav, enabled, top, items, footer]);
|
|
26330
|
-
(0,
|
|
26388
|
+
(0, import_react146.useLayoutEffect)(() => {
|
|
26331
26389
|
if (!setMobileSubNav || !enabled) return;
|
|
26332
26390
|
return () => setMobileSubNav(null);
|
|
26333
26391
|
}, [setMobileSubNav, enabled]);
|
|
@@ -26342,8 +26400,8 @@ function NavbarMobileMenu(props) {
|
|
|
26342
26400
|
items
|
|
26343
26401
|
} = props;
|
|
26344
26402
|
const tid = useTestIds(props, "navbar");
|
|
26345
|
-
const [isOpen, setIsOpen] = (0,
|
|
26346
|
-
const [level, setLevel] = (0,
|
|
26403
|
+
const [isOpen, setIsOpen] = (0, import_react147.useState)(false);
|
|
26404
|
+
const [level, setLevel] = (0, import_react147.useState)("sub");
|
|
26347
26405
|
const {
|
|
26348
26406
|
pathname,
|
|
26349
26407
|
search
|
|
@@ -26353,7 +26411,7 @@ function NavbarMobileMenu(props) {
|
|
|
26353
26411
|
isDisabled: !isOpen
|
|
26354
26412
|
});
|
|
26355
26413
|
const close = () => setIsOpen(false);
|
|
26356
|
-
(0,
|
|
26414
|
+
(0, import_react147.useEffect)(() => {
|
|
26357
26415
|
close();
|
|
26358
26416
|
}, [pathname, search]);
|
|
26359
26417
|
return /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)(import_jsx_runtime210.Fragment, { children: [
|
|
@@ -26669,8 +26727,8 @@ function toPageNumberSize(page) {
|
|
|
26669
26727
|
}
|
|
26670
26728
|
|
|
26671
26729
|
// src/components/ScrollShadows.tsx
|
|
26672
|
-
var
|
|
26673
|
-
var
|
|
26730
|
+
var import_utils177 = require("@react-aria/utils");
|
|
26731
|
+
var import_react148 = require("react");
|
|
26674
26732
|
var import_runtime135 = require("@homebound/truss/runtime");
|
|
26675
26733
|
var import_jsx_runtime213 = require("react/jsx-runtime");
|
|
26676
26734
|
function ScrollShadows(props) {
|
|
@@ -26688,10 +26746,10 @@ function ScrollShadows(props) {
|
|
|
26688
26746
|
if (!bgColor.includes("rgba")) {
|
|
26689
26747
|
throw new Error("ScrollShadows: bgColor prop must be in the format 'rgba(255, 255, 255, 1)'");
|
|
26690
26748
|
}
|
|
26691
|
-
const [showStartShadow, setShowStartShadow] = (0,
|
|
26692
|
-
const [showEndShadow, setShowEndShadow] = (0,
|
|
26693
|
-
const scrollRef = (0,
|
|
26694
|
-
const [startShadowStyles, endShadowStyles] = (0,
|
|
26749
|
+
const [showStartShadow, setShowStartShadow] = (0, import_react148.useState)(false);
|
|
26750
|
+
const [showEndShadow, setShowEndShadow] = (0, import_react148.useState)(false);
|
|
26751
|
+
const scrollRef = (0, import_react148.useRef)(null);
|
|
26752
|
+
const [startShadowStyles, endShadowStyles] = (0, import_react148.useMemo)(() => {
|
|
26695
26753
|
const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
|
|
26696
26754
|
const commonStyles = {
|
|
26697
26755
|
position: "absolute",
|
|
@@ -26742,7 +26800,7 @@ function ScrollShadows(props) {
|
|
|
26742
26800
|
}
|
|
26743
26801
|
}];
|
|
26744
26802
|
}, [horizontal, bgColor]);
|
|
26745
|
-
const updateScrollProps = (0,
|
|
26803
|
+
const updateScrollProps = (0, import_react148.useCallback)((el) => {
|
|
26746
26804
|
const {
|
|
26747
26805
|
scrollTop,
|
|
26748
26806
|
scrollHeight,
|
|
@@ -26757,8 +26815,8 @@ function ScrollShadows(props) {
|
|
|
26757
26815
|
setShowStartShadow(start > 0);
|
|
26758
26816
|
setShowEndShadow(start + boxSize < end);
|
|
26759
26817
|
}, [horizontal]);
|
|
26760
|
-
const onResize = (0,
|
|
26761
|
-
(0,
|
|
26818
|
+
const onResize = (0, import_react148.useCallback)(() => scrollRef.current && updateScrollProps(scrollRef.current), [updateScrollProps]);
|
|
26819
|
+
(0, import_utils177.useResizeObserver)({
|
|
26762
26820
|
ref: scrollRef,
|
|
26763
26821
|
onResize
|
|
26764
26822
|
});
|
|
@@ -26806,7 +26864,7 @@ function ScrollShadows(props) {
|
|
|
26806
26864
|
}
|
|
26807
26865
|
|
|
26808
26866
|
// src/layouts/SideNavLayout/SideNavLayoutContext.tsx
|
|
26809
|
-
var
|
|
26867
|
+
var import_react149 = require("react");
|
|
26810
26868
|
var import_jsx_runtime214 = require("react/jsx-runtime");
|
|
26811
26869
|
var SIDE_NAV_LAYOUT_STATE_STORAGE_KEY = "beam.sideNavLayout.navState";
|
|
26812
26870
|
function loadStoredNavState() {
|
|
@@ -26829,20 +26887,20 @@ function resolveInitialNavState(defaultNavState) {
|
|
|
26829
26887
|
}
|
|
26830
26888
|
return loadStoredNavState() ?? defaultNavState ?? "expanded";
|
|
26831
26889
|
}
|
|
26832
|
-
var SideNavLayoutContext = (0,
|
|
26890
|
+
var SideNavLayoutContext = (0, import_react149.createContext)(void 0);
|
|
26833
26891
|
function SideNavLayoutProvider(props) {
|
|
26834
|
-
const [navState, setNavStateInternal] = (0,
|
|
26892
|
+
const [navState, setNavStateInternal] = (0, import_react149.useState)(
|
|
26835
26893
|
() => resolveInitialNavState(props.defaultNavState)
|
|
26836
26894
|
);
|
|
26837
26895
|
const bp = useBreakpoint();
|
|
26838
|
-
const prevMdAndUp = (0,
|
|
26839
|
-
(0,
|
|
26896
|
+
const prevMdAndUp = (0, import_react149.useRef)(bp.mdAndUp);
|
|
26897
|
+
(0, import_react149.useEffect)(() => {
|
|
26840
26898
|
if (prevMdAndUp.current && !bp.mdAndUp) {
|
|
26841
26899
|
setNavStateInternal((prev) => prev === "expanded" ? "collapse" : prev);
|
|
26842
26900
|
}
|
|
26843
26901
|
prevMdAndUp.current = bp.mdAndUp;
|
|
26844
26902
|
}, [bp.mdAndUp]);
|
|
26845
|
-
const setNavState = (0,
|
|
26903
|
+
const setNavState = (0, import_react149.useCallback)((value2) => {
|
|
26846
26904
|
setNavStateInternal((prev) => {
|
|
26847
26905
|
const next = typeof value2 === "function" ? value2(prev) : value2;
|
|
26848
26906
|
if (next === "expanded" || next === "collapse") {
|
|
@@ -26854,15 +26912,15 @@ function SideNavLayoutProvider(props) {
|
|
|
26854
26912
|
return next;
|
|
26855
26913
|
});
|
|
26856
26914
|
}, []);
|
|
26857
|
-
const value = (0,
|
|
26915
|
+
const value = (0, import_react149.useMemo)(() => ({ navState, setNavState }), [navState, setNavState]);
|
|
26858
26916
|
return /* @__PURE__ */ (0, import_jsx_runtime214.jsx)(SideNavLayoutContext.Provider, { value, children: props.children });
|
|
26859
26917
|
}
|
|
26860
26918
|
function useSideNavLayoutContext() {
|
|
26861
|
-
return (0,
|
|
26919
|
+
return (0, import_react149.useContext)(SideNavLayoutContext) ?? { navState: "expanded", setNavState: () => {
|
|
26862
26920
|
} };
|
|
26863
26921
|
}
|
|
26864
26922
|
function useHasSideNavLayoutProvider() {
|
|
26865
|
-
return (0,
|
|
26923
|
+
return (0, import_react149.useContext)(SideNavLayoutContext) !== void 0;
|
|
26866
26924
|
}
|
|
26867
26925
|
|
|
26868
26926
|
// src/components/SideNav/SideNav.tsx
|
|
@@ -26921,10 +26979,10 @@ function SideNav(props) {
|
|
|
26921
26979
|
}
|
|
26922
26980
|
|
|
26923
26981
|
// src/components/Snackbar/useSnackbar.tsx
|
|
26924
|
-
var
|
|
26982
|
+
var import_react150 = require("react");
|
|
26925
26983
|
function useSnackbar() {
|
|
26926
26984
|
const { setNotices, setOffset } = useSnackbarContext();
|
|
26927
|
-
const onClose = (0,
|
|
26985
|
+
const onClose = (0, import_react150.useCallback)(
|
|
26928
26986
|
(noticeId) => {
|
|
26929
26987
|
setNotices((prev) => {
|
|
26930
26988
|
let returnValue = prev;
|
|
@@ -26941,7 +26999,7 @@ function useSnackbar() {
|
|
|
26941
26999
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
26942
27000
|
[]
|
|
26943
27001
|
);
|
|
26944
|
-
const triggerNotice = (0,
|
|
27002
|
+
const triggerNotice = (0, import_react150.useCallback)(
|
|
26945
27003
|
(props) => {
|
|
26946
27004
|
const noticeId = props.id ?? `beamSnackbar:${snackbarId++}`;
|
|
26947
27005
|
let maybeTimeout;
|
|
@@ -26970,8 +27028,8 @@ function useSnackbar() {
|
|
|
26970
27028
|
},
|
|
26971
27029
|
[onClose, setNotices]
|
|
26972
27030
|
);
|
|
26973
|
-
const closeNotice = (0,
|
|
26974
|
-
const useSnackbarOffset = ({ bottom }) => (0,
|
|
27031
|
+
const closeNotice = (0, import_react150.useCallback)((id) => onClose(id), [onClose]);
|
|
27032
|
+
const useSnackbarOffset = ({ bottom }) => (0, import_react150.useEffect)(() => {
|
|
26975
27033
|
setOffset({ bottom });
|
|
26976
27034
|
return () => setOffset({});
|
|
26977
27035
|
}, [bottom]);
|
|
@@ -26980,11 +27038,11 @@ function useSnackbar() {
|
|
|
26980
27038
|
var snackbarId = 1;
|
|
26981
27039
|
|
|
26982
27040
|
// src/components/Stepper.tsx
|
|
26983
|
-
var
|
|
27041
|
+
var import_react151 = require("react");
|
|
26984
27042
|
var import_react_aria64 = require("react-aria");
|
|
26985
27043
|
var import_runtime137 = require("@homebound/truss/runtime");
|
|
26986
27044
|
var import_jsx_runtime216 = require("react/jsx-runtime");
|
|
26987
|
-
var
|
|
27045
|
+
var import_react152 = require("react");
|
|
26988
27046
|
var __maybeInc27 = (inc) => {
|
|
26989
27047
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
26990
27048
|
};
|
|
@@ -27013,7 +27071,7 @@ function Stepper(props) {
|
|
|
27013
27071
|
}]
|
|
27014
27072
|
}), children: steps.map((step) => {
|
|
27015
27073
|
const isCurrent = currentStep === step.value;
|
|
27016
|
-
return /* @__PURE__ */ (0,
|
|
27074
|
+
return /* @__PURE__ */ (0, import_react152.createElement)("li", { ...(0, import_runtime137.trussProps)({
|
|
27017
27075
|
display: "df",
|
|
27018
27076
|
flexGrow: "fg1",
|
|
27019
27077
|
flexDirection: "fdc",
|
|
@@ -27062,7 +27120,7 @@ function StepButton(props) {
|
|
|
27062
27120
|
onPress: onClick,
|
|
27063
27121
|
isDisabled: disabled
|
|
27064
27122
|
};
|
|
27065
|
-
const ref = (0,
|
|
27123
|
+
const ref = (0, import_react151.useRef)(null);
|
|
27066
27124
|
const {
|
|
27067
27125
|
buttonProps,
|
|
27068
27126
|
isPressed
|
|
@@ -27172,7 +27230,7 @@ function StepIcon({
|
|
|
27172
27230
|
}
|
|
27173
27231
|
|
|
27174
27232
|
// src/components/StepperTabs/StepperTab.tsx
|
|
27175
|
-
var
|
|
27233
|
+
var import_react153 = require("react");
|
|
27176
27234
|
var import_react_aria65 = require("react-aria");
|
|
27177
27235
|
var import_runtime138 = require("@homebound/truss/runtime");
|
|
27178
27236
|
var import_jsx_runtime217 = require("react/jsx-runtime");
|
|
@@ -27191,7 +27249,7 @@ function StepperTab(props) {
|
|
|
27191
27249
|
onPress: () => onClick(value),
|
|
27192
27250
|
isDisabled: disabled || collapsed
|
|
27193
27251
|
};
|
|
27194
|
-
const ref = (0,
|
|
27252
|
+
const ref = (0, import_react153.useRef)(null);
|
|
27195
27253
|
const {
|
|
27196
27254
|
buttonProps
|
|
27197
27255
|
} = (0, import_react_aria65.useButton)(ariaProps, ref);
|
|
@@ -27328,7 +27386,7 @@ var stepperTabStyles = {
|
|
|
27328
27386
|
// src/components/StepperTabs/StepperTabs.tsx
|
|
27329
27387
|
var import_runtime139 = require("@homebound/truss/runtime");
|
|
27330
27388
|
var import_jsx_runtime218 = require("react/jsx-runtime");
|
|
27331
|
-
var
|
|
27389
|
+
var import_react154 = require("react");
|
|
27332
27390
|
function StepperTabs(props) {
|
|
27333
27391
|
const {
|
|
27334
27392
|
steps,
|
|
@@ -27358,7 +27416,7 @@ function StepperTabs(props) {
|
|
|
27358
27416
|
}), children: steps.map((step, idx) => {
|
|
27359
27417
|
const isCurrent = idx === currentStepIndex;
|
|
27360
27418
|
const isCompleted = idx < currentStepIndex;
|
|
27361
|
-
return /* @__PURE__ */ (0,
|
|
27419
|
+
return /* @__PURE__ */ (0, import_react154.createElement)("li", { ...(0, import_runtime139.trussProps)({
|
|
27362
27420
|
display: "df",
|
|
27363
27421
|
flexGrow: "fg1",
|
|
27364
27422
|
flexBasis: "fb_0",
|
|
@@ -27428,7 +27486,7 @@ function isStructuredProps(props) {
|
|
|
27428
27486
|
var import_framer_motion7 = require("framer-motion");
|
|
27429
27487
|
|
|
27430
27488
|
// src/components/SuperDrawer/useSuperDrawer.tsx
|
|
27431
|
-
var
|
|
27489
|
+
var import_react155 = require("react");
|
|
27432
27490
|
var import_jsx_runtime220 = require("react/jsx-runtime");
|
|
27433
27491
|
function useSuperDrawer() {
|
|
27434
27492
|
const {
|
|
@@ -27468,7 +27526,7 @@ function useSuperDrawer() {
|
|
|
27468
27526
|
}
|
|
27469
27527
|
doChange();
|
|
27470
27528
|
}
|
|
27471
|
-
const closeActions = (0,
|
|
27529
|
+
const closeActions = (0, import_react155.useMemo)(
|
|
27472
27530
|
() => {
|
|
27473
27531
|
return {
|
|
27474
27532
|
/** Attempts to close the drawer. If any checks fail, a confirmation modal will appear */
|
|
@@ -27503,7 +27561,7 @@ function useSuperDrawer() {
|
|
|
27503
27561
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
27504
27562
|
[canCloseChecks, canCloseDetailsChecks, contentStack, modalState, openModal]
|
|
27505
27563
|
);
|
|
27506
|
-
const actions = (0,
|
|
27564
|
+
const actions = (0, import_react155.useMemo)(
|
|
27507
27565
|
() => {
|
|
27508
27566
|
return {
|
|
27509
27567
|
// TODO: Maybe we should rename to openDrawer as a breaking change (to match openDrawerDetail)
|
|
@@ -27691,7 +27749,7 @@ function visit(rows, fn) {
|
|
|
27691
27749
|
|
|
27692
27750
|
// src/components/Tabs.tsx
|
|
27693
27751
|
var import_change_case9 = require("change-case");
|
|
27694
|
-
var
|
|
27752
|
+
var import_react156 = require("react");
|
|
27695
27753
|
var import_react_aria66 = require("react-aria");
|
|
27696
27754
|
var import_react_router = require("react-router");
|
|
27697
27755
|
var import_react_router_dom8 = require("react-router-dom");
|
|
@@ -27752,9 +27810,9 @@ function Tabs(props) {
|
|
|
27752
27810
|
focusProps
|
|
27753
27811
|
} = (0, import_react_aria66.useFocusRing)();
|
|
27754
27812
|
const tid = useTestIds(others, "tabs");
|
|
27755
|
-
const [active, setActive] = (0,
|
|
27756
|
-
const ref = (0,
|
|
27757
|
-
(0,
|
|
27813
|
+
const [active, setActive] = (0, import_react156.useState)(selected);
|
|
27814
|
+
const ref = (0, import_react156.useRef)(null);
|
|
27815
|
+
(0, import_react156.useEffect)(() => setActive(selected), [selected]);
|
|
27758
27816
|
function onKeyUp(e) {
|
|
27759
27817
|
if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
|
|
27760
27818
|
const nextTabValue = getNextTabValue(active, e.key, tabs);
|
|
@@ -27828,7 +27886,7 @@ function TabImpl(props) {
|
|
|
27828
27886
|
disabledStyles: disabledStyles3,
|
|
27829
27887
|
activeHoverStyles,
|
|
27830
27888
|
aiStyles
|
|
27831
|
-
} = (0,
|
|
27889
|
+
} = (0, import_react156.useMemo)(() => getTabStyles(), []);
|
|
27832
27890
|
const uniqueValue = uniqueTabValue(tab);
|
|
27833
27891
|
const tabProps = {
|
|
27834
27892
|
"aria-controls": `${uniqueValue}-tabPanel`,
|
|
@@ -27996,10 +28054,10 @@ function TagGroup(props) {
|
|
|
27996
28054
|
}
|
|
27997
28055
|
|
|
27998
28056
|
// src/components/Toast/useToast.tsx
|
|
27999
|
-
var
|
|
28057
|
+
var import_react157 = require("react");
|
|
28000
28058
|
function useToast() {
|
|
28001
28059
|
const { setNotice, clear } = useToastContext();
|
|
28002
|
-
const showToast = (0,
|
|
28060
|
+
const showToast = (0, import_react157.useCallback)((props) => setNotice(props), [setNotice]);
|
|
28003
28061
|
return { showToast, clear };
|
|
28004
28062
|
}
|
|
28005
28063
|
|
|
@@ -28247,11 +28305,11 @@ function FormSectionLayout(props) {
|
|
|
28247
28305
|
}
|
|
28248
28306
|
|
|
28249
28307
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
28250
|
-
var
|
|
28308
|
+
var import_react161 = require("react");
|
|
28251
28309
|
var import_runtime147 = require("@homebound/truss/runtime");
|
|
28252
28310
|
|
|
28253
28311
|
// src/layouts/useAutoHideOnScroll.ts
|
|
28254
|
-
var
|
|
28312
|
+
var import_react158 = require("react");
|
|
28255
28313
|
var THRESHOLD = 80;
|
|
28256
28314
|
function getInitialAutoHideState() {
|
|
28257
28315
|
if (typeof window === "undefined" || window.scrollY <= 0) {
|
|
@@ -28261,15 +28319,15 @@ function getInitialAutoHideState() {
|
|
|
28261
28319
|
}
|
|
28262
28320
|
function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
28263
28321
|
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,
|
|
28322
|
+
const [state, setState] = (0, import_react158.useState)(initial.state);
|
|
28323
|
+
const stateRef = (0, import_react158.useRef)(initial.state);
|
|
28324
|
+
const [atTop, setAtTop] = (0, import_react158.useState)(initial.atTop);
|
|
28325
|
+
const atTopRef = (0, import_react158.useRef)(initial.atTop);
|
|
28326
|
+
const getTopOffsetRef = (0, import_react158.useRef)(getTopOffset);
|
|
28269
28327
|
getTopOffsetRef.current = getTopOffset;
|
|
28270
|
-
const lastScrollY = (0,
|
|
28271
|
-
const lastScrollHeight = (0,
|
|
28272
|
-
(0,
|
|
28328
|
+
const lastScrollY = (0, import_react158.useRef)(Number.POSITIVE_INFINITY);
|
|
28329
|
+
const lastScrollHeight = (0, import_react158.useRef)(0);
|
|
28330
|
+
(0, import_react158.useLayoutEffect)(() => {
|
|
28273
28331
|
if (!enabled) {
|
|
28274
28332
|
stateRef.current = "static";
|
|
28275
28333
|
atTopRef.current = true;
|
|
@@ -28341,31 +28399,31 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
|
28341
28399
|
}
|
|
28342
28400
|
|
|
28343
28401
|
// src/layouts/useMeasuredHeight.ts
|
|
28344
|
-
var
|
|
28345
|
-
var
|
|
28402
|
+
var import_utils191 = require("@react-aria/utils");
|
|
28403
|
+
var import_react159 = require("react");
|
|
28346
28404
|
function useMeasuredHeight(ref, enabled) {
|
|
28347
|
-
const [height, setHeight] = (0,
|
|
28348
|
-
const syncElementHeight = (0,
|
|
28405
|
+
const [height, setHeight] = (0, import_react159.useState)(0);
|
|
28406
|
+
const syncElementHeight = (0, import_react159.useCallback)(() => {
|
|
28349
28407
|
const el = ref.current;
|
|
28350
28408
|
const next = el ? Math.round(el.getBoundingClientRect().height) : 0;
|
|
28351
28409
|
setHeight((prev) => prev === next ? prev : next);
|
|
28352
28410
|
}, [ref]);
|
|
28353
|
-
(0,
|
|
28354
|
-
(0,
|
|
28411
|
+
(0, import_utils191.useResizeObserver)({ ref, onResize: syncElementHeight });
|
|
28412
|
+
(0, import_react159.useLayoutEffect)(() => {
|
|
28355
28413
|
syncElementHeight();
|
|
28356
28414
|
}, [enabled, syncElementHeight]);
|
|
28357
28415
|
return height;
|
|
28358
28416
|
}
|
|
28359
28417
|
|
|
28360
28418
|
// src/layouts/NavbarLayout/NavbarLayoutHeightContext.tsx
|
|
28361
|
-
var
|
|
28419
|
+
var import_react160 = require("react");
|
|
28362
28420
|
var import_jsx_runtime228 = require("react/jsx-runtime");
|
|
28363
|
-
var NavbarLayoutHeightContext = (0,
|
|
28421
|
+
var NavbarLayoutHeightContext = (0, import_react160.createContext)(0);
|
|
28364
28422
|
function NavbarLayoutHeightProvider({ value, children }) {
|
|
28365
28423
|
return /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(NavbarLayoutHeightContext.Provider, { value, children });
|
|
28366
28424
|
}
|
|
28367
28425
|
function useNavbarLayoutHeight() {
|
|
28368
|
-
return (0,
|
|
28426
|
+
return (0, import_react160.useContext)(NavbarLayoutHeightContext);
|
|
28369
28427
|
}
|
|
28370
28428
|
|
|
28371
28429
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
@@ -28379,8 +28437,8 @@ function NavbarLayout(props) {
|
|
|
28379
28437
|
children
|
|
28380
28438
|
} = props;
|
|
28381
28439
|
const tid = useTestIds(props, "navbarLayout");
|
|
28382
|
-
const navMetricsRef = (0,
|
|
28383
|
-
const spacerRef = (0,
|
|
28440
|
+
const navMetricsRef = (0, import_react161.useRef)(null);
|
|
28441
|
+
const spacerRef = (0, import_react161.useRef)(null);
|
|
28384
28442
|
const navHeight = useMeasuredHeight(navMetricsRef, true);
|
|
28385
28443
|
const {
|
|
28386
28444
|
state: autoHideState,
|
|
@@ -28422,7 +28480,7 @@ function NavbarLayout(props) {
|
|
|
28422
28480
|
const innerStyle = autoHideState !== "static" ? {
|
|
28423
28481
|
top: autoHideState === "revealed" ? bannerTop : `calc(${bannerTop} - ${navHeight}px)`
|
|
28424
28482
|
} : void 0;
|
|
28425
|
-
const navbarEl = (0,
|
|
28483
|
+
const navbarEl = (0, import_react161.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(Navbar, { ...navbar }), [navbar]);
|
|
28426
28484
|
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
28485
|
display: "df",
|
|
28428
28486
|
flexDirection: "fdc",
|
|
@@ -28440,7 +28498,7 @@ function NavbarLayout(props) {
|
|
|
28440
28498
|
}
|
|
28441
28499
|
|
|
28442
28500
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
28443
|
-
var
|
|
28501
|
+
var import_react162 = require("react");
|
|
28444
28502
|
|
|
28445
28503
|
// src/components/Headers/BaseHeader.tsx
|
|
28446
28504
|
var import_runtime148 = require("@homebound/truss/runtime");
|
|
@@ -28531,11 +28589,11 @@ function PageHeaderLayout(props) {
|
|
|
28531
28589
|
} = props;
|
|
28532
28590
|
const tid = useTestIds(props, "pageHeaderLayout");
|
|
28533
28591
|
const bannerAndNavbarHeight = useBannerAndNavbarHeight();
|
|
28534
|
-
const bannerAndNavbarHeightRef = (0,
|
|
28592
|
+
const bannerAndNavbarHeightRef = (0, import_react162.useRef)(bannerAndNavbarHeight);
|
|
28535
28593
|
bannerAndNavbarHeightRef.current = bannerAndNavbarHeight;
|
|
28536
|
-
const getBannerAndNavbarHeight = (0,
|
|
28537
|
-
const headerMetricsRef = (0,
|
|
28538
|
-
const spacerRef = (0,
|
|
28594
|
+
const getBannerAndNavbarHeight = (0, import_react162.useCallback)(() => bannerAndNavbarHeightRef.current, []);
|
|
28595
|
+
const headerMetricsRef = (0, import_react162.useRef)(null);
|
|
28596
|
+
const spacerRef = (0, import_react162.useRef)(null);
|
|
28539
28597
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
28540
28598
|
const {
|
|
28541
28599
|
state: autoHideState,
|
|
@@ -28575,7 +28633,7 @@ function PageHeaderLayout(props) {
|
|
|
28575
28633
|
const innerStyle = autoHideState !== "static" ? {
|
|
28576
28634
|
top: autoHideState === "revealed" ? outerTop : `calc(${outerTop} - ${headerHeight}px)`
|
|
28577
28635
|
} : void 0;
|
|
28578
|
-
const pageHeaderEl = (0,
|
|
28636
|
+
const pageHeaderEl = (0, import_react162.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(PageHeader2, { ...pageHeader }), [pageHeader]);
|
|
28579
28637
|
return /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)("div", { ...(0, import_runtime150.mergeProps)(void 0, cssVars, {
|
|
28580
28638
|
display: "df",
|
|
28581
28639
|
flexDirection: "fdc",
|
|
@@ -28620,12 +28678,12 @@ function JumpLinksRail(props) {
|
|
|
28620
28678
|
}
|
|
28621
28679
|
|
|
28622
28680
|
// src/layouts/Workflow/useActiveJumpLink.ts
|
|
28623
|
-
var
|
|
28681
|
+
var import_react163 = require("react");
|
|
28624
28682
|
var activationLeadPx = 120;
|
|
28625
28683
|
function useActiveJumpLink(sectionIds) {
|
|
28626
28684
|
const idsKey = sectionIds.join("\0");
|
|
28627
|
-
const [activeId, setActiveId] = (0,
|
|
28628
|
-
(0,
|
|
28685
|
+
const [activeId, setActiveId] = (0, import_react163.useState)(sectionIds[0]);
|
|
28686
|
+
(0, import_react163.useLayoutEffect)(() => {
|
|
28629
28687
|
const ids = idsKey.length === 0 ? [] : idsKey.split("\0");
|
|
28630
28688
|
if (ids.length === 0) return;
|
|
28631
28689
|
const update = () => {
|
|
@@ -28649,7 +28707,7 @@ function useActiveJumpLink(sectionIds) {
|
|
|
28649
28707
|
}
|
|
28650
28708
|
|
|
28651
28709
|
// src/layouts/Workflow/WorkflowPageLayout.tsx
|
|
28652
|
-
var
|
|
28710
|
+
var import_react165 = require("react");
|
|
28653
28711
|
|
|
28654
28712
|
// src/components/Headers/WorkflowHeader.tsx
|
|
28655
28713
|
var import_jsx_runtime234 = require("react/jsx-runtime");
|
|
@@ -28666,15 +28724,15 @@ function WorkflowHeader(props) {
|
|
|
28666
28724
|
}
|
|
28667
28725
|
|
|
28668
28726
|
// src/layouts/Workflow/useUnsavedChangesGuard.tsx
|
|
28669
|
-
var
|
|
28727
|
+
var import_react164 = require("react");
|
|
28670
28728
|
var import_react_router_dom9 = require("react-router-dom");
|
|
28671
28729
|
var import_jsx_runtime235 = require("react/jsx-runtime");
|
|
28672
28730
|
function useUnsavedChangesGuard(options) {
|
|
28673
28731
|
const { isDirty, onCancel } = options;
|
|
28674
28732
|
const { openModal } = useModal();
|
|
28675
|
-
const isDirtyRef = (0,
|
|
28733
|
+
const isDirtyRef = (0, import_react164.useRef)(isDirty);
|
|
28676
28734
|
isDirtyRef.current = isDirty;
|
|
28677
|
-
(0,
|
|
28735
|
+
(0, import_react164.useEffect)(() => {
|
|
28678
28736
|
const onBeforeUnload = (e) => {
|
|
28679
28737
|
if (isDirtyRef.current?.()) {
|
|
28680
28738
|
e.preventDefault();
|
|
@@ -28700,7 +28758,7 @@ function useUnsavedChangesGuard(options) {
|
|
|
28700
28758
|
function UnsavedChangesNavigationModal(props) {
|
|
28701
28759
|
const { proceed, cancelNavigation } = props;
|
|
28702
28760
|
const { openModal, closeModal } = useModal();
|
|
28703
|
-
(0,
|
|
28761
|
+
(0, import_react164.useEffect)(() => {
|
|
28704
28762
|
openModal({
|
|
28705
28763
|
allowClosing: false,
|
|
28706
28764
|
content: /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
|
|
@@ -28772,7 +28830,7 @@ function WorkflowPageLayout(props) {
|
|
|
28772
28830
|
onCancel
|
|
28773
28831
|
});
|
|
28774
28832
|
const actions = /* @__PURE__ */ (0, import_jsx_runtime237.jsx)(WorkflowActions, { ...actionProps, aiMode, onCancel: onCancelClick });
|
|
28775
|
-
const headerMetricsRef = (0,
|
|
28833
|
+
const headerMetricsRef = (0, import_react165.useRef)(null);
|
|
28776
28834
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
28777
28835
|
const headerWidth = documentScrollChromeWidth();
|
|
28778
28836
|
const outerTop = bannerAndNavbarChromeTop();
|
|
@@ -28780,7 +28838,7 @@ function WorkflowPageLayout(props) {
|
|
|
28780
28838
|
[beamPageHeaderLayoutHeightVar]: `${headerHeight}px`
|
|
28781
28839
|
} : void 0;
|
|
28782
28840
|
const showFooter = isMobile;
|
|
28783
|
-
(0,
|
|
28841
|
+
(0, import_react165.useLayoutEffect)(() => {
|
|
28784
28842
|
const root = document.documentElement;
|
|
28785
28843
|
const previous = root.style.getPropertyValue(beamWorkflowLayoutFooterHeightVar);
|
|
28786
28844
|
root.style.setProperty(beamWorkflowLayoutFooterHeightVar, showFooter ? `${mobileFooterHeightPx}px` : "0px");
|
|
@@ -28901,12 +28959,12 @@ function FocusedFormLayout(props) {
|
|
|
28901
28959
|
}
|
|
28902
28960
|
|
|
28903
28961
|
// src/layouts/Workflow/StepperLayout.tsx
|
|
28904
|
-
var
|
|
28962
|
+
var import_react166 = require("react");
|
|
28905
28963
|
var import_jsx_runtime239 = require("react/jsx-runtime");
|
|
28906
28964
|
function StepperLayout(props) {
|
|
28907
28965
|
const { steps, defaultStep, onCancel, completeLabel, onComplete, onSaveAndExit, isDirty, aiMode, ...headerProps } = props;
|
|
28908
28966
|
const stepTabs = steps.map((step) => ({ ...step, value: defaultTestId(step.label) }));
|
|
28909
|
-
const [currentStep, setCurrentStep] = (0,
|
|
28967
|
+
const [currentStep, setCurrentStep] = (0, import_react166.useState)(() => getInitialStep(stepTabs, defaultStep));
|
|
28910
28968
|
const tid = useTestIds(props, "stepperLayout");
|
|
28911
28969
|
const currentIndex = hasStep(stepTabs, currentStep) ? stepTabs.findIndex((step) => step.value === currentStep) : 0;
|
|
28912
28970
|
const isFirstStep = currentIndex <= 0;
|